packages feed

vulkan-api 1.1.2.1 → 1.1.3.0

raw patch · 103 files changed

+42118/−29553 lines, 103 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Graphics.Vulkan.Marshal.Proc: unwrapVkProcPtr :: VulkanProc proc => FunPtr (VkProcType proc) -> VkProcType proc
+ Graphics.Vulkan.Core_1_0: VkBaseInStructure# :: Addr# -> ByteArray# -> VkBaseInStructure
+ Graphics.Vulkan.Core_1_0: VkBaseOutStructure# :: Addr# -> ByteArray# -> VkBaseOutStructure
+ Graphics.Vulkan.Core_1_0: data VkBaseInStructure
+ Graphics.Vulkan.Core_1_0: data VkBaseOutStructure
+ Graphics.Vulkan.Core_1_0: vkAllocateCommandBuffersUnsafe :: VkDevice -> Ptr VkCommandBufferAllocateInfo -> Ptr VkCommandBuffer -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkAllocateDescriptorSetsUnsafe :: VkDevice -> Ptr VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSet -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkAllocateMemoryUnsafe :: VkDevice -> Ptr VkMemoryAllocateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDeviceMemory -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkBeginCommandBufferUnsafe :: VkCommandBuffer -> Ptr VkCommandBufferBeginInfo -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkBindBufferMemoryUnsafe :: VkDevice -> VkBuffer -> VkDeviceMemory -> VkDeviceSize -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkBindImageMemoryUnsafe :: VkDevice -> VkImage -> VkDeviceMemory -> VkDeviceSize -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCmdBeginQueryUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> VkQueryControlFlags -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdBeginRenderPassUnsafe :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> VkSubpassContents -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdBindDescriptorSetsUnsafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipelineLayout -> Word32 -> Word32 -> Ptr VkDescriptorSet -> Word32 -> Ptr Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdBindIndexBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkIndexType -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdBindPipelineUnsafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipeline -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdBindVertexBuffersUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkBuffer -> Ptr VkDeviceSize -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdBlitImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageBlit -> VkFilter -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdClearAttachmentsUnsafe :: VkCommandBuffer -> Word32 -> Ptr VkClearAttachment -> Word32 -> Ptr VkClearRect -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdClearColorImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearColorValue -> Word32 -> Ptr VkImageSubresourceRange -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdClearDepthStencilImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearDepthStencilValue -> Word32 -> Ptr VkImageSubresourceRange -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdCopyBufferToImageUnsafe :: VkCommandBuffer -> VkBuffer -> VkImage -> VkImageLayout -> Word32 -> Ptr VkBufferImageCopy -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdCopyBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkBuffer -> Word32 -> Ptr VkBufferCopy -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdCopyImageToBufferUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkBuffer -> Word32 -> Ptr VkBufferImageCopy -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdCopyImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageCopy -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdCopyQueryPoolResultsUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkQueryResultFlags -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdDispatchIndirectUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdDispatchUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdDrawIndexedIndirectUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdDrawIndexedUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdDrawIndirectUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdDrawUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdEndQueryUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdEndRenderPassUnsafe :: VkCommandBuffer -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdExecuteCommandsUnsafe :: VkCommandBuffer -> Word32 -> Ptr VkCommandBuffer -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdFillBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdNextSubpassUnsafe :: VkCommandBuffer -> VkSubpassContents -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdPipelineBarrierUnsafe :: VkCommandBuffer -> VkPipelineStageFlags -> VkPipelineStageFlags -> VkDependencyFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdPushConstantsUnsafe :: VkCommandBuffer -> VkPipelineLayout -> VkShaderStageFlags -> Word32 -> Word32 -> Ptr Void -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdResetEventUnsafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdResetQueryPoolUnsafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdResolveImageUnsafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageResolve -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetBlendConstantsUnsafe :: VkCommandBuffer -> Ptr Float -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetDepthBiasUnsafe :: VkCommandBuffer -> Float -> Float -> Float -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetDepthBoundsUnsafe :: VkCommandBuffer -> Float -> Float -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetEventUnsafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetLineWidthUnsafe :: VkCommandBuffer -> Float -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetScissorUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkRect2D -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetStencilCompareMaskUnsafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetStencilReferenceUnsafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetStencilWriteMaskUnsafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdSetViewportUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkViewport -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdUpdateBufferUnsafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Ptr Void -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdWaitEventsUnsafe :: VkCommandBuffer -> Word32 -> Ptr VkEvent -> VkPipelineStageFlags -> VkPipelineStageFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCmdWriteTimestampUnsafe :: VkCommandBuffer -> VkPipelineStageFlagBits -> VkQueryPool -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_0: vkCreateBufferUnsafe :: VkDevice -> Ptr VkBufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBuffer -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateBufferViewUnsafe :: VkDevice -> Ptr VkBufferViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBufferView -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateCommandPoolUnsafe :: VkDevice -> Ptr VkCommandPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkCommandPool -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateComputePipelinesUnsafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkComputePipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateDescriptorPoolUnsafe :: VkDevice -> Ptr VkDescriptorPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorPool -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateDescriptorSetLayoutUnsafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorSetLayout -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateDeviceUnsafe :: VkPhysicalDevice -> Ptr VkDeviceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDevice -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateEventUnsafe :: VkDevice -> Ptr VkEventCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkEvent -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateFenceUnsafe :: VkDevice -> Ptr VkFenceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFence -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateFramebufferUnsafe :: VkDevice -> Ptr VkFramebufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFramebuffer -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateGraphicsPipelinesUnsafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkGraphicsPipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateImageUnsafe :: VkDevice -> Ptr VkImageCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImage -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateImageViewUnsafe :: VkDevice -> Ptr VkImageViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImageView -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateInstanceUnsafe :: Ptr VkInstanceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkInstance -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreatePipelineCacheUnsafe :: VkDevice -> Ptr VkPipelineCacheCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineCache -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreatePipelineLayoutUnsafe :: VkDevice -> Ptr VkPipelineLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineLayout -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateQueryPoolUnsafe :: VkDevice -> Ptr VkQueryPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkQueryPool -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateRenderPassUnsafe :: VkDevice -> Ptr VkRenderPassCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateSamplerUnsafe :: VkDevice -> Ptr VkSamplerCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSampler -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateSemaphoreUnsafe :: VkDevice -> Ptr VkSemaphoreCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSemaphore -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkCreateShaderModuleUnsafe :: VkDevice -> Ptr VkShaderModuleCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkShaderModule -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkDestroyBufferUnsafe :: VkDevice -> VkBuffer -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyBufferViewUnsafe :: VkDevice -> VkBufferView -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyCommandPoolUnsafe :: VkDevice -> VkCommandPool -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyDescriptorPoolUnsafe :: VkDevice -> VkDescriptorPool -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyDescriptorSetLayoutUnsafe :: VkDevice -> VkDescriptorSetLayout -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyDeviceUnsafe :: VkDevice -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyEventUnsafe :: VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyFenceUnsafe :: VkDevice -> VkFence -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyFramebufferUnsafe :: VkDevice -> VkFramebuffer -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyImageUnsafe :: VkDevice -> VkImage -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyImageViewUnsafe :: VkDevice -> VkImageView -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyInstanceUnsafe :: VkInstance -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyPipelineCacheUnsafe :: VkDevice -> VkPipelineCache -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyPipelineLayoutUnsafe :: VkDevice -> VkPipelineLayout -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyPipelineUnsafe :: VkDevice -> VkPipeline -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyQueryPoolUnsafe :: VkDevice -> VkQueryPool -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyRenderPassUnsafe :: VkDevice -> VkRenderPass -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroySamplerUnsafe :: VkDevice -> VkSampler -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroySemaphoreUnsafe :: VkDevice -> VkSemaphore -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDestroyShaderModuleUnsafe :: VkDevice -> VkShaderModule -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkDeviceWaitIdleUnsafe :: VkDevice -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkEndCommandBufferUnsafe :: VkCommandBuffer -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkEnumerateDeviceExtensionPropertiesUnsafe :: VkPhysicalDevice -> CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkEnumerateDeviceLayerPropertiesUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkEnumerateInstanceExtensionPropertiesUnsafe :: CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkEnumerateInstanceLayerPropertiesUnsafe :: Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkEnumeratePhysicalDevicesUnsafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDevice -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkFlushMappedMemoryRangesUnsafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkFreeCommandBuffersUnsafe :: VkDevice -> VkCommandPool -> Word32 -> Ptr VkCommandBuffer -> IO ()
+ Graphics.Vulkan.Core_1_0: vkFreeDescriptorSetsUnsafe :: VkDevice -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkFreeMemoryUnsafe :: VkDevice -> VkDeviceMemory -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetBufferMemoryRequirementsUnsafe :: VkDevice -> VkBuffer -> Ptr VkMemoryRequirements -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetDeviceMemoryCommitmentUnsafe :: VkDevice -> VkDeviceMemory -> Ptr VkDeviceSize -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetDeviceProcAddrUnsafe :: VkDevice -> CString -> IO PFN_vkVoidFunction
+ Graphics.Vulkan.Core_1_0: vkGetDeviceQueueUnsafe :: VkDevice -> Word32 -> Word32 -> Ptr VkQueue -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetEventStatusUnsafe :: VkDevice -> VkEvent -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkGetFenceStatusUnsafe :: VkDevice -> VkFence -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkGetImageMemoryRequirementsUnsafe :: VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetImageSparseMemoryRequirementsUnsafe :: VkDevice -> VkImage -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetImageSubresourceLayoutUnsafe :: VkDevice -> VkImage -> Ptr VkImageSubresource -> Ptr VkSubresourceLayout -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetInstanceProcAddrUnsafe :: VkInstance -> CString -> IO PFN_vkVoidFunction
+ Graphics.Vulkan.Core_1_0: vkGetPhysicalDeviceFeaturesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetPhysicalDeviceFormatPropertiesUnsafe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetPhysicalDeviceImageFormatPropertiesUnsafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkImageTiling -> VkImageUsageFlags -> VkImageCreateFlags -> Ptr VkImageFormatProperties -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkGetPhysicalDeviceMemoryPropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetPhysicalDevicePropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetPhysicalDeviceQueueFamilyPropertiesUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetPhysicalDeviceSparseImageFormatPropertiesUnsafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkSampleCountFlagBits -> VkImageUsageFlags -> VkImageTiling -> Ptr Word32 -> Ptr VkSparseImageFormatProperties -> IO ()
+ Graphics.Vulkan.Core_1_0: vkGetPipelineCacheDataUnsafe :: VkDevice -> VkPipelineCache -> Ptr CSize -> Ptr Void -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkGetQueryPoolResultsUnsafe :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> CSize -> Ptr Void -> VkDeviceSize -> VkQueryResultFlags -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkGetRenderAreaGranularityUnsafe :: VkDevice -> VkRenderPass -> Ptr VkExtent2D -> IO ()
+ Graphics.Vulkan.Core_1_0: vkInvalidateMappedMemoryRangesUnsafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkMapMemoryUnsafe :: VkDevice -> VkDeviceMemory -> VkDeviceSize -> VkDeviceSize -> VkMemoryMapFlags -> Ptr (Ptr Void) -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkMergePipelineCachesUnsafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkPipelineCache -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkQueueBindSparseUnsafe :: VkQueue -> Word32 -> Ptr VkBindSparseInfo -> VkFence -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkQueueSubmitUnsafe :: VkQueue -> Word32 -> Ptr VkSubmitInfo -> VkFence -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkQueueWaitIdleUnsafe :: VkQueue -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkResetCommandBufferUnsafe :: VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkResetCommandPoolUnsafe :: VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkResetDescriptorPoolUnsafe :: VkDevice -> VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkResetEventUnsafe :: VkDevice -> VkEvent -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkResetFencesUnsafe :: VkDevice -> Word32 -> Ptr VkFence -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkSetEventUnsafe :: VkDevice -> VkEvent -> IO VkResult
+ Graphics.Vulkan.Core_1_0: vkUnmapMemoryUnsafe :: VkDevice -> VkDeviceMemory -> IO ()
+ Graphics.Vulkan.Core_1_0: vkUpdateDescriptorSetsUnsafe :: VkDevice -> Word32 -> Ptr VkWriteDescriptorSet -> Word32 -> Ptr VkCopyDescriptorSet -> IO ()
+ Graphics.Vulkan.Core_1_0: vkWaitForFencesUnsafe :: VkDevice -> Word32 -> Ptr VkFence -> VkBool32 -> Word64 -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkBindBufferMemory2Unsafe :: VkDevice -> Word32 -> Ptr VkBindBufferMemoryInfo -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkBindImageMemory2Unsafe :: VkDevice -> Word32 -> Ptr VkBindImageMemoryInfo -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkCmdDispatchBaseUnsafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkCmdSetDeviceMaskUnsafe :: VkCommandBuffer -> Word32 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkCreateDescriptorUpdateTemplateUnsafe :: VkDevice -> Ptr VkDescriptorUpdateTemplateCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorUpdateTemplate -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkCreateSamplerYcbcrConversionUnsafe :: VkDevice -> Ptr VkSamplerYcbcrConversionCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSamplerYcbcrConversion -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkDestroyDescriptorUpdateTemplateUnsafe :: VkDevice -> VkDescriptorUpdateTemplate -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_1: vkDestroySamplerYcbcrConversionUnsafe :: VkDevice -> VkSamplerYcbcrConversion -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Core_1_1: vkEnumerateInstanceVersionUnsafe :: Ptr Word32 -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkEnumeratePhysicalDeviceGroupsUnsafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDeviceGroupProperties -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkGetBufferMemoryRequirements2Unsafe :: VkDevice -> Ptr VkBufferMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetDescriptorSetLayoutSupportUnsafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkDescriptorSetLayoutSupport -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetDeviceGroupPeerMemoryFeaturesUnsafe :: VkDevice -> Word32 -> Word32 -> Word32 -> Ptr VkPeerMemoryFeatureFlags -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetDeviceQueue2Unsafe :: VkDevice -> Ptr VkDeviceQueueInfo2 -> Ptr VkQueue -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetImageMemoryRequirements2Unsafe :: VkDevice -> Ptr VkImageMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetImageSparseMemoryRequirements2Unsafe :: VkDevice -> Ptr VkImageSparseMemoryRequirementsInfo2 -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceExternalBufferPropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalBufferInfo -> Ptr VkExternalBufferProperties -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceExternalFencePropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalFenceInfo -> Ptr VkExternalFenceProperties -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceExternalSemaphorePropertiesUnsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalSemaphoreInfo -> Ptr VkExternalSemaphoreProperties -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceFeatures2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceFormatProperties2Unsafe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceImageFormatProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceImageFormatInfo2 -> Ptr VkImageFormatProperties2 -> IO VkResult
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceMemoryProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceQueueFamilyProperties2Unsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkGetPhysicalDeviceSparseImageFormatProperties2Unsafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 -> Ptr Word32 -> Ptr VkSparseImageFormatProperties2 -> IO ()
+ Graphics.Vulkan.Core_1_1: vkTrimCommandPoolUnsafe :: VkDevice -> VkCommandPool -> VkCommandPoolTrimFlags -> IO ()
+ Graphics.Vulkan.Core_1_1: vkUpdateDescriptorSetWithTemplateUnsafe :: VkDevice -> VkDescriptorSet -> VkDescriptorUpdateTemplate -> Ptr Void -> IO ()
+ Graphics.Vulkan.Ext.VK_EXT_display_control: VkDisplayModeProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: VkDisplayPlaneCapabilities2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: VkDisplayPlaneInfo2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: VkDisplayPlaneProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: VkDisplayProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: data VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: data VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: data VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: data VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_EXT_display_control: data VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: VkDisplayModeProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: VkDisplayPlaneCapabilities2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: VkDisplayPlaneInfo2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: VkDisplayPlaneProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: VkDisplayProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: data VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: data VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: data VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: data VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: data VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display: vkCreateDisplayModeKHRUnsafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr VkDisplayModeCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkDisplayModeKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_display: vkCreateDisplayPlaneSurfaceKHRUnsafe :: VkInstance -> Ptr VkDisplaySurfaceCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSurfaceKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_display: vkGetDisplayModePropertiesKHRUnsafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr Word32 -> Ptr VkDisplayModePropertiesKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_display: vkGetDisplayPlaneCapabilitiesKHRUnsafe :: VkPhysicalDevice -> VkDisplayModeKHR -> Word32 -> Ptr VkDisplayPlaneCapabilitiesKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_display: vkGetDisplayPlaneSupportedDisplaysKHRUnsafe :: VkPhysicalDevice -> Word32 -> Ptr Word32 -> Ptr VkDisplayKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_display: vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPlanePropertiesKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_display: vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPropertiesKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: VkDisplayModeProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: VkDisplayPlaneCapabilities2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: VkDisplayPlaneInfo2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: VkDisplayPlaneProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: VkDisplayProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: data VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: data VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: data VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: data VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: data VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_display_swapchain: vkCreateSharedSwapchainsKHRUnsafe :: VkDevice -> Word32 -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: VkBool32 :: Word32 -> VkBool32
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: VkDeviceSize :: Word64 -> VkDeviceSize
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: VkFlags :: Word32 -> VkFlags
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: VkSampleMask :: Word32 -> VkSampleMask
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkBufferView_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkCommandBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkCommandPool_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDebugReportCallbackEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDebugUtilsMessengerEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDescriptorPool_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDescriptorSetLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDescriptorSet_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDescriptorUpdateTemplateKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDescriptorUpdateTemplate_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDeviceMemory_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDisplayKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkDisplayModeKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkEvent_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkFence_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkFramebuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkImageView_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkImage_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkIndirectCommandsLayoutNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkInstance_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkObjectTableNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkPhysicalDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkPipelineCache_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkPipelineLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkPipeline_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkQueryPool_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkQueue_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkRenderPass_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkSamplerYcbcrConversionKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkSamplerYcbcrConversion_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkSampler_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkSemaphore_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkShaderModule_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkSurfaceKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkSwapchainKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: data VkValidationCacheEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexedIndirectCountKHR"
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirectCountKHR"
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: newtype VkBool32
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: newtype VkDeviceSize
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: newtype VkFlags
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: newtype VkSampleMask
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type HS_vkCmdDrawIndexedIndirectCountKHR = VkCommandBuffer commandBuffer -> VkBuffer buffer -> VkDeviceSize offset -> VkBuffer countBuffer -> VkDeviceSize countBufferOffset -> Word32 maxDrawCount -> Word32 stride -> IO ()
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type HS_vkCmdDrawIndirectCountKHR = VkCommandBuffer commandBuffer -> VkBuffer buffer -> VkDeviceSize offset -> VkBuffer countBuffer -> VkDeviceSize countBufferOffset -> Word32 maxDrawCount -> Word32 stride -> IO ()
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type PFN_vkCmdDrawIndexedIndirectCountKHR = FunPtr HS_vkCmdDrawIndexedIndirectCountKHR
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type PFN_vkCmdDrawIndirectCountKHR = FunPtr HS_vkCmdDrawIndirectCountKHR
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_KHR_draw_indirect_count"
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkBuffer = VkPtr VkBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkBufferView = VkPtr VkBufferView_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkCmdDrawIndexedIndirectCountKHR = "vkCmdDrawIndexedIndirectCountKHR"
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkCmdDrawIndirectCountKHR = "vkCmdDrawIndirectCountKHR"
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkCommandBuffer = Ptr VkCommandBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkCommandPool = VkPtr VkCommandPool_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDescriptorPool = VkPtr VkDescriptorPool_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDescriptorSet = VkPtr VkDescriptorSet_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDevice = Ptr VkDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDeviceMemory = VkPtr VkDeviceMemory_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDisplayKHR = VkPtr VkDisplayKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkEvent = VkPtr VkEvent_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkFence = VkPtr VkFence_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkFramebuffer = VkPtr VkFramebuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkImage = VkPtr VkImage_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkImageView = VkPtr VkImageView_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkInstance = Ptr VkInstance_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkObjectTableNVX = VkPtr VkObjectTableNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkPhysicalDevice = Ptr VkPhysicalDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkPipeline = VkPtr VkPipeline_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkPipelineCache = VkPtr VkPipelineCache_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkPipelineLayout = VkPtr VkPipelineLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkQueryPool = VkPtr VkQueryPool_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkQueue = Ptr VkQueue_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkRenderPass = VkPtr VkRenderPass_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkSampler = VkPtr VkSampler_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkSemaphore = VkPtr VkSemaphore_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkShaderModule = VkPtr VkShaderModule_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkSurfaceKHR = VkPtr VkSurfaceKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkSwapchainKHR = VkPtr VkSwapchainKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count: type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkBool32 :: Word32 -> VkBool32
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDeviceSize :: Word64 -> VkDeviceSize
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayEventInfoEXT# :: Addr# -> ByteArray# -> VkDisplayEventInfoEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayEventTypeEXT :: Int32 -> VkDisplayEventTypeEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayModeCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplayModeCreateInfoKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayModeParametersKHR# :: Addr# -> ByteArray# -> VkDisplayModeParametersKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayModeProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayModePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayModePropertiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPlaneAlphaBitmaskKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPlaneCapabilities2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPlaneCapabilitiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilitiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPlaneInfo2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPlaneProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPlanePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlanePropertiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPowerInfoEXT# :: Addr# -> ByteArray# -> VkDisplayPowerInfoEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPowerStateEXT :: Int32 -> VkDisplayPowerStateEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPresentInfoKHR# :: Addr# -> ByteArray# -> VkDisplayPresentInfoKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayProperties2KHR# :: Addr# -> ByteArray# -> VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplayPropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayPropertiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkDisplaySurfaceCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplaySurfaceCreateInfoKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkFlags :: Word32 -> VkFlags
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkResult :: Int32 -> VkResult
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkSampleMask :: Word32 -> VkSampleMask
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkStructureType :: Int32 -> VkStructureType
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkBufferView_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkCommandBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkCommandPool_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDebugReportCallbackEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDebugUtilsMessengerEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDescriptorPool_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDescriptorSetLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDescriptorSet_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDescriptorUpdateTemplateKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDescriptorUpdateTemplate_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDeviceMemory_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayEventInfoEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayModeCreateInfoKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayModeKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayModeParametersKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayModePropertiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPlaneCapabilitiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPlaneInfo2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPlanePropertiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPowerInfoEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPresentInfoKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplayPropertiesKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkDisplaySurfaceCreateInfoKHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkEvent_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkExtent2D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkExtent3D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkFence_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkFramebuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkImageView_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkImage_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkIndirectCommandsLayoutNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkInstance_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkObjectTableNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkOffset2D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkOffset3D
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkPhysicalDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkPipelineCache_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkPipelineLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkPipeline_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkQueryPool_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkQueue_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkRenderPass_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkSamplerYcbcrConversionKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkSamplerYcbcrConversion_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkSampler_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkSemaphore_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkShaderModule_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkSurfaceKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkSwapchainKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: data VkValidationCacheEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayModeProperties2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayPlaneCapabilities2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayProperties2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkBool32
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkDeviceSize
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkDisplayEventTypeEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType)
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkDisplayPowerStateEXT
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkFlags
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkResult
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkSampleMask
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkStructureType
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkSurfaceCounterBitmaskEXT (a :: FlagType)
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: newtype VkSurfaceTransformBitmaskKHR (a :: FlagType)
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type HS_vkGetDisplayModeProperties2KHR = VkPhysicalDevice physicalDevice -> VkDisplayKHR display -> Ptr Word32 pPropertyCount -> Ptr VkDisplayModeProperties2KHR pProperties -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type HS_vkGetDisplayPlaneCapabilities2KHR = VkPhysicalDevice physicalDevice -> Ptr VkDisplayPlaneInfo2KHR pDisplayPlaneInfo -> Ptr VkDisplayPlaneCapabilities2KHR pCapabilities -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = VkPhysicalDevice physicalDevice -> Ptr Word32 pPropertyCount -> Ptr VkDisplayPlaneProperties2KHR pProperties -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type HS_vkGetPhysicalDeviceDisplayProperties2KHR = VkPhysicalDevice physicalDevice -> Ptr Word32 pPropertyCount -> Ptr VkDisplayProperties2KHR pProperties -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type PFN_vkGetDisplayModeProperties2KHR = FunPtr HS_vkGetDisplayModeProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type PFN_vkGetDisplayPlaneCapabilities2KHR = FunPtr HS_vkGetDisplayPlaneCapabilities2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = FunPtr HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type PFN_vkGetPhysicalDeviceDisplayProperties2KHR = FunPtr HS_vkGetPhysicalDeviceDisplayProperties2KHR
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_display_properties2"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkBuffer = VkPtr VkBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkBufferView = VkPtr VkBufferView_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkCommandBuffer = Ptr VkCommandBuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkCommandPool = VkPtr VkCommandPool_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDescriptorPool = VkPtr VkDescriptorPool_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDescriptorSet = VkPtr VkDescriptorSet_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDescriptorUpdateTemplate = VkPtr VkDescriptorUpdateTemplate_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDescriptorUpdateTemplateKHR = VkPtr VkDescriptorUpdateTemplateKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDevice = Ptr VkDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDeviceMemory = VkPtr VkDeviceMemory_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDisplayKHR = VkPtr VkDisplayKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDisplayPlaneAlphaFlagBitsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagBit
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagMask
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkEvent = VkPtr VkEvent_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkFence = VkPtr VkFence_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkFramebuffer = VkPtr VkFramebuffer_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkGetDisplayModeProperties2KHR = "vkGetDisplayModeProperties2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkGetDisplayPlaneCapabilities2KHR = "vkGetDisplayPlaneCapabilities2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkGetPhysicalDeviceDisplayPlaneProperties2KHR = "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkGetPhysicalDeviceDisplayProperties2KHR = "vkGetPhysicalDeviceDisplayProperties2KHR"
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkImage = VkPtr VkImage_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkImageView = VkPtr VkImageView_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkInstance = Ptr VkInstance_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkObjectTableNVX = VkPtr VkObjectTableNVX_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkPhysicalDevice = Ptr VkPhysicalDevice_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkPipeline = VkPtr VkPipeline_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkPipelineCache = VkPtr VkPipelineCache_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkPipelineLayout = VkPtr VkPipelineLayout_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkQueryPool = VkPtr VkQueryPool_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkQueue = Ptr VkQueue_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkRenderPass = VkPtr VkRenderPass_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSampler = VkPtr VkSampler_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSamplerYcbcrConversionKHR = VkPtr VkSamplerYcbcrConversionKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSemaphore = VkPtr VkSemaphore_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkShaderModule = VkPtr VkShaderModule_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSurfaceKHR = VkPtr VkSurfaceKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkSwapchainKHR = VkPtr VkSwapchainKHR_T
+ Graphics.Vulkan.Ext.VK_KHR_get_display_properties2: type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T
+ Graphics.Vulkan.Ext.VK_KHR_surface: vkDestroySurfaceKHRUnsafe :: VkInstance -> VkSurfaceKHR -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Ext.VK_KHR_surface: vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr VkSurfaceCapabilitiesKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_surface: vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkSurfaceFormatKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_surface: vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkPresentModeKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_surface: vkGetPhysicalDeviceSurfaceSupportKHRUnsafe :: VkPhysicalDevice -> Word32 -> VkSurfaceKHR -> Ptr VkBool32 -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkAcquireNextImage2KHRUnsafe :: VkDevice -> Ptr VkAcquireNextImageInfoKHR -> Ptr Word32 -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkAcquireNextImageKHRUnsafe :: VkDevice -> VkSwapchainKHR -> Word64 -> VkSemaphore -> VkFence -> Ptr Word32 -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkCreateSwapchainKHRUnsafe :: VkDevice -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkDestroySwapchainKHRUnsafe :: VkDevice -> VkSwapchainKHR -> Ptr VkAllocationCallbacks -> IO ()
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkGetDeviceGroupPresentCapabilitiesKHRUnsafe :: VkDevice -> Ptr VkDeviceGroupPresentCapabilitiesKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkGetDeviceGroupSurfacePresentModesKHRUnsafe :: VkDevice -> VkSurfaceKHR -> Ptr VkDeviceGroupPresentModeFlagsKHR -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkGetPhysicalDevicePresentRectanglesKHRUnsafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkRect2D -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkGetSwapchainImagesKHRUnsafe :: VkDevice -> VkSwapchainKHR -> Ptr Word32 -> Ptr VkImage -> IO VkResult
+ Graphics.Vulkan.Ext.VK_KHR_swapchain: vkQueuePresentKHRUnsafe :: VkQueue -> Ptr VkPresentInfoKHR -> IO VkResult
+ Graphics.Vulkan.Marshal.Proc: unwrapVkProcPtrUnsafe :: VulkanProc proc => FunPtr (VkProcType proc) -> VkProcType proc
+ Graphics.Vulkan.Marshal.Proc: vkGetDeviceProcUnsafe :: forall proc. VulkanProc proc => VkDevice -> IO (VkProcType proc)
+ Graphics.Vulkan.Marshal.Proc: vkGetInstanceProcUnsafe :: forall proc. VulkanProc proc => VkInstance -> IO (VkProcType proc)
+ Graphics.Vulkan.Marshal.Proc: vkGetProcUnsafe :: forall proc. VulkanProc proc => IO (VkProcType proc)
+ Graphics.Vulkan.Marshal.Proc: vkLookupDeviceProcUnsafe :: forall proc. VulkanProc proc => VkDevice -> IO (Maybe (VkProcType proc))
+ Graphics.Vulkan.Marshal.Proc: vkLookupInstanceProcUnsafe :: forall proc. VulkanProc proc => VkInstance -> IO (Maybe (VkProcType proc))
+ Graphics.Vulkan.Marshal.Proc: vkLookupProcUnsafe :: forall proc. VulkanProc proc => IO (Maybe (VkProcType proc))
- Graphics.Vulkan: type VK_HEADER_VERSION = 74
+ Graphics.Vulkan: type VK_HEADER_VERSION = 77

Files

include/vulkan/vulkan_core.h view
@@ -43,7 +43,7 @@ #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) // Version of this file-#define VK_HEADER_VERSION 74+#define VK_HEADER_VERSION 77   #define VK_NULL_HANDLE 0@@ -350,6 +350,11 @@     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,     VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,     VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,+    VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,+    VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,+    VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,+    VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,+    VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,     VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,     VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,     VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,@@ -2715,7 +2720,17 @@     uint32_t    firstInstance; } VkDrawIndirectCommand; +typedef struct VkBaseOutStructure {+    VkStructureType               sType;+    struct VkBaseOutStructure*    pNext;+} VkBaseOutStructure; +typedef struct VkBaseInStructure {+    VkStructureType                    sType;+    const struct VkBaseInStructure*    pNext;+} VkBaseInStructure;++ typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);@@ -5572,6 +5587,70 @@   +#define VK_KHR_get_display_properties2 1+#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1+#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"++typedef struct VkDisplayProperties2KHR {+    VkStructureType           sType;+    void*                     pNext;+    VkDisplayPropertiesKHR    displayProperties;+} VkDisplayProperties2KHR;++typedef struct VkDisplayPlaneProperties2KHR {+    VkStructureType                sType;+    void*                          pNext;+    VkDisplayPlanePropertiesKHR    displayPlaneProperties;+} VkDisplayPlaneProperties2KHR;++typedef struct VkDisplayModeProperties2KHR {+    VkStructureType               sType;+    void*                         pNext;+    VkDisplayModePropertiesKHR    displayModeProperties;+} VkDisplayModeProperties2KHR;++typedef struct VkDisplayPlaneInfo2KHR {+    VkStructureType     sType;+    const void*         pNext;+    VkDisplayModeKHR    mode;+    uint32_t            planeIndex;+} VkDisplayPlaneInfo2KHR;++typedef struct VkDisplayPlaneCapabilities2KHR {+    VkStructureType                  sType;+    void*                            pNext;+    VkDisplayPlaneCapabilitiesKHR    capabilities;+} VkDisplayPlaneCapabilities2KHR;+++typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pPropertyCount,+    VkDisplayProperties2KHR*                    pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pPropertyCount,+    VkDisplayPlaneProperties2KHR*               pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    VkDisplayKHR                                display,+    uint32_t*                                   pPropertyCount,+    VkDisplayModeProperties2KHR*                pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(+    VkPhysicalDevice                            physicalDevice,+    const VkDisplayPlaneInfo2KHR*               pDisplayPlaneInfo,+    VkDisplayPlaneCapabilities2KHR*             pCapabilities);+#endif+ #define VK_KHR_dedicated_allocation 1 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"@@ -5725,6 +5804,33 @@     VkDevice                                    device,     const VkDescriptorSetLayoutCreateInfo*      pCreateInfo,     VkDescriptorSetLayoutSupport*               pSupport);+#endif++#define VK_KHR_draw_indirect_count 1+#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1+#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"++typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);+typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset,+    VkBuffer                                    countBuffer,+    VkDeviceSize                                countBufferOffset,+    uint32_t                                    maxDrawCount,+    uint32_t                                    stride);++VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset,+    VkBuffer                                    countBuffer,+    VkDeviceSize                                countBufferOffset,+    uint32_t                                    maxDrawCount,+    uint32_t                                    stride); #endif  #define VK_EXT_debug_report 1
src-gen/Graphics/Vulkan/Core_1_0.hsc view
@@ -41,22723 +41,29930 @@         pattern VK_QUEUE_FAMILY_IGNORED, pattern VK_SUBPASS_EXTERNAL,         -- ** Device initialization         VkCreateInstance, pattern VkCreateInstance, HS_vkCreateInstance,-        PFN_vkCreateInstance, vkCreateInstance, vkCreateInstanceSafe,-        VkDestroyInstance, pattern VkDestroyInstance, HS_vkDestroyInstance,-        PFN_vkDestroyInstance, vkDestroyInstance, vkDestroyInstanceSafe,-        VkEnumeratePhysicalDevices, pattern VkEnumeratePhysicalDevices,-        HS_vkEnumeratePhysicalDevices, PFN_vkEnumeratePhysicalDevices,-        vkEnumeratePhysicalDevices, vkEnumeratePhysicalDevicesSafe,-        VkGetPhysicalDeviceFeatures, pattern VkGetPhysicalDeviceFeatures,-        HS_vkGetPhysicalDeviceFeatures, PFN_vkGetPhysicalDeviceFeatures,-        vkGetPhysicalDeviceFeatures, vkGetPhysicalDeviceFeaturesSafe,-        VkGetPhysicalDeviceFormatProperties,-        pattern VkGetPhysicalDeviceFormatProperties,-        HS_vkGetPhysicalDeviceFormatProperties,-        PFN_vkGetPhysicalDeviceFormatProperties,-        vkGetPhysicalDeviceFormatProperties,-        vkGetPhysicalDeviceFormatPropertiesSafe,-        VkGetPhysicalDeviceImageFormatProperties,-        pattern VkGetPhysicalDeviceImageFormatProperties,-        HS_vkGetPhysicalDeviceImageFormatProperties,-        PFN_vkGetPhysicalDeviceImageFormatProperties,-        vkGetPhysicalDeviceImageFormatProperties,-        vkGetPhysicalDeviceImageFormatPropertiesSafe,-        VkGetPhysicalDeviceProperties,-        pattern VkGetPhysicalDeviceProperties,-        HS_vkGetPhysicalDeviceProperties,-        PFN_vkGetPhysicalDeviceProperties, vkGetPhysicalDeviceProperties,-        vkGetPhysicalDevicePropertiesSafe,-        VkGetPhysicalDeviceQueueFamilyProperties,-        pattern VkGetPhysicalDeviceQueueFamilyProperties,-        HS_vkGetPhysicalDeviceQueueFamilyProperties,-        PFN_vkGetPhysicalDeviceQueueFamilyProperties,-        vkGetPhysicalDeviceQueueFamilyProperties,-        vkGetPhysicalDeviceQueueFamilyPropertiesSafe,-        VkGetPhysicalDeviceMemoryProperties,-        pattern VkGetPhysicalDeviceMemoryProperties,-        HS_vkGetPhysicalDeviceMemoryProperties,-        PFN_vkGetPhysicalDeviceMemoryProperties,-        vkGetPhysicalDeviceMemoryProperties,-        vkGetPhysicalDeviceMemoryPropertiesSafe, VkGetInstanceProcAddr,-        pattern VkGetInstanceProcAddr, HS_vkGetInstanceProcAddr,-        PFN_vkGetInstanceProcAddr, vkGetInstanceProcAddr,-        vkGetInstanceProcAddrSafe, VkGetDeviceProcAddr,-        pattern VkGetDeviceProcAddr, HS_vkGetDeviceProcAddr,-        PFN_vkGetDeviceProcAddr, vkGetDeviceProcAddr,-        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, vkCreateDeviceSafe,-        VkDestroyDevice, pattern VkDestroyDevice, HS_vkDestroyDevice,-        PFN_vkDestroyDevice, vkDestroyDevice, vkDestroyDeviceSafe,-        module Graphics.Vulkan.Types.Enum.Device,-        module Graphics.Vulkan.Types.Struct.Device,-        -- ** Extension discovery commands-        VkEnumerateInstanceExtensionProperties,-        pattern VkEnumerateInstanceExtensionProperties,-        HS_vkEnumerateInstanceExtensionProperties,-        PFN_vkEnumerateInstanceExtensionProperties,-        vkEnumerateInstanceExtensionProperties,-        vkEnumerateInstanceExtensionPropertiesSafe,-        VkEnumerateDeviceExtensionProperties,-        pattern VkEnumerateDeviceExtensionProperties,-        HS_vkEnumerateDeviceExtensionProperties,-        PFN_vkEnumerateDeviceExtensionProperties,-        vkEnumerateDeviceExtensionProperties,-        vkEnumerateDeviceExtensionPropertiesSafe,-        module Graphics.Vulkan.Types.Struct.ExtensionProperties,-        -- ** Layer discovery commands-        VkEnumerateInstanceLayerProperties,-        pattern VkEnumerateInstanceLayerProperties,-        HS_vkEnumerateInstanceLayerProperties,-        PFN_vkEnumerateInstanceLayerProperties,-        vkEnumerateInstanceLayerProperties,-        vkEnumerateInstanceLayerPropertiesSafe,-        VkEnumerateDeviceLayerProperties,-        pattern VkEnumerateDeviceLayerProperties,-        HS_vkEnumerateDeviceLayerProperties,-        PFN_vkEnumerateDeviceLayerProperties,-        vkEnumerateDeviceLayerProperties,-        vkEnumerateDeviceLayerPropertiesSafe,-        module Graphics.Vulkan.Types.Struct.LayerProperties,-        -- ** queue commands-        VkGetDeviceQueue, pattern VkGetDeviceQueue, HS_vkGetDeviceQueue,-        PFN_vkGetDeviceQueue, vkGetDeviceQueue, vkGetDeviceQueueSafe,-        VkQueueSubmit, pattern VkQueueSubmit, HS_vkQueueSubmit,-        PFN_vkQueueSubmit, vkQueueSubmit, vkQueueSubmitSafe,-        VkQueueWaitIdle, pattern VkQueueWaitIdle, HS_vkQueueWaitIdle,-        PFN_vkQueueWaitIdle, vkQueueWaitIdle, vkQueueWaitIdleSafe,-        VkDeviceWaitIdle, pattern VkDeviceWaitIdle, HS_vkDeviceWaitIdle,-        PFN_vkDeviceWaitIdle, vkDeviceWaitIdle, vkDeviceWaitIdleSafe,-        module Graphics.Vulkan.Types.Struct.SubmitInfo, -- ** Memory commands-                                                        VkAllocateMemory,-        pattern VkAllocateMemory, HS_vkAllocateMemory,-        PFN_vkAllocateMemory, vkAllocateMemory, vkAllocateMemorySafe,-        VkFreeMemory, pattern VkFreeMemory, HS_vkFreeMemory,-        PFN_vkFreeMemory, vkFreeMemory, vkFreeMemorySafe, VkMapMemory,-        pattern VkMapMemory, HS_vkMapMemory, PFN_vkMapMemory, vkMapMemory,-        vkMapMemorySafe, VkUnmapMemory, pattern VkUnmapMemory,-        HS_vkUnmapMemory, PFN_vkUnmapMemory, vkUnmapMemory,-        vkUnmapMemorySafe, VkFlushMappedMemoryRanges,-        pattern VkFlushMappedMemoryRanges, HS_vkFlushMappedMemoryRanges,-        PFN_vkFlushMappedMemoryRanges, vkFlushMappedMemoryRanges,-        vkFlushMappedMemoryRangesSafe, VkInvalidateMappedMemoryRanges,-        pattern VkInvalidateMappedMemoryRanges,-        HS_vkInvalidateMappedMemoryRanges,-        PFN_vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRanges,-        vkInvalidateMappedMemoryRangesSafe, VkGetDeviceMemoryCommitment,-        pattern VkGetDeviceMemoryCommitment,-        HS_vkGetDeviceMemoryCommitment, PFN_vkGetDeviceMemoryCommitment,-        vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitmentSafe,-        module Graphics.Vulkan.Types.Struct.MappedMemoryRange,-        -- ** Memory management API commands-        VkBindBufferMemory, pattern VkBindBufferMemory,-        HS_vkBindBufferMemory, PFN_vkBindBufferMemory, vkBindBufferMemory,-        vkBindBufferMemorySafe, VkBindImageMemory,-        pattern VkBindImageMemory, HS_vkBindImageMemory,-        PFN_vkBindImageMemory, vkBindImageMemory, vkBindImageMemorySafe,-        VkGetBufferMemoryRequirements,-        pattern VkGetBufferMemoryRequirements,-        HS_vkGetBufferMemoryRequirements,-        PFN_vkGetBufferMemoryRequirements, vkGetBufferMemoryRequirements,-        vkGetBufferMemoryRequirementsSafe, VkGetImageMemoryRequirements,-        pattern VkGetImageMemoryRequirements,-        HS_vkGetImageMemoryRequirements, PFN_vkGetImageMemoryRequirements,-        vkGetImageMemoryRequirements, vkGetImageMemoryRequirementsSafe,-        -- ** Sparse resource memory management API commands-        VkGetImageSparseMemoryRequirements,-        pattern VkGetImageSparseMemoryRequirements,-        HS_vkGetImageSparseMemoryRequirements,-        PFN_vkGetImageSparseMemoryRequirements,-        vkGetImageSparseMemoryRequirements,-        vkGetImageSparseMemoryRequirementsSafe,-        VkGetPhysicalDeviceSparseImageFormatProperties,-        pattern VkGetPhysicalDeviceSparseImageFormatProperties,-        HS_vkGetPhysicalDeviceSparseImageFormatProperties,-        PFN_vkGetPhysicalDeviceSparseImageFormatProperties,-        vkGetPhysicalDeviceSparseImageFormatProperties,-        vkGetPhysicalDeviceSparseImageFormatPropertiesSafe,-        VkQueueBindSparse, pattern VkQueueBindSparse, HS_vkQueueBindSparse,-        PFN_vkQueueBindSparse, vkQueueBindSparse, 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, vkCreateFenceSafe, VkDestroyFence,-        pattern VkDestroyFence, HS_vkDestroyFence, PFN_vkDestroyFence,-        vkDestroyFence, vkDestroyFenceSafe, VkResetFences,-        pattern VkResetFences, HS_vkResetFences, PFN_vkResetFences,-        vkResetFences, vkResetFencesSafe, VkGetFenceStatus,-        pattern VkGetFenceStatus, HS_vkGetFenceStatus,-        PFN_vkGetFenceStatus, vkGetFenceStatus, vkGetFenceStatusSafe,-        VkWaitForFences, pattern VkWaitForFences, HS_vkWaitForFences,-        PFN_vkWaitForFences, vkWaitForFences, vkWaitForFencesSafe,-        module Graphics.Vulkan.Types.Enum.Fence,-        module Graphics.Vulkan.Types.Struct.Fence, -- ** Queue semaphore commands-                                                   VkCreateSemaphore,-        pattern VkCreateSemaphore, HS_vkCreateSemaphore,-        PFN_vkCreateSemaphore, vkCreateSemaphore, vkCreateSemaphoreSafe,-        VkDestroySemaphore, pattern VkDestroySemaphore,-        HS_vkDestroySemaphore, PFN_vkDestroySemaphore, vkDestroySemaphore,-        vkDestroySemaphoreSafe,-        module Graphics.Vulkan.Types.Struct.Semaphore, -- ** Event commands-                                                       VkCreateEvent,-        pattern VkCreateEvent, HS_vkCreateEvent, PFN_vkCreateEvent,-        vkCreateEvent, vkCreateEventSafe, VkDestroyEvent,-        pattern VkDestroyEvent, HS_vkDestroyEvent, PFN_vkDestroyEvent,-        vkDestroyEvent, vkDestroyEventSafe, VkGetEventStatus,-        pattern VkGetEventStatus, HS_vkGetEventStatus,-        PFN_vkGetEventStatus, vkGetEventStatus, vkGetEventStatusSafe,-        VkSetEvent, pattern VkSetEvent, HS_vkSetEvent, PFN_vkSetEvent,-        vkSetEvent, vkSetEventSafe, VkResetEvent, pattern VkResetEvent,-        HS_vkResetEvent, PFN_vkResetEvent, vkResetEvent, vkResetEventSafe,-        module Graphics.Vulkan.Types.Struct.EventCreateInfo,-        -- ** Query commands-        VkCreateQueryPool, pattern VkCreateQueryPool, HS_vkCreateQueryPool,-        PFN_vkCreateQueryPool, vkCreateQueryPool, vkCreateQueryPoolSafe,-        VkDestroyQueryPool, pattern VkDestroyQueryPool,-        HS_vkDestroyQueryPool, PFN_vkDestroyQueryPool, vkDestroyQueryPool,-        vkDestroyQueryPoolSafe, VkGetQueryPoolResults,-        pattern VkGetQueryPoolResults, HS_vkGetQueryPoolResults,-        PFN_vkGetQueryPoolResults, vkGetQueryPoolResults,-        vkGetQueryPoolResultsSafe, module Graphics.Vulkan.Types.Enum.Query,-        module Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo,-        -- ** Buffer commands-        VkCreateBuffer, pattern VkCreateBuffer, HS_vkCreateBuffer,-        PFN_vkCreateBuffer, vkCreateBuffer, vkCreateBufferSafe,-        VkDestroyBuffer, pattern VkDestroyBuffer, HS_vkDestroyBuffer,-        PFN_vkDestroyBuffer, vkDestroyBuffer, 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, vkCreateBufferViewSafe,-        VkDestroyBufferView, pattern VkDestroyBufferView,-        HS_vkDestroyBufferView, PFN_vkDestroyBufferView,-        vkDestroyBufferView, vkDestroyBufferViewSafe, -- ** Image commands-                                                      VkCreateImage,-        pattern VkCreateImage, HS_vkCreateImage, PFN_vkCreateImage,-        vkCreateImage, vkCreateImageSafe, VkDestroyImage,-        pattern VkDestroyImage, HS_vkDestroyImage, PFN_vkDestroyImage,-        vkDestroyImage, vkDestroyImageSafe, VkGetImageSubresourceLayout,-        pattern VkGetImageSubresourceLayout,-        HS_vkGetImageSubresourceLayout, PFN_vkGetImageSubresourceLayout,-        vkGetImageSubresourceLayout, vkGetImageSubresourceLayoutSafe,-        module Graphics.Vulkan.Types.Struct.SubresourceLayout,-        -- ** Image view commands-        VkCreateImageView, pattern VkCreateImageView, HS_vkCreateImageView,-        PFN_vkCreateImageView, vkCreateImageView, vkCreateImageViewSafe,-        VkDestroyImageView, pattern VkDestroyImageView,-        HS_vkDestroyImageView, PFN_vkDestroyImageView, vkDestroyImageView,-        vkDestroyImageViewSafe,-        module Graphics.Vulkan.Types.Enum.ComponentSwizzle,-        module Graphics.Vulkan.Types.Struct.ComponentMapping,-        -- ** Shader commands-        VkCreateShaderModule, pattern VkCreateShaderModule,-        HS_vkCreateShaderModule, PFN_vkCreateShaderModule,-        vkCreateShaderModule, vkCreateShaderModuleSafe,-        VkDestroyShaderModule, pattern VkDestroyShaderModule,-        HS_vkDestroyShaderModule, PFN_vkDestroyShaderModule,-        vkDestroyShaderModule, vkDestroyShaderModuleSafe,-        module Graphics.Vulkan.Types.Struct.Shader, -- ** Pipeline Cache commands-                                                    VkCreatePipelineCache,-        pattern VkCreatePipelineCache, HS_vkCreatePipelineCache,-        PFN_vkCreatePipelineCache, vkCreatePipelineCache,-        vkCreatePipelineCacheSafe, VkDestroyPipelineCache,-        pattern VkDestroyPipelineCache, HS_vkDestroyPipelineCache,-        PFN_vkDestroyPipelineCache, vkDestroyPipelineCache,-        vkDestroyPipelineCacheSafe, VkGetPipelineCacheData,-        pattern VkGetPipelineCacheData, HS_vkGetPipelineCacheData,-        PFN_vkGetPipelineCacheData, vkGetPipelineCacheData,-        vkGetPipelineCacheDataSafe, VkMergePipelineCaches,-        pattern VkMergePipelineCaches, HS_vkMergePipelineCaches,-        PFN_vkMergePipelineCaches, vkMergePipelineCaches,-        vkMergePipelineCachesSafe,-        module Graphics.Vulkan.Types.Struct.Pipeline,-        -- ** Pipeline commands-        VkCreateGraphicsPipelines, pattern VkCreateGraphicsPipelines,-        HS_vkCreateGraphicsPipelines, PFN_vkCreateGraphicsPipelines,-        vkCreateGraphicsPipelines, vkCreateGraphicsPipelinesSafe,-        VkCreateComputePipelines, pattern VkCreateComputePipelines,-        HS_vkCreateComputePipelines, PFN_vkCreateComputePipelines,-        vkCreateComputePipelines, vkCreateComputePipelinesSafe,-        VkDestroyPipeline, pattern VkDestroyPipeline, HS_vkDestroyPipeline,-        PFN_vkDestroyPipeline, vkDestroyPipeline, 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, vkCreatePipelineLayoutSafe,-        VkDestroyPipelineLayout, pattern VkDestroyPipelineLayout,-        HS_vkDestroyPipelineLayout, PFN_vkDestroyPipelineLayout,-        vkDestroyPipelineLayout, vkDestroyPipelineLayoutSafe,-        module Graphics.Vulkan.Types.Struct.PushConstantRange,-        -- ** Sampler commands-        VkCreateSampler, pattern VkCreateSampler, HS_vkCreateSampler,-        PFN_vkCreateSampler, vkCreateSampler, vkCreateSamplerSafe,-        VkDestroySampler, pattern VkDestroySampler, HS_vkDestroySampler,-        PFN_vkDestroySampler, vkDestroySampler, 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, vkCreateDescriptorSetLayoutSafe,-        VkDestroyDescriptorSetLayout, pattern VkDestroyDescriptorSetLayout,-        HS_vkDestroyDescriptorSetLayout, PFN_vkDestroyDescriptorSetLayout,-        vkDestroyDescriptorSetLayout, vkDestroyDescriptorSetLayoutSafe,-        VkCreateDescriptorPool, pattern VkCreateDescriptorPool,-        HS_vkCreateDescriptorPool, PFN_vkCreateDescriptorPool,-        vkCreateDescriptorPool, vkCreateDescriptorPoolSafe,-        VkDestroyDescriptorPool, pattern VkDestroyDescriptorPool,-        HS_vkDestroyDescriptorPool, PFN_vkDestroyDescriptorPool,-        vkDestroyDescriptorPool, vkDestroyDescriptorPoolSafe,-        VkResetDescriptorPool, pattern VkResetDescriptorPool,-        HS_vkResetDescriptorPool, PFN_vkResetDescriptorPool,-        vkResetDescriptorPool, vkResetDescriptorPoolSafe,-        VkAllocateDescriptorSets, pattern VkAllocateDescriptorSets,-        HS_vkAllocateDescriptorSets, PFN_vkAllocateDescriptorSets,-        vkAllocateDescriptorSets, vkAllocateDescriptorSetsSafe,-        VkFreeDescriptorSets, pattern VkFreeDescriptorSets,-        HS_vkFreeDescriptorSets, PFN_vkFreeDescriptorSets,-        vkFreeDescriptorSets, vkFreeDescriptorSetsSafe,-        VkUpdateDescriptorSets, pattern VkUpdateDescriptorSets,-        HS_vkUpdateDescriptorSets, PFN_vkUpdateDescriptorSets,-        vkUpdateDescriptorSets, 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, vkCreateFramebufferSafe, VkDestroyFramebuffer,-        pattern VkDestroyFramebuffer, HS_vkDestroyFramebuffer,-        PFN_vkDestroyFramebuffer, vkDestroyFramebuffer,-        vkDestroyFramebufferSafe, VkCreateRenderPass,-        pattern VkCreateRenderPass, HS_vkCreateRenderPass,-        PFN_vkCreateRenderPass, vkCreateRenderPass, vkCreateRenderPassSafe,-        VkDestroyRenderPass, pattern VkDestroyRenderPass,-        HS_vkDestroyRenderPass, PFN_vkDestroyRenderPass,-        vkDestroyRenderPass, vkDestroyRenderPassSafe,-        VkGetRenderAreaGranularity, pattern VkGetRenderAreaGranularity,-        HS_vkGetRenderAreaGranularity, PFN_vkGetRenderAreaGranularity,-        vkGetRenderAreaGranularity, 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,-        vkCreateCommandPoolSafe, VkDestroyCommandPool,-        pattern VkDestroyCommandPool, HS_vkDestroyCommandPool,-        PFN_vkDestroyCommandPool, vkDestroyCommandPool,-        vkDestroyCommandPoolSafe, VkResetCommandPool,-        pattern VkResetCommandPool, HS_vkResetCommandPool,-        PFN_vkResetCommandPool, vkResetCommandPool, vkResetCommandPoolSafe,-        module Graphics.Vulkan.Types.Enum.Command,-        module Graphics.Vulkan.Types.Struct.Command,-        -- ** Command buffer commands-        VkAllocateCommandBuffers, pattern VkAllocateCommandBuffers,-        HS_vkAllocateCommandBuffers, PFN_vkAllocateCommandBuffers,-        vkAllocateCommandBuffers, vkAllocateCommandBuffersSafe,-        VkFreeCommandBuffers, pattern VkFreeCommandBuffers,-        HS_vkFreeCommandBuffers, PFN_vkFreeCommandBuffers,-        vkFreeCommandBuffers, vkFreeCommandBuffersSafe,-        VkBeginCommandBuffer, pattern VkBeginCommandBuffer,-        HS_vkBeginCommandBuffer, PFN_vkBeginCommandBuffer,-        vkBeginCommandBuffer, vkBeginCommandBufferSafe, VkEndCommandBuffer,-        pattern VkEndCommandBuffer, HS_vkEndCommandBuffer,-        PFN_vkEndCommandBuffer, vkEndCommandBuffer, vkEndCommandBufferSafe,-        VkResetCommandBuffer, pattern VkResetCommandBuffer,-        HS_vkResetCommandBuffer, PFN_vkResetCommandBuffer,-        vkResetCommandBuffer, vkResetCommandBufferSafe, -- ** Command buffer building commands-                                                        VkCmdBindPipeline,-        pattern VkCmdBindPipeline, HS_vkCmdBindPipeline,-        PFN_vkCmdBindPipeline, vkCmdBindPipeline, vkCmdBindPipelineSafe,-        VkCmdSetViewport, pattern VkCmdSetViewport, HS_vkCmdSetViewport,-        PFN_vkCmdSetViewport, vkCmdSetViewport, vkCmdSetViewportSafe,-        VkCmdSetScissor, pattern VkCmdSetScissor, HS_vkCmdSetScissor,-        PFN_vkCmdSetScissor, vkCmdSetScissor, vkCmdSetScissorSafe,-        VkCmdSetLineWidth, pattern VkCmdSetLineWidth, HS_vkCmdSetLineWidth,-        PFN_vkCmdSetLineWidth, vkCmdSetLineWidth, vkCmdSetLineWidthSafe,-        VkCmdSetDepthBias, pattern VkCmdSetDepthBias, HS_vkCmdSetDepthBias,-        PFN_vkCmdSetDepthBias, vkCmdSetDepthBias, vkCmdSetDepthBiasSafe,-        VkCmdSetBlendConstants, pattern VkCmdSetBlendConstants,-        HS_vkCmdSetBlendConstants, PFN_vkCmdSetBlendConstants,-        vkCmdSetBlendConstants, vkCmdSetBlendConstantsSafe,-        VkCmdSetDepthBounds, pattern VkCmdSetDepthBounds,-        HS_vkCmdSetDepthBounds, PFN_vkCmdSetDepthBounds,-        vkCmdSetDepthBounds, vkCmdSetDepthBoundsSafe,-        VkCmdSetStencilCompareMask, pattern VkCmdSetStencilCompareMask,-        HS_vkCmdSetStencilCompareMask, PFN_vkCmdSetStencilCompareMask,-        vkCmdSetStencilCompareMask, vkCmdSetStencilCompareMaskSafe,-        VkCmdSetStencilWriteMask, pattern VkCmdSetStencilWriteMask,-        HS_vkCmdSetStencilWriteMask, PFN_vkCmdSetStencilWriteMask,-        vkCmdSetStencilWriteMask, vkCmdSetStencilWriteMaskSafe,-        VkCmdSetStencilReference, pattern VkCmdSetStencilReference,-        HS_vkCmdSetStencilReference, PFN_vkCmdSetStencilReference,-        vkCmdSetStencilReference, vkCmdSetStencilReferenceSafe,-        VkCmdBindDescriptorSets, pattern VkCmdBindDescriptorSets,-        HS_vkCmdBindDescriptorSets, PFN_vkCmdBindDescriptorSets,-        vkCmdBindDescriptorSets, vkCmdBindDescriptorSetsSafe,-        VkCmdBindIndexBuffer, pattern VkCmdBindIndexBuffer,-        HS_vkCmdBindIndexBuffer, PFN_vkCmdBindIndexBuffer,-        vkCmdBindIndexBuffer, vkCmdBindIndexBufferSafe,-        VkCmdBindVertexBuffers, pattern VkCmdBindVertexBuffers,-        HS_vkCmdBindVertexBuffers, PFN_vkCmdBindVertexBuffers,-        vkCmdBindVertexBuffers, vkCmdBindVertexBuffersSafe, VkCmdDraw,-        pattern VkCmdDraw, HS_vkCmdDraw, PFN_vkCmdDraw, vkCmdDraw,-        vkCmdDrawSafe, VkCmdDrawIndexed, pattern VkCmdDrawIndexed,-        HS_vkCmdDrawIndexed, PFN_vkCmdDrawIndexed, vkCmdDrawIndexed,-        vkCmdDrawIndexedSafe, VkCmdDrawIndirect, pattern VkCmdDrawIndirect,-        HS_vkCmdDrawIndirect, PFN_vkCmdDrawIndirect, vkCmdDrawIndirect,-        vkCmdDrawIndirectSafe, VkCmdDrawIndexedIndirect,-        pattern VkCmdDrawIndexedIndirect, HS_vkCmdDrawIndexedIndirect,-        PFN_vkCmdDrawIndexedIndirect, vkCmdDrawIndexedIndirect,-        vkCmdDrawIndexedIndirectSafe, VkCmdDispatch, pattern VkCmdDispatch,-        HS_vkCmdDispatch, PFN_vkCmdDispatch, vkCmdDispatch,-        vkCmdDispatchSafe, VkCmdDispatchIndirect,-        pattern VkCmdDispatchIndirect, HS_vkCmdDispatchIndirect,-        PFN_vkCmdDispatchIndirect, vkCmdDispatchIndirect,-        vkCmdDispatchIndirectSafe, VkCmdCopyBuffer,-        pattern VkCmdCopyBuffer, HS_vkCmdCopyBuffer, PFN_vkCmdCopyBuffer,-        vkCmdCopyBuffer, vkCmdCopyBufferSafe, VkCmdCopyImage,-        pattern VkCmdCopyImage, HS_vkCmdCopyImage, PFN_vkCmdCopyImage,-        vkCmdCopyImage, vkCmdCopyImageSafe, VkCmdBlitImage,-        pattern VkCmdBlitImage, HS_vkCmdBlitImage, PFN_vkCmdBlitImage,-        vkCmdBlitImage, vkCmdBlitImageSafe, VkCmdCopyBufferToImage,-        pattern VkCmdCopyBufferToImage, HS_vkCmdCopyBufferToImage,-        PFN_vkCmdCopyBufferToImage, vkCmdCopyBufferToImage,-        vkCmdCopyBufferToImageSafe, VkCmdCopyImageToBuffer,-        pattern VkCmdCopyImageToBuffer, HS_vkCmdCopyImageToBuffer,-        PFN_vkCmdCopyImageToBuffer, vkCmdCopyImageToBuffer,-        vkCmdCopyImageToBufferSafe, VkCmdUpdateBuffer,-        pattern VkCmdUpdateBuffer, HS_vkCmdUpdateBuffer,-        PFN_vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBufferSafe,-        VkCmdFillBuffer, pattern VkCmdFillBuffer, HS_vkCmdFillBuffer,-        PFN_vkCmdFillBuffer, vkCmdFillBuffer, vkCmdFillBufferSafe,-        VkCmdClearColorImage, pattern VkCmdClearColorImage,-        HS_vkCmdClearColorImage, PFN_vkCmdClearColorImage,-        vkCmdClearColorImage, vkCmdClearColorImageSafe,-        VkCmdClearDepthStencilImage, pattern VkCmdClearDepthStencilImage,-        HS_vkCmdClearDepthStencilImage, PFN_vkCmdClearDepthStencilImage,-        vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImageSafe,-        VkCmdClearAttachments, pattern VkCmdClearAttachments,-        HS_vkCmdClearAttachments, PFN_vkCmdClearAttachments,-        vkCmdClearAttachments, vkCmdClearAttachmentsSafe,-        VkCmdResolveImage, pattern VkCmdResolveImage, HS_vkCmdResolveImage,-        PFN_vkCmdResolveImage, vkCmdResolveImage, vkCmdResolveImageSafe,-        VkCmdSetEvent, pattern VkCmdSetEvent, HS_vkCmdSetEvent,-        PFN_vkCmdSetEvent, vkCmdSetEvent, vkCmdSetEventSafe,-        VkCmdResetEvent, pattern VkCmdResetEvent, HS_vkCmdResetEvent,-        PFN_vkCmdResetEvent, vkCmdResetEvent, vkCmdResetEventSafe,-        VkCmdWaitEvents, pattern VkCmdWaitEvents, HS_vkCmdWaitEvents,-        PFN_vkCmdWaitEvents, vkCmdWaitEvents, vkCmdWaitEventsSafe,-        VkCmdPipelineBarrier, pattern VkCmdPipelineBarrier,-        HS_vkCmdPipelineBarrier, PFN_vkCmdPipelineBarrier,-        vkCmdPipelineBarrier, vkCmdPipelineBarrierSafe, VkCmdBeginQuery,-        pattern VkCmdBeginQuery, HS_vkCmdBeginQuery, PFN_vkCmdBeginQuery,-        vkCmdBeginQuery, vkCmdBeginQuerySafe, VkCmdEndQuery,-        pattern VkCmdEndQuery, HS_vkCmdEndQuery, PFN_vkCmdEndQuery,-        vkCmdEndQuery, vkCmdEndQuerySafe, VkCmdResetQueryPool,-        pattern VkCmdResetQueryPool, HS_vkCmdResetQueryPool,-        PFN_vkCmdResetQueryPool, vkCmdResetQueryPool,-        vkCmdResetQueryPoolSafe, VkCmdWriteTimestamp,-        pattern VkCmdWriteTimestamp, HS_vkCmdWriteTimestamp,-        PFN_vkCmdWriteTimestamp, vkCmdWriteTimestamp,-        vkCmdWriteTimestampSafe, VkCmdCopyQueryPoolResults,-        pattern VkCmdCopyQueryPoolResults, HS_vkCmdCopyQueryPoolResults,-        PFN_vkCmdCopyQueryPoolResults, vkCmdCopyQueryPoolResults,-        vkCmdCopyQueryPoolResultsSafe, VkCmdPushConstants,-        pattern VkCmdPushConstants, HS_vkCmdPushConstants,-        PFN_vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstantsSafe,-        VkCmdBeginRenderPass, pattern VkCmdBeginRenderPass,-        HS_vkCmdBeginRenderPass, PFN_vkCmdBeginRenderPass,-        vkCmdBeginRenderPass, vkCmdBeginRenderPassSafe, VkCmdNextSubpass,-        pattern VkCmdNextSubpass, HS_vkCmdNextSubpass,-        PFN_vkCmdNextSubpass, vkCmdNextSubpass, vkCmdNextSubpassSafe,-        VkCmdEndRenderPass, pattern VkCmdEndRenderPass,-        HS_vkCmdEndRenderPass, PFN_vkCmdEndRenderPass, vkCmdEndRenderPass,-        vkCmdEndRenderPassSafe, VkCmdExecuteCommands,-        pattern VkCmdExecuteCommands, HS_vkCmdExecuteCommands,-        PFN_vkCmdExecuteCommands, vkCmdExecuteCommands,-        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.-        module Graphics.Vulkan.Types.Struct.DispatchIndirectCommand,-        module Graphics.Vulkan.Types.Struct.DrawInd,-        module Graphics.Vulkan.Types.Enum.Object)-       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.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-import           Graphics.Vulkan.Types.Struct.DrawInd-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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateInstance" vkCreateInstance ::-               Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                        ->-                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                           -> Ptr VkInstance -- ^ pInstance-                                                             -> IO VkResult--##else-vkCreateInstance ::-                 Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkInstance -- ^ pInstance-                                                               -> IO VkResult-vkCreateInstance-  = unsafeDupablePerformIO (vkGetProc @VkCreateInstance)--{-# NOINLINE vkCreateInstance #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateInstance ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateInstance--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyInstance" vkDestroyInstance-               :: VkInstance -- ^ instance-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--##else-vkDestroyInstance ::-                  VkInstance -- ^ instance-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()-vkDestroyInstance-  = unsafeDupablePerformIO (vkGetProc @VkDestroyInstance)--{-# NOINLINE vkDestroyInstance #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyInstance =-     VkInstance -- ^ instance-                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> IO ()--type PFN_vkDestroyInstance = FunPtr HS_vkDestroyInstance--foreign import ccall unsafe "dynamic" unwrapVkDestroyInstance ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyInstance--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumeratePhysicalDevices"-               vkEnumeratePhysicalDevices ::-               VkInstance -- ^ instance-                          -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                -> IO VkResult--##else-vkEnumeratePhysicalDevices ::-                           VkInstance -- ^ instance-                                      -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                                    -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                            -> IO VkResult-vkEnumeratePhysicalDevices-  = unsafeDupablePerformIO (vkGetProc @VkEnumeratePhysicalDevices)--{-# NOINLINE vkEnumeratePhysicalDevices #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkEnumeratePhysicalDevices =-     VkInstance -- ^ instance-                -> Ptr Word32 -- ^ pPhysicalDeviceCount-                              -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                      -> IO VkResult--type PFN_vkEnumeratePhysicalDevices =-     FunPtr HS_vkEnumeratePhysicalDevices--foreign import ccall unsafe "dynamic"-               unwrapVkEnumeratePhysicalDevices ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEnumeratePhysicalDevices--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures"-               vkGetPhysicalDeviceFeatures ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                -> IO ()--##else-vkGetPhysicalDeviceFeatures ::-                            VkPhysicalDevice -- ^ physicalDevice-                                             -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                             -> IO ()-vkGetPhysicalDeviceFeatures-  = unsafeDupablePerformIO (vkGetProc @VkGetPhysicalDeviceFeatures)--{-# NOINLINE vkGetPhysicalDeviceFeatures #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetPhysicalDeviceFeatures =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                      -> IO ()--type PFN_vkGetPhysicalDeviceFeatures =-     FunPtr HS_vkGetPhysicalDeviceFeatures--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFeatures ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFeatures--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties"-               vkGetPhysicalDeviceFormatProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                      -> IO ()--##else-vkGetPhysicalDeviceFormatProperties ::-                                    VkPhysicalDevice -- ^ physicalDevice-                                                     -> VkFormat -- ^ format-                                                                 -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                                           -> IO ()-vkGetPhysicalDeviceFormatProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceFormatProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetPhysicalDeviceFormatProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      -> VkFormat -- ^ format-                                  -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                            -> IO ()--type PFN_vkGetPhysicalDeviceFormatProperties =-     FunPtr HS_vkGetPhysicalDeviceFormatProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFormatProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFormatProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkGetPhysicalDeviceImageFormatProperties"-               vkGetPhysicalDeviceImageFormatProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkImageTiling -- ^ tiling-                                   ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageCreateFlags -- ^ flags-                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                           -> IO VkResult--##else-vkGetPhysicalDeviceImageFormatProperties ::-                                         VkPhysicalDevice -- ^ physicalDevice-                                                          ->-                                           VkFormat -- ^ format-                                                    ->-                                             VkImageType -- ^ type-                                                         ->-                                               VkImageTiling -- ^ tiling-                                                             ->-                                                 VkImageUsageFlags -- ^ usage-                                                                   ->-                                                   VkImageCreateFlags -- ^ flags-                                                                      ->-                                                     Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                                 -> IO VkResult-vkGetPhysicalDeviceImageFormatProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceImageFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkGetPhysicalDeviceImageFormatProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceImageFormatProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceProperties"-               vkGetPhysicalDeviceProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                  -> IO ()--##else-vkGetPhysicalDeviceProperties ::-                              VkPhysicalDevice -- ^ physicalDevice-                                               -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                                 -> IO ()-vkGetPhysicalDeviceProperties-  = unsafeDupablePerformIO (vkGetProc @VkGetPhysicalDeviceProperties)--{-# NOINLINE vkGetPhysicalDeviceProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetPhysicalDeviceProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                        -> IO ()--type PFN_vkGetPhysicalDeviceProperties =-     FunPtr HS_vkGetPhysicalDeviceProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkGetPhysicalDeviceQueueFamilyProperties"-               vkGetPhysicalDeviceQueueFamilyProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                           -> IO ()--##else-vkGetPhysicalDeviceQueueFamilyProperties ::-                                         VkPhysicalDevice -- ^ physicalDevice-                                                          ->-                                           Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                      -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                                                     -> IO ()-vkGetPhysicalDeviceQueueFamilyProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties)--{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetPhysicalDeviceQueueFamilyProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr Word32 -- ^ pQueueFamilyPropertyCount-                  -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                 -> IO ()--type PFN_vkGetPhysicalDeviceQueueFamilyProperties =-     FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceQueueFamilyProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceQueueFamilyProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties"-               vkGetPhysicalDeviceMemoryProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                        -> IO ()--##else-vkGetPhysicalDeviceMemoryProperties ::-                                    VkPhysicalDevice -- ^ physicalDevice-                                                     ->-                                      Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                           -> IO ()-vkGetPhysicalDeviceMemoryProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceMemoryProperties)--{-# NOINLINE vkGetPhysicalDeviceMemoryProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetPhysicalDeviceMemoryProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                              -> IO ()--type PFN_vkGetPhysicalDeviceMemoryProperties =-     FunPtr HS_vkGetPhysicalDeviceMemoryProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceMemoryProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMemoryProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetInstanceProcAddr"-               vkGetInstanceProcAddr ::-               VkInstance -- ^ instance-                          -> CString -- ^ pName-                                     -> IO PFN_vkVoidFunction--##else-vkGetInstanceProcAddr ::-                      VkInstance -- ^ instance-                                 -> CString -- ^ pName-                                            -> IO PFN_vkVoidFunction-vkGetInstanceProcAddr-  = unsafeDupablePerformIO (vkGetProc @VkGetInstanceProcAddr)--{-# NOINLINE vkGetInstanceProcAddr #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetInstanceProcAddr =-     VkInstance -- ^ instance-                -> CString -- ^ pName-                           -> IO PFN_vkVoidFunction--type PFN_vkGetInstanceProcAddr = FunPtr HS_vkGetInstanceProcAddr--foreign import ccall unsafe "dynamic" unwrapVkGetInstanceProcAddr-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkGetInstanceProcAddr--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetDeviceProcAddr"-               vkGetDeviceProcAddr :: VkDevice -- ^ device-                                               -> CString -- ^ pName-                                                          -> IO PFN_vkVoidFunction--##else-vkGetDeviceProcAddr :: VkDevice -- ^ device-                                -> CString -- ^ pName-                                           -> IO PFN_vkVoidFunction-vkGetDeviceProcAddr-  = unsafeDupablePerformIO (vkGetProc @VkGetDeviceProcAddr)--{-# NOINLINE vkGetDeviceProcAddr #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetDeviceProcAddr =-     VkDevice -- ^ device-              -> CString -- ^ pName-                         -> IO PFN_vkVoidFunction--type PFN_vkGetDeviceProcAddr = FunPtr HS_vkGetDeviceProcAddr--foreign import ccall unsafe "dynamic" unwrapVkGetDeviceProcAddr ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetDeviceProcAddr--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateDevice" vkCreateDevice ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDevice -- ^ pDevice-                                                             -> IO VkResult--##else-vkCreateDevice ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDevice -- ^ pDevice-                                                             -> IO VkResult-vkCreateDevice = unsafeDupablePerformIO (vkGetProc @VkCreateDevice)--{-# NOINLINE vkCreateDevice #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateDevice ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateDevice--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyDevice" vkDestroyDevice ::-               VkDevice -- ^ device-                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> IO ()--##else-vkDestroyDevice :: VkDevice -- ^ device-                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                         -> IO ()-vkDestroyDevice-  = unsafeDupablePerformIO (vkGetProc @VkDestroyDevice)--{-# NOINLINE vkDestroyDevice #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyDevice =-     VkDevice -- ^ device-              -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                           -> IO ()--type PFN_vkDestroyDevice = FunPtr HS_vkDestroyDevice--foreign import ccall unsafe "dynamic" unwrapVkDestroyDevice ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyDevice--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkEnumerateInstanceExtensionProperties"-               vkEnumerateInstanceExtensionProperties ::-               CString -- ^ pLayerName-                       -> Ptr Word32 -- ^ pPropertyCount-                                     -> Ptr VkExtensionProperties -- ^ pProperties-                                                                  -> IO VkResult--##else-vkEnumerateInstanceExtensionProperties ::-                                       CString -- ^ pLayerName-                                               ->-                                         Ptr Word32 -- ^ pPropertyCount-                                                    -> Ptr VkExtensionProperties -- ^ pProperties-                                                                                 -> IO VkResult-vkEnumerateInstanceExtensionProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkEnumerateInstanceExtensionProperties)--{-# NOINLINE vkEnumerateInstanceExtensionProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkEnumerateInstanceExtensionProperties =-     CString -- ^ pLayerName-             -> Ptr Word32 -- ^ pPropertyCount-                           -> Ptr VkExtensionProperties -- ^ pProperties-                                                        -> IO VkResult--type PFN_vkEnumerateInstanceExtensionProperties =-     FunPtr HS_vkEnumerateInstanceExtensionProperties--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateInstanceExtensionProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEnumerateInstanceExtensionProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumerateDeviceExtensionProperties"-               vkEnumerateDeviceExtensionProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 CString -- ^ pLayerName-                         -> Ptr Word32 -- ^ pPropertyCount-                                       -> Ptr VkExtensionProperties -- ^ pProperties-                                                                    -> IO VkResult--##else-vkEnumerateDeviceExtensionProperties ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       CString -- ^ pLayerName-                                               ->-                                         Ptr Word32 -- ^ pPropertyCount-                                                    -> Ptr VkExtensionProperties -- ^ pProperties-                                                                                 -> IO VkResult-vkEnumerateDeviceExtensionProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkEnumerateDeviceExtensionProperties)--{-# NOINLINE vkEnumerateDeviceExtensionProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkEnumerateDeviceExtensionProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEnumerateDeviceExtensionProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumerateInstanceLayerProperties"-               vkEnumerateInstanceLayerProperties ::-               Ptr Word32 -- ^ pPropertyCount-                          -> Ptr VkLayerProperties -- ^ pProperties-                                                   -> IO VkResult--##else-vkEnumerateInstanceLayerProperties ::-                                   Ptr Word32 -- ^ pPropertyCount-                                              -> Ptr VkLayerProperties -- ^ pProperties-                                                                       -> IO VkResult-vkEnumerateInstanceLayerProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkEnumerateInstanceLayerProperties)--{-# NOINLINE vkEnumerateInstanceLayerProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkEnumerateInstanceLayerProperties =-     Ptr Word32 -- ^ pPropertyCount-                -> Ptr VkLayerProperties -- ^ pProperties-                                         -> IO VkResult--type PFN_vkEnumerateInstanceLayerProperties =-     FunPtr HS_vkEnumerateInstanceLayerProperties--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateInstanceLayerProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEnumerateInstanceLayerProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEnumerateDeviceLayerProperties"-               vkEnumerateDeviceLayerProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pPropertyCount-                            -> Ptr VkLayerProperties -- ^ pProperties-                                                     -> IO VkResult--##else-vkEnumerateDeviceLayerProperties ::-                                 VkPhysicalDevice -- ^ physicalDevice-                                                  ->-                                   Ptr Word32 -- ^ pPropertyCount-                                              -> Ptr VkLayerProperties -- ^ pProperties-                                                                       -> IO VkResult-vkEnumerateDeviceLayerProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkEnumerateDeviceLayerProperties)--{-# NOINLINE vkEnumerateDeviceLayerProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkEnumerateDeviceLayerProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr Word32 -- ^ pPropertyCount-                  -> Ptr VkLayerProperties -- ^ pProperties-                                           -> IO VkResult--type PFN_vkEnumerateDeviceLayerProperties =-     FunPtr HS_vkEnumerateDeviceLayerProperties--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateDeviceLayerProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEnumerateDeviceLayerProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetDeviceQueue" vkGetDeviceQueue ::-               VkDevice -- ^ device-                        -> Word32 -- ^ queueFamilyIndex-                                  -> Word32 -- ^ queueIndex-                                            -> Ptr VkQueue -- ^ pQueue-                                                           -> IO ()--##else-vkGetDeviceQueue ::-                 VkDevice -- ^ device-                          -> Word32 -- ^ queueFamilyIndex-                                    -> Word32 -- ^ queueIndex-                                              -> Ptr VkQueue -- ^ pQueue-                                                             -> IO ()-vkGetDeviceQueue-  = unsafeDupablePerformIO (vkGetProc @VkGetDeviceQueue)--{-# NOINLINE vkGetDeviceQueue #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetDeviceQueue =-     VkDevice -- ^ device-              -> Word32 -- ^ queueFamilyIndex-                        -> Word32 -- ^ queueIndex-                                  -> Ptr VkQueue -- ^ pQueue-                                                 -> IO ()--type PFN_vkGetDeviceQueue = FunPtr HS_vkGetDeviceQueue--foreign import ccall unsafe "dynamic" unwrapVkGetDeviceQueue ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetDeviceQueue--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkQueueSubmit" vkQueueSubmit ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ submitCount-                                 -> Ptr VkSubmitInfo -- ^ pSubmits-                                                     -> VkFence -- ^ fence-                                                                -> IO VkResult--##else-vkQueueSubmit ::-              VkQueue -- ^ queue-                      -> Word32 -- ^ submitCount-                                -> Ptr VkSubmitInfo -- ^ pSubmits-                                                    -> VkFence -- ^ fence-                                                               -> IO VkResult-vkQueueSubmit = unsafeDupablePerformIO (vkGetProc @VkQueueSubmit)--{-# NOINLINE vkQueueSubmit #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkQueueSubmit ::-               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 #-}-        unwrapVkProcPtr = unwrapVkQueueSubmit--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkQueueWaitIdle" vkQueueWaitIdle ::-               VkQueue -- ^ queue-                       -> IO VkResult--##else-vkQueueWaitIdle :: VkQueue -- ^ queue-                           -> IO VkResult-vkQueueWaitIdle-  = unsafeDupablePerformIO (vkGetProc @VkQueueWaitIdle)--{-# NOINLINE vkQueueWaitIdle #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkQueueWaitIdle = VkQueue -- ^ queue-                                  -> IO VkResult--type PFN_vkQueueWaitIdle = FunPtr HS_vkQueueWaitIdle--foreign import ccall unsafe "dynamic" unwrapVkQueueWaitIdle ::-               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 #-}-        unwrapVkProcPtr = unwrapVkQueueWaitIdle--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDeviceWaitIdle" vkDeviceWaitIdle ::-               VkDevice -- ^ device-                        -> IO VkResult--##else-vkDeviceWaitIdle :: VkDevice -- ^ device-                             -> IO VkResult-vkDeviceWaitIdle-  = unsafeDupablePerformIO (vkGetProc @VkDeviceWaitIdle)--{-# NOINLINE vkDeviceWaitIdle #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDeviceWaitIdle = VkDevice -- ^ device-                                    -> IO VkResult--type PFN_vkDeviceWaitIdle = FunPtr HS_vkDeviceWaitIdle--foreign import ccall unsafe "dynamic" unwrapVkDeviceWaitIdle ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDeviceWaitIdle--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkAllocateMemory" vkAllocateMemory ::-               VkDevice -- ^ device-                        ->-                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDeviceMemory -- ^ pMemory-                                                                   -> IO VkResult--##else-vkAllocateMemory ::-                 VkDevice -- ^ device-                          ->-                   Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                            ->-                     Ptr VkAllocationCallbacks -- ^ pAllocator-                                               -> Ptr VkDeviceMemory -- ^ pMemory-                                                                     -> IO VkResult-vkAllocateMemory-  = unsafeDupablePerformIO (vkGetProc @VkAllocateMemory)--{-# NOINLINE vkAllocateMemory #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkAllocateMemory ::-               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 #-}-        unwrapVkProcPtr = unwrapVkAllocateMemory--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFreeMemory" vkFreeMemory ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkFreeMemory ::-             VkDevice -- ^ device-                      -> VkDeviceMemory -- ^ memory-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()-vkFreeMemory = unsafeDupablePerformIO (vkGetProc @VkFreeMemory)--{-# NOINLINE vkFreeMemory #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkFreeMemory =-     VkDevice -- ^ device-              -> VkDeviceMemory -- ^ memory-                                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             -> IO ()--type PFN_vkFreeMemory = FunPtr HS_vkFreeMemory--foreign import ccall unsafe "dynamic" unwrapVkFreeMemory ::-               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 #-}-        unwrapVkProcPtr = unwrapVkFreeMemory--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkMapMemory" vkMapMemory ::-               VkDevice -- ^ device-                        ->-                 VkDeviceMemory -- ^ memory-                                ->-                   VkDeviceSize -- ^ offset-                                ->-                     VkDeviceSize -- ^ size-                                  -> VkMemoryMapFlags -- ^ flags-                                                      -> Ptr (Ptr Void) -- ^ ppData-                                                                        -> IO VkResult--##else-vkMapMemory ::-            VkDevice -- ^ device-                     ->-              VkDeviceMemory -- ^ memory-                             ->-                VkDeviceSize -- ^ offset-                             ->-                  VkDeviceSize -- ^ size-                               -> VkMemoryMapFlags -- ^ flags-                                                   -> Ptr (Ptr Void) -- ^ ppData-                                                                     -> IO VkResult-vkMapMemory = unsafeDupablePerformIO (vkGetProc @VkMapMemory)--{-# NOINLINE vkMapMemory #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkMapMemory ::-               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 #-}-        unwrapVkProcPtr = unwrapVkMapMemory--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkUnmapMemory" vkUnmapMemory ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> IO ()--##else-vkUnmapMemory :: VkDevice -- ^ device-                          -> VkDeviceMemory -- ^ memory-                                            -> IO ()-vkUnmapMemory = unsafeDupablePerformIO (vkGetProc @VkUnmapMemory)--{-# NOINLINE vkUnmapMemory #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkUnmapMemory = VkDevice -- ^ device-                                 -> VkDeviceMemory -- ^ memory-                                                   -> IO ()--type PFN_vkUnmapMemory = FunPtr HS_vkUnmapMemory--foreign import ccall unsafe "dynamic" unwrapVkUnmapMemory ::-               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 #-}-        unwrapVkProcPtr = unwrapVkUnmapMemory--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFlushMappedMemoryRanges"-               vkFlushMappedMemoryRanges ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult--##else-vkFlushMappedMemoryRanges ::-                          VkDevice -- ^ device-                                   -> Word32 -- ^ memoryRangeCount-                                             -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                        -> IO VkResult-vkFlushMappedMemoryRanges-  = unsafeDupablePerformIO (vkGetProc @VkFlushMappedMemoryRanges)--{-# NOINLINE vkFlushMappedMemoryRanges #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkFlushMappedMemoryRanges =-     VkDevice -- ^ device-              -> Word32 -- ^ memoryRangeCount-                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                   -> IO VkResult--type PFN_vkFlushMappedMemoryRanges =-     FunPtr HS_vkFlushMappedMemoryRanges--foreign import ccall unsafe "dynamic"-               unwrapVkFlushMappedMemoryRanges ::-               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 #-}-        unwrapVkProcPtr = unwrapVkFlushMappedMemoryRanges--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkInvalidateMappedMemoryRanges"-               vkInvalidateMappedMemoryRanges ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult--##else-vkInvalidateMappedMemoryRanges ::-                               VkDevice -- ^ device-                                        -> Word32 -- ^ memoryRangeCount-                                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                                             -> IO VkResult-vkInvalidateMappedMemoryRanges-  = unsafeDupablePerformIO-      (vkGetProc @VkInvalidateMappedMemoryRanges)--{-# NOINLINE vkInvalidateMappedMemoryRanges #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkInvalidateMappedMemoryRanges =-     VkDevice -- ^ device-              -> Word32 -- ^ memoryRangeCount-                        -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                   -> IO VkResult--type PFN_vkInvalidateMappedMemoryRanges =-     FunPtr HS_vkInvalidateMappedMemoryRanges--foreign import ccall unsafe "dynamic"-               unwrapVkInvalidateMappedMemoryRanges ::-               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 #-}-        unwrapVkProcPtr = unwrapVkInvalidateMappedMemoryRanges--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetDeviceMemoryCommitment"-               vkGetDeviceMemoryCommitment ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                              -> IO ()--##else-vkGetDeviceMemoryCommitment ::-                            VkDevice -- ^ device-                                     -> VkDeviceMemory -- ^ memory-                                                       -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                                           -> IO ()-vkGetDeviceMemoryCommitment-  = unsafeDupablePerformIO (vkGetProc @VkGetDeviceMemoryCommitment)--{-# NOINLINE vkGetDeviceMemoryCommitment #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetDeviceMemoryCommitment =-     VkDevice -- ^ device-              -> VkDeviceMemory -- ^ memory-                                -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                    -> IO ()--type PFN_vkGetDeviceMemoryCommitment =-     FunPtr HS_vkGetDeviceMemoryCommitment--foreign import ccall unsafe "dynamic"-               unwrapVkGetDeviceMemoryCommitment ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetDeviceMemoryCommitment--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkBindBufferMemory" vkBindBufferMemory-               ::-               VkDevice -- ^ device-                        ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceMemory -- ^ memory-                                            -> VkDeviceSize -- ^ memoryOffset-                                                            -> IO VkResult--##else-vkBindBufferMemory ::-                   VkDevice -- ^ device-                            ->-                     VkBuffer -- ^ buffer-                              -> VkDeviceMemory -- ^ memory-                                                -> VkDeviceSize -- ^ memoryOffset-                                                                -> IO VkResult-vkBindBufferMemory-  = unsafeDupablePerformIO (vkGetProc @VkBindBufferMemory)--{-# NOINLINE vkBindBufferMemory #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkBindBufferMemory =-     VkDevice -- ^ device-              ->-       VkBuffer -- ^ buffer-                -> VkDeviceMemory -- ^ memory-                                  -> VkDeviceSize -- ^ memoryOffset-                                                  -> IO VkResult--type PFN_vkBindBufferMemory = FunPtr HS_vkBindBufferMemory--foreign import ccall unsafe "dynamic" unwrapVkBindBufferMemory ::-               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 #-}-        unwrapVkProcPtr = unwrapVkBindBufferMemory--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkBindImageMemory" vkBindImageMemory-               ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         -> VkDeviceMemory -- ^ memory-                                           -> VkDeviceSize -- ^ memoryOffset-                                                           -> IO VkResult--##else-vkBindImageMemory ::-                  VkDevice -- ^ device-                           ->-                    VkImage -- ^ image-                            -> VkDeviceMemory -- ^ memory-                                              -> VkDeviceSize -- ^ memoryOffset-                                                              -> IO VkResult-vkBindImageMemory-  = unsafeDupablePerformIO (vkGetProc @VkBindImageMemory)--{-# NOINLINE vkBindImageMemory #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkBindImageMemory =-     VkDevice -- ^ device-              ->-       VkImage -- ^ image-               -> VkDeviceMemory -- ^ memory-                                 -> VkDeviceSize -- ^ memoryOffset-                                                 -> IO VkResult--type PFN_vkBindImageMemory = FunPtr HS_vkBindImageMemory--foreign import ccall unsafe "dynamic" unwrapVkBindImageMemory ::-               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 #-}-        unwrapVkProcPtr = unwrapVkBindImageMemory--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetBufferMemoryRequirements"-               vkGetBufferMemoryRequirements ::-               VkDevice -- ^ device-                        -> VkBuffer -- ^ buffer-                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                -> IO ()--##else-vkGetBufferMemoryRequirements ::-                              VkDevice -- ^ device-                                       -> VkBuffer -- ^ buffer-                                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                               -> IO ()-vkGetBufferMemoryRequirements-  = unsafeDupablePerformIO (vkGetProc @VkGetBufferMemoryRequirements)--{-# NOINLINE vkGetBufferMemoryRequirements #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetBufferMemoryRequirements =-     VkDevice -- ^ device-              -> VkBuffer -- ^ buffer-                          -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                      -> IO ()--type PFN_vkGetBufferMemoryRequirements =-     FunPtr HS_vkGetBufferMemoryRequirements--foreign import ccall unsafe "dynamic"-               unwrapVkGetBufferMemoryRequirements ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetBufferMemoryRequirements--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetImageMemoryRequirements"-               vkGetImageMemoryRequirements ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                               -> IO ()--##else-vkGetImageMemoryRequirements ::-                             VkDevice -- ^ device-                                      -> VkImage -- ^ image-                                                 -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                             -> IO ()-vkGetImageMemoryRequirements-  = unsafeDupablePerformIO (vkGetProc @VkGetImageMemoryRequirements)--{-# NOINLINE vkGetImageMemoryRequirements #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetImageMemoryRequirements =-     VkDevice -- ^ device-              -> VkImage -- ^ image-                         -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                     -> IO ()--type PFN_vkGetImageMemoryRequirements =-     FunPtr HS_vkGetImageMemoryRequirements--foreign import ccall unsafe "dynamic"-               unwrapVkGetImageMemoryRequirements ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetImageMemoryRequirements--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements"-               vkGetImageSparseMemoryRequirements ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                     -> IO ()--##else-vkGetImageSparseMemoryRequirements ::-                                   VkDevice -- ^ device-                                            ->-                                     VkImage -- ^ image-                                             ->-                                       Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                  -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                                         -> IO ()-vkGetImageSparseMemoryRequirements-  = unsafeDupablePerformIO-      (vkGetProc @VkGetImageSparseMemoryRequirements)--{-# NOINLINE vkGetImageSparseMemoryRequirements #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkGetImageSparseMemoryRequirements ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetImageSparseMemoryRequirements--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe-               "vkGetPhysicalDeviceSparseImageFormatProperties"-               vkGetPhysicalDeviceSparseImageFormatProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkSampleCountFlagBits -- ^ samples-                                           ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageTiling -- ^ tiling-                                       ->-                           Ptr Word32 -- ^ pPropertyCount-                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                           -> IO ()--##else-vkGetPhysicalDeviceSparseImageFormatProperties ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                ->-                                                 VkFormat -- ^ format-                                                          ->-                                                   VkImageType -- ^ type-                                                               ->-                                                     VkSampleCountFlagBits -- ^ samples-                                                                           ->-                                                       VkImageUsageFlags -- ^ usage-                                                                         ->-                                                         VkImageTiling -- ^ tiling-                                                                       ->-                                                           Ptr Word32 -- ^ pPropertyCount-                                                                      ->-                                                             Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                                               ->-                                                               IO ()-vkGetPhysicalDeviceSparseImageFormatProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties)--{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkGetPhysicalDeviceSparseImageFormatProperties ::-               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 #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkQueueBindSparse" vkQueueBindSparse-               ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ bindInfoCount-                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                         -> VkFence -- ^ fence-                                                                    -> IO VkResult--##else-vkQueueBindSparse ::-                  VkQueue -- ^ queue-                          -> Word32 -- ^ bindInfoCount-                                    -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                            -> VkFence -- ^ fence-                                                                       -> IO VkResult-vkQueueBindSparse-  = unsafeDupablePerformIO (vkGetProc @VkQueueBindSparse)--{-# NOINLINE vkQueueBindSparse #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkQueueBindSparse ::-               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 #-}-        unwrapVkProcPtr = unwrapVkQueueBindSparse--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateFence" vkCreateFence ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFence -- ^ pFence-                                                            -> IO VkResult--##else-vkCreateFence ::-              VkDevice -- ^ device-                       ->-                Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                      ->-                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                            -> Ptr VkFence -- ^ pFence-                                                           -> IO VkResult-vkCreateFence = unsafeDupablePerformIO (vkGetProc @VkCreateFence)--{-# NOINLINE vkCreateFence #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateFence ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateFence--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyFence" vkDestroyFence ::-               VkDevice -- ^ device-                        -> VkFence -- ^ fence-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()--##else-vkDestroyFence ::-               VkDevice -- ^ device-                        -> VkFence -- ^ fence-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()-vkDestroyFence = unsafeDupablePerformIO (vkGetProc @VkDestroyFence)--{-# NOINLINE vkDestroyFence #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyFence =-     VkDevice -- ^ device-              -> VkFence -- ^ fence-                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> IO ()--type PFN_vkDestroyFence = FunPtr HS_vkDestroyFence--foreign import ccall unsafe "dynamic" unwrapVkDestroyFence ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyFence--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetFences" vkResetFences ::-               VkDevice -- ^ device-                        -> Word32 -- ^ fenceCount-                                  -> Ptr VkFence -- ^ pFences-                                                 -> IO VkResult--##else-vkResetFences :: VkDevice -- ^ device-                          -> Word32 -- ^ fenceCount-                                    -> Ptr VkFence -- ^ pFences-                                                   -> IO VkResult-vkResetFences = unsafeDupablePerformIO (vkGetProc @VkResetFences)--{-# NOINLINE vkResetFences #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkResetFences =-     VkDevice -- ^ device-              -> Word32 -- ^ fenceCount-                        -> Ptr VkFence -- ^ pFences-                                       -> IO VkResult--type PFN_vkResetFences = FunPtr HS_vkResetFences--foreign import ccall unsafe "dynamic" unwrapVkResetFences ::-               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 #-}-        unwrapVkProcPtr = unwrapVkResetFences--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetFenceStatus" vkGetFenceStatus ::-               VkDevice -- ^ device-                        -> VkFence -- ^ fence-                                   -> IO VkResult--##else-vkGetFenceStatus :: VkDevice -- ^ device-                             -> VkFence -- ^ fence-                                        -> IO VkResult-vkGetFenceStatus-  = unsafeDupablePerformIO (vkGetProc @VkGetFenceStatus)--{-# NOINLINE vkGetFenceStatus #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetFenceStatus = VkDevice -- ^ device-                                    -> VkFence -- ^ fence-                                               -> IO VkResult--type PFN_vkGetFenceStatus = FunPtr HS_vkGetFenceStatus--foreign import ccall unsafe "dynamic" unwrapVkGetFenceStatus ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetFenceStatus--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkWaitForFences" vkWaitForFences ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ fenceCount-                        -> Ptr VkFence -- ^ pFences-                                       -> VkBool32 -- ^ waitAll-                                                   -> Word64 -- ^ timeout-                                                             -> IO VkResult--##else-vkWaitForFences ::-                VkDevice -- ^ device-                         ->-                  Word32 -- ^ fenceCount-                         -> Ptr VkFence -- ^ pFences-                                        -> VkBool32 -- ^ waitAll-                                                    -> Word64 -- ^ timeout-                                                              -> IO VkResult-vkWaitForFences-  = unsafeDupablePerformIO (vkGetProc @VkWaitForFences)--{-# NOINLINE vkWaitForFences #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkWaitForFences ::-               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 #-}-        unwrapVkProcPtr = unwrapVkWaitForFences--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateSemaphore" vkCreateSemaphore-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSemaphore -- ^ pSemaphore-                                                                -> IO VkResult--##else-vkCreateSemaphore ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                              ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkSemaphore -- ^ pSemaphore-                                                                   -> IO VkResult-vkCreateSemaphore-  = unsafeDupablePerformIO (vkGetProc @VkCreateSemaphore)--{-# NOINLINE vkCreateSemaphore #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateSemaphore ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateSemaphore--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroySemaphore" vkDestroySemaphore-               :: VkDevice -- ^ device-                           -> VkSemaphore -- ^ semaphore-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkDestroySemaphore ::-                   VkDevice -- ^ device-                            -> VkSemaphore -- ^ semaphore-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-vkDestroySemaphore-  = unsafeDupablePerformIO (vkGetProc @VkDestroySemaphore)--{-# NOINLINE vkDestroySemaphore #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroySemaphore =-     VkDevice -- ^ device-              -> VkSemaphore -- ^ semaphore-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroySemaphore = FunPtr HS_vkDestroySemaphore--foreign import ccall unsafe "dynamic" unwrapVkDestroySemaphore ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroySemaphore--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateEvent" vkCreateEvent ::-               VkDevice -- ^ device-                        ->-                 Ptr VkEventCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkEvent -- ^ pEvent-                                                            -> IO VkResult--##else-vkCreateEvent ::-              VkDevice -- ^ device-                       ->-                Ptr VkEventCreateInfo -- ^ pCreateInfo-                                      ->-                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                            -> Ptr VkEvent -- ^ pEvent-                                                           -> IO VkResult-vkCreateEvent = unsafeDupablePerformIO (vkGetProc @VkCreateEvent)--{-# NOINLINE vkCreateEvent #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateEvent ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateEvent--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyEvent" vkDestroyEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()--##else-vkDestroyEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()-vkDestroyEvent = unsafeDupablePerformIO (vkGetProc @VkDestroyEvent)--{-# NOINLINE vkDestroyEvent #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyEvent =-     VkDevice -- ^ device-              -> VkEvent -- ^ event-                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> IO ()--type PFN_vkDestroyEvent = FunPtr HS_vkDestroyEvent--foreign import ccall unsafe "dynamic" unwrapVkDestroyEvent ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyEvent--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetEventStatus" vkGetEventStatus ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult--##else-vkGetEventStatus :: VkDevice -- ^ device-                             -> VkEvent -- ^ event-                                        -> IO VkResult-vkGetEventStatus-  = unsafeDupablePerformIO (vkGetProc @VkGetEventStatus)--{-# NOINLINE vkGetEventStatus #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetEventStatus = VkDevice -- ^ device-                                    -> VkEvent -- ^ event-                                               -> IO VkResult--type PFN_vkGetEventStatus = FunPtr HS_vkGetEventStatus--foreign import ccall unsafe "dynamic" unwrapVkGetEventStatus ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetEventStatus--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkSetEvent" vkSetEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult--##else-vkSetEvent :: VkDevice -- ^ device-                       -> VkEvent -- ^ event-                                  -> IO VkResult-vkSetEvent = unsafeDupablePerformIO (vkGetProc @VkSetEvent)--{-# NOINLINE vkSetEvent #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkSetEvent = VkDevice -- ^ device-                              -> VkEvent -- ^ event-                                         -> IO VkResult--type PFN_vkSetEvent = FunPtr HS_vkSetEvent--foreign import ccall unsafe "dynamic" unwrapVkSetEvent ::-               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 #-}-        unwrapVkProcPtr = unwrapVkSetEvent--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetEvent" vkResetEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult--##else-vkResetEvent :: VkDevice -- ^ device-                         -> VkEvent -- ^ event-                                    -> IO VkResult-vkResetEvent = unsafeDupablePerformIO (vkGetProc @VkResetEvent)--{-# NOINLINE vkResetEvent #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkResetEvent = VkDevice -- ^ device-                                -> VkEvent -- ^ event-                                           -> IO VkResult--type PFN_vkResetEvent = FunPtr HS_vkResetEvent--foreign import ccall unsafe "dynamic" unwrapVkResetEvent ::-               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 #-}-        unwrapVkProcPtr = unwrapVkResetEvent--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateQueryPool" vkCreateQueryPool-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkQueryPool -- ^ pQueryPool-                                                                -> IO VkResult--##else-vkCreateQueryPool ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                              ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkQueryPool -- ^ pQueryPool-                                                                   -> IO VkResult-vkCreateQueryPool-  = unsafeDupablePerformIO (vkGetProc @VkCreateQueryPool)--{-# NOINLINE vkCreateQueryPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateQueryPool ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateQueryPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyQueryPool" vkDestroyQueryPool-               :: VkDevice -- ^ device-                           -> VkQueryPool -- ^ queryPool-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkDestroyQueryPool ::-                   VkDevice -- ^ device-                            -> VkQueryPool -- ^ queryPool-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-vkDestroyQueryPool-  = unsafeDupablePerformIO (vkGetProc @VkDestroyQueryPool)--{-# NOINLINE vkDestroyQueryPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyQueryPool =-     VkDevice -- ^ device-              -> VkQueryPool -- ^ queryPool-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroyQueryPool = FunPtr HS_vkDestroyQueryPool--foreign import ccall unsafe "dynamic" unwrapVkDestroyQueryPool ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyQueryPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetQueryPoolResults"-               vkGetQueryPoolResults ::-               VkDevice -- ^ device-                        ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       CSize -- ^ dataSize-                             ->-                         Ptr Void -- ^ pData-                                  -> VkDeviceSize -- ^ stride-                                                  -> VkQueryResultFlags -- ^ flags-                                                                        -> IO VkResult--##else-vkGetQueryPoolResults ::-                      VkDevice -- ^ device-                               ->-                        VkQueryPool -- ^ queryPool-                                    ->-                          Word32 -- ^ firstQuery-                                 ->-                            Word32 -- ^ queryCount-                                   ->-                              CSize -- ^ dataSize-                                    ->-                                Ptr Void -- ^ pData-                                         -> VkDeviceSize -- ^ stride-                                                         -> VkQueryResultFlags -- ^ flags-                                                                               -> IO VkResult-vkGetQueryPoolResults-  = unsafeDupablePerformIO (vkGetProc @VkGetQueryPoolResults)--{-# NOINLINE vkGetQueryPoolResults #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkGetQueryPoolResults-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkGetQueryPoolResults--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateBuffer" vkCreateBuffer ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBuffer -- ^ pBuffer-                                                             -> IO VkResult--##else-vkCreateBuffer ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBuffer -- ^ pBuffer-                                                             -> IO VkResult-vkCreateBuffer = unsafeDupablePerformIO (vkGetProc @VkCreateBuffer)--{-# NOINLINE vkCreateBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyBuffer" vkDestroyBuffer ::-               VkDevice -- ^ device-                        -> VkBuffer -- ^ buffer-                                    -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                 -> IO ()--##else-vkDestroyBuffer ::-                VkDevice -- ^ device-                         -> VkBuffer -- ^ buffer-                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                  -> IO ()-vkDestroyBuffer-  = unsafeDupablePerformIO (vkGetProc @VkDestroyBuffer)--{-# NOINLINE vkDestroyBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyBuffer =-     VkDevice -- ^ device-              -> VkBuffer -- ^ buffer-                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                       -> IO ()--type PFN_vkDestroyBuffer = FunPtr HS_vkDestroyBuffer--foreign import ccall unsafe "dynamic" unwrapVkDestroyBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateBufferView" vkCreateBufferView-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBufferView -- ^ pView-                                                                 -> IO VkResult--##else-vkCreateBufferView ::-                   VkDevice -- ^ device-                            ->-                     Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                                ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkBufferView -- ^ pView-                                                                     -> IO VkResult-vkCreateBufferView-  = unsafeDupablePerformIO (vkGetProc @VkCreateBufferView)--{-# NOINLINE vkCreateBufferView #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateBufferView ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateBufferView--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyBufferView"-               vkDestroyBufferView ::-               VkDevice -- ^ device-                        -> VkBufferView -- ^ bufferView-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()--##else-vkDestroyBufferView ::-                    VkDevice -- ^ device-                             -> VkBufferView -- ^ bufferView-                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                          -> IO ()-vkDestroyBufferView-  = unsafeDupablePerformIO (vkGetProc @VkDestroyBufferView)--{-# NOINLINE vkDestroyBufferView #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyBufferView =-     VkDevice -- ^ device-              -> VkBufferView -- ^ bufferView-                              -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> IO ()--type PFN_vkDestroyBufferView = FunPtr HS_vkDestroyBufferView--foreign import ccall unsafe "dynamic" unwrapVkDestroyBufferView ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyBufferView--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateImage" vkCreateImage ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImage -- ^ pImage-                                                            -> IO VkResult--##else-vkCreateImage ::-              VkDevice -- ^ device-                       ->-                Ptr VkImageCreateInfo -- ^ pCreateInfo-                                      ->-                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                            -> Ptr VkImage -- ^ pImage-                                                           -> IO VkResult-vkCreateImage = unsafeDupablePerformIO (vkGetProc @VkCreateImage)--{-# NOINLINE vkCreateImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateImage ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyImage" vkDestroyImage ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()--##else-vkDestroyImage ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()-vkDestroyImage = unsafeDupablePerformIO (vkGetProc @VkDestroyImage)--{-# NOINLINE vkDestroyImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyImage =-     VkDevice -- ^ device-              -> VkImage -- ^ image-                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> IO ()--type PFN_vkDestroyImage = FunPtr HS_vkDestroyImage--foreign import ccall unsafe "dynamic" unwrapVkDestroyImage ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetImageSubresourceLayout"-               vkGetImageSubresourceLayout ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr VkImageSubresource -- ^ pSubresource-                                          -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                     -> IO ()--##else-vkGetImageSubresourceLayout ::-                            VkDevice -- ^ device-                                     ->-                              VkImage -- ^ image-                                      ->-                                Ptr VkImageSubresource -- ^ pSubresource-                                                       -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                                  -> IO ()-vkGetImageSubresourceLayout-  = unsafeDupablePerformIO (vkGetProc @VkGetImageSubresourceLayout)--{-# NOINLINE vkGetImageSubresourceLayout #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkGetImageSubresourceLayout ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetImageSubresourceLayout--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateImageView" vkCreateImageView-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImageView -- ^ pView-                                                                -> IO VkResult--##else-vkCreateImageView ::-                  VkDevice -- ^ device-                           ->-                    Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                              ->-                      Ptr VkAllocationCallbacks -- ^ pAllocator-                                                -> Ptr VkImageView -- ^ pView-                                                                   -> IO VkResult-vkCreateImageView-  = unsafeDupablePerformIO (vkGetProc @VkCreateImageView)--{-# NOINLINE vkCreateImageView #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateImageView ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateImageView--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyImageView" vkDestroyImageView-               :: VkDevice -- ^ device-                           -> VkImageView -- ^ imageView-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkDestroyImageView ::-                   VkDevice -- ^ device-                            -> VkImageView -- ^ imageView-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()-vkDestroyImageView-  = unsafeDupablePerformIO (vkGetProc @VkDestroyImageView)--{-# NOINLINE vkDestroyImageView #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyImageView =-     VkDevice -- ^ device-              -> VkImageView -- ^ imageView-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroyImageView = FunPtr HS_vkDestroyImageView--foreign import ccall unsafe "dynamic" unwrapVkDestroyImageView ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyImageView--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateShaderModule"-               vkCreateShaderModule ::-               VkDevice -- ^ device-                        ->-                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                              ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkShaderModule -- ^ pShaderModule-                                                                   -> IO VkResult--##else-vkCreateShaderModule ::-                     VkDevice -- ^ device-                              ->-                       Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                                    ->-                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                   -> Ptr VkShaderModule -- ^ pShaderModule-                                                                         -> IO VkResult-vkCreateShaderModule-  = unsafeDupablePerformIO (vkGetProc @VkCreateShaderModule)--{-# NOINLINE vkCreateShaderModule #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateShaderModule ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateShaderModule--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyShaderModule"-               vkDestroyShaderModule ::-               VkDevice -- ^ device-                        -> VkShaderModule -- ^ shaderModule-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--##else-vkDestroyShaderModule ::-                      VkDevice -- ^ device-                               -> VkShaderModule -- ^ shaderModule-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-vkDestroyShaderModule-  = unsafeDupablePerformIO (vkGetProc @VkDestroyShaderModule)--{-# NOINLINE vkDestroyShaderModule #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyShaderModule =-     VkDevice -- ^ device-              -> VkShaderModule -- ^ shaderModule-                                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             -> IO ()--type PFN_vkDestroyShaderModule = FunPtr HS_vkDestroyShaderModule--foreign import ccall unsafe "dynamic" unwrapVkDestroyShaderModule-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkDestroyShaderModule--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreatePipelineCache"-               vkCreatePipelineCache ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                               ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                    -> IO VkResult--##else-vkCreatePipelineCache ::-                      VkDevice -- ^ device-                               ->-                        Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                                      ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                           -> IO VkResult-vkCreatePipelineCache-  = unsafeDupablePerformIO (vkGetProc @VkCreatePipelineCache)--{-# NOINLINE vkCreatePipelineCache #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreatePipelineCache-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCreatePipelineCache--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyPipelineCache"-               vkDestroyPipelineCache ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()--##else-vkDestroyPipelineCache ::-                       VkDevice -- ^ device-                                -> VkPipelineCache -- ^ pipelineCache-                                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                -> IO ()-vkDestroyPipelineCache-  = unsafeDupablePerformIO (vkGetProc @VkDestroyPipelineCache)--{-# NOINLINE vkDestroyPipelineCache #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyPipelineCache =-     VkDevice -- ^ device-              -> VkPipelineCache -- ^ pipelineCache-                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                              -> IO ()--type PFN_vkDestroyPipelineCache = FunPtr HS_vkDestroyPipelineCache--foreign import ccall unsafe "dynamic" unwrapVkDestroyPipelineCache-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkDestroyPipelineCache--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetPipelineCacheData"-               vkGetPipelineCacheData ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr CSize -- ^ pDataSize-                                                        -> Ptr Void -- ^ pData-                                                                    -> IO VkResult--##else-vkGetPipelineCacheData ::-                       VkDevice -- ^ device-                                -> VkPipelineCache -- ^ pipelineCache-                                                   -> Ptr CSize -- ^ pDataSize-                                                                -> Ptr Void -- ^ pData-                                                                            -> IO VkResult-vkGetPipelineCacheData-  = unsafeDupablePerformIO (vkGetProc @VkGetPipelineCacheData)--{-# NOINLINE vkGetPipelineCacheData #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkGetPipelineCacheData-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkGetPipelineCacheData--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkMergePipelineCaches"-               vkMergePipelineCaches ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ dstCache-                                 -> Word32 -- ^ srcCacheCount-                                           -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                  -> IO VkResult--##else-vkMergePipelineCaches ::-                      VkDevice -- ^ device-                               ->-                        VkPipelineCache -- ^ dstCache-                                        -> Word32 -- ^ srcCacheCount-                                                  -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                         -> IO VkResult-vkMergePipelineCaches-  = unsafeDupablePerformIO (vkGetProc @VkMergePipelineCaches)--{-# NOINLINE vkMergePipelineCaches #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkMergePipelineCaches-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkMergePipelineCaches--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateGraphicsPipelines"-               vkCreateGraphicsPipelines ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                      ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult--##else-vkCreateGraphicsPipelines ::-                          VkDevice -- ^ device-                                   ->-                            VkPipelineCache -- ^ pipelineCache-                                            ->-                              Word32 -- ^ createInfoCount-                                     ->-                                Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                                 ->-                                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> Ptr VkPipeline -- ^ pPipelines-                                                                              -> IO VkResult-vkCreateGraphicsPipelines-  = unsafeDupablePerformIO (vkGetProc @VkCreateGraphicsPipelines)--{-# NOINLINE vkCreateGraphicsPipelines #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkCreateGraphicsPipelines ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateGraphicsPipelines--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateComputePipelines"-               vkCreateComputePipelines ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                     ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult--##else-vkCreateComputePipelines ::-                         VkDevice -- ^ device-                                  ->-                           VkPipelineCache -- ^ pipelineCache-                                           ->-                             Word32 -- ^ createInfoCount-                                    ->-                               Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                               ->-                                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> Ptr VkPipeline -- ^ pPipelines-                                                                             -> IO VkResult-vkCreateComputePipelines-  = unsafeDupablePerformIO (vkGetProc @VkCreateComputePipelines)--{-# NOINLINE vkCreateComputePipelines #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkCreateComputePipelines ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateComputePipelines--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyPipeline" vkDestroyPipeline-               :: VkDevice -- ^ device-                           -> VkPipeline -- ^ pipeline-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyPipeline ::-                  VkDevice -- ^ device-                           -> VkPipeline -- ^ pipeline-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()-vkDestroyPipeline-  = unsafeDupablePerformIO (vkGetProc @VkDestroyPipeline)--{-# NOINLINE vkDestroyPipeline #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyPipeline =-     VkDevice -- ^ device-              -> VkPipeline -- ^ pipeline-                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                         -> IO ()--type PFN_vkDestroyPipeline = FunPtr HS_vkDestroyPipeline--foreign import ccall unsafe "dynamic" unwrapVkDestroyPipeline ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyPipeline--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreatePipelineLayout"-               vkCreatePipelineLayout ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                     -> IO VkResult--##else-vkCreatePipelineLayout ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                        ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                             -> IO VkResult-vkCreatePipelineLayout-  = unsafeDupablePerformIO (vkGetProc @VkCreatePipelineLayout)--{-# NOINLINE vkCreatePipelineLayout #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreatePipelineLayout-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCreatePipelineLayout--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyPipelineLayout"-               vkDestroyPipelineLayout ::-               VkDevice -- ^ device-                        -> VkPipelineLayout -- ^ pipelineLayout-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--##else-vkDestroyPipelineLayout ::-                        VkDevice -- ^ device-                                 -> VkPipelineLayout -- ^ pipelineLayout-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-vkDestroyPipelineLayout-  = unsafeDupablePerformIO (vkGetProc @VkDestroyPipelineLayout)--{-# NOINLINE vkDestroyPipelineLayout #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyPipelineLayout =-     VkDevice -- ^ device-              -> VkPipelineLayout -- ^ pipelineLayout-                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               -> IO ()--type PFN_vkDestroyPipelineLayout =-     FunPtr HS_vkDestroyPipelineLayout--foreign import ccall unsafe "dynamic" unwrapVkDestroyPipelineLayout-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkDestroyPipelineLayout--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateSampler" vkCreateSampler ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                         ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSampler -- ^ pSampler-                                                              -> IO VkResult--##else-vkCreateSampler ::-                VkDevice -- ^ device-                         ->-                  Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                          ->-                    Ptr VkAllocationCallbacks -- ^ pAllocator-                                              -> Ptr VkSampler -- ^ pSampler-                                                               -> IO VkResult-vkCreateSampler-  = unsafeDupablePerformIO (vkGetProc @VkCreateSampler)--{-# NOINLINE vkCreateSampler #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateSampler ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateSampler--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroySampler" vkDestroySampler ::-               VkDevice -- ^ device-                        -> VkSampler -- ^ sampler-                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                  -> IO ()--##else-vkDestroySampler ::-                 VkDevice -- ^ device-                          -> VkSampler -- ^ sampler-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()-vkDestroySampler-  = unsafeDupablePerformIO (vkGetProc @VkDestroySampler)--{-# NOINLINE vkDestroySampler #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroySampler =-     VkDevice -- ^ device-              -> VkSampler -- ^ sampler-                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> IO ()--type PFN_vkDestroySampler = FunPtr HS_vkDestroySampler--foreign import ccall unsafe "dynamic" unwrapVkDestroySampler ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroySampler--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateDescriptorSetLayout"-               vkCreateDescriptorSetLayout ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                     ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                               -> IO VkResult--##else-vkCreateDescriptorSetLayout ::-                            VkDevice -- ^ device-                                     ->-                              Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                  ->-                                Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          ->-                                  Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                                            -> IO VkResult-vkCreateDescriptorSetLayout-  = unsafeDupablePerformIO (vkGetProc @VkCreateDescriptorSetLayout)--{-# NOINLINE vkCreateDescriptorSetLayout #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkCreateDescriptorSetLayout ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateDescriptorSetLayout--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyDescriptorSetLayout"-               vkDestroyDescriptorSetLayout ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorSetLayout -- ^ descriptorSetLayout-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()--##else-vkDestroyDescriptorSetLayout ::-                             VkDevice -- ^ device-                                      ->-                               VkDescriptorSetLayout -- ^ descriptorSetLayout-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-vkDestroyDescriptorSetLayout-  = unsafeDupablePerformIO (vkGetProc @VkDestroyDescriptorSetLayout)--{-# NOINLINE vkDestroyDescriptorSetLayout #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyDescriptorSetLayout =-     VkDevice -- ^ device-              ->-       VkDescriptorSetLayout -- ^ descriptorSetLayout-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()--type PFN_vkDestroyDescriptorSetLayout =-     FunPtr HS_vkDestroyDescriptorSetLayout--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDescriptorSetLayout ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyDescriptorSetLayout--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateDescriptorPool"-               vkCreateDescriptorPool ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                     -> IO VkResult--##else-vkCreateDescriptorPool ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                        ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                             -> IO VkResult-vkCreateDescriptorPool-  = unsafeDupablePerformIO (vkGetProc @VkCreateDescriptorPool)--{-# NOINLINE vkCreateDescriptorPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateDescriptorPool-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCreateDescriptorPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyDescriptorPool"-               vkDestroyDescriptorPool ::-               VkDevice -- ^ device-                        -> VkDescriptorPool -- ^ descriptorPool-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--##else-vkDestroyDescriptorPool ::-                        VkDevice -- ^ device-                                 -> VkDescriptorPool -- ^ descriptorPool-                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                  -> IO ()-vkDestroyDescriptorPool-  = unsafeDupablePerformIO (vkGetProc @VkDestroyDescriptorPool)--{-# NOINLINE vkDestroyDescriptorPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyDescriptorPool =-     VkDevice -- ^ device-              -> VkDescriptorPool -- ^ descriptorPool-                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               -> IO ()--type PFN_vkDestroyDescriptorPool =-     FunPtr HS_vkDestroyDescriptorPool--foreign import ccall unsafe "dynamic" unwrapVkDestroyDescriptorPool-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkDestroyDescriptorPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetDescriptorPool"-               vkResetDescriptorPool ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> VkDescriptorPoolResetFlags -- ^ flags-                                                                -> IO VkResult--##else-vkResetDescriptorPool ::-                      VkDevice -- ^ device-                               ->-                        VkDescriptorPool -- ^ descriptorPool-                                         -> VkDescriptorPoolResetFlags -- ^ flags-                                                                       -> IO VkResult-vkResetDescriptorPool-  = unsafeDupablePerformIO (vkGetProc @VkResetDescriptorPool)--{-# NOINLINE vkResetDescriptorPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkResetDescriptorPool =-     VkDevice -- ^ device-              ->-       VkDescriptorPool -- ^ descriptorPool-                        -> VkDescriptorPoolResetFlags -- ^ flags-                                                      -> IO VkResult--type PFN_vkResetDescriptorPool = FunPtr HS_vkResetDescriptorPool--foreign import ccall unsafe "dynamic" unwrapVkResetDescriptorPool-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkResetDescriptorPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkAllocateDescriptorSets"-               vkAllocateDescriptorSets ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkDescriptorSet -- ^ pDescriptorSets-                                       -> IO VkResult--##else-vkAllocateDescriptorSets ::-                         VkDevice -- ^ device-                                  ->-                           Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                           ->-                             Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                 -> IO VkResult-vkAllocateDescriptorSets-  = unsafeDupablePerformIO (vkGetProc @VkAllocateDescriptorSets)--{-# NOINLINE vkAllocateDescriptorSets #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkAllocateDescriptorSets =-     VkDevice -- ^ device-              ->-       Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                       ->-         Ptr VkDescriptorSet -- ^ pDescriptorSets-                             -> IO VkResult--type PFN_vkAllocateDescriptorSets =-     FunPtr HS_vkAllocateDescriptorSets--foreign import ccall unsafe "dynamic"-               unwrapVkAllocateDescriptorSets ::-               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 #-}-        unwrapVkProcPtr = unwrapVkAllocateDescriptorSets--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFreeDescriptorSets"-               vkFreeDescriptorSets ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> Word32 -- ^ descriptorSetCount-                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                   -> IO VkResult--##else-vkFreeDescriptorSets ::-                     VkDevice -- ^ device-                              ->-                       VkDescriptorPool -- ^ descriptorPool-                                        -> Word32 -- ^ descriptorSetCount-                                                  -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                         -> IO VkResult-vkFreeDescriptorSets-  = unsafeDupablePerformIO (vkGetProc @VkFreeDescriptorSets)--{-# NOINLINE vkFreeDescriptorSets #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkFreeDescriptorSets ::-               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 #-}-        unwrapVkProcPtr = unwrapVkFreeDescriptorSets--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkUpdateDescriptorSets"-               vkUpdateDescriptorSets ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ descriptorWriteCount-                        ->-                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                            ->-                     Word32 -- ^ descriptorCopyCount-                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                       -> IO ()--##else-vkUpdateDescriptorSets ::-                       VkDevice -- ^ device-                                ->-                         Word32 -- ^ descriptorWriteCount-                                ->-                           Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                                    ->-                             Word32 -- ^ descriptorCopyCount-                                    -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                               -> IO ()-vkUpdateDescriptorSets-  = unsafeDupablePerformIO (vkGetProc @VkUpdateDescriptorSets)--{-# NOINLINE vkUpdateDescriptorSets #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkUpdateDescriptorSets-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkUpdateDescriptorSets--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateFramebuffer"-               vkCreateFramebuffer ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                  -> IO VkResult--##else-vkCreateFramebuffer ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                                  ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                       -> IO VkResult-vkCreateFramebuffer-  = unsafeDupablePerformIO (vkGetProc @VkCreateFramebuffer)--{-# NOINLINE vkCreateFramebuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateFramebuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateFramebuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyFramebuffer"-               vkDestroyFramebuffer ::-               VkDevice -- ^ device-                        -> VkFramebuffer -- ^ framebuffer-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyFramebuffer ::-                     VkDevice -- ^ device-                              -> VkFramebuffer -- ^ framebuffer-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-vkDestroyFramebuffer-  = unsafeDupablePerformIO (vkGetProc @VkDestroyFramebuffer)--{-# NOINLINE vkDestroyFramebuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyFramebuffer =-     VkDevice -- ^ device-              -> VkFramebuffer -- ^ framebuffer-                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> IO ()--type PFN_vkDestroyFramebuffer = FunPtr HS_vkDestroyFramebuffer--foreign import ccall unsafe "dynamic" unwrapVkDestroyFramebuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyFramebuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateRenderPass" vkCreateRenderPass-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkRenderPass -- ^ pRenderPass-                                                                 -> IO VkResult--##else-vkCreateRenderPass ::-                   VkDevice -- ^ device-                            ->-                     Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                                ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkRenderPass -- ^ pRenderPass-                                                                     -> IO VkResult-vkCreateRenderPass-  = unsafeDupablePerformIO (vkGetProc @VkCreateRenderPass)--{-# NOINLINE vkCreateRenderPass #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateRenderPass ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateRenderPass--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyRenderPass"-               vkDestroyRenderPass ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()--##else-vkDestroyRenderPass ::-                    VkDevice -- ^ device-                             -> VkRenderPass -- ^ renderPass-                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                          -> IO ()-vkDestroyRenderPass-  = unsafeDupablePerformIO (vkGetProc @VkDestroyRenderPass)--{-# NOINLINE vkDestroyRenderPass #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyRenderPass =-     VkDevice -- ^ device-              -> VkRenderPass -- ^ renderPass-                              -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                           -> IO ()--type PFN_vkDestroyRenderPass = FunPtr HS_vkDestroyRenderPass--foreign import ccall unsafe "dynamic" unwrapVkDestroyRenderPass ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyRenderPass--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkGetRenderAreaGranularity"-               vkGetRenderAreaGranularity ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkExtent2D -- ^ pGranularity-                                                          -> IO ()--##else-vkGetRenderAreaGranularity ::-                           VkDevice -- ^ device-                                    -> VkRenderPass -- ^ renderPass-                                                    -> Ptr VkExtent2D -- ^ pGranularity-                                                                      -> IO ()-vkGetRenderAreaGranularity-  = unsafeDupablePerformIO (vkGetProc @VkGetRenderAreaGranularity)--{-# NOINLINE vkGetRenderAreaGranularity #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkGetRenderAreaGranularity =-     VkDevice -- ^ device-              -> VkRenderPass -- ^ renderPass-                              -> Ptr VkExtent2D -- ^ pGranularity-                                                -> IO ()--type PFN_vkGetRenderAreaGranularity =-     FunPtr HS_vkGetRenderAreaGranularity--foreign import ccall unsafe "dynamic"-               unwrapVkGetRenderAreaGranularity ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetRenderAreaGranularity--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCreateCommandPool"-               vkCreateCommandPool ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkCommandPool -- ^ pCommandPool-                                                                  -> IO VkResult--##else-vkCreateCommandPool ::-                    VkDevice -- ^ device-                             ->-                      Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                                  ->-                        Ptr VkAllocationCallbacks -- ^ pAllocator-                                                  -> Ptr VkCommandPool -- ^ pCommandPool-                                                                       -> IO VkResult-vkCreateCommandPool-  = unsafeDupablePerformIO (vkGetProc @VkCreateCommandPool)--{-# NOINLINE vkCreateCommandPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCreateCommandPool ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateCommandPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkDestroyCommandPool"-               vkDestroyCommandPool ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()--##else-vkDestroyCommandPool ::-                     VkDevice -- ^ device-                              -> VkCommandPool -- ^ commandPool-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-vkDestroyCommandPool-  = unsafeDupablePerformIO (vkGetProc @VkDestroyCommandPool)--{-# NOINLINE vkDestroyCommandPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkDestroyCommandPool =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> IO ()--type PFN_vkDestroyCommandPool = FunPtr HS_vkDestroyCommandPool--foreign import ccall unsafe "dynamic" unwrapVkDestroyCommandPool ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyCommandPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetCommandPool" vkResetCommandPool-               ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> VkCommandPoolResetFlags -- ^ flags-                                                                    -> IO VkResult--##else-vkResetCommandPool ::-                   VkDevice -- ^ device-                            -> VkCommandPool -- ^ commandPool-                                             -> VkCommandPoolResetFlags -- ^ flags-                                                                        -> IO VkResult-vkResetCommandPool-  = unsafeDupablePerformIO (vkGetProc @VkResetCommandPool)--{-# NOINLINE vkResetCommandPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkResetCommandPool =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> VkCommandPoolResetFlags -- ^ flags-                                                          -> IO VkResult--type PFN_vkResetCommandPool = FunPtr HS_vkResetCommandPool--foreign import ccall unsafe "dynamic" unwrapVkResetCommandPool ::-               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 #-}-        unwrapVkProcPtr = unwrapVkResetCommandPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkAllocateCommandBuffers"-               vkAllocateCommandBuffers ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkCommandBuffer -- ^ pCommandBuffers-                                       -> IO VkResult--##else-vkAllocateCommandBuffers ::-                         VkDevice -- ^ device-                                  ->-                           Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                           ->-                             Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                 -> IO VkResult-vkAllocateCommandBuffers-  = unsafeDupablePerformIO (vkGetProc @VkAllocateCommandBuffers)--{-# NOINLINE vkAllocateCommandBuffers #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkAllocateCommandBuffers =-     VkDevice -- ^ device-              ->-       Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                       ->-         Ptr VkCommandBuffer -- ^ pCommandBuffers-                             -> IO VkResult--type PFN_vkAllocateCommandBuffers =-     FunPtr HS_vkAllocateCommandBuffers--foreign import ccall unsafe "dynamic"-               unwrapVkAllocateCommandBuffers ::-               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 #-}-        unwrapVkProcPtr = unwrapVkAllocateCommandBuffers--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkFreeCommandBuffers"-               vkFreeCommandBuffers ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Word32 -- ^ commandBufferCount-                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                          -> IO ()--##else-vkFreeCommandBuffers ::-                     VkDevice -- ^ device-                              -> VkCommandPool -- ^ commandPool-                                               -> Word32 -- ^ commandBufferCount-                                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                                -> IO ()-vkFreeCommandBuffers-  = unsafeDupablePerformIO (vkGetProc @VkFreeCommandBuffers)--{-# NOINLINE vkFreeCommandBuffers #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkFreeCommandBuffers =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> Word32 -- ^ commandBufferCount-                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                -> IO ()--type PFN_vkFreeCommandBuffers = FunPtr HS_vkFreeCommandBuffers--foreign import ccall unsafe "dynamic" unwrapVkFreeCommandBuffers ::-               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 #-}-        unwrapVkProcPtr = unwrapVkFreeCommandBuffers--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkBeginCommandBuffer"-               vkBeginCommandBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                               -> IO VkResult--##else-vkBeginCommandBuffer ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                                     -> IO VkResult-vkBeginCommandBuffer-  = unsafeDupablePerformIO (vkGetProc @VkBeginCommandBuffer)--{-# NOINLINE vkBeginCommandBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkBeginCommandBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                     -> IO VkResult--type PFN_vkBeginCommandBuffer = FunPtr HS_vkBeginCommandBuffer--foreign import ccall unsafe "dynamic" unwrapVkBeginCommandBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkBeginCommandBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkEndCommandBuffer" vkEndCommandBuffer-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> IO VkResult--##else-vkEndCommandBuffer :: VkCommandBuffer -- ^ commandBuffer-                                      -> IO VkResult-vkEndCommandBuffer-  = unsafeDupablePerformIO (vkGetProc @VkEndCommandBuffer)--{-# NOINLINE vkEndCommandBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkEndCommandBuffer = VkCommandBuffer -- ^ commandBuffer-                                             -> IO VkResult--type PFN_vkEndCommandBuffer = FunPtr HS_vkEndCommandBuffer--foreign import ccall unsafe "dynamic" unwrapVkEndCommandBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEndCommandBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkResetCommandBuffer"-               vkResetCommandBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkCommandBufferResetFlags -- ^ flags-                                                            -> IO VkResult--##else-vkResetCommandBuffer ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> VkCommandBufferResetFlags -- ^ flags-                                                                  -> IO VkResult-vkResetCommandBuffer-  = unsafeDupablePerformIO (vkGetProc @VkResetCommandBuffer)--{-# NOINLINE vkResetCommandBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkResetCommandBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkCommandBufferResetFlags -- ^ flags-                                                  -> IO VkResult--type PFN_vkResetCommandBuffer = FunPtr HS_vkResetCommandBuffer--foreign import ccall unsafe "dynamic" unwrapVkResetCommandBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkResetCommandBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindPipeline" vkCmdBindPipeline-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                         -> VkPipeline -- ^ pipeline-                                                                       -> IO ()--##else-vkCmdBindPipeline ::-                  VkCommandBuffer -- ^ commandBuffer-                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                         -> VkPipeline -- ^ pipeline-                                                                       -> IO ()-vkCmdBindPipeline-  = unsafeDupablePerformIO (vkGetProc @VkCmdBindPipeline)--{-# NOINLINE vkCmdBindPipeline #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdBindPipeline =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                            -> VkPipeline -- ^ pipeline-                                                          -> IO ()--type PFN_vkCmdBindPipeline = FunPtr HS_vkCmdBindPipeline--foreign import ccall unsafe "dynamic" unwrapVkCmdBindPipeline ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdBindPipeline--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetViewport" vkCmdSetViewport ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ firstViewport-                                         -> Word32 -- ^ viewportCount-                                                   -> Ptr VkViewport -- ^ pViewports-                                                                     -> IO ()--##else-vkCmdSetViewport ::-                 VkCommandBuffer -- ^ commandBuffer-                                 -> Word32 -- ^ firstViewport-                                           -> Word32 -- ^ viewportCount-                                                     -> Ptr VkViewport -- ^ pViewports-                                                                       -> IO ()-vkCmdSetViewport-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetViewport)--{-# NOINLINE vkCmdSetViewport #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetViewport =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ firstViewport-                               -> Word32 -- ^ viewportCount-                                         -> Ptr VkViewport -- ^ pViewports-                                                           -> IO ()--type PFN_vkCmdSetViewport = FunPtr HS_vkCmdSetViewport--foreign import ccall unsafe "dynamic" unwrapVkCmdSetViewport ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetViewport--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetScissor" vkCmdSetScissor ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ firstScissor-                                         -> Word32 -- ^ scissorCount-                                                   -> Ptr VkRect2D -- ^ pScissors-                                                                   -> IO ()--##else-vkCmdSetScissor ::-                VkCommandBuffer -- ^ commandBuffer-                                -> Word32 -- ^ firstScissor-                                          -> Word32 -- ^ scissorCount-                                                    -> Ptr VkRect2D -- ^ pScissors-                                                                    -> IO ()-vkCmdSetScissor-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetScissor)--{-# NOINLINE vkCmdSetScissor #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetScissor =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ firstScissor-                               -> Word32 -- ^ scissorCount-                                         -> Ptr VkRect2D -- ^ pScissors-                                                         -> IO ()--type PFN_vkCmdSetScissor = FunPtr HS_vkCmdSetScissor--foreign import ccall unsafe "dynamic" unwrapVkCmdSetScissor ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetScissor--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetLineWidth" vkCmdSetLineWidth-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> #{type float} -> IO ()--##else-vkCmdSetLineWidth ::-                  VkCommandBuffer -- ^ commandBuffer-                                  -> #{type float} -> IO ()-vkCmdSetLineWidth-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetLineWidth)--{-# NOINLINE vkCmdSetLineWidth #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetLineWidth =-     VkCommandBuffer -- ^ commandBuffer-                     -> #{type float} -> IO ()--type PFN_vkCmdSetLineWidth = FunPtr HS_vkCmdSetLineWidth--foreign import ccall unsafe "dynamic" unwrapVkCmdSetLineWidth ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetLineWidth--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetDepthBias" vkCmdSetDepthBias-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} ->-                   #{type float} -> #{type float} -> IO ()--##else-vkCmdSetDepthBias ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    #{type float} ->-                      #{type float} -> #{type float} -> IO ()-vkCmdSetDepthBias-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetDepthBias)--{-# NOINLINE vkCmdSetDepthBias #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetDepthBias =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       #{type float} ->-         #{type float} -> #{type float} -> IO ()--type PFN_vkCmdSetDepthBias = FunPtr HS_vkCmdSetDepthBias--foreign import ccall unsafe "dynamic" unwrapVkCmdSetDepthBias ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetDepthBias--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetBlendConstants"-               vkCmdSetBlendConstants ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr #{type float} -- ^ blendConstants-                                                                -> IO ()--##else-vkCmdSetBlendConstants ::-                       VkCommandBuffer -- ^ commandBuffer-                                       -> Ptr #{type float} -- ^ blendConstants-                                                                        -> IO ()-vkCmdSetBlendConstants-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetBlendConstants)--{-# NOINLINE vkCmdSetBlendConstants #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetBlendConstants =-     VkCommandBuffer -- ^ commandBuffer-                     -> Ptr #{type float} -- ^ blendConstants-                                                      -> IO ()--type PFN_vkCmdSetBlendConstants = FunPtr HS_vkCmdSetBlendConstants--foreign import ccall unsafe "dynamic" unwrapVkCmdSetBlendConstants-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetBlendConstants--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetDepthBounds"-               vkCmdSetDepthBounds ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} -> #{type float} -> IO ()--##else-vkCmdSetDepthBounds ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      #{type float} -> #{type float} -> IO ()-vkCmdSetDepthBounds-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetDepthBounds)--{-# NOINLINE vkCmdSetDepthBounds #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetDepthBounds =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       #{type float} -> #{type float} -> IO ()--type PFN_vkCmdSetDepthBounds = FunPtr HS_vkCmdSetDepthBounds--foreign import ccall unsafe "dynamic" unwrapVkCmdSetDepthBounds ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetDepthBounds--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetStencilCompareMask"-               vkCmdSetStencilCompareMask ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ compareMask-                                                               -> IO ()--##else-vkCmdSetStencilCompareMask ::-                           VkCommandBuffer -- ^ commandBuffer-                                           -> VkStencilFaceFlags -- ^ faceMask-                                                                 -> Word32 -- ^ compareMask-                                                                           -> IO ()-vkCmdSetStencilCompareMask-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetStencilCompareMask)--{-# NOINLINE vkCmdSetStencilCompareMask #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetStencilCompareMask =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkStencilFaceFlags -- ^ faceMask-                                           -> Word32 -- ^ compareMask-                                                     -> IO ()--type PFN_vkCmdSetStencilCompareMask =-     FunPtr HS_vkCmdSetStencilCompareMask--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetStencilCompareMask ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetStencilCompareMask--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetStencilWriteMask"-               vkCmdSetStencilWriteMask ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ writeMask-                                                               -> IO ()--##else-vkCmdSetStencilWriteMask ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> VkStencilFaceFlags -- ^ faceMask-                                                               -> Word32 -- ^ writeMask-                                                                         -> IO ()-vkCmdSetStencilWriteMask-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetStencilWriteMask)--{-# NOINLINE vkCmdSetStencilWriteMask #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetStencilWriteMask =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkStencilFaceFlags -- ^ faceMask-                                           -> Word32 -- ^ writeMask-                                                     -> IO ()--type PFN_vkCmdSetStencilWriteMask =-     FunPtr HS_vkCmdSetStencilWriteMask--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetStencilWriteMask ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetStencilWriteMask--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetStencilReference"-               vkCmdSetStencilReference ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ reference-                                                               -> IO ()--##else-vkCmdSetStencilReference ::-                         VkCommandBuffer -- ^ commandBuffer-                                         -> VkStencilFaceFlags -- ^ faceMask-                                                               -> Word32 -- ^ reference-                                                                         -> IO ()-vkCmdSetStencilReference-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetStencilReference)--{-# NOINLINE vkCmdSetStencilReference #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetStencilReference =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkStencilFaceFlags -- ^ faceMask-                                           -> Word32 -- ^ reference-                                                     -> IO ()--type PFN_vkCmdSetStencilReference =-     FunPtr HS_vkCmdSetStencilReference--foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetStencilReference ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetStencilReference--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindDescriptorSets"-               vkCmdBindDescriptorSets ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineBindPoint -- ^ pipelineBindPoint-                                     ->-                   VkPipelineLayout -- ^ layout-                                    ->-                     Word32 -- ^ firstSet-                            ->-                       Word32 -- ^ descriptorSetCount-                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                     -> Word32 -- ^ dynamicOffsetCount-                                                               -> Ptr Word32 -- ^ pDynamicOffsets-                                                                             -> IO ()--##else-vkCmdBindDescriptorSets ::-                        VkCommandBuffer -- ^ commandBuffer-                                        ->-                          VkPipelineBindPoint -- ^ pipelineBindPoint-                                              ->-                            VkPipelineLayout -- ^ layout-                                             ->-                              Word32 -- ^ firstSet-                                     ->-                                Word32 -- ^ descriptorSetCount-                                       -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                              -> Word32 -- ^ dynamicOffsetCount-                                                                        -> Ptr Word32 -- ^ pDynamicOffsets-                                                                                      -> IO ()-vkCmdBindDescriptorSets-  = unsafeDupablePerformIO (vkGetProc @VkCmdBindDescriptorSets)--{-# NOINLINE vkCmdBindDescriptorSets #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdBindDescriptorSets-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCmdBindDescriptorSets--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindIndexBuffer"-               vkCmdBindIndexBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> VkIndexType -- ^ indexType-                                                                          -> IO ()--##else-vkCmdBindIndexBuffer ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> VkBuffer -- ^ buffer-                                                 -> VkDeviceSize -- ^ offset-                                                                 -> VkIndexType -- ^ indexType-                                                                                -> IO ()-vkCmdBindIndexBuffer-  = unsafeDupablePerformIO (vkGetProc @VkCmdBindIndexBuffer)--{-# NOINLINE vkCmdBindIndexBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdBindIndexBuffer =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkBuffer -- ^ buffer-                                 -> VkDeviceSize -- ^ offset-                                                 -> VkIndexType -- ^ indexType-                                                                -> IO ()--type PFN_vkCmdBindIndexBuffer = FunPtr HS_vkCmdBindIndexBuffer--foreign import ccall unsafe "dynamic" unwrapVkCmdBindIndexBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdBindIndexBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBindVertexBuffers"-               vkCmdBindVertexBuffers ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ firstBinding-                        -> Word32 -- ^ bindingCount-                                  -> Ptr VkBuffer -- ^ pBuffers-                                                  -> Ptr VkDeviceSize -- ^ pOffsets-                                                                      -> IO ()--##else-vkCmdBindVertexBuffers ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         Word32 -- ^ firstBinding-                                -> Word32 -- ^ bindingCount-                                          -> Ptr VkBuffer -- ^ pBuffers-                                                          -> Ptr VkDeviceSize -- ^ pOffsets-                                                                              -> IO ()-vkCmdBindVertexBuffers-  = unsafeDupablePerformIO (vkGetProc @VkCmdBindVertexBuffers)--{-# NOINLINE vkCmdBindVertexBuffers #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdBindVertexBuffers-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCmdBindVertexBuffers--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDraw" vkCmdDraw ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ vertexCount-                                         -> Word32 -- ^ instanceCount-                                                   -> Word32 -- ^ firstVertex-                                                             -> Word32 -- ^ firstInstance-                                                                       -> IO ()--##else-vkCmdDraw ::-          VkCommandBuffer -- ^ commandBuffer-                          -> Word32 -- ^ vertexCount-                                    -> Word32 -- ^ instanceCount-                                              -> Word32 -- ^ firstVertex-                                                        -> Word32 -- ^ firstInstance-                                                                  -> IO ()-vkCmdDraw = unsafeDupablePerformIO (vkGetProc @VkCmdDraw)--{-# NOINLINE vkCmdDraw #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdDraw ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdDraw--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDrawIndexed" vkCmdDrawIndexed ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ indexCount-                        -> Word32 -- ^ instanceCount-                                  -> Word32 -- ^ firstIndex-                                            -> Int32 -- ^ vertexOffset-                                                     -> Word32 -- ^ firstInstance-                                                               -> IO ()--##else-vkCmdDrawIndexed ::-                 VkCommandBuffer -- ^ commandBuffer-                                 ->-                   Word32 -- ^ indexCount-                          -> Word32 -- ^ instanceCount-                                    -> Word32 -- ^ firstIndex-                                              -> Int32 -- ^ vertexOffset-                                                       -> Word32 -- ^ firstInstance-                                                                 -> IO ()-vkCmdDrawIndexed-  = unsafeDupablePerformIO (vkGetProc @VkCmdDrawIndexed)--{-# NOINLINE vkCmdDrawIndexed #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdDrawIndexed ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdDrawIndexed--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDrawIndirect" vkCmdDrawIndirect-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()--##else-vkCmdDrawIndirect ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    VkBuffer -- ^ buffer-                             -> VkDeviceSize -- ^ offset-                                             -> Word32 -- ^ drawCount-                                                       -> Word32 -- ^ stride-                                                                 -> IO ()-vkCmdDrawIndirect-  = unsafeDupablePerformIO (vkGetProc @VkCmdDrawIndirect)--{-# NOINLINE vkCmdDrawIndirect #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdDrawIndirect ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdDrawIndirect--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDrawIndexedIndirect"-               vkCmdDrawIndexedIndirect ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()--##else-vkCmdDrawIndexedIndirect ::-                         VkCommandBuffer -- ^ commandBuffer-                                         ->-                           VkBuffer -- ^ buffer-                                    -> VkDeviceSize -- ^ offset-                                                    -> Word32 -- ^ drawCount-                                                              -> Word32 -- ^ stride-                                                                        -> IO ()-vkCmdDrawIndexedIndirect-  = unsafeDupablePerformIO (vkGetProc @VkCmdDrawIndexedIndirect)--{-# NOINLINE vkCmdDrawIndexedIndirect #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkCmdDrawIndexedIndirect ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdDrawIndexedIndirect--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDispatch" vkCmdDispatch ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ groupCountX-                                         -> Word32 -- ^ groupCountY-                                                   -> Word32 -- ^ groupCountZ-                                                             -> IO ()--##else-vkCmdDispatch ::-              VkCommandBuffer -- ^ commandBuffer-                              -> Word32 -- ^ groupCountX-                                        -> Word32 -- ^ groupCountY-                                                  -> Word32 -- ^ groupCountZ-                                                            -> IO ()-vkCmdDispatch = unsafeDupablePerformIO (vkGetProc @VkCmdDispatch)--{-# NOINLINE vkCmdDispatch #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdDispatch =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ groupCountX-                               -> Word32 -- ^ groupCountY-                                         -> Word32 -- ^ groupCountZ-                                                   -> IO ()--type PFN_vkCmdDispatch = FunPtr HS_vkCmdDispatch--foreign import ccall unsafe "dynamic" unwrapVkCmdDispatch ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdDispatch--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdDispatchIndirect"-               vkCmdDispatchIndirect ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> IO ()--##else-vkCmdDispatchIndirect ::-                      VkCommandBuffer -- ^ commandBuffer-                                      -> VkBuffer -- ^ buffer-                                                  -> VkDeviceSize -- ^ offset-                                                                  -> IO ()-vkCmdDispatchIndirect-  = unsafeDupablePerformIO (vkGetProc @VkCmdDispatchIndirect)--{-# NOINLINE vkCmdDispatchIndirect #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdDispatchIndirect =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkBuffer -- ^ buffer-                                 -> VkDeviceSize -- ^ offset-                                                 -> IO ()--type PFN_vkCmdDispatchIndirect = FunPtr HS_vkCmdDispatchIndirect--foreign import ccall unsafe "dynamic" unwrapVkCmdDispatchIndirect-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCmdDispatchIndirect--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyBuffer" vkCmdCopyBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          -> VkBuffer -- ^ dstBuffer-                                      -> Word32 -- ^ regionCount-                                                -> Ptr VkBufferCopy -- ^ pRegions-                                                                    -> IO ()--##else-vkCmdCopyBuffer ::-                VkCommandBuffer -- ^ commandBuffer-                                ->-                  VkBuffer -- ^ srcBuffer-                           -> VkBuffer -- ^ dstBuffer-                                       -> Word32 -- ^ regionCount-                                                 -> Ptr VkBufferCopy -- ^ pRegions-                                                                     -> IO ()-vkCmdCopyBuffer-  = unsafeDupablePerformIO (vkGetProc @VkCmdCopyBuffer)--{-# NOINLINE vkCmdCopyBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdCopyBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdCopyBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyImage" vkCmdCopyImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageCopy -- ^ pRegions-                                                                           -> IO ()--##else-vkCmdCopyImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageCopy -- ^ pRegions-                                                                           -> IO ()-vkCmdCopyImage = unsafeDupablePerformIO (vkGetProc @VkCmdCopyImage)--{-# NOINLINE vkCmdCopyImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdCopyImage ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdCopyImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBlitImage" vkCmdBlitImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             ->-                       VkImageLayout -- ^ dstImageLayout-                                     -> Word32 -- ^ regionCount-                                               -> Ptr VkImageBlit -- ^ pRegions-                                                                  -> VkFilter -- ^ filter-                                                                              -> IO ()--##else-vkCmdBlitImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             ->-                       VkImageLayout -- ^ dstImageLayout-                                     -> Word32 -- ^ regionCount-                                               -> Ptr VkImageBlit -- ^ pRegions-                                                                  -> VkFilter -- ^ filter-                                                                              -> IO ()-vkCmdBlitImage = unsafeDupablePerformIO (vkGetProc @VkCmdBlitImage)--{-# NOINLINE vkCmdBlitImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdBlitImage ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdBlitImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyBufferToImage"-               vkCmdCopyBufferToImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          ->-                   VkImage -- ^ dstImage-                           ->-                     VkImageLayout -- ^ dstImageLayout-                                   -> Word32 -- ^ regionCount-                                             -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                      -> IO ()--##else-vkCmdCopyBufferToImage ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         VkBuffer -- ^ srcBuffer-                                  ->-                           VkImage -- ^ dstImage-                                   ->-                             VkImageLayout -- ^ dstImageLayout-                                           -> Word32 -- ^ regionCount-                                                     -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                              -> IO ()-vkCmdCopyBufferToImage-  = unsafeDupablePerformIO (vkGetProc @VkCmdCopyBufferToImage)--{-# NOINLINE vkCmdCopyBufferToImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdCopyBufferToImage-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCmdCopyBufferToImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyImageToBuffer"-               vkCmdCopyImageToBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkBuffer -- ^ dstBuffer-                              -> Word32 -- ^ regionCount-                                        -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                 -> IO ()--##else-vkCmdCopyImageToBuffer ::-                       VkCommandBuffer -- ^ commandBuffer-                                       ->-                         VkImage -- ^ srcImage-                                 ->-                           VkImageLayout -- ^ srcImageLayout-                                         ->-                             VkBuffer -- ^ dstBuffer-                                      -> Word32 -- ^ regionCount-                                                -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                         -> IO ()-vkCmdCopyImageToBuffer-  = unsafeDupablePerformIO (vkGetProc @VkCmdCopyImageToBuffer)--{-# NOINLINE vkCmdCopyImageToBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdCopyImageToBuffer-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCmdCopyImageToBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdUpdateBuffer" vkCmdUpdateBuffer-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ dataSize-                                                          -> Ptr Void -- ^ pData-                                                                      -> IO ()--##else-vkCmdUpdateBuffer ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    VkBuffer -- ^ dstBuffer-                             -> VkDeviceSize -- ^ dstOffset-                                             -> VkDeviceSize -- ^ dataSize-                                                             -> Ptr Void -- ^ pData-                                                                         -> IO ()-vkCmdUpdateBuffer-  = unsafeDupablePerformIO (vkGetProc @VkCmdUpdateBuffer)--{-# NOINLINE vkCmdUpdateBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdUpdateBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdUpdateBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdFillBuffer" vkCmdFillBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ size-                                                          -> Word32 -- ^ data-                                                                    -> IO ()--##else-vkCmdFillBuffer ::-                VkCommandBuffer -- ^ commandBuffer-                                ->-                  VkBuffer -- ^ dstBuffer-                           -> VkDeviceSize -- ^ dstOffset-                                           -> VkDeviceSize -- ^ size-                                                           -> Word32 -- ^ data-                                                                     -> IO ()-vkCmdFillBuffer-  = unsafeDupablePerformIO (vkGetProc @VkCmdFillBuffer)--{-# NOINLINE vkCmdFillBuffer #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdFillBuffer ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdFillBuffer--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdClearColorImage"-               vkCmdClearColorImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearColorValue -- ^ pColor-                                           ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()--##else-vkCmdClearColorImage ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       VkImage -- ^ image-                               ->-                         VkImageLayout -- ^ imageLayout-                                       ->-                           Ptr VkClearColorValue -- ^ pColor-                                                 ->-                             Word32 -- ^ rangeCount-                                    -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                   -> IO ()-vkCmdClearColorImage-  = unsafeDupablePerformIO (vkGetProc @VkCmdClearColorImage)--{-# NOINLINE vkCmdClearColorImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdClearColorImage ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdClearColorImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdClearDepthStencilImage"-               vkCmdClearDepthStencilImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                  ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()--##else-vkCmdClearDepthStencilImage ::-                            VkCommandBuffer -- ^ commandBuffer-                                            ->-                              VkImage -- ^ image-                                      ->-                                VkImageLayout -- ^ imageLayout-                                              ->-                                  Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                               ->-                                    Word32 -- ^ rangeCount-                                           -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                                          -> IO ()-vkCmdClearDepthStencilImage-  = unsafeDupablePerformIO (vkGetProc @VkCmdClearDepthStencilImage)--{-# NOINLINE vkCmdClearDepthStencilImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkCmdClearDepthStencilImage ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdClearDepthStencilImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdClearAttachments"-               vkCmdClearAttachments ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ attachmentCount-                        ->-                   Ptr VkClearAttachment -- ^ pAttachments-                                         -> Word32 -- ^ rectCount-                                                   -> Ptr VkClearRect -- ^ pRects-                                                                      -> IO ()--##else-vkCmdClearAttachments ::-                      VkCommandBuffer -- ^ commandBuffer-                                      ->-                        Word32 -- ^ attachmentCount-                               ->-                          Ptr VkClearAttachment -- ^ pAttachments-                                                -> Word32 -- ^ rectCount-                                                          -> Ptr VkClearRect -- ^ pRects-                                                                             -> IO ()-vkCmdClearAttachments-  = unsafeDupablePerformIO (vkGetProc @VkCmdClearAttachments)--{-# NOINLINE vkCmdClearAttachments #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdClearAttachments-               :: 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 #-}-        unwrapVkProcPtr = unwrapVkCmdClearAttachments--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdResolveImage" vkCmdResolveImage-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageResolve -- ^ pRegions-                                                                              -> IO ()--##else-vkCmdResolveImage ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    VkImage -- ^ srcImage-                            ->-                      VkImageLayout -- ^ srcImageLayout-                                    ->-                        VkImage -- ^ dstImage-                                -> VkImageLayout -- ^ dstImageLayout-                                                 -> Word32 -- ^ regionCount-                                                           -> Ptr VkImageResolve -- ^ pRegions-                                                                                 -> IO ()-vkCmdResolveImage-  = unsafeDupablePerformIO (vkGetProc @VkCmdResolveImage)--{-# NOINLINE vkCmdResolveImage #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdResolveImage ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdResolveImage--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdSetEvent" vkCmdSetEvent ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkEvent -- ^ event-                                          -> VkPipelineStageFlags -- ^ stageMask-                                                                  -> IO ()--##else-vkCmdSetEvent ::-              VkCommandBuffer -- ^ commandBuffer-                              -> VkEvent -- ^ event-                                         -> VkPipelineStageFlags -- ^ stageMask-                                                                 -> IO ()-vkCmdSetEvent = unsafeDupablePerformIO (vkGetProc @VkCmdSetEvent)--{-# NOINLINE vkCmdSetEvent #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdSetEvent =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkEvent -- ^ event-                                -> VkPipelineStageFlags -- ^ stageMask-                                                        -> IO ()--type PFN_vkCmdSetEvent = FunPtr HS_vkCmdSetEvent--foreign import ccall unsafe "dynamic" unwrapVkCmdSetEvent ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetEvent--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdResetEvent" vkCmdResetEvent ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkEvent -- ^ event-                                          -> VkPipelineStageFlags -- ^ stageMask-                                                                  -> IO ()--##else-vkCmdResetEvent ::-                VkCommandBuffer -- ^ commandBuffer-                                -> VkEvent -- ^ event-                                           -> VkPipelineStageFlags -- ^ stageMask-                                                                   -> IO ()-vkCmdResetEvent-  = unsafeDupablePerformIO (vkGetProc @VkCmdResetEvent)--{-# NOINLINE vkCmdResetEvent #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdResetEvent =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkEvent -- ^ event-                                -> VkPipelineStageFlags -- ^ stageMask-                                                        -> IO ()--type PFN_vkCmdResetEvent = FunPtr HS_vkCmdResetEvent--foreign import ccall unsafe "dynamic" unwrapVkCmdResetEvent ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdResetEvent--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdWaitEvents" 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 ()--##else-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 ()-vkCmdWaitEvents-  = unsafeDupablePerformIO (vkGetProc @VkCmdWaitEvents)--{-# NOINLINE vkCmdWaitEvents #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdWaitEvents ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdWaitEvents--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdPipelineBarrier"-               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 ()--##else-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 ()-vkCmdPipelineBarrier-  = unsafeDupablePerformIO (vkGetProc @VkCmdPipelineBarrier)--{-# NOINLINE vkCmdPipelineBarrier #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdPipelineBarrier ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdPipelineBarrier--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBeginQuery" vkCmdBeginQuery ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             -> Word32 -- ^ query-                                       -> VkQueryControlFlags -- ^ flags-                                                              -> IO ()--##else-vkCmdBeginQuery ::-                VkCommandBuffer -- ^ commandBuffer-                                ->-                  VkQueryPool -- ^ queryPool-                              -> Word32 -- ^ query-                                        -> VkQueryControlFlags -- ^ flags-                                                               -> IO ()-vkCmdBeginQuery-  = unsafeDupablePerformIO (vkGetProc @VkCmdBeginQuery)--{-# NOINLINE vkCmdBeginQuery #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdBeginQuery =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkQueryPool -- ^ queryPool-                   -> Word32 -- ^ query-                             -> VkQueryControlFlags -- ^ flags-                                                    -> IO ()--type PFN_vkCmdBeginQuery = FunPtr HS_vkCmdBeginQuery--foreign import ccall unsafe "dynamic" unwrapVkCmdBeginQuery ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdBeginQuery--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdEndQuery" vkCmdEndQuery ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ query-                                                        -> IO ()--##else-vkCmdEndQuery :: VkCommandBuffer -- ^ commandBuffer-                                 -> VkQueryPool -- ^ queryPool-                                                -> Word32 -- ^ query-                                                          -> IO ()-vkCmdEndQuery = unsafeDupablePerformIO (vkGetProc @VkCmdEndQuery)--{-# NOINLINE vkCmdEndQuery #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdEndQuery =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkQueryPool -- ^ queryPool-                                    -> Word32 -- ^ query-                                              -> IO ()--type PFN_vkCmdEndQuery = FunPtr HS_vkCmdEndQuery--foreign import ccall unsafe "dynamic" unwrapVkCmdEndQuery ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdEndQuery--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdResetQueryPool"-               vkCmdResetQueryPool ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ firstQuery-                                                        -> Word32 -- ^ queryCount-                                                                  -> IO ()--##else-vkCmdResetQueryPool ::-                    VkCommandBuffer -- ^ commandBuffer-                                    -> VkQueryPool -- ^ queryPool-                                                   -> Word32 -- ^ firstQuery-                                                             -> Word32 -- ^ queryCount-                                                                       -> IO ()-vkCmdResetQueryPool-  = unsafeDupablePerformIO (vkGetProc @VkCmdResetQueryPool)--{-# NOINLINE vkCmdResetQueryPool #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdResetQueryPool =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkQueryPool -- ^ queryPool-                                    -> Word32 -- ^ firstQuery-                                              -> Word32 -- ^ queryCount-                                                        -> IO ()--type PFN_vkCmdResetQueryPool = FunPtr HS_vkCmdResetQueryPool--foreign import ccall unsafe "dynamic" unwrapVkCmdResetQueryPool ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdResetQueryPool--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdWriteTimestamp"-               vkCmdWriteTimestamp ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineStageFlagBits -- ^ pipelineStage-                                         -> VkQueryPool -- ^ queryPool-                                                        -> Word32 -- ^ query-                                                                  -> IO ()--##else-vkCmdWriteTimestamp ::-                    VkCommandBuffer -- ^ commandBuffer-                                    ->-                      VkPipelineStageFlagBits -- ^ pipelineStage-                                              -> VkQueryPool -- ^ queryPool-                                                             -> Word32 -- ^ query-                                                                       -> IO ()-vkCmdWriteTimestamp-  = unsafeDupablePerformIO (vkGetProc @VkCmdWriteTimestamp)--{-# NOINLINE vkCmdWriteTimestamp #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdWriteTimestamp =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       VkPipelineStageFlagBits -- ^ pipelineStage-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ query-                                                        -> IO ()--type PFN_vkCmdWriteTimestamp = FunPtr HS_vkCmdWriteTimestamp--foreign import ccall unsafe "dynamic" unwrapVkCmdWriteTimestamp ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdWriteTimestamp--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdCopyQueryPoolResults"-               vkCmdCopyQueryPoolResults ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       VkBuffer -- ^ dstBuffer-                                ->-                         VkDeviceSize -- ^ dstOffset-                                      -> VkDeviceSize -- ^ stride-                                                      -> VkQueryResultFlags -- ^ flags-                                                                            -> IO ()--##else-vkCmdCopyQueryPoolResults ::-                          VkCommandBuffer -- ^ commandBuffer-                                          ->-                            VkQueryPool -- ^ queryPool-                                        ->-                              Word32 -- ^ firstQuery-                                     ->-                                Word32 -- ^ queryCount-                                       ->-                                  VkBuffer -- ^ dstBuffer-                                           ->-                                    VkDeviceSize -- ^ dstOffset-                                                 -> VkDeviceSize -- ^ stride-                                                                 -> VkQueryResultFlags -- ^ flags-                                                                                       -> IO ()-vkCmdCopyQueryPoolResults-  = unsafeDupablePerformIO (vkGetProc @VkCmdCopyQueryPoolResults)--{-# NOINLINE vkCmdCopyQueryPoolResults #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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"-               unwrapVkCmdCopyQueryPoolResults ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdCopyQueryPoolResults--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdPushConstants" vkCmdPushConstants-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineLayout -- ^ layout-                                  ->-                   VkShaderStageFlags -- ^ stageFlags-                                      -> Word32 -- ^ offset-                                                -> Word32 -- ^ size-                                                          -> Ptr Void -- ^ pValues-                                                                      -> IO ()--##else-vkCmdPushConstants ::-                   VkCommandBuffer -- ^ commandBuffer-                                   ->-                     VkPipelineLayout -- ^ layout-                                      ->-                       VkShaderStageFlags -- ^ stageFlags-                                          -> Word32 -- ^ offset-                                                    -> Word32 -- ^ size-                                                              -> Ptr Void -- ^ pValues-                                                                          -> IO ()-vkCmdPushConstants-  = unsafeDupablePerformIO (vkGetProc @VkCmdPushConstants)--{-# NOINLINE vkCmdPushConstants #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-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" unwrapVkCmdPushConstants ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdPushConstants--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdBeginRenderPass"-               vkCmdBeginRenderPass ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                           -> VkSubpassContents -- ^ contents-                                                                -> IO ()--##else-vkCmdBeginRenderPass ::-                     VkCommandBuffer -- ^ commandBuffer-                                     ->-                       Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                                 -> VkSubpassContents -- ^ contents-                                                                      -> IO ()-vkCmdBeginRenderPass-  = unsafeDupablePerformIO (vkGetProc @VkCmdBeginRenderPass)--{-# NOINLINE vkCmdBeginRenderPass #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdBeginRenderPass =-     VkCommandBuffer -- ^ commandBuffer-                     ->-       Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                 -> VkSubpassContents -- ^ contents-                                                      -> IO ()--type PFN_vkCmdBeginRenderPass = FunPtr HS_vkCmdBeginRenderPass--foreign import ccall unsafe "dynamic" unwrapVkCmdBeginRenderPass ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdBeginRenderPass--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdNextSubpass" vkCmdNextSubpass ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkSubpassContents -- ^ contents-                                                    -> IO ()--##else-vkCmdNextSubpass :: VkCommandBuffer -- ^ commandBuffer-                                    -> VkSubpassContents -- ^ contents-                                                         -> IO ()-vkCmdNextSubpass-  = unsafeDupablePerformIO (vkGetProc @VkCmdNextSubpass)--{-# NOINLINE vkCmdNextSubpass #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdNextSubpass =-     VkCommandBuffer -- ^ commandBuffer-                     -> VkSubpassContents -- ^ contents-                                          -> IO ()--type PFN_vkCmdNextSubpass = FunPtr HS_vkCmdNextSubpass--foreign import ccall unsafe "dynamic" unwrapVkCmdNextSubpass ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdNextSubpass--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdEndRenderPass" vkCmdEndRenderPass-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> IO ()--##else-vkCmdEndRenderPass :: VkCommandBuffer -- ^ commandBuffer-                                      -> IO ()-vkCmdEndRenderPass-  = unsafeDupablePerformIO (vkGetProc @VkCmdEndRenderPass)--{-# NOINLINE vkCmdEndRenderPass #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdEndRenderPass = VkCommandBuffer -- ^ commandBuffer-                                             -> IO ()--type PFN_vkCmdEndRenderPass = FunPtr HS_vkCmdEndRenderPass--foreign import ccall unsafe "dynamic" unwrapVkCmdEndRenderPass ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdEndRenderPass--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkCmdExecuteCommands"-               vkCmdExecuteCommands ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ commandBufferCount-                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                -> IO ()--##else-vkCmdExecuteCommands ::-                     VkCommandBuffer -- ^ commandBuffer-                                     -> Word32 -- ^ commandBufferCount-                                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                      -> IO ()-vkCmdExecuteCommands-  = unsafeDupablePerformIO (vkGetProc @VkCmdExecuteCommands)--{-# NOINLINE vkCmdExecuteCommands #-}-##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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----##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>-type HS_vkCmdExecuteCommands =-     VkCommandBuffer -- ^ commandBuffer-                     -> Word32 -- ^ commandBufferCount-                               -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                      -> IO ()--type PFN_vkCmdExecuteCommands = FunPtr HS_vkCmdExecuteCommands--foreign import ccall unsafe "dynamic" unwrapVkCmdExecuteCommands ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdExecuteCommands--        {-# INLINE unwrapVkProcPtr #-}+        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.+        module Graphics.Vulkan.Types.Struct.Base,+        module Graphics.Vulkan.Types.Struct.DispatchIndirectCommand,+        module Graphics.Vulkan.Types.Struct.DrawInd,+        module Graphics.Vulkan.Types.Enum.Object)+       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+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+import           Graphics.Vulkan.Types.Struct.DrawInd+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
@@ -25,5742 +25,7169 @@         -- ** Device Initialization         VkEnumerateInstanceVersion, pattern VkEnumerateInstanceVersion,         HS_vkEnumerateInstanceVersion, PFN_vkEnumerateInstanceVersion,-        vkEnumerateInstanceVersion, 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,-        module Graphics.Vulkan.Types.Struct.PhysicalDevice,-        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-        module Graphics.Vulkan.Types.Struct.Bind, -- > #include "vk_platform.h"-                                                  VkBindBufferMemory2,-        pattern VkBindBufferMemory2, HS_vkBindBufferMemory2,-        PFN_vkBindBufferMemory2, vkBindBufferMemory2,-        vkBindBufferMemory2Safe, VkBindImageMemory2,-        pattern VkBindImageMemory2, HS_vkBindImageMemory2,-        PFN_vkBindImageMemory2, vkBindImageMemory2, vkBindImageMemory2Safe,-        module Graphics.Vulkan.Types.Handles,-        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,-        module Graphics.Vulkan.Types.Struct.Device,-        module Graphics.Vulkan.Types.Enum.Device,-        module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,-        -- ** Promoted from VK_KHR_dedicated_allocation-        module Graphics.Vulkan.Types.Struct.Memory,-        -- > #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-        module Graphics.Vulkan.Types.Struct.Clear,-        module Graphics.Vulkan.Types.Struct.Command,-        module Graphics.Vulkan.Types.Enum.Command,-        module Graphics.Vulkan.Types.Struct.Extent,-        module Graphics.Vulkan.Types.Enum.Image,-        module Graphics.Vulkan.Types.Struct.Image,-        module Graphics.Vulkan.Types.Enum.Memory,-        module Graphics.Vulkan.Types.Struct.Offset,-        module Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag,-        module Graphics.Vulkan.Types.Enum.Pipeline,-        module Graphics.Vulkan.Types.Enum.Query,-        module Graphics.Vulkan.Types.Struct.Rect,-        module Graphics.Vulkan.Types.Struct.RenderPass,-        module Graphics.Vulkan.Types.Struct.Sparse,-        module Graphics.Vulkan.Types.Enum.Sparse,-        module Graphics.Vulkan.Types.Struct.SubmitInfo,-        -- > #include "vk_platform.h"-        VkGetDeviceGroupPeerMemoryFeatures,-        pattern VkGetDeviceGroupPeerMemoryFeatures,-        HS_vkGetDeviceGroupPeerMemoryFeatures,-        PFN_vkGetDeviceGroupPeerMemoryFeatures,-        vkGetDeviceGroupPeerMemoryFeatures,-        vkGetDeviceGroupPeerMemoryFeaturesSafe, VkCmdSetDeviceMask,-        pattern VkCmdSetDeviceMask, HS_vkCmdSetDeviceMask,-        PFN_vkCmdSetDeviceMask, vkCmdSetDeviceMask, vkCmdSetDeviceMaskSafe,-        VkCmdDispatchBase, pattern VkCmdDispatchBase, HS_vkCmdDispatchBase,-        PFN_vkCmdDispatchBase, vkCmdDispatchBase, 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-        ---        -- |-        -- > #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-        ---        -- |-        -- > #include "vk_platform.h"-        VkEnumeratePhysicalDeviceGroups,-        pattern VkEnumeratePhysicalDeviceGroups,-        HS_vkEnumeratePhysicalDeviceGroups,-        PFN_vkEnumeratePhysicalDeviceGroups,-        vkEnumeratePhysicalDeviceGroups,-        vkEnumeratePhysicalDeviceGroupsSafe,-        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-        module Graphics.Vulkan.Types.Struct.Buffer,-        -- > #include "vk_platform.h"-        VkGetImageMemoryRequirements2,-        pattern VkGetImageMemoryRequirements2,-        HS_vkGetImageMemoryRequirements2,-        PFN_vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2,-        vkGetImageMemoryRequirements2Safe, VkGetBufferMemoryRequirements2,-        pattern VkGetBufferMemoryRequirements2,-        HS_vkGetBufferMemoryRequirements2,-        PFN_vkGetBufferMemoryRequirements2, vkGetBufferMemoryRequirements2,-        vkGetBufferMemoryRequirements2Safe,-        VkGetImageSparseMemoryRequirements2,-        pattern VkGetImageSparseMemoryRequirements2,-        HS_vkGetImageSparseMemoryRequirements2,-        PFN_vkGetImageSparseMemoryRequirements2,-        vkGetImageSparseMemoryRequirements2,-        vkGetImageSparseMemoryRequirements2Safe,-        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-        module Graphics.Vulkan.Types.Enum.Format,-        module Graphics.Vulkan.Types.Struct.FormatProperties,-        module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,-        module Graphics.Vulkan.Types.Enum.Queue,-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceFeatures2, pattern VkGetPhysicalDeviceFeatures2,-        HS_vkGetPhysicalDeviceFeatures2, PFN_vkGetPhysicalDeviceFeatures2,-        vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFeatures2Safe,-        VkGetPhysicalDeviceProperties2,-        pattern VkGetPhysicalDeviceProperties2,-        HS_vkGetPhysicalDeviceProperties2,-        PFN_vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceProperties2,-        vkGetPhysicalDeviceProperties2Safe,-        VkGetPhysicalDeviceFormatProperties2,-        pattern VkGetPhysicalDeviceFormatProperties2,-        HS_vkGetPhysicalDeviceFormatProperties2,-        PFN_vkGetPhysicalDeviceFormatProperties2,-        vkGetPhysicalDeviceFormatProperties2,-        vkGetPhysicalDeviceFormatProperties2Safe,-        VkGetPhysicalDeviceImageFormatProperties2,-        pattern VkGetPhysicalDeviceImageFormatProperties2,-        HS_vkGetPhysicalDeviceImageFormatProperties2,-        PFN_vkGetPhysicalDeviceImageFormatProperties2,-        vkGetPhysicalDeviceImageFormatProperties2,-        vkGetPhysicalDeviceImageFormatProperties2Safe,-        VkGetPhysicalDeviceQueueFamilyProperties2,-        pattern VkGetPhysicalDeviceQueueFamilyProperties2,-        HS_vkGetPhysicalDeviceQueueFamilyProperties2,-        PFN_vkGetPhysicalDeviceQueueFamilyProperties2,-        vkGetPhysicalDeviceQueueFamilyProperties2,-        vkGetPhysicalDeviceQueueFamilyProperties2Safe,-        VkGetPhysicalDeviceMemoryProperties2,-        pattern VkGetPhysicalDeviceMemoryProperties2,-        HS_vkGetPhysicalDeviceMemoryProperties2,-        PFN_vkGetPhysicalDeviceMemoryProperties2,-        vkGetPhysicalDeviceMemoryProperties2,-        vkGetPhysicalDeviceMemoryProperties2Safe,-        VkGetPhysicalDeviceSparseImageFormatProperties2,-        pattern VkGetPhysicalDeviceSparseImageFormatProperties2,-        HS_vkGetPhysicalDeviceSparseImageFormatProperties2,-        PFN_vkGetPhysicalDeviceSparseImageFormatProperties2,-        vkGetPhysicalDeviceSparseImageFormatProperties2,-        vkGetPhysicalDeviceSparseImageFormatProperties2Safe,-        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, 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,-        module Graphics.Vulkan.Types.Struct.Attachment,-        module Graphics.Vulkan.Types.Enum.Attachment,-        module Graphics.Vulkan.Types.Struct.ComponentMapping,-        module Graphics.Vulkan.Types.Enum.ComponentSwizzle,-        module Graphics.Vulkan.Types.Enum.DependencyFlags,-        module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference,-        module Graphics.Vulkan.Types.Struct.Pipeline,-        module Graphics.Vulkan.Types.Enum.PointClippingBehavior,-        module Graphics.Vulkan.Types.Struct.Subpass,-        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-        ---        -- |-        -- > #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-        ---        -- |-        -- > #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.-        module Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo,-        -- > #include "vk_platform.h"-        VkGetDeviceQueue2, pattern VkGetDeviceQueue2, HS_vkGetDeviceQueue2,-        PFN_vkGetDeviceQueue2, vkGetDeviceQueue2, 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-        module Graphics.Vulkan.Types.Enum.BorderColor,-        module Graphics.Vulkan.Types.Enum.ChromaLocation,-        module Graphics.Vulkan.Types.Enum.CompareOp,-        module Graphics.Vulkan.Types.Enum.Filter,-        module Graphics.Vulkan.Types.Enum.Sampler,-        module Graphics.Vulkan.Types.Struct.Sampler,-        -- > #include "vk_platform.h"-        VkCreateSamplerYcbcrConversion,-        pattern VkCreateSamplerYcbcrConversion,-        HS_vkCreateSamplerYcbcrConversion,-        PFN_vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversion,-        vkCreateSamplerYcbcrConversionSafe,-        VkDestroySamplerYcbcrConversion,-        pattern VkDestroySamplerYcbcrConversion,-        HS_vkDestroySamplerYcbcrConversion,-        PFN_vkDestroySamplerYcbcrConversion,-        vkDestroySamplerYcbcrConversion,-        vkDestroySamplerYcbcrConversionSafe,-        module Graphics.Vulkan.Types.Enum.InternalAllocationType,-        module Graphics.Vulkan.Types.Enum.SystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Struct.AllocationCallbacks,-        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,-        module Graphics.Vulkan.Types.Struct.Descriptor,-        -- > #include "vk_platform.h"-        VkCreateDescriptorUpdateTemplate,-        pattern VkCreateDescriptorUpdateTemplate,-        HS_vkCreateDescriptorUpdateTemplate,-        PFN_vkCreateDescriptorUpdateTemplate,-        vkCreateDescriptorUpdateTemplate,-        vkCreateDescriptorUpdateTemplateSafe,-        VkDestroyDescriptorUpdateTemplate,-        pattern VkDestroyDescriptorUpdateTemplate,-        HS_vkDestroyDescriptorUpdateTemplate,-        PFN_vkDestroyDescriptorUpdateTemplate,-        vkDestroyDescriptorUpdateTemplate,-        vkDestroyDescriptorUpdateTemplateSafe,-        VkUpdateDescriptorSetWithTemplate,-        pattern VkUpdateDescriptorSetWithTemplate,-        HS_vkUpdateDescriptorSetWithTemplate,-        PFN_vkUpdateDescriptorSetWithTemplate,-        vkUpdateDescriptorSetWithTemplate,-        vkUpdateDescriptorSetWithTemplateSafe,-        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,-        module Graphics.Vulkan.Types.Struct.External,-        module Graphics.Vulkan.Types.Enum.External,-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceExternalBufferProperties,-        pattern VkGetPhysicalDeviceExternalBufferProperties,-        HS_vkGetPhysicalDeviceExternalBufferProperties,-        PFN_vkGetPhysicalDeviceExternalBufferProperties,-        vkGetPhysicalDeviceExternalBufferProperties,-        vkGetPhysicalDeviceExternalBufferPropertiesSafe,-        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-                              module Graphics.Vulkan.Types.Struct.Export,-        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-        ---        -- |-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceExternalFenceProperties,-        pattern VkGetPhysicalDeviceExternalFenceProperties,-        HS_vkGetPhysicalDeviceExternalFenceProperties,-        PFN_vkGetPhysicalDeviceExternalFenceProperties,-        vkGetPhysicalDeviceExternalFenceProperties,-        vkGetPhysicalDeviceExternalFencePropertiesSafe,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,-        pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,-        -- ** Promoted from VK_KHR_external_fence-        module Graphics.Vulkan.Types.Enum.Fence,-        module Graphics.Vulkan.Types.Struct.Fence,-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,-        -- ** Promoted from VK_KHR_external_semaphore-        module Graphics.Vulkan.Types.Struct.Semaphore,-        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-        ---        -- |-        -- > #include "vk_platform.h"-        VkGetPhysicalDeviceExternalSemaphoreProperties,-        pattern VkGetPhysicalDeviceExternalSemaphoreProperties,-        HS_vkGetPhysicalDeviceExternalSemaphoreProperties,-        PFN_vkGetPhysicalDeviceExternalSemaphoreProperties,-        vkGetPhysicalDeviceExternalSemaphoreProperties,-        vkGetPhysicalDeviceExternalSemaphorePropertiesSafe,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,-        pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,-        -- ** Promoted from VK_KHR_maintenance3-        ---        -- |-        -- > #include "vk_platform.h"-        VkGetDescriptorSetLayoutSupport,-        pattern VkGetDescriptorSetLayoutSupport,-        HS_vkGetDescriptorSetLayoutSupport,-        PFN_vkGetDescriptorSetLayoutSupport,-        vkGetDescriptorSetLayoutSupport,-        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-        ---        -- |-        -- > #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-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.Descriptor-import           Graphics.Vulkan.Types.Struct.Device-import           Graphics.Vulkan.Types.Struct.Export-import           Graphics.Vulkan.Types.Struct.Extent-import           Graphics.Vulkan.Types.Struct.External-import           Graphics.Vulkan.Types.Struct.Fence-import           Graphics.Vulkan.Types.Struct.FormatProperties-import           Graphics.Vulkan.Types.Struct.Image-import           Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference-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.ProtectedSubmitInfo-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.Sparse-import           Graphics.Vulkan.Types.Struct.SubmitInfo-import           Graphics.Vulkan.Types.Struct.Subpass-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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkEnumerateInstanceVersion"-               vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion-                                                        -> IO VkResult--#else-vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion-                                         -> IO VkResult-vkEnumerateInstanceVersion-  = unsafeDupablePerformIO (vkGetProc @VkEnumerateInstanceVersion)--{-# NOINLINE vkEnumerateInstanceVersion #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkEnumerateInstanceVersion = Ptr Word32 -- ^ pApiVersion-                                                -> IO VkResult--type PFN_vkEnumerateInstanceVersion =-     FunPtr HS_vkEnumerateInstanceVersion--foreign import ccall unsafe "dynamic"-               unwrapVkEnumerateInstanceVersion ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEnumerateInstanceVersion--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkBindBufferMemory2"-               vkBindBufferMemory2 ::-               VkDevice -- ^ device-                        -> Word32 -- ^ bindInfoCount-                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                                -> IO VkResult--#else-vkBindBufferMemory2 ::-                    VkDevice -- ^ device-                             -> Word32 -- ^ bindInfoCount-                                       -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                                     -> IO VkResult-vkBindBufferMemory2-  = unsafeDupablePerformIO (vkGetProc @VkBindBufferMemory2)--{-# NOINLINE vkBindBufferMemory2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkBindBufferMemory2 =-     VkDevice -- ^ device-              -> Word32 -- ^ bindInfoCount-                        -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos-                                                      -> IO VkResult--type PFN_vkBindBufferMemory2 = FunPtr HS_vkBindBufferMemory2--foreign import ccall unsafe "dynamic" unwrapVkBindBufferMemory2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkBindBufferMemory2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkBindImageMemory2" vkBindImageMemory2-               :: VkDevice -- ^ device-                           -> Word32 -- ^ bindInfoCount-                                     -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                                  -> IO VkResult--#else-vkBindImageMemory2 ::-                   VkDevice -- ^ device-                            -> Word32 -- ^ bindInfoCount-                                      -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                                   -> IO VkResult-vkBindImageMemory2-  = unsafeDupablePerformIO (vkGetProc @VkBindImageMemory2)--{-# NOINLINE vkBindImageMemory2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkBindImageMemory2 =-     VkDevice -- ^ device-              -> Word32 -- ^ bindInfoCount-                        -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos-                                                     -> IO VkResult--type PFN_vkBindImageMemory2 = FunPtr HS_vkBindImageMemory2--foreign import ccall unsafe "dynamic" unwrapVkBindImageMemory2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkBindImageMemory2--        {-# INLINE unwrapVkProcPtr #-}-        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 :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateFlagBits 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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"-               vkGetDeviceGroupPeerMemoryFeatures ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ heapIndex-                        -> Word32 -- ^ localDeviceIndex-                                  -> Word32 -- ^ remoteDeviceIndex-                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                            -> IO ()--#else-vkGetDeviceGroupPeerMemoryFeatures ::-                                   VkDevice -- ^ device-                                            ->-                                     Word32 -- ^ heapIndex-                                            ->-                                       Word32 -- ^ localDeviceIndex-                                              -> Word32 -- ^ remoteDeviceIndex-                                                        -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures-                                                                                        -> IO ()-vkGetDeviceGroupPeerMemoryFeatures-  = unsafeDupablePerformIO-      (vkGetProc @VkGetDeviceGroupPeerMemoryFeatures)--{-# NOINLINE vkGetDeviceGroupPeerMemoryFeatures #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-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"-               unwrapVkGetDeviceGroupPeerMemoryFeatures ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetDeviceGroupPeerMemoryFeatures--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCmdSetDeviceMask" vkCmdSetDeviceMask-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> Word32 -- ^ deviceMask-                                            -> IO ()--#else-vkCmdSetDeviceMask :: VkCommandBuffer -- ^ commandBuffer-                                      -> Word32 -- ^ deviceMask-                                                -> IO ()-vkCmdSetDeviceMask-  = unsafeDupablePerformIO (vkGetProc @VkCmdSetDeviceMask)--{-# NOINLINE vkCmdSetDeviceMask #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkCmdSetDeviceMask = VkCommandBuffer -- ^ commandBuffer-                                             -> Word32 -- ^ deviceMask-                                                       -> IO ()--type PFN_vkCmdSetDeviceMask = FunPtr HS_vkCmdSetDeviceMask--foreign import ccall unsafe "dynamic" unwrapVkCmdSetDeviceMask ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdSetDeviceMask--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCmdDispatchBase" vkCmdDispatchBase-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ baseGroupX-                        -> Word32 -- ^ baseGroupY-                                  -> Word32 -- ^ baseGroupZ-                                            -> Word32 -- ^ groupCountX-                                                      -> Word32 -- ^ groupCountY-                                                                -> Word32 -- ^ groupCountZ-                                                                          -> IO ()--#else-vkCmdDispatchBase ::-                  VkCommandBuffer -- ^ commandBuffer-                                  ->-                    Word32 -- ^ baseGroupX-                           -> Word32 -- ^ baseGroupY-                                     -> Word32 -- ^ baseGroupZ-                                               -> Word32 -- ^ groupCountX-                                                         -> Word32 -- ^ groupCountY-                                                                   -> Word32 -- ^ groupCountZ-                                                                             -> IO ()-vkCmdDispatchBase-  = unsafeDupablePerformIO (vkGetProc @VkCmdDispatchBase)--{-# NOINLINE vkCmdDispatchBase #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-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" unwrapVkCmdDispatchBase ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCmdDispatchBase--        {-# INLINE unwrapVkProcPtr #-}-        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 ::-        VkPipelineCreateFlagBits--pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT =-        VkPipelineCreateFlagBits 8---- | bitpos = @4@-pattern VK_PIPELINE_CREATE_DISPATCH_BASE ::-        VkPipelineCreateFlagBits--pattern VK_PIPELINE_CREATE_DISPATCH_BASE =-        VkPipelineCreateFlagBits 16---- | Dependency is across devices------   bitpos = @2@-pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyFlagBits--pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyFlagBits 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 ::-        VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT =-        VkImageCreateFlagBits 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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"-               vkEnumeratePhysicalDeviceGroups ::-               VkInstance -- ^ instance-                          ->-                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                                   -> IO VkResult--#else-vkEnumeratePhysicalDeviceGroups ::-                                VkInstance -- ^ instance-                                           ->-                                  Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                                             -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                                                    -> IO VkResult-vkEnumeratePhysicalDeviceGroups-  = unsafeDupablePerformIO-      (vkGetProc @VkEnumeratePhysicalDeviceGroups)--{-# NOINLINE vkEnumeratePhysicalDeviceGroups #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkEnumeratePhysicalDeviceGroups =-     VkInstance -- ^ instance-                ->-       Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                  -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties-                                                         -> IO VkResult--type PFN_vkEnumeratePhysicalDeviceGroups =-     FunPtr HS_vkEnumeratePhysicalDeviceGroups--foreign import ccall unsafe "dynamic"-               unwrapVkEnumeratePhysicalDeviceGroups ::-               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 #-}-        unwrapVkProcPtr = unwrapVkEnumeratePhysicalDeviceGroups--        {-# INLINE unwrapVkProcPtr #-}-        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 :: VkMemoryHeapFlagBits--pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = VkMemoryHeapFlagBits 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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetImageMemoryRequirements2"-               vkGetImageMemoryRequirements2 ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                                    ->-                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                             -> IO ()--#else-vkGetImageMemoryRequirements2 ::-                              VkDevice -- ^ device-                                       ->-                                Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                                                   ->-                                  Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                            -> IO ()-vkGetImageMemoryRequirements2-  = unsafeDupablePerformIO (vkGetProc @VkGetImageMemoryRequirements2)--{-# NOINLINE vkGetImageMemoryRequirements2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetImageMemoryRequirements2 =-     VkDevice -- ^ device-              ->-       Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo-                                          ->-         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                   -> IO ()--type PFN_vkGetImageMemoryRequirements2 =-     FunPtr HS_vkGetImageMemoryRequirements2--foreign import ccall unsafe "dynamic"-               unwrapVkGetImageMemoryRequirements2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetImageMemoryRequirements2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetBufferMemoryRequirements2"-               vkGetBufferMemoryRequirements2 ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                                     ->-                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                             -> IO ()--#else-vkGetBufferMemoryRequirements2 ::-                               VkDevice -- ^ device-                                        ->-                                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                                                     ->-                                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                                             -> IO ()-vkGetBufferMemoryRequirements2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetBufferMemoryRequirements2)--{-# NOINLINE vkGetBufferMemoryRequirements2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetBufferMemoryRequirements2 =-     VkDevice -- ^ device-              ->-       Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo-                                           ->-         Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements-                                   -> IO ()--type PFN_vkGetBufferMemoryRequirements2 =-     FunPtr HS_vkGetBufferMemoryRequirements2--foreign import ccall unsafe "dynamic"-               unwrapVkGetBufferMemoryRequirements2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetBufferMemoryRequirements2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"-               vkGetImageSparseMemoryRequirements2 ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                          ->-                   Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                                      -> IO ()--#else-vkGetImageSparseMemoryRequirements2 ::-                                    VkDevice -- ^ device-                                             ->-                                      Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo-                                                                               ->-                                        Ptr Word32 -- ^ pSparseMemoryRequirementCount-                                                   -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements-                                                                                           -> IO ()-vkGetImageSparseMemoryRequirements2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetImageSparseMemoryRequirements2)--{-# NOINLINE vkGetImageSparseMemoryRequirements2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-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"-               unwrapVkGetImageSparseMemoryRequirements2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetImageSparseMemoryRequirements2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"-               vkGetPhysicalDeviceFeatures2 ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                                 -> IO ()--#else-vkGetPhysicalDeviceFeatures2 ::-                             VkPhysicalDevice -- ^ physicalDevice-                                              -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                                               -> IO ()-vkGetPhysicalDeviceFeatures2-  = unsafeDupablePerformIO (vkGetProc @VkGetPhysicalDeviceFeatures2)--{-# NOINLINE vkGetPhysicalDeviceFeatures2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceFeatures2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures-                                                       -> IO ()--type PFN_vkGetPhysicalDeviceFeatures2 =-     FunPtr HS_vkGetPhysicalDeviceFeatures2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFeatures2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFeatures2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"-               vkGetPhysicalDeviceProperties2 ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                                   -> IO ()--#else-vkGetPhysicalDeviceProperties2 ::-                               VkPhysicalDevice -- ^ physicalDevice-                                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                                                   -> IO ()-vkGetPhysicalDeviceProperties2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceProperties2)--{-# NOINLINE vkGetPhysicalDeviceProperties2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties-                                                         -> IO ()--type PFN_vkGetPhysicalDeviceProperties2 =-     FunPtr HS_vkGetPhysicalDeviceProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceProperties2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceProperties2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"-               vkGetPhysicalDeviceFormatProperties2 ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                                       -> IO ()--#else-vkGetPhysicalDeviceFormatProperties2 ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       VkFormat -- ^ format-                                                -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                                           -> IO ()-vkGetPhysicalDeviceFormatProperties2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceFormatProperties2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceFormatProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> VkFormat -- ^ format-                                  -> Ptr VkFormatProperties2 -- ^ pFormatProperties-                                                             -> IO ()--type PFN_vkGetPhysicalDeviceFormatProperties2 =-     FunPtr HS_vkGetPhysicalDeviceFormatProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFormatProperties2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFormatProperties2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceImageFormatProperties2"-               vkGetPhysicalDeviceImageFormatProperties2 ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                                      ->-                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                                -> IO VkResult--#else-vkGetPhysicalDeviceImageFormatProperties2 ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                                                                 ->-                                              Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                                                           -> IO VkResult-vkGetPhysicalDeviceImageFormatProperties2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceImageFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceImageFormatProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo-                                            ->-         Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties-                                      -> IO VkResult--type PFN_vkGetPhysicalDeviceImageFormatProperties2 =-     FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceImageFormatProperties2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceImageFormatProperties2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceQueueFamilyProperties2"-               vkGetPhysicalDeviceQueueFamilyProperties2 ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                            -> IO ()--#else-vkGetPhysicalDeviceQueueFamilyProperties2 ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            Ptr Word32 -- ^ pQueueFamilyPropertyCount-                                                       -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                                                       -> IO ()-vkGetPhysicalDeviceQueueFamilyProperties2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2)--{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceQueueFamilyProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr Word32 -- ^ pQueueFamilyPropertyCount-                  -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties-                                                  -> IO ()--type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 =-     FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceQueueFamilyProperties2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceQueueFamilyProperties2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"-               vkGetPhysicalDeviceMemoryProperties2 ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                                         -> IO ()--#else-vkGetPhysicalDeviceMemoryProperties2 ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                                             -> IO ()-vkGetPhysicalDeviceMemoryProperties2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceMemoryProperties2)--{-# NOINLINE vkGetPhysicalDeviceMemoryProperties2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceMemoryProperties2 =-     VkPhysicalDevice -- ^ physicalDevice-                      -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties-                                                               -> IO ()--type PFN_vkGetPhysicalDeviceMemoryProperties2 =-     FunPtr HS_vkGetPhysicalDeviceMemoryProperties2--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceMemoryProperties2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMemoryProperties2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceSparseImageFormatProperties2"-               vkGetPhysicalDeviceSparseImageFormatProperties2 ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                            ->-                   Ptr Word32 -- ^ pPropertyCount-                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                                    -> IO ()--#else-vkGetPhysicalDeviceSparseImageFormatProperties2 ::-                                                VkPhysicalDevice -- ^ physicalDevice-                                                                 ->-                                                  Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo-                                                                                             ->-                                                    Ptr Word32 -- ^ pPropertyCount-                                                               ->-                                                      Ptr VkSparseImageFormatProperties2 -- ^ pProperties-                                                                                         -> IO ()-vkGetPhysicalDeviceSparseImageFormatProperties2-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2)--{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-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"-               unwrapVkGetPhysicalDeviceSparseImageFormatProperties2 ::-               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 #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkTrimCommandPool" vkTrimCommandPool-               :: VkDevice -- ^ device-                           -> VkCommandPool -- ^ commandPool-                                            -> VkCommandPoolTrimFlags -- ^ flags-                                                                      -> IO ()--#else-vkTrimCommandPool ::-                  VkDevice -- ^ device-                           -> VkCommandPool -- ^ commandPool-                                            -> VkCommandPoolTrimFlags -- ^ flags-                                                                      -> IO ()-vkTrimCommandPool-  = unsafeDupablePerformIO (vkGetProc @VkTrimCommandPool)--{-# NOINLINE vkTrimCommandPool #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkTrimCommandPool =-     VkDevice -- ^ device-              -> VkCommandPool -- ^ commandPool-                               -> VkCommandPoolTrimFlags -- ^ flags-                                                         -> IO ()--type PFN_vkTrimCommandPool = FunPtr HS_vkTrimCommandPool--foreign import ccall unsafe "dynamic" unwrapVkTrimCommandPool ::-               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 #-}-        unwrapVkProcPtr = unwrapVkTrimCommandPool--        {-# INLINE unwrapVkProcPtr #-}-        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 ::-        VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT =-        VkFormatFeatureFlagBits 16384---- | Format can be used as the destination image of image transfer commands------   bitpos = @15@-pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT ::-        VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT =-        VkFormatFeatureFlagBits 32768---- | The 3D image can be viewed as a 2D or 2D array image------   bitpos = @5@-pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ::-        VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT =-        VkImageCreateFlagBits 32---- | bitpos = @7@-pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ::-        VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT =-        VkImageCreateFlagBits 128---- | bitpos = @8@-pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT =-        VkImageCreateFlagBits 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 :: VkDependencyFlagBits--pattern VK_DEPENDENCY_VIEW_LOCAL_BIT = VkDependencyFlagBits 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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetDeviceQueue2" vkGetDeviceQueue2-               :: VkDevice -- ^ device-                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                                     -> Ptr VkQueue -- ^ pQueue-                                                                    -> IO ()--#else-vkGetDeviceQueue2 ::-                  VkDevice -- ^ device-                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                                     -> Ptr VkQueue -- ^ pQueue-                                                                    -> IO ()-vkGetDeviceQueue2-  = unsafeDupablePerformIO (vkGetProc @VkGetDeviceQueue2)--{-# NOINLINE vkGetDeviceQueue2 #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetDeviceQueue2 =-     VkDevice -- ^ device-              -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo-                                        -> Ptr VkQueue -- ^ pQueue-                                                       -> IO ()--type PFN_vkGetDeviceQueue2 = FunPtr HS_vkGetDeviceQueue2--foreign import ccall unsafe "dynamic" unwrapVkGetDeviceQueue2 ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetDeviceQueue2--        {-# INLINE unwrapVkProcPtr #-}-        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 :: VkQueueFlagBits--pattern VK_QUEUE_PROTECTED_BIT = VkQueueFlagBits 16---- | Queue is a protected-capable device queue------   bitpos = @0@-pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT ::-        VkDeviceQueueCreateFlagBits--pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT =-        VkDeviceQueueCreateFlagBits 1---- | Memory is protected------   bitpos = @5@-pattern VK_MEMORY_PROPERTY_PROTECTED_BIT ::-        VkMemoryPropertyFlagBits--pattern VK_MEMORY_PROPERTY_PROTECTED_BIT =-        VkMemoryPropertyFlagBits 32---- | Buffer requires protected memory------   bitpos = @3@-pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateFlagBits--pattern VK_BUFFER_CREATE_PROTECTED_BIT = VkBufferCreateFlagBits 8---- | Image requires protected memory------   bitpos = @11@-pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_PROTECTED_BIT = VkImageCreateFlagBits 2048---- | Command buffers allocated from pool are protected command buffers------   bitpos = @2@-pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT ::-        VkCommandPoolCreateFlagBits--pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT =-        VkCommandPoolCreateFlagBits 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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"-               vkCreateSamplerYcbcrConversion ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                                  -> IO VkResult--#else-vkCreateSamplerYcbcrConversion ::-                               VkDevice -- ^ device-                                        ->-                                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo-                                                                        ->-                                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             ->-                                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion-                                                                  -> IO VkResult-vkCreateSamplerYcbcrConversion-  = unsafeDupablePerformIO-      (vkGetProc @VkCreateSamplerYcbcrConversion)--{-# NOINLINE vkCreateSamplerYcbcrConversion #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-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"-               unwrapVkCreateSamplerYcbcrConversion ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateSamplerYcbcrConversion--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"-               vkDestroySamplerYcbcrConversion ::-               VkDevice -- ^ device-                        ->-                 VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()--#else-vkDestroySamplerYcbcrConversion ::-                                VkDevice -- ^ device-                                         ->-                                  VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                        -> IO ()-vkDestroySamplerYcbcrConversion-  = unsafeDupablePerformIO-      (vkGetProc @VkDestroySamplerYcbcrConversion)--{-# NOINLINE vkDestroySamplerYcbcrConversion #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkDestroySamplerYcbcrConversion =-     VkDevice -- ^ device-              ->-       VkSamplerYcbcrConversion -- ^ ycbcrConversion-                                -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             -> IO ()--type PFN_vkDestroySamplerYcbcrConversion =-     FunPtr HS_vkDestroySamplerYcbcrConversion--foreign import ccall unsafe "dynamic"-               unwrapVkDestroySamplerYcbcrConversion ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroySamplerYcbcrConversion--        {-# INLINE unwrapVkProcPtr #-}-        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 :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_0_BIT = VkImageAspectFlagBits 16---- | bitpos = @5@-pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_1_BIT = VkImageAspectFlagBits 32---- | bitpos = @6@-pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_2_BIT = VkImageAspectFlagBits 64---- | bitpos = @9@-pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_DISJOINT_BIT = VkImageCreateFlagBits 512---- | Format can have midpoint rather than cosited chroma samples------   bitpos = @17@-pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ::-        VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT =-        VkFormatFeatureFlagBits 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-        :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT-        = VkFormatFeatureFlagBits 262144---- | Format can have different chroma, min and mag filters------   bitpos = @19@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT-        :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT-        = VkFormatFeatureFlagBits 524288---- | bitpos = @20@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT-        :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT-        = VkFormatFeatureFlagBits 1048576---- | bitpos = @21@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT-        :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT-        = VkFormatFeatureFlagBits 2097152---- | Format supports disjoint planes------   bitpos = @22@-pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_DISJOINT_BIT =-        VkFormatFeatureFlagBits 4194304---- | Format can have cosited rather than midpoint chroma samples------   bitpos = @23@-pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ::-        VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT =-        VkFormatFeatureFlagBits 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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"-               vkCreateDescriptorUpdateTemplate ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                                    -> IO VkResult--#else-vkCreateDescriptorUpdateTemplate ::-                                 VkDevice -- ^ device-                                          ->-                                   Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo-                                                                            ->-                                     Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               ->-                                       Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate-                                                                      -> IO VkResult-vkCreateDescriptorUpdateTemplate-  = unsafeDupablePerformIO-      (vkGetProc @VkCreateDescriptorUpdateTemplate)--{-# NOINLINE vkCreateDescriptorUpdateTemplate #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-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"-               unwrapVkCreateDescriptorUpdateTemplate ::-               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 #-}-        unwrapVkProcPtr = unwrapVkCreateDescriptorUpdateTemplate--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"-               vkDestroyDescriptorUpdateTemplate ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()--#else-vkDestroyDescriptorUpdateTemplate ::-                                  VkDevice -- ^ device-                                           ->-                                    VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                                            -> IO ()-vkDestroyDescriptorUpdateTemplate-  = unsafeDupablePerformIO-      (vkGetProc @VkDestroyDescriptorUpdateTemplate)--{-# NOINLINE vkDestroyDescriptorUpdateTemplate #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkDestroyDescriptorUpdateTemplate =-     VkDevice -- ^ device-              ->-       VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                  -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                               -> IO ()--type PFN_vkDestroyDescriptorUpdateTemplate =-     FunPtr HS_vkDestroyDescriptorUpdateTemplate--foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDescriptorUpdateTemplate ::-               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 #-}-        unwrapVkProcPtr = unwrapVkDestroyDescriptorUpdateTemplate--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"-               vkUpdateDescriptorSetWithTemplate ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorSet -- ^ descriptorSet-                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                               -> Ptr Void -- ^ pData-                                                                           -> IO ()--#else-vkUpdateDescriptorSetWithTemplate ::-                                  VkDevice -- ^ device-                                           ->-                                    VkDescriptorSet -- ^ descriptorSet-                                                    ->-                                      VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                                 -> Ptr Void -- ^ pData-                                                                             -> IO ()-vkUpdateDescriptorSetWithTemplate-  = unsafeDupablePerformIO-      (vkGetProc @VkUpdateDescriptorSetWithTemplate)--{-# NOINLINE vkUpdateDescriptorSetWithTemplate #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkUpdateDescriptorSetWithTemplate =-     VkDevice -- ^ device-              ->-       VkDescriptorSet -- ^ descriptorSet-                       -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate-                                                     -> Ptr Void -- ^ pData-                                                                 -> IO ()--type PFN_vkUpdateDescriptorSetWithTemplate =-     FunPtr HS_vkUpdateDescriptorSetWithTemplate--foreign import ccall unsafe "dynamic"-               unwrapVkUpdateDescriptorSetWithTemplate ::-               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 #-}-        unwrapVkProcPtr = unwrapVkUpdateDescriptorSetWithTemplate--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalBufferProperties"-               vkGetPhysicalDeviceExternalBufferProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                                        ->-                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                                  -> IO ()--#else-vkGetPhysicalDeviceExternalBufferProperties ::-                                            VkPhysicalDevice -- ^ physicalDevice-                                                             ->-                                              Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                                                                     ->-                                                Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                                                               -> IO ()-vkGetPhysicalDeviceExternalBufferProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceExternalBufferProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalBufferProperties #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceExternalBufferProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo-                                              ->-         Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties-                                        -> IO ()--type PFN_vkGetPhysicalDeviceExternalBufferProperties =-     FunPtr HS_vkGetPhysicalDeviceExternalBufferProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalBufferProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceExternalBufferProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalFenceProperties"-               vkGetPhysicalDeviceExternalFenceProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                                       ->-                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                                 -> IO ()--#else-vkGetPhysicalDeviceExternalFenceProperties ::-                                           VkPhysicalDevice -- ^ physicalDevice-                                                            ->-                                             Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                                                                   ->-                                               Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                                                             -> IO ()-vkGetPhysicalDeviceExternalFenceProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceExternalFenceProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalFenceProperties #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceExternalFenceProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo-                                             ->-         Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties-                                       -> IO ()--type PFN_vkGetPhysicalDeviceExternalFenceProperties =-     FunPtr HS_vkGetPhysicalDeviceExternalFenceProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalFenceProperties ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceExternalFenceProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalSemaphoreProperties"-               vkGetPhysicalDeviceExternalSemaphoreProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                           ->-                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                                     -> IO ()--#else-vkGetPhysicalDeviceExternalSemaphoreProperties ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                ->-                                                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                                                           ->-                                                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                                                                     -> IO ()-vkGetPhysicalDeviceExternalSemaphoreProperties-  = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties)--{-# NOINLINE vkGetPhysicalDeviceExternalSemaphoreProperties #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetPhysicalDeviceExternalSemaphoreProperties =-     VkPhysicalDevice -- ^ physicalDevice-                      ->-       Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo-                                                 ->-         Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties-                                           -> IO ()--type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties =-     FunPtr HS_vkGetPhysicalDeviceExternalSemaphoreProperties--foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalSemaphoreProperties ::-               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 #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceExternalSemaphoreProperties--        {-# INLINE unwrapVkProcPtr #-}-        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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#ifdef NATIVE_FFI_VK_VERSION_1_1-foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"-               vkGetDescriptorSetLayoutSupport ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                     ->-                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                                    -> IO ()--#else-vkGetDescriptorSetLayoutSupport ::-                                VkDevice -- ^ device-                                         ->-                                  Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                                      ->-                                    Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                                                     -> IO ()-vkGetDescriptorSetLayoutSupport-  = unsafeDupablePerformIO-      (vkGetProc @VkGetDescriptorSetLayoutSupport)--{-# NOINLINE vkGetDescriptorSetLayoutSupport #-}-#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:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.----#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>-type HS_vkGetDescriptorSetLayoutSupport =-     VkDevice -- ^ device-              ->-       Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                           ->-         Ptr VkDescriptorSetLayoutSupport -- ^ pSupport-                                          -> IO ()--type PFN_vkGetDescriptorSetLayoutSupport =-     FunPtr HS_vkGetDescriptorSetLayoutSupport--foreign import ccall unsafe "dynamic"-               unwrapVkGetDescriptorSetLayoutSupport ::-               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 #-}-        unwrapVkProcPtr = unwrapVkGetDescriptorSetLayoutSupport--        {-# INLINE unwrapVkProcPtr #-}+        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,+        module Graphics.Vulkan.Types.Struct.PhysicalDevice,+        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+        module Graphics.Vulkan.Types.Struct.Bind, -- > #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,+        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,+        module Graphics.Vulkan.Types.Struct.Device,+        module Graphics.Vulkan.Types.Enum.Device,+        module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,+        -- ** Promoted from VK_KHR_dedicated_allocation+        module Graphics.Vulkan.Types.Struct.Memory,+        -- > #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+        module Graphics.Vulkan.Types.Struct.Clear,+        module Graphics.Vulkan.Types.Struct.Command,+        module Graphics.Vulkan.Types.Enum.Command,+        module Graphics.Vulkan.Types.Struct.Extent,+        module Graphics.Vulkan.Types.Enum.Image,+        module Graphics.Vulkan.Types.Struct.Image,+        module Graphics.Vulkan.Types.Enum.Memory,+        module Graphics.Vulkan.Types.Struct.Offset,+        module Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag,+        module Graphics.Vulkan.Types.Enum.Pipeline,+        module Graphics.Vulkan.Types.Enum.Query,+        module Graphics.Vulkan.Types.Struct.Rect,+        module Graphics.Vulkan.Types.Struct.RenderPass,+        module Graphics.Vulkan.Types.Struct.Sparse,+        module Graphics.Vulkan.Types.Enum.Sparse,+        module Graphics.Vulkan.Types.Struct.SubmitInfo,+        -- > #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+        --+        -- |+        -- > #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+        --+        -- |+        -- > #include "vk_platform.h"+        VkEnumeratePhysicalDeviceGroups,+        pattern VkEnumeratePhysicalDeviceGroups,+        HS_vkEnumeratePhysicalDeviceGroups,+        PFN_vkEnumeratePhysicalDeviceGroups,+        vkEnumeratePhysicalDeviceGroups,+        vkEnumeratePhysicalDeviceGroupsUnsafe,+        vkEnumeratePhysicalDeviceGroupsSafe,+        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+        module Graphics.Vulkan.Types.Struct.Buffer,+        -- > #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,+        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+        module Graphics.Vulkan.Types.Enum.Format,+        module Graphics.Vulkan.Types.Struct.FormatProperties,+        module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,+        module Graphics.Vulkan.Types.Enum.Queue,+        -- > #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,+        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,+        module Graphics.Vulkan.Types.Struct.Attachment,+        module Graphics.Vulkan.Types.Enum.Attachment,+        module Graphics.Vulkan.Types.Struct.ComponentMapping,+        module Graphics.Vulkan.Types.Enum.ComponentSwizzle,+        module Graphics.Vulkan.Types.Enum.DependencyFlags,+        module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference,+        module Graphics.Vulkan.Types.Struct.Pipeline,+        module Graphics.Vulkan.Types.Enum.PointClippingBehavior,+        module Graphics.Vulkan.Types.Struct.Subpass,+        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+        --+        -- |+        -- > #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+        --+        -- |+        -- > #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.+        module Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo,+        -- > #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+        module Graphics.Vulkan.Types.Enum.BorderColor,+        module Graphics.Vulkan.Types.Enum.ChromaLocation,+        module Graphics.Vulkan.Types.Enum.CompareOp,+        module Graphics.Vulkan.Types.Enum.Filter,+        module Graphics.Vulkan.Types.Enum.Sampler,+        module Graphics.Vulkan.Types.Struct.Sampler,+        -- > #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,+        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,+        module Graphics.Vulkan.Types.Struct.Descriptor,+        -- > #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,+        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,+        module Graphics.Vulkan.Types.Struct.External,+        module Graphics.Vulkan.Types.Enum.External,+        -- > #include "vk_platform.h"+        VkGetPhysicalDeviceExternalBufferProperties,+        pattern VkGetPhysicalDeviceExternalBufferProperties,+        HS_vkGetPhysicalDeviceExternalBufferProperties,+        PFN_vkGetPhysicalDeviceExternalBufferProperties,+        vkGetPhysicalDeviceExternalBufferProperties,+        vkGetPhysicalDeviceExternalBufferPropertiesUnsafe,+        vkGetPhysicalDeviceExternalBufferPropertiesSafe,+        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+                              module Graphics.Vulkan.Types.Struct.Export,+        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+        --+        -- |+        -- > #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+        module Graphics.Vulkan.Types.Enum.Fence,+        module Graphics.Vulkan.Types.Struct.Fence,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,+        -- ** Promoted from VK_KHR_external_semaphore+        module Graphics.Vulkan.Types.Struct.Semaphore,+        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+        --+        -- |+        -- > #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+        --+        -- |+        -- > #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+        --+        -- |+        -- > #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+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.Descriptor+import           Graphics.Vulkan.Types.Struct.Device+import           Graphics.Vulkan.Types.Struct.Export+import           Graphics.Vulkan.Types.Struct.Extent+import           Graphics.Vulkan.Types.Struct.External+import           Graphics.Vulkan.Types.Struct.Fence+import           Graphics.Vulkan.Types.Struct.FormatProperties+import           Graphics.Vulkan.Types.Struct.Image+import           Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference+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.ProtectedSubmitInfo+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.Sparse+import           Graphics.Vulkan.Types.Struct.SubmitInfo+import           Graphics.Vulkan.Types.Struct.Subpass+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 :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateFlagBits 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 ::+        VkPipelineCreateFlagBits++pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT =+        VkPipelineCreateFlagBits 8++-- | bitpos = @4@+pattern VK_PIPELINE_CREATE_DISPATCH_BASE ::+        VkPipelineCreateFlagBits++pattern VK_PIPELINE_CREATE_DISPATCH_BASE =+        VkPipelineCreateFlagBits 16++-- | Dependency is across devices+--+--   bitpos = @2@+pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyFlagBits++pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyFlagBits 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 ::+        VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT =+        VkImageCreateFlagBits 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 :: VkMemoryHeapFlagBits++pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = VkMemoryHeapFlagBits 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 ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT =+        VkFormatFeatureFlagBits 16384++-- | Format can be used as the destination image of image transfer commands+--+--   bitpos = @15@+pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT =+        VkFormatFeatureFlagBits 32768++-- | The 3D image can be viewed as a 2D or 2D array image+--+--   bitpos = @5@+pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ::+        VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT =+        VkImageCreateFlagBits 32++-- | bitpos = @7@+pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ::+        VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT =+        VkImageCreateFlagBits 128++-- | bitpos = @8@+pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT =+        VkImageCreateFlagBits 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 :: VkDependencyFlagBits++pattern VK_DEPENDENCY_VIEW_LOCAL_BIT = VkDependencyFlagBits 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 :: VkQueueFlagBits++pattern VK_QUEUE_PROTECTED_BIT = VkQueueFlagBits 16++-- | Queue is a protected-capable device queue+--+--   bitpos = @0@+pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT ::+        VkDeviceQueueCreateFlagBits++pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT =+        VkDeviceQueueCreateFlagBits 1++-- | Memory is protected+--+--   bitpos = @5@+pattern VK_MEMORY_PROPERTY_PROTECTED_BIT ::+        VkMemoryPropertyFlagBits++pattern VK_MEMORY_PROPERTY_PROTECTED_BIT =+        VkMemoryPropertyFlagBits 32++-- | Buffer requires protected memory+--+--   bitpos = @3@+pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateFlagBits++pattern VK_BUFFER_CREATE_PROTECTED_BIT = VkBufferCreateFlagBits 8++-- | Image requires protected memory+--+--   bitpos = @11@+pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_PROTECTED_BIT = VkImageCreateFlagBits 2048++-- | Command buffers allocated from pool are protected command buffers+--+--   bitpos = @2@+pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT ::+        VkCommandPoolCreateFlagBits++pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT =+        VkCommandPoolCreateFlagBits 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 :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_0_BIT = VkImageAspectFlagBits 16++-- | bitpos = @5@+pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_1_BIT = VkImageAspectFlagBits 32++-- | bitpos = @6@+pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_2_BIT = VkImageAspectFlagBits 64++-- | bitpos = @9@+pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_DISJOINT_BIT = VkImageCreateFlagBits 512++-- | Format can have midpoint rather than cosited chroma samples+--+--   bitpos = @17@+pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT =+        VkFormatFeatureFlagBits 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+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT+        = VkFormatFeatureFlagBits 262144++-- | Format can have different chroma, min and mag filters+--+--   bitpos = @19@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+        = VkFormatFeatureFlagBits 524288++-- | bitpos = @20@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+        = VkFormatFeatureFlagBits 1048576++-- | bitpos = @21@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+        = VkFormatFeatureFlagBits 2097152++-- | Format supports disjoint planes+--+--   bitpos = @22@+pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_DISJOINT_BIT =+        VkFormatFeatureFlagBits 4194304++-- | Format can have cosited rather than midpoint chroma samples+--+--   bitpos = @23@+pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT =+        VkFormatFeatureFlagBits 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 #-}
src-gen/Graphics/Vulkan/Ext.hs view
@@ -123,6 +123,7 @@     , module Graphics.Vulkan.Ext.VK_KHR_maintenance2     , module Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2     , module Graphics.Vulkan.Ext.VK_KHR_variable_pointers+    , module Graphics.Vulkan.Ext.VK_KHR_get_display_properties2 #ifdef VK_USE_PLATFORM_IOS_MVK     , module Graphics.Vulkan.Ext.VK_MVK_ios_surface #endif@@ -160,6 +161,7 @@     , module Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing     , module Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer     , module Graphics.Vulkan.Ext.VK_KHR_maintenance3+    , module Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count     , module Graphics.Vulkan.Ext.VK_EXT_global_priority     , module Graphics.Vulkan.Ext.VK_EXT_external_memory_host     , module Graphics.Vulkan.Ext.VK_AMD_buffer_marker@@ -290,6 +292,7 @@ import Graphics.Vulkan.Ext.VK_KHR_maintenance2 import Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2 import Graphics.Vulkan.Ext.VK_KHR_variable_pointers+import Graphics.Vulkan.Ext.VK_KHR_get_display_properties2 #ifdef VK_USE_PLATFORM_IOS_MVK import Graphics.Vulkan.Ext.VK_MVK_ios_surface #endif@@ -327,6 +330,7 @@ import Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing import Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer import Graphics.Vulkan.Ext.VK_KHR_maintenance3+import Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count import Graphics.Vulkan.Ext.VK_EXT_global_priority import Graphics.Vulkan.Ext.VK_EXT_external_memory_host import Graphics.Vulkan.Ext.VK_AMD_buffer_marker
src-gen/Graphics/Vulkan/Ext/VK_AMD_buffer_marker.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Daniel Rakos @aqnuep@+        -- contact: @Daniel Rakos @drakos-amd@         --         -- author: @AMD@         --@@ -88,7 +89,7 @@      FunPtr HS_vkCmdWriteBufferMarkerAMD  foreign import ccall unsafe "dynamic"-               unwrapVkCmdWriteBufferMarkerAMD ::+               unwrapVkCmdWriteBufferMarkerAMDUnsafe ::                PFN_vkCmdWriteBufferMarkerAMD -> HS_vkCmdWriteBufferMarkerAMD  foreign import ccall safe "dynamic"@@ -101,9 +102,9 @@         vkProcSymbol = _VkCmdWriteBufferMarkerAMD          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdWriteBufferMarkerAMD+        unwrapVkProcPtrUnsafe = unwrapVkCmdWriteBufferMarkerAMDUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdWriteBufferMarkerAMDSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_AMD_draw_indirect_count.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Daniel Rakos @aqnuep@+        -- contact: @Daniel Rakos @drakos-amd@         --         -- author: @AMD@         --@@ -94,7 +95,7 @@      FunPtr HS_vkCmdDrawIndirectCountAMD  foreign import ccall unsafe "dynamic"-               unwrapVkCmdDrawIndirectCountAMD ::+               unwrapVkCmdDrawIndirectCountAMDUnsafe ::                PFN_vkCmdDrawIndirectCountAMD -> HS_vkCmdDrawIndirectCountAMD  foreign import ccall safe "dynamic"@@ -107,9 +108,9 @@         vkProcSymbol = _VkCmdDrawIndirectCountAMD          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdDrawIndirectCountAMD+        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectCountAMDUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectCountAMDSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -170,7 +171,7 @@      FunPtr HS_vkCmdDrawIndexedIndirectCountAMD  foreign import ccall unsafe "dynamic"-               unwrapVkCmdDrawIndexedIndirectCountAMD ::+               unwrapVkCmdDrawIndexedIndirectCountAMDUnsafe ::                PFN_vkCmdDrawIndexedIndirectCountAMD ->                  HS_vkCmdDrawIndexedIndirectCountAMD @@ -185,9 +186,10 @@         vkProcSymbol = _VkCmdDrawIndexedIndirectCountAMD          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdDrawIndexedIndirectCountAMD+        unwrapVkProcPtrUnsafe+          = unwrapVkCmdDrawIndexedIndirectCountAMDUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectCountAMDSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_AMD_gcn_shader.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @dominik.witczak@amd.com@+        -- contact: @Dominik Witczak @dominikwitczakamd@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_half_float.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Dominik Witczak @dominikwitczak_amd@+        -- contact: @Dominik Witczak @dominikwitczakamd@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_int16.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @quentin.lin@amd.com@+        -- contact: @Qun Lin, AMD @linqun@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_rasterization_order.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Daniel Rakos @aqnuep@+        -- contact: @Daniel Rakos @drakos-amd@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_ballot.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Dominik Witczak @dominikwitczak_amd@+        -- contact: @Dominik Witczak @dominikwitczakamd@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_explicit_vertex_parameter.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @quentin.lin@amd.com@+        -- contact: @Qun Lin, AMD @linqun@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_fragment_mask.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Aaron Hagan @ahagan@+        -- contact: @Aaron Hagan @AaronHaganAMD@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_image_load_store_lod.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Dominik Witczak @dominikwitczak_amd@+        -- contact: @Dominik Witczak @dominikwitczakamd@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_info.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jaakko Konttinen @jaakko@+        -- contact: @Jaakko Konttinen @jaakkoamd@         --         -- author: @AMD@         --@@ -89,7 +90,8 @@  type PFN_vkGetShaderInfoAMD = FunPtr HS_vkGetShaderInfoAMD -foreign import ccall unsafe "dynamic" unwrapVkGetShaderInfoAMD ::+foreign import ccall unsafe "dynamic"+               unwrapVkGetShaderInfoAMDUnsafe ::                PFN_vkGetShaderInfoAMD -> HS_vkGetShaderInfoAMD  foreign import ccall safe "dynamic" unwrapVkGetShaderInfoAMDSafe ::@@ -100,9 +102,9 @@         vkProcSymbol = _VkGetShaderInfoAMD          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetShaderInfoAMD+        unwrapVkProcPtrUnsafe = unwrapVkGetShaderInfoAMDUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetShaderInfoAMDSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_trinary_minmax.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @quentin.lin@amd.com@+        -- contact: @Qun Lin, AMD @linqun@         --         -- author: @AMD@         --
src-gen/Graphics/Vulkan/Ext/VK_ANDROID_external_memory_android_hardware_buffer.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall@+        -- contact: @Jesse Hall @critsec@         --         -- author: @ANDROID@         --@@ -139,7 +140,7 @@      FunPtr HS_vkGetAndroidHardwareBufferPropertiesANDROID  foreign import ccall unsafe "dynamic"-               unwrapVkGetAndroidHardwareBufferPropertiesANDROID ::+               unwrapVkGetAndroidHardwareBufferPropertiesANDROIDUnsafe ::                PFN_vkGetAndroidHardwareBufferPropertiesANDROID ->                  HS_vkGetAndroidHardwareBufferPropertiesANDROID @@ -155,9 +156,10 @@         vkProcSymbol = _VkGetAndroidHardwareBufferPropertiesANDROID          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetAndroidHardwareBufferPropertiesANDROID+        unwrapVkProcPtrUnsafe+          = unwrapVkGetAndroidHardwareBufferPropertiesANDROIDUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetAndroidHardwareBufferPropertiesANDROIDSafe @@ -208,7 +210,7 @@      FunPtr HS_vkGetMemoryAndroidHardwareBufferANDROID  foreign import ccall unsafe "dynamic"-               unwrapVkGetMemoryAndroidHardwareBufferANDROID ::+               unwrapVkGetMemoryAndroidHardwareBufferANDROIDUnsafe ::                PFN_vkGetMemoryAndroidHardwareBufferANDROID ->                  HS_vkGetMemoryAndroidHardwareBufferANDROID @@ -223,9 +225,10 @@         vkProcSymbol = _VkGetMemoryAndroidHardwareBufferANDROID          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetMemoryAndroidHardwareBufferANDROID+        unwrapVkProcPtrUnsafe+          = unwrapVkGetMemoryAndroidHardwareBufferANDROIDUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetMemoryAndroidHardwareBufferANDROIDSafe 
src-gen/Graphics/Vulkan/Ext/VK_EXT_acquire_xlib_display.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -85,8 +86,9 @@ type PFN_vkAcquireXlibDisplayEXT =      FunPtr HS_vkAcquireXlibDisplayEXT -foreign import ccall unsafe "dynamic" unwrapVkAcquireXlibDisplayEXT-               :: PFN_vkAcquireXlibDisplayEXT -> HS_vkAcquireXlibDisplayEXT+foreign import ccall unsafe "dynamic"+               unwrapVkAcquireXlibDisplayEXTUnsafe ::+               PFN_vkAcquireXlibDisplayEXT -> HS_vkAcquireXlibDisplayEXT  foreign import ccall safe "dynamic"                unwrapVkAcquireXlibDisplayEXTSafe ::@@ -98,9 +100,9 @@         vkProcSymbol = _VkAcquireXlibDisplayEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkAcquireXlibDisplayEXT+        unwrapVkProcPtrUnsafe = unwrapVkAcquireXlibDisplayEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkAcquireXlibDisplayEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -146,7 +148,7 @@      FunPtr HS_vkGetRandROutputDisplayEXT  foreign import ccall unsafe "dynamic"-               unwrapVkGetRandROutputDisplayEXT ::+               unwrapVkGetRandROutputDisplayEXTUnsafe ::                PFN_vkGetRandROutputDisplayEXT -> HS_vkGetRandROutputDisplayEXT  foreign import ccall safe "dynamic"@@ -159,9 +161,9 @@         vkProcSymbol = _VkGetRandROutputDisplayEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetRandROutputDisplayEXT+        unwrapVkProcPtrUnsafe = unwrapVkGetRandROutputDisplayEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetRandROutputDisplayEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_blend_operation_advanced.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_EXT_conservative_rasterization.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Piers Daniell @pdaniell@+        -- contact: @Piers Daniell @pdaniell-nv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_marker.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @baldurk@baldurk.org@+        -- contact: @Baldur Karlsson @baldurk@         --         -- author: @Baldur Karlsson@         --@@ -101,7 +102,7 @@      FunPtr HS_vkDebugMarkerSetObjectTagEXT  foreign import ccall unsafe "dynamic"-               unwrapVkDebugMarkerSetObjectTagEXT ::+               unwrapVkDebugMarkerSetObjectTagEXTUnsafe ::                PFN_vkDebugMarkerSetObjectTagEXT -> HS_vkDebugMarkerSetObjectTagEXT  foreign import ccall safe "dynamic"@@ -114,9 +115,9 @@         vkProcSymbol = _VkDebugMarkerSetObjectTagEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDebugMarkerSetObjectTagEXT+        unwrapVkProcPtrUnsafe = unwrapVkDebugMarkerSetObjectTagEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDebugMarkerSetObjectTagEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -162,7 +163,7 @@      FunPtr HS_vkDebugMarkerSetObjectNameEXT  foreign import ccall unsafe "dynamic"-               unwrapVkDebugMarkerSetObjectNameEXT ::+               unwrapVkDebugMarkerSetObjectNameEXTUnsafe ::                PFN_vkDebugMarkerSetObjectNameEXT ->                  HS_vkDebugMarkerSetObjectNameEXT @@ -177,9 +178,9 @@         vkProcSymbol = _VkDebugMarkerSetObjectNameEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDebugMarkerSetObjectNameEXT+        unwrapVkProcPtrUnsafe = unwrapVkDebugMarkerSetObjectNameEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDebugMarkerSetObjectNameEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -222,7 +223,7 @@      FunPtr HS_vkCmdDebugMarkerBeginEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCmdDebugMarkerBeginEXT ::+               unwrapVkCmdDebugMarkerBeginEXTUnsafe ::                PFN_vkCmdDebugMarkerBeginEXT -> HS_vkCmdDebugMarkerBeginEXT  foreign import ccall safe "dynamic"@@ -235,9 +236,9 @@         vkProcSymbol = _VkCmdDebugMarkerBeginEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdDebugMarkerBeginEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerBeginEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerBeginEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -275,8 +276,9 @@  type PFN_vkCmdDebugMarkerEndEXT = FunPtr HS_vkCmdDebugMarkerEndEXT -foreign import ccall unsafe "dynamic" unwrapVkCmdDebugMarkerEndEXT-               :: PFN_vkCmdDebugMarkerEndEXT -> HS_vkCmdDebugMarkerEndEXT+foreign import ccall unsafe "dynamic"+               unwrapVkCmdDebugMarkerEndEXTUnsafe ::+               PFN_vkCmdDebugMarkerEndEXT -> HS_vkCmdDebugMarkerEndEXT  foreign import ccall safe "dynamic"                unwrapVkCmdDebugMarkerEndEXTSafe ::@@ -288,9 +290,9 @@         vkProcSymbol = _VkCmdDebugMarkerEndEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdDebugMarkerEndEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerEndEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerEndEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -333,7 +335,7 @@      FunPtr HS_vkCmdDebugMarkerInsertEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCmdDebugMarkerInsertEXT ::+               unwrapVkCmdDebugMarkerInsertEXTUnsafe ::                PFN_vkCmdDebugMarkerInsertEXT -> HS_vkCmdDebugMarkerInsertEXT  foreign import ccall safe "dynamic"@@ -346,9 +348,9 @@         vkProcSymbol = _VkCmdDebugMarkerInsertEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdDebugMarkerInsertEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdDebugMarkerInsertEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdDebugMarkerInsertEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_report.hs view
@@ -2,6 +2,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -16,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Courtney Goeltzenleuchter @courtney@+        -- contact: @Courtney Goeltzenleuchter @courtney-g@         --         -- author: @GOOGLE@         --@@ -126,7 +127,7 @@      FunPtr HS_vkCreateDebugReportCallbackEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCreateDebugReportCallbackEXT ::+               unwrapVkCreateDebugReportCallbackEXTUnsafe ::                PFN_vkCreateDebugReportCallbackEXT ->                  HS_vkCreateDebugReportCallbackEXT @@ -141,9 +142,9 @@         vkProcSymbol = _VkCreateDebugReportCallbackEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateDebugReportCallbackEXT+        unwrapVkProcPtrUnsafe = unwrapVkCreateDebugReportCallbackEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateDebugReportCallbackEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -188,7 +189,7 @@      FunPtr HS_vkDestroyDebugReportCallbackEXT  foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDebugReportCallbackEXT ::+               unwrapVkDestroyDebugReportCallbackEXTUnsafe ::                PFN_vkDestroyDebugReportCallbackEXT ->                  HS_vkDestroyDebugReportCallbackEXT @@ -203,9 +204,9 @@         vkProcSymbol = _VkDestroyDebugReportCallbackEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroyDebugReportCallbackEXT+        unwrapVkProcPtrUnsafe = unwrapVkDestroyDebugReportCallbackEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroyDebugReportCallbackEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -258,8 +259,9 @@ type PFN_vkDebugReportMessageEXT =      FunPtr HS_vkDebugReportMessageEXT -foreign import ccall unsafe "dynamic" unwrapVkDebugReportMessageEXT-               :: PFN_vkDebugReportMessageEXT -> HS_vkDebugReportMessageEXT+foreign import ccall unsafe "dynamic"+               unwrapVkDebugReportMessageEXTUnsafe ::+               PFN_vkDebugReportMessageEXT -> HS_vkDebugReportMessageEXT  foreign import ccall safe "dynamic"                unwrapVkDebugReportMessageEXTSafe ::@@ -271,9 +273,9 @@         vkProcSymbol = _VkDebugReportMessageEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDebugReportMessageEXT+        unwrapVkProcPtrUnsafe = unwrapVkDebugReportMessageEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDebugReportMessageEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_utils.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Mark Young @MarkY_LunarG@+        -- contact: @Mark Young @marky-lunarg@         --         -- author: @EXT@         --@@ -145,7 +146,7 @@      FunPtr HS_vkSetDebugUtilsObjectNameEXT  foreign import ccall unsafe "dynamic"-               unwrapVkSetDebugUtilsObjectNameEXT ::+               unwrapVkSetDebugUtilsObjectNameEXTUnsafe ::                PFN_vkSetDebugUtilsObjectNameEXT -> HS_vkSetDebugUtilsObjectNameEXT  foreign import ccall safe "dynamic"@@ -158,9 +159,9 @@         vkProcSymbol = _VkSetDebugUtilsObjectNameEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkSetDebugUtilsObjectNameEXT+        unwrapVkProcPtrUnsafe = unwrapVkSetDebugUtilsObjectNameEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkSetDebugUtilsObjectNameEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -204,7 +205,7 @@      FunPtr HS_vkSetDebugUtilsObjectTagEXT  foreign import ccall unsafe "dynamic"-               unwrapVkSetDebugUtilsObjectTagEXT ::+               unwrapVkSetDebugUtilsObjectTagEXTUnsafe ::                PFN_vkSetDebugUtilsObjectTagEXT -> HS_vkSetDebugUtilsObjectTagEXT  foreign import ccall safe "dynamic"@@ -217,9 +218,9 @@         vkProcSymbol = _VkSetDebugUtilsObjectTagEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkSetDebugUtilsObjectTagEXT+        unwrapVkProcPtrUnsafe = unwrapVkSetDebugUtilsObjectTagEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkSetDebugUtilsObjectTagEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -261,7 +262,7 @@      FunPtr HS_vkQueueBeginDebugUtilsLabelEXT  foreign import ccall unsafe "dynamic"-               unwrapVkQueueBeginDebugUtilsLabelEXT ::+               unwrapVkQueueBeginDebugUtilsLabelEXTUnsafe ::                PFN_vkQueueBeginDebugUtilsLabelEXT ->                  HS_vkQueueBeginDebugUtilsLabelEXT @@ -276,9 +277,9 @@         vkProcSymbol = _VkQueueBeginDebugUtilsLabelEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkQueueBeginDebugUtilsLabelEXT+        unwrapVkProcPtrUnsafe = unwrapVkQueueBeginDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkQueueBeginDebugUtilsLabelEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -315,7 +316,7 @@      FunPtr HS_vkQueueEndDebugUtilsLabelEXT  foreign import ccall unsafe "dynamic"-               unwrapVkQueueEndDebugUtilsLabelEXT ::+               unwrapVkQueueEndDebugUtilsLabelEXTUnsafe ::                PFN_vkQueueEndDebugUtilsLabelEXT -> HS_vkQueueEndDebugUtilsLabelEXT  foreign import ccall safe "dynamic"@@ -328,9 +329,9 @@         vkProcSymbol = _VkQueueEndDebugUtilsLabelEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkQueueEndDebugUtilsLabelEXT+        unwrapVkProcPtrUnsafe = unwrapVkQueueEndDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkQueueEndDebugUtilsLabelEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -372,7 +373,7 @@      FunPtr HS_vkQueueInsertDebugUtilsLabelEXT  foreign import ccall unsafe "dynamic"-               unwrapVkQueueInsertDebugUtilsLabelEXT ::+               unwrapVkQueueInsertDebugUtilsLabelEXTUnsafe ::                PFN_vkQueueInsertDebugUtilsLabelEXT ->                  HS_vkQueueInsertDebugUtilsLabelEXT @@ -387,9 +388,9 @@         vkProcSymbol = _VkQueueInsertDebugUtilsLabelEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkQueueInsertDebugUtilsLabelEXT+        unwrapVkProcPtrUnsafe = unwrapVkQueueInsertDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkQueueInsertDebugUtilsLabelEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -433,7 +434,7 @@      FunPtr HS_vkCmdBeginDebugUtilsLabelEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCmdBeginDebugUtilsLabelEXT ::+               unwrapVkCmdBeginDebugUtilsLabelEXTUnsafe ::                PFN_vkCmdBeginDebugUtilsLabelEXT -> HS_vkCmdBeginDebugUtilsLabelEXT  foreign import ccall safe "dynamic"@@ -446,9 +447,9 @@         vkProcSymbol = _VkCmdBeginDebugUtilsLabelEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdBeginDebugUtilsLabelEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdBeginDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdBeginDebugUtilsLabelEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -488,7 +489,7 @@      FunPtr HS_vkCmdEndDebugUtilsLabelEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCmdEndDebugUtilsLabelEXT ::+               unwrapVkCmdEndDebugUtilsLabelEXTUnsafe ::                PFN_vkCmdEndDebugUtilsLabelEXT -> HS_vkCmdEndDebugUtilsLabelEXT  foreign import ccall safe "dynamic"@@ -501,9 +502,9 @@         vkProcSymbol = _VkCmdEndDebugUtilsLabelEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdEndDebugUtilsLabelEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdEndDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdEndDebugUtilsLabelEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -549,7 +550,7 @@      FunPtr HS_vkCmdInsertDebugUtilsLabelEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCmdInsertDebugUtilsLabelEXT ::+               unwrapVkCmdInsertDebugUtilsLabelEXTUnsafe ::                PFN_vkCmdInsertDebugUtilsLabelEXT ->                  HS_vkCmdInsertDebugUtilsLabelEXT @@ -564,9 +565,9 @@         vkProcSymbol = _VkCmdInsertDebugUtilsLabelEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdInsertDebugUtilsLabelEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdInsertDebugUtilsLabelEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdInsertDebugUtilsLabelEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -619,7 +620,7 @@      FunPtr HS_vkCreateDebugUtilsMessengerEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCreateDebugUtilsMessengerEXT ::+               unwrapVkCreateDebugUtilsMessengerEXTUnsafe ::                PFN_vkCreateDebugUtilsMessengerEXT ->                  HS_vkCreateDebugUtilsMessengerEXT @@ -634,9 +635,9 @@         vkProcSymbol = _VkCreateDebugUtilsMessengerEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateDebugUtilsMessengerEXT+        unwrapVkProcPtrUnsafe = unwrapVkCreateDebugUtilsMessengerEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateDebugUtilsMessengerEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -681,7 +682,7 @@      FunPtr HS_vkDestroyDebugUtilsMessengerEXT  foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDebugUtilsMessengerEXT ::+               unwrapVkDestroyDebugUtilsMessengerEXTUnsafe ::                PFN_vkDestroyDebugUtilsMessengerEXT ->                  HS_vkDestroyDebugUtilsMessengerEXT @@ -696,9 +697,9 @@         vkProcSymbol = _VkDestroyDebugUtilsMessengerEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroyDebugUtilsMessengerEXT+        unwrapVkProcPtrUnsafe = unwrapVkDestroyDebugUtilsMessengerEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroyDebugUtilsMessengerEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -745,7 +746,7 @@      FunPtr HS_vkSubmitDebugUtilsMessageEXT  foreign import ccall unsafe "dynamic"-               unwrapVkSubmitDebugUtilsMessageEXT ::+               unwrapVkSubmitDebugUtilsMessageEXTUnsafe ::                PFN_vkSubmitDebugUtilsMessageEXT -> HS_vkSubmitDebugUtilsMessageEXT  foreign import ccall safe "dynamic"@@ -758,9 +759,9 @@         vkProcSymbol = _VkSubmitDebugUtilsMessageEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkSubmitDebugUtilsMessageEXT+        unwrapVkProcPtrUnsafe = unwrapVkSubmitDebugUtilsMessageEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkSubmitDebugUtilsMessageEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_depth_range_unrestricted.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Piers Daniell @pdaniell@+        -- contact: @Piers Daniell @pdaniell-nv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_EXT_descriptor_indexing.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_EXT_direct_mode_display.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -73,7 +74,8 @@  type PFN_vkReleaseDisplayEXT = FunPtr HS_vkReleaseDisplayEXT -foreign import ccall unsafe "dynamic" unwrapVkReleaseDisplayEXT ::+foreign import ccall unsafe "dynamic"+               unwrapVkReleaseDisplayEXTUnsafe ::                PFN_vkReleaseDisplayEXT -> HS_vkReleaseDisplayEXT  foreign import ccall safe "dynamic" unwrapVkReleaseDisplayEXTSafe@@ -84,9 +86,9 @@         vkProcSymbol = _VkReleaseDisplayEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkReleaseDisplayEXT+        unwrapVkProcPtrUnsafe = unwrapVkReleaseDisplayEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkReleaseDisplayEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_discard_rectangles.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Piers Daniell @pdaniell@+        -- contact: @Piers Daniell @pdaniell-nv@         --         -- author: @NV@         --@@ -145,7 +146,7 @@      FunPtr HS_vkCmdSetDiscardRectangleEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetDiscardRectangleEXT ::+               unwrapVkCmdSetDiscardRectangleEXTUnsafe ::                PFN_vkCmdSetDiscardRectangleEXT -> HS_vkCmdSetDiscardRectangleEXT  foreign import ccall safe "dynamic"@@ -158,9 +159,9 @@         vkProcSymbol = _VkCmdSetDiscardRectangleEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdSetDiscardRectangleEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdSetDiscardRectangleEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdSetDiscardRectangleEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_display_control.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -133,7 +134,7 @@      FunPtr HS_vkDisplayPowerControlEXT  foreign import ccall unsafe "dynamic"-               unwrapVkDisplayPowerControlEXT ::+               unwrapVkDisplayPowerControlEXTUnsafe ::                PFN_vkDisplayPowerControlEXT -> HS_vkDisplayPowerControlEXT  foreign import ccall safe "dynamic"@@ -146,9 +147,9 @@         vkProcSymbol = _VkDisplayPowerControlEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDisplayPowerControlEXT+        unwrapVkProcPtrUnsafe = unwrapVkDisplayPowerControlEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDisplayPowerControlEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -195,7 +196,7 @@      FunPtr HS_vkRegisterDeviceEventEXT  foreign import ccall unsafe "dynamic"-               unwrapVkRegisterDeviceEventEXT ::+               unwrapVkRegisterDeviceEventEXTUnsafe ::                PFN_vkRegisterDeviceEventEXT -> HS_vkRegisterDeviceEventEXT  foreign import ccall safe "dynamic"@@ -208,9 +209,9 @@         vkProcSymbol = _VkRegisterDeviceEventEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkRegisterDeviceEventEXT+        unwrapVkProcPtrUnsafe = unwrapVkRegisterDeviceEventEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkRegisterDeviceEventEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -260,7 +261,7 @@      FunPtr HS_vkRegisterDisplayEventEXT  foreign import ccall unsafe "dynamic"-               unwrapVkRegisterDisplayEventEXT ::+               unwrapVkRegisterDisplayEventEXTUnsafe ::                PFN_vkRegisterDisplayEventEXT -> HS_vkRegisterDisplayEventEXT  foreign import ccall safe "dynamic"@@ -273,9 +274,9 @@         vkProcSymbol = _VkRegisterDisplayEventEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkRegisterDisplayEventEXT+        unwrapVkProcPtrUnsafe = unwrapVkRegisterDisplayEventEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkRegisterDisplayEventEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -324,7 +325,7 @@      FunPtr HS_vkGetSwapchainCounterEXT  foreign import ccall unsafe "dynamic"-               unwrapVkGetSwapchainCounterEXT ::+               unwrapVkGetSwapchainCounterEXTUnsafe ::                PFN_vkGetSwapchainCounterEXT -> HS_vkGetSwapchainCounterEXT  foreign import ccall safe "dynamic"@@ -337,9 +338,9 @@         vkProcSymbol = _VkGetSwapchainCounterEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetSwapchainCounterEXT+        unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainCounterEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetSwapchainCounterEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_display_surface_counter.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -106,7 +107,7 @@      FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXT ::+               unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXTUnsafe ::                PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT ->                  HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT @@ -122,9 +123,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2EXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXT+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXTSafe 
src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_host.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Daniel Rakos @aqnuep@+        -- contact: @Daniel Rakos @drakos-amd@         --         -- author: @EXT@         --@@ -116,7 +117,7 @@      FunPtr HS_vkGetMemoryHostPointerPropertiesEXT  foreign import ccall unsafe "dynamic"-               unwrapVkGetMemoryHostPointerPropertiesEXT ::+               unwrapVkGetMemoryHostPointerPropertiesEXTUnsafe ::                PFN_vkGetMemoryHostPointerPropertiesEXT ->                  HS_vkGetMemoryHostPointerPropertiesEXT @@ -131,9 +132,10 @@         vkProcSymbol = _VkGetMemoryHostPointerPropertiesEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetMemoryHostPointerPropertiesEXT+        unwrapVkProcPtrUnsafe+          = unwrapVkGetMemoryHostPointerPropertiesEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetMemoryHostPointerPropertiesEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_hdr_metadata.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Courtney Goeltzenleuchter @courtneygo@+        -- contact: @Courtney Goeltzenleuchter @courtney-g@         --         -- author: @GOOGLE@         --@@ -82,7 +83,8 @@  type PFN_vkSetHdrMetadataEXT = FunPtr HS_vkSetHdrMetadataEXT -foreign import ccall unsafe "dynamic" unwrapVkSetHdrMetadataEXT ::+foreign import ccall unsafe "dynamic"+               unwrapVkSetHdrMetadataEXTUnsafe ::                PFN_vkSetHdrMetadataEXT -> HS_vkSetHdrMetadataEXT  foreign import ccall safe "dynamic" unwrapVkSetHdrMetadataEXTSafe@@ -93,9 +95,9 @@         vkProcSymbol = _VkSetHdrMetadataEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkSetHdrMetadataEXT+        unwrapVkProcPtrUnsafe = unwrapVkSetHdrMetadataEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkSetHdrMetadataEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_EXT_sample_locations.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Daniel Rakos @aqnuep@+        -- contact: @Daniel Rakos @drakos-amd@         --         -- author: @AMD@         --@@ -125,7 +126,7 @@      FunPtr HS_vkCmdSetSampleLocationsEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetSampleLocationsEXT ::+               unwrapVkCmdSetSampleLocationsEXTUnsafe ::                PFN_vkCmdSetSampleLocationsEXT -> HS_vkCmdSetSampleLocationsEXT  foreign import ccall safe "dynamic"@@ -138,9 +139,9 @@         vkProcSymbol = _VkCmdSetSampleLocationsEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdSetSampleLocationsEXT+        unwrapVkProcPtrUnsafe = unwrapVkCmdSetSampleLocationsEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdSetSampleLocationsEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -186,7 +187,7 @@      FunPtr HS_vkGetPhysicalDeviceMultisamplePropertiesEXT  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceMultisamplePropertiesEXT ::+               unwrapVkGetPhysicalDeviceMultisamplePropertiesEXTUnsafe ::                PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT ->                  HS_vkGetPhysicalDeviceMultisamplePropertiesEXT @@ -202,9 +203,10 @@         vkProcSymbol = _VkGetPhysicalDeviceMultisamplePropertiesEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXT+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXTSafe 
src-gen/Graphics/Vulkan/Ext/VK_EXT_sampler_filter_minmax.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_stencil_export.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @dominik.witczak@amd.com@+        -- contact: @Dominik Witczak @dominikwitczakamd@         --         -- author: @EXT@         --
src-gen/Graphics/Vulkan/Ext/VK_EXT_swapchain_colorspace.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Courtney Goeltzenleuchter @courtneygo@+        -- contact: @Courtney Goeltzenleuchter @courtney-g@         --         -- author: @GOOGLE@         --
src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_cache.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -116,7 +117,7 @@      FunPtr HS_vkCreateValidationCacheEXT  foreign import ccall unsafe "dynamic"-               unwrapVkCreateValidationCacheEXT ::+               unwrapVkCreateValidationCacheEXTUnsafe ::                PFN_vkCreateValidationCacheEXT -> HS_vkCreateValidationCacheEXT  foreign import ccall safe "dynamic"@@ -129,9 +130,9 @@         vkProcSymbol = _VkCreateValidationCacheEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateValidationCacheEXT+        unwrapVkProcPtrUnsafe = unwrapVkCreateValidationCacheEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateValidationCacheEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -174,7 +175,7 @@      FunPtr HS_vkDestroyValidationCacheEXT  foreign import ccall unsafe "dynamic"-               unwrapVkDestroyValidationCacheEXT ::+               unwrapVkDestroyValidationCacheEXTUnsafe ::                PFN_vkDestroyValidationCacheEXT -> HS_vkDestroyValidationCacheEXT  foreign import ccall safe "dynamic"@@ -187,9 +188,9 @@         vkProcSymbol = _VkDestroyValidationCacheEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroyValidationCacheEXT+        unwrapVkProcPtrUnsafe = unwrapVkDestroyValidationCacheEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroyValidationCacheEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -238,7 +239,7 @@      FunPtr HS_vkMergeValidationCachesEXT  foreign import ccall unsafe "dynamic"-               unwrapVkMergeValidationCachesEXT ::+               unwrapVkMergeValidationCachesEXTUnsafe ::                PFN_vkMergeValidationCachesEXT -> HS_vkMergeValidationCachesEXT  foreign import ccall safe "dynamic"@@ -251,9 +252,9 @@         vkProcSymbol = _VkMergeValidationCachesEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkMergeValidationCachesEXT+        unwrapVkProcPtrUnsafe = unwrapVkMergeValidationCachesEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkMergeValidationCachesEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -302,7 +303,7 @@      FunPtr HS_vkGetValidationCacheDataEXT  foreign import ccall unsafe "dynamic"-               unwrapVkGetValidationCacheDataEXT ::+               unwrapVkGetValidationCacheDataEXTUnsafe ::                PFN_vkGetValidationCacheDataEXT -> HS_vkGetValidationCacheDataEXT  foreign import ccall safe "dynamic"@@ -315,9 +316,9 @@         vkProcSymbol = _VkGetValidationCacheDataEXT          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetValidationCacheDataEXT+        unwrapVkProcPtrUnsafe = unwrapVkGetValidationCacheDataEXTUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetValidationCacheDataEXTSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_GOOGLE_display_timing.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Ian Elliott ianelliott@google.com@+        -- contact: @Ian Elliott @ianelliottus@         --         -- author: @GOOGLE@         --@@ -102,7 +103,7 @@      FunPtr HS_vkGetRefreshCycleDurationGOOGLE  foreign import ccall unsafe "dynamic"-               unwrapVkGetRefreshCycleDurationGOOGLE ::+               unwrapVkGetRefreshCycleDurationGOOGLEUnsafe ::                PFN_vkGetRefreshCycleDurationGOOGLE ->                  HS_vkGetRefreshCycleDurationGOOGLE @@ -117,9 +118,9 @@         vkProcSymbol = _VkGetRefreshCycleDurationGOOGLE          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetRefreshCycleDurationGOOGLE+        unwrapVkProcPtrUnsafe = unwrapVkGetRefreshCycleDurationGOOGLEUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetRefreshCycleDurationGOOGLESafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -171,7 +172,7 @@      FunPtr HS_vkGetPastPresentationTimingGOOGLE  foreign import ccall unsafe "dynamic"-               unwrapVkGetPastPresentationTimingGOOGLE ::+               unwrapVkGetPastPresentationTimingGOOGLEUnsafe ::                PFN_vkGetPastPresentationTimingGOOGLE ->                  HS_vkGetPastPresentationTimingGOOGLE @@ -186,9 +187,10 @@         vkProcSymbol = _VkGetPastPresentationTimingGOOGLE          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPastPresentationTimingGOOGLE+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPastPresentationTimingGOOGLEUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetPastPresentationTimingGOOGLESafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_IMG_filter_cubic.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Tobias Hector @tobias@+        -- contact: @Tobias Hector @tobski@         --         -- author: @IMG@         --
src-gen/Graphics/Vulkan/Ext/VK_IMG_format_pvrtc.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Tobias Hector @tobias@+        -- contact: @Tobias Hector @tobski@         --         -- author: @IMG@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_16bit_storage.hs view
@@ -11,7 +11,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jan-Harald Fredriksen @janharald@+        -- contact: @Jan-Harald Fredriksen @janharaldfredriksen-arm@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_android_surface.hs view
@@ -17,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall@+        -- contact: @Jesse Hall @critsec@         --         -- author: @KHR@         --@@ -38,8 +38,8 @@         -- > #include "vk_platform.h"         VkCreateAndroidSurfaceKHR, pattern VkCreateAndroidSurfaceKHR,         HS_vkCreateAndroidSurfaceKHR, PFN_vkCreateAndroidSurfaceKHR,-        vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHRSafe,-        module Graphics.Vulkan.Marshal,+        vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHRUnsafe,+        vkCreateAndroidSurfaceKHRSafe, module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Defines,         module Graphics.Vulkan.Types.Enum.InternalAllocationType,         module Graphics.Vulkan.Types.Enum.Result,@@ -114,12 +114,15 @@ -- -- > myCreateAndroidSurfaceKHR <- vkGetProc @VkCreateAndroidSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateAndroidSurfaceKHRUnsafe@ and @vkCreateAndroidSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateAndroidSurfaceKHR@ is an alias+--           of @vkCreateAndroidSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateAndroidSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateAndroidSurfaceKHR"-               vkCreateAndroidSurfaceKHR ::+               vkCreateAndroidSurfaceKHRUnsafe ::                VkInstance -- ^ instance                           ->                  Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo@@ -129,18 +132,19 @@                                                                  -> IO VkResult  #else-vkCreateAndroidSurfaceKHR ::-                          VkInstance -- ^ instance-                                     ->-                            Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo-                                                              ->-                              Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> Ptr VkSurfaceKHR -- ^ pSurface-                                                                            -> IO VkResult-vkCreateAndroidSurfaceKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateAndroidSurfaceKHR)+vkCreateAndroidSurfaceKHRUnsafe ::+                                VkInstance -- ^ instance+                                           ->+                                  Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                                    ->+                                    Ptr VkAllocationCallbacks -- ^ pAllocator+                                                              -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                                  -> IO VkResult+vkCreateAndroidSurfaceKHRUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateAndroidSurfaceKHR) -{-# NOINLINE vkCreateAndroidSurfaceKHR #-}+{-# NOINLINE vkCreateAndroidSurfaceKHRUnsafe #-} #endif  -- |@@ -169,9 +173,12 @@ -- -- > myCreateAndroidSurfaceKHR <- vkGetProc @VkCreateAndroidSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateAndroidSurfaceKHRUnsafe@ and @vkCreateAndroidSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateAndroidSurfaceKHR@ is an alias+--           of @vkCreateAndroidSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateAndroidSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateAndroidSurfaceKHR"                vkCreateAndroidSurfaceKHRSafe ::@@ -198,6 +205,53 @@ {-# NOINLINE vkCreateAndroidSurfaceKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateAndroidSurfaceKHR+-- >     ( VkInstance instance+-- >     , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSurfaceKHR* pSurface+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateAndroidSurfaceKHR <- vkGetInstanceProc @VkCreateAndroidSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateAndroidSurfaceKHR <- vkGetProc @VkCreateAndroidSurfaceKHR+--+-- __Note:__ @vkCreateAndroidSurfaceKHRUnsafe@ and @vkCreateAndroidSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateAndroidSurfaceKHR@ is an alias+--           of @vkCreateAndroidSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateAndroidSurfaceKHRSafe@.+--+vkCreateAndroidSurfaceKHR ::+                          VkInstance -- ^ instance+                                     ->+                            Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                              ->+                              Ptr VkAllocationCallbacks -- ^ pAllocator+                                                        -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                            -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateAndroidSurfaceKHR = vkCreateAndroidSurfaceKHRUnsafe+#else+vkCreateAndroidSurfaceKHR = vkCreateAndroidSurfaceKHRSafe++#endif+{-# INLINE vkCreateAndroidSurfaceKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.@@ -223,7 +277,7 @@      FunPtr HS_vkCreateAndroidSurfaceKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCreateAndroidSurfaceKHR ::+               unwrapVkCreateAndroidSurfaceKHRUnsafe ::                PFN_vkCreateAndroidSurfaceKHR -> HS_vkCreateAndroidSurfaceKHR  foreign import ccall safe "dynamic"@@ -236,9 +290,9 @@         vkProcSymbol = _VkCreateAndroidSurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateAndroidSurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateAndroidSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateAndroidSurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_bind_memory2.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Tobias Hector @tobias@+        -- contact: @Tobias Hector @tobski@         --         -- author: @KHR@         --@@ -91,8 +92,9 @@  type PFN_vkBindBufferMemory2KHR = FunPtr HS_vkBindBufferMemory2KHR -foreign import ccall unsafe "dynamic" unwrapVkBindBufferMemory2KHR-               :: PFN_vkBindBufferMemory2KHR -> HS_vkBindBufferMemory2KHR+foreign import ccall unsafe "dynamic"+               unwrapVkBindBufferMemory2KHRUnsafe ::+               PFN_vkBindBufferMemory2KHR -> HS_vkBindBufferMemory2KHR  foreign import ccall safe "dynamic"                unwrapVkBindBufferMemory2KHRSafe ::@@ -104,9 +106,9 @@         vkProcSymbol = _VkBindBufferMemory2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkBindBufferMemory2KHR+        unwrapVkProcPtrUnsafe = unwrapVkBindBufferMemory2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkBindBufferMemory2KHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -150,8 +152,9 @@  type PFN_vkBindImageMemory2KHR = FunPtr HS_vkBindImageMemory2KHR -foreign import ccall unsafe "dynamic" unwrapVkBindImageMemory2KHR-               :: PFN_vkBindImageMemory2KHR -> HS_vkBindImageMemory2KHR+foreign import ccall unsafe "dynamic"+               unwrapVkBindImageMemory2KHRUnsafe ::+               PFN_vkBindImageMemory2KHR -> HS_vkBindImageMemory2KHR  foreign import ccall safe "dynamic" unwrapVkBindImageMemory2KHRSafe                :: PFN_vkBindImageMemory2KHR -> HS_vkBindImageMemory2KHR@@ -161,9 +164,9 @@         vkProcSymbol = _VkBindImageMemory2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkBindImageMemory2KHR+        unwrapVkProcPtrUnsafe = unwrapVkBindImageMemory2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkBindImageMemory2KHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_descriptor_update_template.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -135,7 +136,7 @@      FunPtr HS_vkCreateDescriptorUpdateTemplateKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCreateDescriptorUpdateTemplateKHR ::+               unwrapVkCreateDescriptorUpdateTemplateKHRUnsafe ::                PFN_vkCreateDescriptorUpdateTemplateKHR ->                  HS_vkCreateDescriptorUpdateTemplateKHR @@ -150,9 +151,10 @@         vkProcSymbol = _VkCreateDescriptorUpdateTemplateKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateDescriptorUpdateTemplateKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkCreateDescriptorUpdateTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateDescriptorUpdateTemplateKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -199,7 +201,7 @@      FunPtr HS_vkDestroyDescriptorUpdateTemplateKHR  foreign import ccall unsafe "dynamic"-               unwrapVkDestroyDescriptorUpdateTemplateKHR ::+               unwrapVkDestroyDescriptorUpdateTemplateKHRUnsafe ::                PFN_vkDestroyDescriptorUpdateTemplateKHR ->                  HS_vkDestroyDescriptorUpdateTemplateKHR @@ -214,9 +216,10 @@         vkProcSymbol = _VkDestroyDescriptorUpdateTemplateKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroyDescriptorUpdateTemplateKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkDestroyDescriptorUpdateTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkDestroyDescriptorUpdateTemplateKHRSafe @@ -266,7 +269,7 @@      FunPtr HS_vkUpdateDescriptorSetWithTemplateKHR  foreign import ccall unsafe "dynamic"-               unwrapVkUpdateDescriptorSetWithTemplateKHR ::+               unwrapVkUpdateDescriptorSetWithTemplateKHRUnsafe ::                PFN_vkUpdateDescriptorSetWithTemplateKHR ->                  HS_vkUpdateDescriptorSetWithTemplateKHR @@ -281,9 +284,10 @@         vkProcSymbol = _VkUpdateDescriptorSetWithTemplateKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkUpdateDescriptorSetWithTemplateKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkUpdateDescriptorSetWithTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkUpdateDescriptorSetWithTemplateKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group.hs view
@@ -2,6 +2,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -16,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @KHR@         --@@ -210,7 +211,7 @@      FunPtr HS_vkGetDeviceGroupPeerMemoryFeaturesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetDeviceGroupPeerMemoryFeaturesKHR ::+               unwrapVkGetDeviceGroupPeerMemoryFeaturesKHRUnsafe ::                PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR ->                  HS_vkGetDeviceGroupPeerMemoryFeaturesKHR @@ -225,9 +226,10 @@         vkProcSymbol = _VkGetDeviceGroupPeerMemoryFeaturesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHRSafe @@ -269,8 +271,9 @@  type PFN_vkCmdSetDeviceMaskKHR = FunPtr HS_vkCmdSetDeviceMaskKHR -foreign import ccall unsafe "dynamic" unwrapVkCmdSetDeviceMaskKHR-               :: PFN_vkCmdSetDeviceMaskKHR -> HS_vkCmdSetDeviceMaskKHR+foreign import ccall unsafe "dynamic"+               unwrapVkCmdSetDeviceMaskKHRUnsafe ::+               PFN_vkCmdSetDeviceMaskKHR -> HS_vkCmdSetDeviceMaskKHR  foreign import ccall safe "dynamic" unwrapVkCmdSetDeviceMaskKHRSafe                :: PFN_vkCmdSetDeviceMaskKHR -> HS_vkCmdSetDeviceMaskKHR@@ -280,9 +283,9 @@         vkProcSymbol = _VkCmdSetDeviceMaskKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdSetDeviceMaskKHR+        unwrapVkProcPtrUnsafe = unwrapVkCmdSetDeviceMaskKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdSetDeviceMaskKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -335,7 +338,8 @@  type PFN_vkCmdDispatchBaseKHR = FunPtr HS_vkCmdDispatchBaseKHR -foreign import ccall unsafe "dynamic" unwrapVkCmdDispatchBaseKHR ::+foreign import ccall unsafe "dynamic"+               unwrapVkCmdDispatchBaseKHRUnsafe ::                PFN_vkCmdDispatchBaseKHR -> HS_vkCmdDispatchBaseKHR  foreign import ccall safe "dynamic" unwrapVkCmdDispatchBaseKHRSafe@@ -346,9 +350,9 @@         vkProcSymbol = _VkCmdDispatchBaseKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdDispatchBaseKHR+        unwrapVkProcPtrUnsafe = unwrapVkCmdDispatchBaseKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdDispatchBaseKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group_creation.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @KHR@         --@@ -102,7 +103,7 @@      FunPtr HS_vkEnumeratePhysicalDeviceGroupsKHR  foreign import ccall unsafe "dynamic"-               unwrapVkEnumeratePhysicalDeviceGroupsKHR ::+               unwrapVkEnumeratePhysicalDeviceGroupsKHRUnsafe ::                PFN_vkEnumeratePhysicalDeviceGroupsKHR ->                  HS_vkEnumeratePhysicalDeviceGroupsKHR @@ -117,9 +118,10 @@         vkProcSymbol = _VkEnumeratePhysicalDeviceGroupsKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkEnumeratePhysicalDeviceGroupsKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkEnumeratePhysicalDeviceGroupsKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkEnumeratePhysicalDeviceGroupsKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_display.hs view
@@ -44,36 +44,43 @@         HS_vkGetPhysicalDeviceDisplayPropertiesKHR,         PFN_vkGetPhysicalDeviceDisplayPropertiesKHR,         vkGetPhysicalDeviceDisplayPropertiesKHR,+        vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe,         vkGetPhysicalDeviceDisplayPropertiesKHRSafe,         VkGetPhysicalDeviceDisplayPlanePropertiesKHR,         pattern VkGetPhysicalDeviceDisplayPlanePropertiesKHR,         HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR,         PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR,         vkGetPhysicalDeviceDisplayPlanePropertiesKHR,+        vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe,         vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe,         VkGetDisplayPlaneSupportedDisplaysKHR,         pattern VkGetDisplayPlaneSupportedDisplaysKHR,         HS_vkGetDisplayPlaneSupportedDisplaysKHR,         PFN_vkGetDisplayPlaneSupportedDisplaysKHR,         vkGetDisplayPlaneSupportedDisplaysKHR,+        vkGetDisplayPlaneSupportedDisplaysKHRUnsafe,         vkGetDisplayPlaneSupportedDisplaysKHRSafe,         VkGetDisplayModePropertiesKHR,         pattern VkGetDisplayModePropertiesKHR,         HS_vkGetDisplayModePropertiesKHR,         PFN_vkGetDisplayModePropertiesKHR, vkGetDisplayModePropertiesKHR,+        vkGetDisplayModePropertiesKHRUnsafe,         vkGetDisplayModePropertiesKHRSafe, VkCreateDisplayModeKHR,         pattern VkCreateDisplayModeKHR, HS_vkCreateDisplayModeKHR,         PFN_vkCreateDisplayModeKHR, vkCreateDisplayModeKHR,-        vkCreateDisplayModeKHRSafe, VkGetDisplayPlaneCapabilitiesKHR,+        vkCreateDisplayModeKHRUnsafe, vkCreateDisplayModeKHRSafe,+        VkGetDisplayPlaneCapabilitiesKHR,         pattern VkGetDisplayPlaneCapabilitiesKHR,         HS_vkGetDisplayPlaneCapabilitiesKHR,         PFN_vkGetDisplayPlaneCapabilitiesKHR,         vkGetDisplayPlaneCapabilitiesKHR,+        vkGetDisplayPlaneCapabilitiesKHRUnsafe,         vkGetDisplayPlaneCapabilitiesKHRSafe,         VkCreateDisplayPlaneSurfaceKHR,         pattern VkCreateDisplayPlaneSurfaceKHR,         HS_vkCreateDisplayPlaneSurfaceKHR,         PFN_vkCreateDisplayPlaneSurfaceKHR, vkCreateDisplayPlaneSurfaceKHR,+        vkCreateDisplayPlaneSurfaceKHRUnsafe,         vkCreateDisplayPlaneSurfaceKHRSafe,         module Graphics.Vulkan.Types.Enum.InternalAllocationType,         module Graphics.Vulkan.Types.Enum.Result,@@ -156,13 +163,16 @@ -- -- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe@ and @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceDisplayPropertiesKHR@ is an alias+--           of @vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceDisplayPropertiesKHR"-               vkGetPhysicalDeviceDisplayPropertiesKHR ::+               vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  Ptr Word32 -- ^ pPropertyCount@@ -170,17 +180,18 @@                                                           -> IO VkResult  #else-vkGetPhysicalDeviceDisplayPropertiesKHR ::-                                        VkPhysicalDevice -- ^ physicalDevice-                                                         ->-                                          Ptr Word32 -- ^ pPropertyCount-                                                     -> Ptr VkDisplayPropertiesKHR -- ^ pProperties-                                                                                   -> IO VkResult-vkGetPhysicalDeviceDisplayPropertiesKHR+vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe ::+                                              VkPhysicalDevice -- ^ physicalDevice+                                                               ->+                                                Ptr Word32 -- ^ pPropertyCount+                                                           ->+                                                  Ptr VkDisplayPropertiesKHR -- ^ pProperties+                                                                             -> IO VkResult+vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceDisplayPropertiesKHR) -{-# NOINLINE vkGetPhysicalDeviceDisplayPropertiesKHR #-}+{-# NOINLINE vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe #-} #endif  -- |@@ -208,9 +219,12 @@ -- -- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe@ and @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceDisplayPropertiesKHR@ is an alias+--           of @vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkGetPhysicalDeviceDisplayPropertiesKHR"                vkGetPhysicalDeviceDisplayPropertiesKHRSafe ::@@ -235,6 +249,52 @@ {-# NOINLINE vkGetPhysicalDeviceDisplayPropertiesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pPropertyCount+-- >     , VkDisplayPropertiesKHR* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR+--+-- __Note:__ @vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe@ and @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceDisplayPropertiesKHR@ is an alias+--           of @vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@.+--+vkGetPhysicalDeviceDisplayPropertiesKHR ::+                                        VkPhysicalDevice -- ^ physicalDevice+                                                         ->+                                          Ptr Word32 -- ^ pPropertyCount+                                                     -> Ptr VkDisplayPropertiesKHR -- ^ pProperties+                                                                                   -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceDisplayPropertiesKHR+  = vkGetPhysicalDeviceDisplayPropertiesKHRUnsafe+#else+vkGetPhysicalDeviceDisplayPropertiesKHR+  = vkGetPhysicalDeviceDisplayPropertiesKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceDisplayPropertiesKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -257,7 +317,7 @@      FunPtr HS_vkGetPhysicalDeviceDisplayPropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceDisplayPropertiesKHR ::+               unwrapVkGetPhysicalDeviceDisplayPropertiesKHRUnsafe ::                PFN_vkGetPhysicalDeviceDisplayPropertiesKHR ->                  HS_vkGetPhysicalDeviceDisplayPropertiesKHR @@ -272,9 +332,10 @@         vkProcSymbol = _VkGetPhysicalDeviceDisplayPropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceDisplayPropertiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceDisplayPropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceDisplayPropertiesKHRSafe @@ -328,13 +389,16 @@ -- -- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe@ and @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceDisplayPlanePropertiesKHR@ is an alias+--           of @vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"-               vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::+               vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  Ptr Word32 -- ^ pPropertyCount@@ -342,18 +406,19 @@                                                                -> IO VkResult  #else-vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::-                                             VkPhysicalDevice -- ^ physicalDevice-                                                              ->-                                               Ptr Word32 -- ^ pPropertyCount-                                                          ->-                                                 Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties-                                                                                 -> IO VkResult-vkGetPhysicalDeviceDisplayPlanePropertiesKHR+vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe ::+                                                   VkPhysicalDevice -- ^ physicalDevice+                                                                    ->+                                                     Ptr Word32 -- ^ pPropertyCount+                                                                ->+                                                       Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+                                                                                       ->+                                                         IO VkResult+vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceDisplayPlanePropertiesKHR) -{-# NOINLINE vkGetPhysicalDeviceDisplayPlanePropertiesKHR #-}+{-# NOINLINE vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe #-} #endif  -- |@@ -381,9 +446,12 @@ -- -- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe@ and @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceDisplayPlanePropertiesKHR@ is an alias+--           of @vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"@@ -409,6 +477,53 @@ {-# NOINLINE vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t* pPropertyCount+-- >     , VkDisplayPlanePropertiesKHR* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR+--+-- __Note:__ @vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe@ and @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceDisplayPlanePropertiesKHR@ is an alias+--           of @vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@.+--+vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::+                                             VkPhysicalDevice -- ^ physicalDevice+                                                              ->+                                               Ptr Word32 -- ^ pPropertyCount+                                                          ->+                                                 Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+                                                                                 -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceDisplayPlanePropertiesKHR+  = vkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe+#else+vkGetPhysicalDeviceDisplayPlanePropertiesKHR+  = vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceDisplayPlanePropertiesKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -431,7 +546,7 @@      FunPtr HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHR ::+               unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe ::                PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR ->                  HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR @@ -447,10 +562,10 @@         vkProcSymbol = _VkGetPhysicalDeviceDisplayPlanePropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe @@ -504,12 +619,15 @@ -- -- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDisplayPlaneSupportedDisplaysKHRUnsafe@ and @vkGetDisplayPlaneSupportedDisplaysKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayPlaneSupportedDisplaysKHR@ is an alias+--           of @vkGetDisplayPlaneSupportedDisplaysKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayPlaneSupportedDisplaysKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkGetDisplayPlaneSupportedDisplaysKHR"-               vkGetDisplayPlaneSupportedDisplaysKHR ::+               vkGetDisplayPlaneSupportedDisplaysKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  Word32 -- ^ planeIndex@@ -518,18 +636,19 @@                                                           -> IO VkResult  #else-vkGetDisplayPlaneSupportedDisplaysKHR ::-                                      VkPhysicalDevice -- ^ physicalDevice-                                                       ->-                                        Word32 -- ^ planeIndex-                                               -> Ptr Word32 -- ^ pDisplayCount-                                                             -> Ptr VkDisplayKHR -- ^ pDisplays-                                                                                 -> IO VkResult-vkGetDisplayPlaneSupportedDisplaysKHR+vkGetDisplayPlaneSupportedDisplaysKHRUnsafe ::+                                            VkPhysicalDevice -- ^ physicalDevice+                                                             ->+                                              Word32 -- ^ planeIndex+                                                     ->+                                                Ptr Word32 -- ^ pDisplayCount+                                                           -> Ptr VkDisplayKHR -- ^ pDisplays+                                                                               -> IO VkResult+vkGetDisplayPlaneSupportedDisplaysKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR)+      (vkGetProcUnsafe @VkGetDisplayPlaneSupportedDisplaysKHR) -{-# NOINLINE vkGetDisplayPlaneSupportedDisplaysKHR #-}+{-# NOINLINE vkGetDisplayPlaneSupportedDisplaysKHRUnsafe #-} #endif  -- |@@ -558,9 +677,12 @@ -- -- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDisplayPlaneSupportedDisplaysKHRUnsafe@ and @vkGetDisplayPlaneSupportedDisplaysKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayPlaneSupportedDisplaysKHR@ is an alias+--           of @vkGetDisplayPlaneSupportedDisplaysKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayPlaneSupportedDisplaysKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkGetDisplayPlaneSupportedDisplaysKHR"                vkGetDisplayPlaneSupportedDisplaysKHRSafe ::@@ -586,6 +708,54 @@ {-# NOINLINE vkGetDisplayPlaneSupportedDisplaysKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneSupportedDisplaysKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t planeIndex+-- >     , uint32_t* pDisplayCount+-- >     , VkDisplayKHR* pDisplays+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetInstanceProc @VkGetDisplayPlaneSupportedDisplaysKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR+--+-- __Note:__ @vkGetDisplayPlaneSupportedDisplaysKHRUnsafe@ and @vkGetDisplayPlaneSupportedDisplaysKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayPlaneSupportedDisplaysKHR@ is an alias+--           of @vkGetDisplayPlaneSupportedDisplaysKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayPlaneSupportedDisplaysKHRSafe@.+--+vkGetDisplayPlaneSupportedDisplaysKHR ::+                                      VkPhysicalDevice -- ^ physicalDevice+                                                       ->+                                        Word32 -- ^ planeIndex+                                               -> Ptr Word32 -- ^ pDisplayCount+                                                             -> Ptr VkDisplayKHR -- ^ pDisplays+                                                                                 -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetDisplayPlaneSupportedDisplaysKHR+  = vkGetDisplayPlaneSupportedDisplaysKHRUnsafe+#else+vkGetDisplayPlaneSupportedDisplaysKHR+  = vkGetDisplayPlaneSupportedDisplaysKHRSafe++#endif+{-# INLINE vkGetDisplayPlaneSupportedDisplaysKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -610,7 +780,7 @@      FunPtr HS_vkGetDisplayPlaneSupportedDisplaysKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetDisplayPlaneSupportedDisplaysKHR ::+               unwrapVkGetDisplayPlaneSupportedDisplaysKHRUnsafe ::                PFN_vkGetDisplayPlaneSupportedDisplaysKHR ->                  HS_vkGetDisplayPlaneSupportedDisplaysKHR @@ -625,9 +795,10 @@         vkProcSymbol = _VkGetDisplayPlaneSupportedDisplaysKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetDisplayPlaneSupportedDisplaysKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetDisplayPlaneSupportedDisplaysKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetDisplayPlaneSupportedDisplaysKHRSafe @@ -681,12 +852,15 @@ -- -- > myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDisplayModePropertiesKHRUnsafe@ and @vkGetDisplayModePropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayModePropertiesKHR@ is an alias+--           of @vkGetDisplayModePropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayModePropertiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkGetDisplayModePropertiesKHR"-               vkGetDisplayModePropertiesKHR ::+               vkGetDisplayModePropertiesKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  VkDisplayKHR -- ^ display@@ -696,18 +870,19 @@                                                                 -> IO VkResult  #else-vkGetDisplayModePropertiesKHR ::-                              VkPhysicalDevice -- ^ physicalDevice-                                               ->-                                VkDisplayKHR -- ^ display-                                             ->-                                  Ptr Word32 -- ^ pPropertyCount-                                             -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties-                                                                               -> IO VkResult-vkGetDisplayModePropertiesKHR-  = unsafeDupablePerformIO (vkGetProc @VkGetDisplayModePropertiesKHR)+vkGetDisplayModePropertiesKHRUnsafe ::+                                    VkPhysicalDevice -- ^ physicalDevice+                                                     ->+                                      VkDisplayKHR -- ^ display+                                                   ->+                                        Ptr Word32 -- ^ pPropertyCount+                                                   -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+                                                                                     -> IO VkResult+vkGetDisplayModePropertiesKHRUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkGetDisplayModePropertiesKHR) -{-# NOINLINE vkGetDisplayModePropertiesKHR #-}+{-# NOINLINE vkGetDisplayModePropertiesKHRUnsafe #-} #endif  -- |@@ -736,9 +911,12 @@ -- -- > myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDisplayModePropertiesKHRUnsafe@ and @vkGetDisplayModePropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayModePropertiesKHR@ is an alias+--           of @vkGetDisplayModePropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayModePropertiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkGetDisplayModePropertiesKHR"                vkGetDisplayModePropertiesKHRSafe ::@@ -766,6 +944,53 @@ {-# NOINLINE vkGetDisplayModePropertiesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayModePropertiesKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkDisplayKHR display+-- >     , uint32_t* pPropertyCount+-- >     , VkDisplayModePropertiesKHR* pProperties+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayModePropertiesKHR <- vkGetInstanceProc @VkGetDisplayModePropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR+--+-- __Note:__ @vkGetDisplayModePropertiesKHRUnsafe@ and @vkGetDisplayModePropertiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayModePropertiesKHR@ is an alias+--           of @vkGetDisplayModePropertiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayModePropertiesKHRSafe@.+--+vkGetDisplayModePropertiesKHR ::+                              VkPhysicalDevice -- ^ physicalDevice+                                               ->+                                VkDisplayKHR -- ^ display+                                             ->+                                  Ptr Word32 -- ^ pPropertyCount+                                             -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+                                                                               -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetDisplayModePropertiesKHR = vkGetDisplayModePropertiesKHRUnsafe+#else+vkGetDisplayModePropertiesKHR = vkGetDisplayModePropertiesKHRSafe++#endif+{-# INLINE vkGetDisplayModePropertiesKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -791,7 +1016,7 @@      FunPtr HS_vkGetDisplayModePropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetDisplayModePropertiesKHR ::+               unwrapVkGetDisplayModePropertiesKHRUnsafe ::                PFN_vkGetDisplayModePropertiesKHR ->                  HS_vkGetDisplayModePropertiesKHR @@ -806,9 +1031,9 @@         vkProcSymbol = _VkGetDisplayModePropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetDisplayModePropertiesKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetDisplayModePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetDisplayModePropertiesKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -859,12 +1084,15 @@ -- -- > myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateDisplayModeKHRUnsafe@ and @vkCreateDisplayModeKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDisplayModeKHR@ is an alias+--           of @vkCreateDisplayModeKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDisplayModeKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateDisplayModeKHR"-               vkCreateDisplayModeKHR ::+               vkCreateDisplayModeKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  VkDisplayKHR -- ^ display@@ -876,20 +1104,20 @@                                                                        -> IO VkResult  #else-vkCreateDisplayModeKHR ::-                       VkPhysicalDevice -- ^ physicalDevice-                                        ->-                         VkDisplayKHR -- ^ display-                                      ->-                           Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo-                                                          ->-                             Ptr VkAllocationCallbacks -- ^ pAllocator-                                                       -> Ptr VkDisplayModeKHR -- ^ pMode-                                                                               -> IO VkResult-vkCreateDisplayModeKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateDisplayModeKHR)+vkCreateDisplayModeKHRUnsafe ::+                             VkPhysicalDevice -- ^ physicalDevice+                                              ->+                               VkDisplayKHR -- ^ display+                                            ->+                                 Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+                                                                ->+                                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                                             -> Ptr VkDisplayModeKHR -- ^ pMode+                                                                                     -> IO VkResult+vkCreateDisplayModeKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateDisplayModeKHR) -{-# NOINLINE vkCreateDisplayModeKHR #-}+{-# NOINLINE vkCreateDisplayModeKHRUnsafe #-} #endif  -- |@@ -919,9 +1147,12 @@ -- -- > myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateDisplayModeKHRUnsafe@ and @vkCreateDisplayModeKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDisplayModeKHR@ is an alias+--           of @vkCreateDisplayModeKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDisplayModeKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateDisplayModeKHR"                vkCreateDisplayModeKHRSafe ::@@ -952,6 +1183,56 @@ {-# NOINLINE vkCreateDisplayModeKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkCreateDisplayModeKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkDisplayKHR display+-- >     , const VkDisplayModeCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkDisplayModeKHR* pMode+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayModeKHR vkCreateDisplayModeKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDisplayModeKHR <- vkGetInstanceProc @VkCreateDisplayModeKHR vkInstance+--+-- or less efficient:+--+-- > myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR+--+-- __Note:__ @vkCreateDisplayModeKHRUnsafe@ and @vkCreateDisplayModeKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDisplayModeKHR@ is an alias+--           of @vkCreateDisplayModeKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDisplayModeKHRSafe@.+--+vkCreateDisplayModeKHR ::+                       VkPhysicalDevice -- ^ physicalDevice+                                        ->+                         VkDisplayKHR -- ^ display+                                      ->+                           Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+                                                          ->+                             Ptr VkAllocationCallbacks -- ^ pAllocator+                                                       -> Ptr VkDisplayModeKHR -- ^ pMode+                                                                               -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateDisplayModeKHR = vkCreateDisplayModeKHRUnsafe+#else+vkCreateDisplayModeKHR = vkCreateDisplayModeKHRSafe++#endif+{-# INLINE vkCreateDisplayModeKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.@@ -978,8 +1259,9 @@  type PFN_vkCreateDisplayModeKHR = FunPtr HS_vkCreateDisplayModeKHR -foreign import ccall unsafe "dynamic" unwrapVkCreateDisplayModeKHR-               :: PFN_vkCreateDisplayModeKHR -> HS_vkCreateDisplayModeKHR+foreign import ccall unsafe "dynamic"+               unwrapVkCreateDisplayModeKHRUnsafe ::+               PFN_vkCreateDisplayModeKHR -> HS_vkCreateDisplayModeKHR  foreign import ccall safe "dynamic"                unwrapVkCreateDisplayModeKHRSafe ::@@ -991,9 +1273,9 @@         vkProcSymbol = _VkCreateDisplayModeKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateDisplayModeKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateDisplayModeKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateDisplayModeKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -1046,12 +1328,15 @@ -- -- > myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDisplayPlaneCapabilitiesKHRUnsafe@ and @vkGetDisplayPlaneCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayPlaneCapabilitiesKHR@ is an alias+--           of @vkGetDisplayPlaneCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayPlaneCapabilitiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkGetDisplayPlaneCapabilitiesKHR"-               vkGetDisplayPlaneCapabilitiesKHR ::+               vkGetDisplayPlaneCapabilitiesKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  VkDisplayModeKHR -- ^ mode@@ -1061,19 +1346,20 @@                                                                -> IO VkResult  #else-vkGetDisplayPlaneCapabilitiesKHR ::-                                 VkPhysicalDevice -- ^ physicalDevice+vkGetDisplayPlaneCapabilitiesKHRUnsafe ::+                                       VkPhysicalDevice -- ^ physicalDevice+                                                        ->+                                         VkDisplayModeKHR -- ^ mode+                                                          ->+                                           Word32 -- ^ planeIndex                                                   ->-                                   VkDisplayModeKHR -- ^ mode-                                                    ->-                                     Word32 -- ^ planeIndex-                                            -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities-                                                                                 -> IO VkResult-vkGetDisplayPlaneCapabilitiesKHR+                                             Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+                                                                               -> IO VkResult+vkGetDisplayPlaneCapabilitiesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetDisplayPlaneCapabilitiesKHR)+      (vkGetProcUnsafe @VkGetDisplayPlaneCapabilitiesKHR) -{-# NOINLINE vkGetDisplayPlaneCapabilitiesKHR #-}+{-# NOINLINE vkGetDisplayPlaneCapabilitiesKHRUnsafe #-} #endif  -- |@@ -1102,9 +1388,12 @@ -- -- > myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDisplayPlaneCapabilitiesKHRUnsafe@ and @vkGetDisplayPlaneCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayPlaneCapabilitiesKHR@ is an alias+--           of @vkGetDisplayPlaneCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayPlaneCapabilitiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkGetDisplayPlaneCapabilitiesKHR"                vkGetDisplayPlaneCapabilitiesKHRSafe ::@@ -1132,6 +1421,55 @@ {-# NOINLINE vkGetDisplayPlaneCapabilitiesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneCapabilitiesKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkDisplayModeKHR mode+-- >     , uint32_t planeIndex+-- >     , VkDisplayPlaneCapabilitiesKHR* pCapabilities+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayPlaneCapabilitiesKHR <- vkGetInstanceProc @VkGetDisplayPlaneCapabilitiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR+--+-- __Note:__ @vkGetDisplayPlaneCapabilitiesKHRUnsafe@ and @vkGetDisplayPlaneCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDisplayPlaneCapabilitiesKHR@ is an alias+--           of @vkGetDisplayPlaneCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDisplayPlaneCapabilitiesKHRSafe@.+--+vkGetDisplayPlaneCapabilitiesKHR ::+                                 VkPhysicalDevice -- ^ physicalDevice+                                                  ->+                                   VkDisplayModeKHR -- ^ mode+                                                    ->+                                     Word32 -- ^ planeIndex+                                            -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+                                                                                 -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetDisplayPlaneCapabilitiesKHR+  = vkGetDisplayPlaneCapabilitiesKHRUnsafe+#else+vkGetDisplayPlaneCapabilitiesKHR+  = vkGetDisplayPlaneCapabilitiesKHRSafe++#endif+{-# INLINE vkGetDisplayPlaneCapabilitiesKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -1157,7 +1495,7 @@      FunPtr HS_vkGetDisplayPlaneCapabilitiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetDisplayPlaneCapabilitiesKHR ::+               unwrapVkGetDisplayPlaneCapabilitiesKHRUnsafe ::                PFN_vkGetDisplayPlaneCapabilitiesKHR ->                  HS_vkGetDisplayPlaneCapabilitiesKHR @@ -1172,9 +1510,10 @@         vkProcSymbol = _VkGetDisplayPlaneCapabilitiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetDisplayPlaneCapabilitiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetDisplayPlaneCapabilitiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetDisplayPlaneCapabilitiesKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -1227,12 +1566,15 @@ -- -- > myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateDisplayPlaneSurfaceKHRUnsafe@ and @vkCreateDisplayPlaneSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDisplayPlaneSurfaceKHR@ is an alias+--           of @vkCreateDisplayPlaneSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDisplayPlaneSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateDisplayPlaneSurfaceKHR"-               vkCreateDisplayPlaneSurfaceKHR ::+               vkCreateDisplayPlaneSurfaceKHRUnsafe ::                VkInstance -- ^ instance                           ->                  Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo@@ -1242,19 +1584,20 @@                                                                  -> IO VkResult  #else-vkCreateDisplayPlaneSurfaceKHR ::-                               VkInstance -- ^ instance-                                          ->-                                 Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+vkCreateDisplayPlaneSurfaceKHRUnsafe ::+                                     VkInstance -- ^ instance+                                                ->+                                       Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+                                                                         ->+                                         Ptr VkAllocationCallbacks -- ^ pAllocator                                                                    ->-                                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                                             -> Ptr VkSurfaceKHR -- ^ pSurface-                                                                                 -> IO VkResult-vkCreateDisplayPlaneSurfaceKHR+                                           Ptr VkSurfaceKHR -- ^ pSurface+                                                            -> IO VkResult+vkCreateDisplayPlaneSurfaceKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkCreateDisplayPlaneSurfaceKHR)+      (vkGetProcUnsafe @VkCreateDisplayPlaneSurfaceKHR) -{-# NOINLINE vkCreateDisplayPlaneSurfaceKHR #-}+{-# NOINLINE vkCreateDisplayPlaneSurfaceKHRUnsafe #-} #endif  -- |@@ -1283,9 +1626,12 @@ -- -- > myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateDisplayPlaneSurfaceKHRUnsafe@ and @vkCreateDisplayPlaneSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDisplayPlaneSurfaceKHR@ is an alias+--           of @vkCreateDisplayPlaneSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDisplayPlaneSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateDisplayPlaneSurfaceKHR"                vkCreateDisplayPlaneSurfaceKHRSafe ::@@ -1313,6 +1659,54 @@ {-# NOINLINE vkCreateDisplayPlaneSurfaceKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDisplayPlaneSurfaceKHR+-- >     ( VkInstance instance+-- >     , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSurfaceKHR* pSurface+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDisplayPlaneSurfaceKHR <- vkGetInstanceProc @VkCreateDisplayPlaneSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR+--+-- __Note:__ @vkCreateDisplayPlaneSurfaceKHRUnsafe@ and @vkCreateDisplayPlaneSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateDisplayPlaneSurfaceKHR@ is an alias+--           of @vkCreateDisplayPlaneSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateDisplayPlaneSurfaceKHRSafe@.+--+vkCreateDisplayPlaneSurfaceKHR ::+                               VkInstance -- ^ instance+                                          ->+                                 Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+                                                                   ->+                                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                                 -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateDisplayPlaneSurfaceKHR+  = vkCreateDisplayPlaneSurfaceKHRUnsafe+#else+vkCreateDisplayPlaneSurfaceKHR = vkCreateDisplayPlaneSurfaceKHRSafe++#endif+{-# INLINE vkCreateDisplayPlaneSurfaceKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -1338,7 +1732,7 @@      FunPtr HS_vkCreateDisplayPlaneSurfaceKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCreateDisplayPlaneSurfaceKHR ::+               unwrapVkCreateDisplayPlaneSurfaceKHRUnsafe ::                PFN_vkCreateDisplayPlaneSurfaceKHR ->                  HS_vkCreateDisplayPlaneSurfaceKHR @@ -1353,9 +1747,9 @@         vkProcSymbol = _VkCreateDisplayPlaneSurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateDisplayPlaneSurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateDisplayPlaneSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateDisplayPlaneSurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_display_swapchain.hs view
@@ -40,8 +40,8 @@         -- > #include "vk_platform.h"         VkCreateSharedSwapchainsKHR, pattern VkCreateSharedSwapchainsKHR,         HS_vkCreateSharedSwapchainsKHR, PFN_vkCreateSharedSwapchainsKHR,-        vkCreateSharedSwapchainsKHR, vkCreateSharedSwapchainsKHRSafe,-        module Graphics.Vulkan.Marshal,+        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,@@ -137,12 +137,15 @@ -- -- > myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateSharedSwapchainsKHRUnsafe@ and @vkCreateSharedSwapchainsKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSharedSwapchainsKHR@ is an alias+--           of @vkCreateSharedSwapchainsKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSharedSwapchainsKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateSharedSwapchainsKHR"-               vkCreateSharedSwapchainsKHR ::+               vkCreateSharedSwapchainsKHRUnsafe ::                VkDevice -- ^ device                         ->                  Word32 -- ^ swapchainCount@@ -154,20 +157,22 @@                                                                      -> IO VkResult  #else-vkCreateSharedSwapchainsKHR ::-                            VkDevice -- ^ device-                                     ->-                              Word32 -- ^ swapchainCount-                                     ->-                                Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfos-                                                             ->-                                  Ptr VkAllocationCallbacks -- ^ pAllocator-                                                            -> Ptr VkSwapchainKHR -- ^ pSwapchains-                                                                                  -> IO VkResult-vkCreateSharedSwapchainsKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateSharedSwapchainsKHR)+vkCreateSharedSwapchainsKHRUnsafe ::+                                  VkDevice -- ^ device+                                           ->+                                    Word32 -- ^ swapchainCount+                                           ->+                                      Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfos+                                                                   ->+                                        Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                  ->+                                          Ptr VkSwapchainKHR -- ^ pSwapchains+                                                             -> IO VkResult+vkCreateSharedSwapchainsKHRUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateSharedSwapchainsKHR) -{-# NOINLINE vkCreateSharedSwapchainsKHR #-}+{-# NOINLINE vkCreateSharedSwapchainsKHRUnsafe #-} #endif  -- |@@ -197,9 +202,12 @@ -- -- > myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateSharedSwapchainsKHRUnsafe@ and @vkCreateSharedSwapchainsKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSharedSwapchainsKHR@ is an alias+--           of @vkCreateSharedSwapchainsKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSharedSwapchainsKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateSharedSwapchainsKHR"                vkCreateSharedSwapchainsKHRSafe ::@@ -231,6 +239,56 @@ {-# NOINLINE vkCreateSharedSwapchainsKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkCreateSharedSwapchainsKHR+-- >     ( VkDevice device+-- >     , uint32_t swapchainCount+-- >     , const VkSwapchainCreateInfoKHR* pCreateInfos+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSwapchainKHR* pSwapchains+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSharedSwapchainsKHR <- vkGetDeviceProc @VkCreateSharedSwapchainsKHR vkDevice+--+-- or less efficient:+--+-- > myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR+--+-- __Note:__ @vkCreateSharedSwapchainsKHRUnsafe@ and @vkCreateSharedSwapchainsKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSharedSwapchainsKHR@ is an alias+--           of @vkCreateSharedSwapchainsKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSharedSwapchainsKHRSafe@.+--+vkCreateSharedSwapchainsKHR ::+                            VkDevice -- ^ device+                                     ->+                              Word32 -- ^ swapchainCount+                                     ->+                                Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfos+                                                             ->+                                  Ptr VkAllocationCallbacks -- ^ pAllocator+                                                            -> Ptr VkSwapchainKHR -- ^ pSwapchains+                                                                                  -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateSharedSwapchainsKHR = vkCreateSharedSwapchainsKHRUnsafe+#else+vkCreateSharedSwapchainsKHR = vkCreateSharedSwapchainsKHRSafe++#endif+{-# INLINE vkCreateSharedSwapchainsKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -259,7 +317,7 @@      FunPtr HS_vkCreateSharedSwapchainsKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCreateSharedSwapchainsKHR ::+               unwrapVkCreateSharedSwapchainsKHRUnsafe ::                PFN_vkCreateSharedSwapchainsKHR -> HS_vkCreateSharedSwapchainsKHR  foreign import ccall safe "dynamic"@@ -272,9 +330,9 @@         vkProcSymbol = _VkCreateSharedSwapchainsKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateSharedSwapchainsKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateSharedSwapchainsKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateSharedSwapchainsKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_draw_indirect_count.hs view
@@ -0,0 +1,224 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE FlexibleInstances        #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE TypeFamilies             #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count+       (-- * Vulkan extension: @VK_KHR_draw_indirect_count@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell-nv@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @170@+        VkCmdDrawIndirectCountKHR, pattern VkCmdDrawIndirectCountKHR,+        HS_vkCmdDrawIndirectCountKHR, PFN_vkCmdDrawIndirectCountKHR,+        VkCmdDrawIndexedIndirectCountKHR,+        pattern VkCmdDrawIndexedIndirectCountKHR,+        HS_vkCmdDrawIndexedIndirectCountKHR,+        PFN_vkCmdDrawIndexedIndirectCountKHR,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION,+        pattern VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION,+        VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME,+        pattern VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME)+       where+import           GHC.Ptr                         (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Proc    (VulkanProc (..))+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Handles++pattern VkCmdDrawIndirectCountKHR :: CString++pattern VkCmdDrawIndirectCountKHR <-+        (is_VkCmdDrawIndirectCountKHR -> True)+  where VkCmdDrawIndirectCountKHR = _VkCmdDrawIndirectCountKHR++{-# INLINE _VkCmdDrawIndirectCountKHR #-}++_VkCmdDrawIndirectCountKHR :: CString+_VkCmdDrawIndirectCountKHR = Ptr "vkCmdDrawIndirectCountKHR\NUL"#++{-# INLINE is_VkCmdDrawIndirectCountKHR #-}++is_VkCmdDrawIndirectCountKHR :: CString -> Bool+is_VkCmdDrawIndirectCountKHR+  = (EQ ==) . cmpCStrings _VkCmdDrawIndirectCountKHR++type VkCmdDrawIndirectCountKHR = "vkCmdDrawIndirectCountKHR"++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdDrawIndirectCountKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , VkBuffer countBuffer+--   >     , VkDeviceSize countBufferOffset+--   >     , uint32_t maxDrawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR registry at www.khronos.org>+type HS_vkCmdDrawIndirectCountKHR =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ buffer+                ->+         VkDeviceSize -- ^ offset+                      ->+           VkBuffer -- ^ countBuffer+                    -> VkDeviceSize -- ^ countBufferOffset+                                    -> Word32 -- ^ maxDrawCount+                                              -> Word32 -- ^ stride+                                                        -> IO ()++type PFN_vkCmdDrawIndirectCountKHR =+     FunPtr HS_vkCmdDrawIndirectCountKHR++foreign import ccall unsafe "dynamic"+               unwrapVkCmdDrawIndirectCountKHRUnsafe ::+               PFN_vkCmdDrawIndirectCountKHR -> HS_vkCmdDrawIndirectCountKHR++foreign import ccall safe "dynamic"+               unwrapVkCmdDrawIndirectCountKHRSafe ::+               PFN_vkCmdDrawIndirectCountKHR -> HS_vkCmdDrawIndirectCountKHR++instance VulkanProc "vkCmdDrawIndirectCountKHR" where+        type VkProcType "vkCmdDrawIndirectCountKHR" =+             HS_vkCmdDrawIndirectCountKHR+        vkProcSymbol = _VkCmdDrawIndirectCountKHR++        {-# INLINE vkProcSymbol #-}+        unwrapVkProcPtrUnsafe = unwrapVkCmdDrawIndirectCountKHRUnsafe++        {-# INLINE unwrapVkProcPtrUnsafe #-}+        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndirectCountKHRSafe++        {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkCmdDrawIndexedIndirectCountKHR :: CString++pattern VkCmdDrawIndexedIndirectCountKHR <-+        (is_VkCmdDrawIndexedIndirectCountKHR -> True)+  where VkCmdDrawIndexedIndirectCountKHR+          = _VkCmdDrawIndexedIndirectCountKHR++{-# INLINE _VkCmdDrawIndexedIndirectCountKHR #-}++_VkCmdDrawIndexedIndirectCountKHR :: CString+_VkCmdDrawIndexedIndirectCountKHR+  = Ptr "vkCmdDrawIndexedIndirectCountKHR\NUL"#++{-# INLINE is_VkCmdDrawIndexedIndirectCountKHR #-}++is_VkCmdDrawIndexedIndirectCountKHR :: CString -> Bool+is_VkCmdDrawIndexedIndirectCountKHR+  = (EQ ==) . cmpCStrings _VkCmdDrawIndexedIndirectCountKHR++type VkCmdDrawIndexedIndirectCountKHR =+     "vkCmdDrawIndexedIndirectCountKHR"++-- | Queues: 'graphics'.+--+--   Renderpass: @inside@+--+--   Pipeline: @graphics@+--+--   > void vkCmdDrawIndexedIndirectCountKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , VkBuffer countBuffer+--   >     , VkDeviceSize countBufferOffset+--   >     , uint32_t maxDrawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR registry at www.khronos.org>+type HS_vkCmdDrawIndexedIndirectCountKHR =+     VkCommandBuffer -- ^ commandBuffer+                     ->+       VkBuffer -- ^ buffer+                ->+         VkDeviceSize -- ^ offset+                      ->+           VkBuffer -- ^ countBuffer+                    -> VkDeviceSize -- ^ countBufferOffset+                                    -> Word32 -- ^ maxDrawCount+                                              -> Word32 -- ^ stride+                                                        -> IO ()++type PFN_vkCmdDrawIndexedIndirectCountKHR =+     FunPtr HS_vkCmdDrawIndexedIndirectCountKHR++foreign import ccall unsafe "dynamic"+               unwrapVkCmdDrawIndexedIndirectCountKHRUnsafe ::+               PFN_vkCmdDrawIndexedIndirectCountKHR ->+                 HS_vkCmdDrawIndexedIndirectCountKHR++foreign import ccall safe "dynamic"+               unwrapVkCmdDrawIndexedIndirectCountKHRSafe ::+               PFN_vkCmdDrawIndexedIndirectCountKHR ->+                 HS_vkCmdDrawIndexedIndirectCountKHR++instance VulkanProc "vkCmdDrawIndexedIndirectCountKHR" where+        type VkProcType "vkCmdDrawIndexedIndirectCountKHR" =+             HS_vkCmdDrawIndexedIndirectCountKHR+        vkProcSymbol = _VkCmdDrawIndexedIndirectCountKHR++        {-# INLINE vkProcSymbol #-}+        unwrapVkProcPtrUnsafe+          = unwrapVkCmdDrawIndexedIndirectCountKHRUnsafe++        {-# INLINE unwrapVkProcPtrUnsafe #-}+        unwrapVkProcPtrSafe = unwrapVkCmdDrawIndexedIndirectCountKHRSafe++        {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1++type VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1++pattern VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString++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++{-# INLINE _VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME #-}++_VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString+_VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME+  = Ptr "VK_KHR_draw_indirect_count\NUL"#++{-# INLINE is_VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME #-}++is_VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME++type VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME =+     "VK_KHR_draw_indirect_count"
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence.hs view
@@ -11,7 +11,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall@+        -- contact: @Jesse Hall @critsec@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_capabilities.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall@+        -- contact: @Jesse Hall @critsec@         --         -- author: @KHR@         --@@ -111,7 +112,7 @@      FunPtr HS_vkGetPhysicalDeviceExternalFencePropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalFencePropertiesKHR ::+               unwrapVkGetPhysicalDeviceExternalFencePropertiesKHRUnsafe ::                PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR ->                  HS_vkGetPhysicalDeviceExternalFencePropertiesKHR @@ -127,10 +128,10 @@         vkProcSymbol = _VkGetPhysicalDeviceExternalFencePropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_fd.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall@+        -- contact: @Jesse Hall @critsec@         --         -- author: @KHR@         --@@ -92,7 +93,8 @@  type PFN_vkImportFenceFdKHR = FunPtr HS_vkImportFenceFdKHR -foreign import ccall unsafe "dynamic" unwrapVkImportFenceFdKHR ::+foreign import ccall unsafe "dynamic"+               unwrapVkImportFenceFdKHRUnsafe ::                PFN_vkImportFenceFdKHR -> HS_vkImportFenceFdKHR  foreign import ccall safe "dynamic" unwrapVkImportFenceFdKHRSafe ::@@ -103,9 +105,9 @@         vkProcSymbol = _VkImportFenceFdKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkImportFenceFdKHR+        unwrapVkProcPtrUnsafe = unwrapVkImportFenceFdKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkImportFenceFdKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -146,8 +148,8 @@  type PFN_vkGetFenceFdKHR = FunPtr HS_vkGetFenceFdKHR -foreign import ccall unsafe "dynamic" unwrapVkGetFenceFdKHR ::-               PFN_vkGetFenceFdKHR -> HS_vkGetFenceFdKHR+foreign import ccall unsafe "dynamic" unwrapVkGetFenceFdKHRUnsafe+               :: PFN_vkGetFenceFdKHR -> HS_vkGetFenceFdKHR  foreign import ccall safe "dynamic" unwrapVkGetFenceFdKHRSafe ::                PFN_vkGetFenceFdKHR -> HS_vkGetFenceFdKHR@@ -157,9 +159,9 @@         vkProcSymbol = _VkGetFenceFdKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetFenceFdKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetFenceFdKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetFenceFdKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_win32.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall@+        -- contact: @Jesse Hall @critsec@         --         -- author: @KHR@         --@@ -103,7 +104,7 @@      FunPtr HS_vkImportFenceWin32HandleKHR  foreign import ccall unsafe "dynamic"-               unwrapVkImportFenceWin32HandleKHR ::+               unwrapVkImportFenceWin32HandleKHRUnsafe ::                PFN_vkImportFenceWin32HandleKHR -> HS_vkImportFenceWin32HandleKHR  foreign import ccall safe "dynamic"@@ -116,9 +117,9 @@         vkProcSymbol = _VkImportFenceWin32HandleKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkImportFenceWin32HandleKHR+        unwrapVkProcPtrUnsafe = unwrapVkImportFenceWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkImportFenceWin32HandleKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -164,7 +165,7 @@      FunPtr HS_vkGetFenceWin32HandleKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetFenceWin32HandleKHR ::+               unwrapVkGetFenceWin32HandleKHRUnsafe ::                PFN_vkGetFenceWin32HandleKHR -> HS_vkGetFenceWin32HandleKHR  foreign import ccall safe "dynamic"@@ -177,9 +178,9 @@         vkProcSymbol = _VkGetFenceWin32HandleKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetFenceWin32HandleKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetFenceWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetFenceWin32HandleKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_capabilities.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -124,7 +125,7 @@      FunPtr HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHR ::+               unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHRUnsafe ::                PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR ->                  HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR @@ -141,10 +142,10 @@         vkProcSymbol = _VkGetPhysicalDeviceExternalBufferPropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_fd.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -95,8 +96,8 @@  type PFN_vkGetMemoryFdKHR = FunPtr HS_vkGetMemoryFdKHR -foreign import ccall unsafe "dynamic" unwrapVkGetMemoryFdKHR ::-               PFN_vkGetMemoryFdKHR -> HS_vkGetMemoryFdKHR+foreign import ccall unsafe "dynamic" unwrapVkGetMemoryFdKHRUnsafe+               :: PFN_vkGetMemoryFdKHR -> HS_vkGetMemoryFdKHR  foreign import ccall safe "dynamic" unwrapVkGetMemoryFdKHRSafe ::                PFN_vkGetMemoryFdKHR -> HS_vkGetMemoryFdKHR@@ -106,9 +107,9 @@         vkProcSymbol = _VkGetMemoryFdKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetMemoryFdKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryFdKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetMemoryFdKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -157,7 +158,7 @@      FunPtr HS_vkGetMemoryFdPropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetMemoryFdPropertiesKHR ::+               unwrapVkGetMemoryFdPropertiesKHRUnsafe ::                PFN_vkGetMemoryFdPropertiesKHR -> HS_vkGetMemoryFdPropertiesKHR  foreign import ccall safe "dynamic"@@ -170,9 +171,9 @@         vkProcSymbol = _VkGetMemoryFdPropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetMemoryFdPropertiesKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryFdPropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetMemoryFdPropertiesKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_win32.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -106,7 +107,7 @@      FunPtr HS_vkGetMemoryWin32HandleKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetMemoryWin32HandleKHR ::+               unwrapVkGetMemoryWin32HandleKHRUnsafe ::                PFN_vkGetMemoryWin32HandleKHR -> HS_vkGetMemoryWin32HandleKHR  foreign import ccall safe "dynamic"@@ -119,9 +120,9 @@         vkProcSymbol = _VkGetMemoryWin32HandleKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetMemoryWin32HandleKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandleKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -173,7 +174,7 @@      FunPtr HS_vkGetMemoryWin32HandlePropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetMemoryWin32HandlePropertiesKHR ::+               unwrapVkGetMemoryWin32HandlePropertiesKHRUnsafe ::                PFN_vkGetMemoryWin32HandlePropertiesKHR ->                  HS_vkGetMemoryWin32HandlePropertiesKHR @@ -188,9 +189,10 @@         vkProcSymbol = _VkGetMemoryWin32HandlePropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetMemoryWin32HandlePropertiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetMemoryWin32HandlePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandlePropertiesKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_capabilities.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -114,7 +115,7 @@      FunPtr HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHR ::+               unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHRUnsafe ::                PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ->                  HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR @@ -131,10 +132,10 @@         vkProcSymbol = _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_fd.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -95,8 +96,9 @@  type PFN_vkImportSemaphoreFdKHR = FunPtr HS_vkImportSemaphoreFdKHR -foreign import ccall unsafe "dynamic" unwrapVkImportSemaphoreFdKHR-               :: PFN_vkImportSemaphoreFdKHR -> HS_vkImportSemaphoreFdKHR+foreign import ccall unsafe "dynamic"+               unwrapVkImportSemaphoreFdKHRUnsafe ::+               PFN_vkImportSemaphoreFdKHR -> HS_vkImportSemaphoreFdKHR  foreign import ccall safe "dynamic"                unwrapVkImportSemaphoreFdKHRSafe ::@@ -108,9 +110,9 @@         vkProcSymbol = _VkImportSemaphoreFdKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkImportSemaphoreFdKHR+        unwrapVkProcPtrUnsafe = unwrapVkImportSemaphoreFdKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkImportSemaphoreFdKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -151,7 +153,8 @@  type PFN_vkGetSemaphoreFdKHR = FunPtr HS_vkGetSemaphoreFdKHR -foreign import ccall unsafe "dynamic" unwrapVkGetSemaphoreFdKHR ::+foreign import ccall unsafe "dynamic"+               unwrapVkGetSemaphoreFdKHRUnsafe ::                PFN_vkGetSemaphoreFdKHR -> HS_vkGetSemaphoreFdKHR  foreign import ccall safe "dynamic" unwrapVkGetSemaphoreFdKHRSafe@@ -162,9 +165,9 @@         vkProcSymbol = _VkGetSemaphoreFdKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetSemaphoreFdKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetSemaphoreFdKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetSemaphoreFdKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_win32.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -114,7 +115,7 @@      FunPtr HS_vkImportSemaphoreWin32HandleKHR  foreign import ccall unsafe "dynamic"-               unwrapVkImportSemaphoreWin32HandleKHR ::+               unwrapVkImportSemaphoreWin32HandleKHRUnsafe ::                PFN_vkImportSemaphoreWin32HandleKHR ->                  HS_vkImportSemaphoreWin32HandleKHR @@ -129,9 +130,9 @@         vkProcSymbol = _VkImportSemaphoreWin32HandleKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkImportSemaphoreWin32HandleKHR+        unwrapVkProcPtrUnsafe = unwrapVkImportSemaphoreWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkImportSemaphoreWin32HandleKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -178,7 +179,7 @@      FunPtr HS_vkGetSemaphoreWin32HandleKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetSemaphoreWin32HandleKHR ::+               unwrapVkGetSemaphoreWin32HandleKHRUnsafe ::                PFN_vkGetSemaphoreWin32HandleKHR -> HS_vkGetSemaphoreWin32HandleKHR  foreign import ccall safe "dynamic"@@ -191,9 +192,9 @@         vkProcSymbol = _VkGetSemaphoreWin32HandleKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetSemaphoreWin32HandleKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetSemaphoreWin32HandleKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetSemaphoreWin32HandleKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_get_display_properties2.hs view
@@ -0,0 +1,415 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE FlexibleInstances        #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE TypeFamilies             #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_get_display_properties2+       (-- * Vulkan extension: @VK_KHR_get_display_properties2@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @122@+        --+        -- Required extensions: 'VK_KHR_display'.+        --++        -- ** Required extensions: 'VK_KHR_display'.+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.Display,+        module Graphics.Vulkan.Types.Enum.Display,+        module Graphics.Vulkan.Types.Struct.Extent,+        module Graphics.Vulkan.Types.Struct.Offset,+        module Graphics.Vulkan.Types.Enum.StructureType,+        module Graphics.Vulkan.Types.Enum.Surface,+        -- > #include "vk_platform.h"+        VkGetPhysicalDeviceDisplayProperties2KHR,+        pattern VkGetPhysicalDeviceDisplayProperties2KHR,+        HS_vkGetPhysicalDeviceDisplayProperties2KHR,+        PFN_vkGetPhysicalDeviceDisplayProperties2KHR,+        VkGetPhysicalDeviceDisplayPlaneProperties2KHR,+        pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR,+        HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR,+        PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR,+        VkGetDisplayModeProperties2KHR,+        pattern VkGetDisplayModeProperties2KHR,+        HS_vkGetDisplayModeProperties2KHR,+        PFN_vkGetDisplayModeProperties2KHR,+        VkGetDisplayPlaneCapabilities2KHR,+        pattern VkGetDisplayPlaneCapabilities2KHR,+        HS_vkGetDisplayPlaneCapabilities2KHR,+        PFN_vkGetDisplayPlaneCapabilities2KHR,+        module Graphics.Vulkan.Types.Enum.Result,+        module Graphics.Vulkan.Types.Handles,+        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,+        pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,+        pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR)+       where+import           GHC.Ptr                                  (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Proc             (VulkanProc (..))+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.Display+import           Graphics.Vulkan.Types.Enum.Result+import           Graphics.Vulkan.Types.Enum.StructureType+import           Graphics.Vulkan.Types.Enum.Surface+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.Display+import           Graphics.Vulkan.Types.Struct.Extent+import           Graphics.Vulkan.Types.Struct.Offset++pattern VkGetPhysicalDeviceDisplayProperties2KHR :: CString++pattern VkGetPhysicalDeviceDisplayProperties2KHR <-+        (is_VkGetPhysicalDeviceDisplayProperties2KHR -> True)+  where VkGetPhysicalDeviceDisplayProperties2KHR+          = _VkGetPhysicalDeviceDisplayProperties2KHR++{-# INLINE _VkGetPhysicalDeviceDisplayProperties2KHR #-}++_VkGetPhysicalDeviceDisplayProperties2KHR :: CString+_VkGetPhysicalDeviceDisplayProperties2KHR+  = Ptr "vkGetPhysicalDeviceDisplayProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceDisplayProperties2KHR #-}++is_VkGetPhysicalDeviceDisplayProperties2KHR :: CString -> Bool+is_VkGetPhysicalDeviceDisplayProperties2KHR+  = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceDisplayProperties2KHR++type VkGetPhysicalDeviceDisplayProperties2KHR =+     "vkGetPhysicalDeviceDisplayProperties2KHR"++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetPhysicalDeviceDisplayProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pPropertyCount+--   >     , VkDisplayProperties2KHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceDisplayProperties2KHR =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr Word32 -- ^ pPropertyCount+                  -> Ptr VkDisplayProperties2KHR -- ^ pProperties+                                                 -> IO VkResult++type PFN_vkGetPhysicalDeviceDisplayProperties2KHR =+     FunPtr HS_vkGetPhysicalDeviceDisplayProperties2KHR++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceDisplayProperties2KHRUnsafe ::+               PFN_vkGetPhysicalDeviceDisplayProperties2KHR ->+                 HS_vkGetPhysicalDeviceDisplayProperties2KHR++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceDisplayProperties2KHRSafe ::+               PFN_vkGetPhysicalDeviceDisplayProperties2KHR ->+                 HS_vkGetPhysicalDeviceDisplayProperties2KHR++instance VulkanProc "vkGetPhysicalDeviceDisplayProperties2KHR"+         where+        type VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR" =+             HS_vkGetPhysicalDeviceDisplayProperties2KHR+        vkProcSymbol = _VkGetPhysicalDeviceDisplayProperties2KHR++        {-# INLINE vkProcSymbol #-}+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceDisplayProperties2KHRUnsafe++        {-# INLINE unwrapVkProcPtrUnsafe #-}+        unwrapVkProcPtrSafe+          = unwrapVkGetPhysicalDeviceDisplayProperties2KHRSafe++        {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString++pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR <-+        (is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR -> True)+  where VkGetPhysicalDeviceDisplayPlaneProperties2KHR+          = _VkGetPhysicalDeviceDisplayPlaneProperties2KHR++{-# INLINE _VkGetPhysicalDeviceDisplayPlaneProperties2KHR #-}++_VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString+_VkGetPhysicalDeviceDisplayPlaneProperties2KHR+  = Ptr "vkGetPhysicalDeviceDisplayPlaneProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR #-}++is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString -> Bool+is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR+  = (EQ ==) .+      cmpCStrings _VkGetPhysicalDeviceDisplayPlaneProperties2KHR++type VkGetPhysicalDeviceDisplayPlaneProperties2KHR =+     "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pPropertyCount+--   >     , VkDisplayPlaneProperties2KHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr Word32 -- ^ pPropertyCount+                  -> Ptr VkDisplayPlaneProperties2KHR -- ^ pProperties+                                                      -> IO VkResult++type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR =+     FunPtr HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR++foreign import ccall unsafe "dynamic"+               unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRUnsafe ::+               PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR ->+                 HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR++foreign import ccall safe "dynamic"+               unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRSafe ::+               PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR ->+                 HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR++instance VulkanProc "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"+         where+        type VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" =+             HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR+        vkProcSymbol = _VkGetPhysicalDeviceDisplayPlaneProperties2KHR++        {-# INLINE vkProcSymbol #-}+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRUnsafe++        {-# INLINE unwrapVkProcPtrUnsafe #-}+        unwrapVkProcPtrSafe+          = unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRSafe++        {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetDisplayModeProperties2KHR :: CString++pattern VkGetDisplayModeProperties2KHR <-+        (is_VkGetDisplayModeProperties2KHR -> True)+  where VkGetDisplayModeProperties2KHR+          = _VkGetDisplayModeProperties2KHR++{-# INLINE _VkGetDisplayModeProperties2KHR #-}++_VkGetDisplayModeProperties2KHR :: CString+_VkGetDisplayModeProperties2KHR+  = Ptr "vkGetDisplayModeProperties2KHR\NUL"#++{-# INLINE is_VkGetDisplayModeProperties2KHR #-}++is_VkGetDisplayModeProperties2KHR :: CString -> Bool+is_VkGetDisplayModeProperties2KHR+  = (EQ ==) . cmpCStrings _VkGetDisplayModeProperties2KHR++type VkGetDisplayModeProperties2KHR =+     "vkGetDisplayModeProperties2KHR"++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetDisplayModeProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayKHR display+--   >     , uint32_t* pPropertyCount+--   >     , VkDisplayModeProperties2KHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR registry at www.khronos.org>+type HS_vkGetDisplayModeProperties2KHR =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       VkDisplayKHR -- ^ display+                    ->+         Ptr Word32 -- ^ pPropertyCount+                    -> Ptr VkDisplayModeProperties2KHR -- ^ pProperties+                                                       -> IO VkResult++type PFN_vkGetDisplayModeProperties2KHR =+     FunPtr HS_vkGetDisplayModeProperties2KHR++foreign import ccall unsafe "dynamic"+               unwrapVkGetDisplayModeProperties2KHRUnsafe ::+               PFN_vkGetDisplayModeProperties2KHR ->+                 HS_vkGetDisplayModeProperties2KHR++foreign import ccall safe "dynamic"+               unwrapVkGetDisplayModeProperties2KHRSafe ::+               PFN_vkGetDisplayModeProperties2KHR ->+                 HS_vkGetDisplayModeProperties2KHR++instance VulkanProc "vkGetDisplayModeProperties2KHR" where+        type VkProcType "vkGetDisplayModeProperties2KHR" =+             HS_vkGetDisplayModeProperties2KHR+        vkProcSymbol = _VkGetDisplayModeProperties2KHR++        {-# INLINE vkProcSymbol #-}+        unwrapVkProcPtrUnsafe = unwrapVkGetDisplayModeProperties2KHRUnsafe++        {-# INLINE unwrapVkProcPtrUnsafe #-}+        unwrapVkProcPtrSafe = unwrapVkGetDisplayModeProperties2KHRSafe++        {-# INLINE unwrapVkProcPtrSafe #-}++pattern VkGetDisplayPlaneCapabilities2KHR :: CString++pattern VkGetDisplayPlaneCapabilities2KHR <-+        (is_VkGetDisplayPlaneCapabilities2KHR -> True)+  where VkGetDisplayPlaneCapabilities2KHR+          = _VkGetDisplayPlaneCapabilities2KHR++{-# INLINE _VkGetDisplayPlaneCapabilities2KHR #-}++_VkGetDisplayPlaneCapabilities2KHR :: CString+_VkGetDisplayPlaneCapabilities2KHR+  = Ptr "vkGetDisplayPlaneCapabilities2KHR\NUL"#++{-# INLINE is_VkGetDisplayPlaneCapabilities2KHR #-}++is_VkGetDisplayPlaneCapabilities2KHR :: CString -> Bool+is_VkGetDisplayPlaneCapabilities2KHR+  = (EQ ==) . cmpCStrings _VkGetDisplayPlaneCapabilities2KHR++type VkGetDisplayPlaneCapabilities2KHR =+     "vkGetDisplayPlaneCapabilities2KHR"++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetDisplayPlaneCapabilities2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo+--   >     , VkDisplayPlaneCapabilities2KHR* pCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR registry at www.khronos.org>+type HS_vkGetDisplayPlaneCapabilities2KHR =+     VkPhysicalDevice -- ^ physicalDevice+                      ->+       Ptr VkDisplayPlaneInfo2KHR -- ^ pDisplayPlaneInfo+                                  ->+         Ptr VkDisplayPlaneCapabilities2KHR -- ^ pCapabilities+                                            -> IO VkResult++type PFN_vkGetDisplayPlaneCapabilities2KHR =+     FunPtr HS_vkGetDisplayPlaneCapabilities2KHR++foreign import ccall unsafe "dynamic"+               unwrapVkGetDisplayPlaneCapabilities2KHRUnsafe ::+               PFN_vkGetDisplayPlaneCapabilities2KHR ->+                 HS_vkGetDisplayPlaneCapabilities2KHR++foreign import ccall safe "dynamic"+               unwrapVkGetDisplayPlaneCapabilities2KHRSafe ::+               PFN_vkGetDisplayPlaneCapabilities2KHR ->+                 HS_vkGetDisplayPlaneCapabilities2KHR++instance VulkanProc "vkGetDisplayPlaneCapabilities2KHR" where+        type VkProcType "vkGetDisplayPlaneCapabilities2KHR" =+             HS_vkGetDisplayPlaneCapabilities2KHR+        vkProcSymbol = _VkGetDisplayPlaneCapabilities2KHR++        {-# INLINE vkProcSymbol #-}+        unwrapVkProcPtrUnsafe+          = unwrapVkGetDisplayPlaneCapabilities2KHRUnsafe++        {-# INLINE unwrapVkProcPtrUnsafe #-}+        unwrapVkProcPtrSafe = unwrapVkGetDisplayPlaneCapabilities2KHRSafe++        {-# INLINE unwrapVkProcPtrSafe #-}++pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1++type VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1++pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString++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++{-# INLINE _VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME #-}++_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString+_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME+  = Ptr "VK_KHR_get_display_properties2\NUL"#++{-# INLINE is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME #-}++is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME ::+                                                  CString -> Bool+is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME++type VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME =+     "VK_KHR_get_display_properties2"++pattern VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR =+        VkStructureType 1000121000++pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR =+        VkStructureType 1000121001++pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR =+        VkStructureType 1000121002++pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR =+        VkStructureType 1000121003++pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR =+        VkStructureType 1000121004
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_memory_requirements2.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -117,7 +118,7 @@      FunPtr HS_vkGetImageMemoryRequirements2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetImageMemoryRequirements2KHR ::+               unwrapVkGetImageMemoryRequirements2KHRUnsafe ::                PFN_vkGetImageMemoryRequirements2KHR ->                  HS_vkGetImageMemoryRequirements2KHR @@ -132,9 +133,10 @@         vkProcSymbol = _VkGetImageMemoryRequirements2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetImageMemoryRequirements2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetImageMemoryRequirements2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirements2KHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -182,7 +184,7 @@      FunPtr HS_vkGetBufferMemoryRequirements2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetBufferMemoryRequirements2KHR ::+               unwrapVkGetBufferMemoryRequirements2KHRUnsafe ::                PFN_vkGetBufferMemoryRequirements2KHR ->                  HS_vkGetBufferMemoryRequirements2KHR @@ -197,9 +199,10 @@         vkProcSymbol = _VkGetBufferMemoryRequirements2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetBufferMemoryRequirements2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetBufferMemoryRequirements2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirements2KHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -249,7 +252,7 @@      FunPtr HS_vkGetImageSparseMemoryRequirements2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetImageSparseMemoryRequirements2KHR ::+               unwrapVkGetImageSparseMemoryRequirements2KHRUnsafe ::                PFN_vkGetImageSparseMemoryRequirements2KHR ->                  HS_vkGetImageSparseMemoryRequirements2KHR @@ -264,9 +267,10 @@         vkProcSymbol = _VkGetImageSparseMemoryRequirements2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetImageSparseMemoryRequirements2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetImageSparseMemoryRequirements2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetImageSparseMemoryRequirements2KHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_physical_device_properties2.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @KHR@         --@@ -161,7 +162,7 @@      FunPtr HS_vkGetPhysicalDeviceFeatures2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFeatures2KHR ::+               unwrapVkGetPhysicalDeviceFeatures2KHRUnsafe ::                PFN_vkGetPhysicalDeviceFeatures2KHR ->                  HS_vkGetPhysicalDeviceFeatures2KHR @@ -176,9 +177,9 @@         vkProcSymbol = _VkGetPhysicalDeviceFeatures2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFeatures2KHR+        unwrapVkProcPtrUnsafe = unwrapVkGetPhysicalDeviceFeatures2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceFeatures2KHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -222,7 +223,7 @@      FunPtr HS_vkGetPhysicalDeviceProperties2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceProperties2KHR ::+               unwrapVkGetPhysicalDeviceProperties2KHRUnsafe ::                PFN_vkGetPhysicalDeviceProperties2KHR ->                  HS_vkGetPhysicalDeviceProperties2KHR @@ -237,9 +238,10 @@         vkProcSymbol = _VkGetPhysicalDeviceProperties2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceProperties2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetPhysicalDeviceProperties2KHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -285,7 +287,7 @@      FunPtr HS_vkGetPhysicalDeviceFormatProperties2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceFormatProperties2KHR ::+               unwrapVkGetPhysicalDeviceFormatProperties2KHRUnsafe ::                PFN_vkGetPhysicalDeviceFormatProperties2KHR ->                  HS_vkGetPhysicalDeviceFormatProperties2KHR @@ -300,9 +302,10 @@         vkProcSymbol = _VkGetPhysicalDeviceFormatProperties2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFormatProperties2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceFormatProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceFormatProperties2KHRSafe @@ -356,7 +359,7 @@      FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceImageFormatProperties2KHR ::+               unwrapVkGetPhysicalDeviceImageFormatProperties2KHRUnsafe ::                PFN_vkGetPhysicalDeviceImageFormatProperties2KHR ->                  HS_vkGetPhysicalDeviceImageFormatProperties2KHR @@ -372,10 +375,10 @@         vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceImageFormatProperties2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceImageFormatProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceImageFormatProperties2KHRSafe @@ -424,7 +427,7 @@      FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHR ::+               unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHRUnsafe ::                PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR ->                  HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR @@ -440,10 +443,10 @@         vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHRSafe @@ -488,7 +491,7 @@      FunPtr HS_vkGetPhysicalDeviceMemoryProperties2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceMemoryProperties2KHR ::+               unwrapVkGetPhysicalDeviceMemoryProperties2KHRUnsafe ::                PFN_vkGetPhysicalDeviceMemoryProperties2KHR ->                  HS_vkGetPhysicalDeviceMemoryProperties2KHR @@ -503,9 +506,10 @@         vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMemoryProperties2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceMemoryProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceMemoryProperties2KHRSafe @@ -560,7 +564,7 @@      FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHR ::+               unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHRUnsafe ::                PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR ->                  HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR @@ -578,10 +582,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_surface_capabilities2.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -117,7 +118,7 @@      FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHR ::+               unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHRUnsafe ::                PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR ->                  HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR @@ -133,9 +134,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHRSafe @@ -188,7 +190,7 @@      FunPtr HS_vkGetPhysicalDeviceSurfaceFormats2KHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSurfaceFormats2KHR ::+               unwrapVkGetPhysicalDeviceSurfaceFormats2KHRUnsafe ::                PFN_vkGetPhysicalDeviceSurfaceFormats2KHR ->                  HS_vkGetPhysicalDeviceSurfaceFormats2KHR @@ -203,9 +205,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormats2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceFormats2KHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSurfaceFormats2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSurfaceFormats2KHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_incremental_present.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Ian Elliott ianelliott@google.com@+        -- contact: @Ian Elliott @ianelliottus@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance1.hs view
@@ -2,6 +2,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -16,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Piers Daniell @pdaniell@+        -- contact: @Piers Daniell @pdaniell-nv@         --         -- author: @KHR@         --@@ -83,7 +84,8 @@  type PFN_vkTrimCommandPoolKHR = FunPtr HS_vkTrimCommandPoolKHR -foreign import ccall unsafe "dynamic" unwrapVkTrimCommandPoolKHR ::+foreign import ccall unsafe "dynamic"+               unwrapVkTrimCommandPoolKHRUnsafe ::                PFN_vkTrimCommandPoolKHR -> HS_vkTrimCommandPoolKHR  foreign import ccall safe "dynamic" unwrapVkTrimCommandPoolKHRSafe@@ -94,9 +96,9 @@         vkProcSymbol = _VkTrimCommandPoolKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkTrimCommandPoolKHR+        unwrapVkProcPtrUnsafe = unwrapVkTrimCommandPoolKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkTrimCommandPoolKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance3.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -15,7 +16,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @KHR@         --@@ -102,7 +103,7 @@      FunPtr HS_vkGetDescriptorSetLayoutSupportKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetDescriptorSetLayoutSupportKHR ::+               unwrapVkGetDescriptorSetLayoutSupportKHRUnsafe ::                PFN_vkGetDescriptorSetLayoutSupportKHR ->                  HS_vkGetDescriptorSetLayoutSupportKHR @@ -117,9 +118,10 @@         vkProcSymbol = _VkGetDescriptorSetLayoutSupportKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetDescriptorSetLayoutSupportKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetDescriptorSetLayoutSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetDescriptorSetLayoutSupportKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_mir_surface.hs view
@@ -17,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@         --         -- author: @KHR@         --@@ -38,12 +38,14 @@         -- > #include "vk_platform.h"         VkCreateMirSurfaceKHR, pattern VkCreateMirSurfaceKHR,         HS_vkCreateMirSurfaceKHR, PFN_vkCreateMirSurfaceKHR,-        vkCreateMirSurfaceKHR, vkCreateMirSurfaceKHRSafe,+        vkCreateMirSurfaceKHR, vkCreateMirSurfaceKHRUnsafe,+        vkCreateMirSurfaceKHRSafe,         VkGetPhysicalDeviceMirPresentationSupportKHR,         pattern VkGetPhysicalDeviceMirPresentationSupportKHR,         HS_vkGetPhysicalDeviceMirPresentationSupportKHR,         PFN_vkGetPhysicalDeviceMirPresentationSupportKHR,         vkGetPhysicalDeviceMirPresentationSupportKHR,+        vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceMirPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.InternalAllocationType,@@ -119,12 +121,15 @@ -- -- > myCreateMirSurfaceKHR <- vkGetProc @VkCreateMirSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateMirSurfaceKHRUnsafe@ and @vkCreateMirSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateMirSurfaceKHR@ is an alias+--           of @vkCreateMirSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateMirSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateMirSurfaceKHR"-               vkCreateMirSurfaceKHR ::+               vkCreateMirSurfaceKHRUnsafe ::                VkInstance -- ^ instance                           ->                  Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo@@ -134,18 +139,18 @@                                                                  -> IO VkResult  #else-vkCreateMirSurfaceKHR ::-                      VkInstance -- ^ instance-                                 ->-                        Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo-                                                      ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkSurfaceKHR -- ^ pSurface-                                                                        -> IO VkResult-vkCreateMirSurfaceKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateMirSurfaceKHR)+vkCreateMirSurfaceKHRUnsafe ::+                            VkInstance -- ^ instance+                                       ->+                              Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                            ->+                                Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                              -> IO VkResult+vkCreateMirSurfaceKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateMirSurfaceKHR) -{-# NOINLINE vkCreateMirSurfaceKHR #-}+{-# NOINLINE vkCreateMirSurfaceKHRUnsafe #-} #endif  -- |@@ -174,9 +179,12 @@ -- -- > myCreateMirSurfaceKHR <- vkGetProc @VkCreateMirSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateMirSurfaceKHRUnsafe@ and @vkCreateMirSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateMirSurfaceKHR@ is an alias+--           of @vkCreateMirSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateMirSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateMirSurfaceKHR"                vkCreateMirSurfaceKHRSafe ::@@ -203,6 +211,53 @@ {-# NOINLINE vkCreateMirSurfaceKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateMirSurfaceKHR+-- >     ( VkInstance instance+-- >     , const VkMirSurfaceCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSurfaceKHR* pSurface+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateMirSurfaceKHR <- vkGetInstanceProc @VkCreateMirSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateMirSurfaceKHR <- vkGetProc @VkCreateMirSurfaceKHR+--+-- __Note:__ @vkCreateMirSurfaceKHRUnsafe@ and @vkCreateMirSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateMirSurfaceKHR@ is an alias+--           of @vkCreateMirSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateMirSurfaceKHRSafe@.+--+vkCreateMirSurfaceKHR ::+                      VkInstance -- ^ instance+                                 ->+                        Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                      ->+                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                    -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                        -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateMirSurfaceKHR = vkCreateMirSurfaceKHRUnsafe+#else+vkCreateMirSurfaceKHR = vkCreateMirSurfaceKHRSafe++#endif+{-# INLINE vkCreateMirSurfaceKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -226,8 +281,9 @@  type PFN_vkCreateMirSurfaceKHR = FunPtr HS_vkCreateMirSurfaceKHR -foreign import ccall unsafe "dynamic" unwrapVkCreateMirSurfaceKHR-               :: PFN_vkCreateMirSurfaceKHR -> HS_vkCreateMirSurfaceKHR+foreign import ccall unsafe "dynamic"+               unwrapVkCreateMirSurfaceKHRUnsafe ::+               PFN_vkCreateMirSurfaceKHR -> HS_vkCreateMirSurfaceKHR  foreign import ccall safe "dynamic" unwrapVkCreateMirSurfaceKHRSafe                :: PFN_vkCreateMirSurfaceKHR -> HS_vkCreateMirSurfaceKHR@@ -237,9 +293,9 @@         vkProcSymbol = _VkCreateMirSurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateMirSurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateMirSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateMirSurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -288,30 +344,33 @@ -- -- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceMirPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMirPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceMirPresentationSupportKHR"-               vkGetPhysicalDeviceMirPresentationSupportKHR ::+               vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 -> Word32 -- ^ queueFamilyIndex                                           -> Ptr MirConnection -- ^ connection                                                                -> IO VkBool32  #else-vkGetPhysicalDeviceMirPresentationSupportKHR ::-                                             VkPhysicalDevice -- ^ physicalDevice-                                                              ->-                                               Word32 -- ^ queueFamilyIndex-                                                      -> Ptr MirConnection -- ^ connection-                                                                           -> IO VkBool32-vkGetPhysicalDeviceMirPresentationSupportKHR+vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe ::+                                                   VkPhysicalDevice -- ^ physicalDevice+                                                                    ->+                                                     Word32 -- ^ queueFamilyIndex+                                                            -> Ptr MirConnection -- ^ connection+                                                                                 -> IO VkBool32+vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceMirPresentationSupportKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceMirPresentationSupportKHR) -{-# NOINLINE vkGetPhysicalDeviceMirPresentationSupportKHR #-}+{-# NOINLINE vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe #-} #endif  -- |@@ -335,9 +394,12 @@ -- -- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceMirPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMirPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceMirPresentationSupportKHR"@@ -361,6 +423,48 @@ {-# NOINLINE vkGetPhysicalDeviceMirPresentationSupportKHRSafe #-} #endif +-- |+-- > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t queueFamilyIndex+-- >     , MirConnection* connection+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceMirPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceMirPresentationSupportKHR+--+-- __Note:__ @vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceMirPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@.+--+vkGetPhysicalDeviceMirPresentationSupportKHR ::+                                             VkPhysicalDevice -- ^ physicalDevice+                                                              ->+                                               Word32 -- ^ queueFamilyIndex+                                                      -> Ptr MirConnection -- ^ connection+                                                                           -> IO VkBool32+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceMirPresentationSupportKHR+  = vkGetPhysicalDeviceMirPresentationSupportKHRUnsafe+#else+vkGetPhysicalDeviceMirPresentationSupportKHR+  = vkGetPhysicalDeviceMirPresentationSupportKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceMirPresentationSupportKHR #-}+ -- | > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex@@ -378,7 +482,7 @@      FunPtr HS_vkGetPhysicalDeviceMirPresentationSupportKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceMirPresentationSupportKHR ::+               unwrapVkGetPhysicalDeviceMirPresentationSupportKHRUnsafe ::                PFN_vkGetPhysicalDeviceMirPresentationSupportKHR ->                  HS_vkGetPhysicalDeviceMirPresentationSupportKHR @@ -394,10 +498,10 @@         vkProcSymbol = _VkGetPhysicalDeviceMirPresentationSupportKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceMirPresentationSupportKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceMirPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceMirPresentationSupportKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_multiview.hs view
@@ -11,7 +11,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_push_descriptor.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @KHR@         --@@ -118,7 +119,7 @@      FunPtr HS_vkCmdPushDescriptorSetKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCmdPushDescriptorSetKHR ::+               unwrapVkCmdPushDescriptorSetKHRUnsafe ::                PFN_vkCmdPushDescriptorSetKHR -> HS_vkCmdPushDescriptorSetKHR  foreign import ccall safe "dynamic"@@ -131,9 +132,9 @@         vkProcSymbol = _VkCmdPushDescriptorSetKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdPushDescriptorSetKHR+        unwrapVkProcPtrUnsafe = unwrapVkCmdPushDescriptorSetKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdPushDescriptorSetKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -230,7 +231,7 @@      FunPtr HS_vkCmdPushDescriptorSetWithTemplateKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCmdPushDescriptorSetWithTemplateKHR ::+               unwrapVkCmdPushDescriptorSetWithTemplateKHRUnsafe ::                PFN_vkCmdPushDescriptorSetWithTemplateKHR ->                  HS_vkCmdPushDescriptorSetWithTemplateKHR @@ -245,9 +246,10 @@         vkProcSymbol = _VkCmdPushDescriptorSetWithTemplateKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdPushDescriptorSetWithTemplateKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkCmdPushDescriptorSetWithTemplateKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkCmdPushDescriptorSetWithTemplateKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_relaxed_block_layout.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @John Kessenich @johnk@+        -- contact: @John Kessenich @johnkslang@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_mirror_clamp_to_edge.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Tobias Hector @tobias@+        -- contact: @Tobias Hector @tobski@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_ycbcr_conversion.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -248,7 +249,7 @@      FunPtr HS_vkCreateSamplerYcbcrConversionKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCreateSamplerYcbcrConversionKHR ::+               unwrapVkCreateSamplerYcbcrConversionKHRUnsafe ::                PFN_vkCreateSamplerYcbcrConversionKHR ->                  HS_vkCreateSamplerYcbcrConversionKHR @@ -263,9 +264,10 @@         vkProcSymbol = _VkCreateSamplerYcbcrConversionKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateSamplerYcbcrConversionKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkCreateSamplerYcbcrConversionKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateSamplerYcbcrConversionKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -312,7 +314,7 @@      FunPtr HS_vkDestroySamplerYcbcrConversionKHR  foreign import ccall unsafe "dynamic"-               unwrapVkDestroySamplerYcbcrConversionKHR ::+               unwrapVkDestroySamplerYcbcrConversionKHRUnsafe ::                PFN_vkDestroySamplerYcbcrConversionKHR ->                  HS_vkDestroySamplerYcbcrConversionKHR @@ -327,9 +329,10 @@         vkProcSymbol = _VkDestroySamplerYcbcrConversionKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroySamplerYcbcrConversionKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkDestroySamplerYcbcrConversionKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroySamplerYcbcrConversionKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_shared_presentable_image.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -103,8 +104,9 @@ type PFN_vkGetSwapchainStatusKHR =      FunPtr HS_vkGetSwapchainStatusKHR -foreign import ccall unsafe "dynamic" unwrapVkGetSwapchainStatusKHR-               :: PFN_vkGetSwapchainStatusKHR -> HS_vkGetSwapchainStatusKHR+foreign import ccall unsafe "dynamic"+               unwrapVkGetSwapchainStatusKHRUnsafe ::+               PFN_vkGetSwapchainStatusKHR -> HS_vkGetSwapchainStatusKHR  foreign import ccall safe "dynamic"                unwrapVkGetSwapchainStatusKHRSafe ::@@ -116,9 +118,9 @@         vkProcSymbol = _VkGetSwapchainStatusKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetSwapchainStatusKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainStatusKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetSwapchainStatusKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_storage_buffer_storage_class.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Alexander Galazin @debater@+        -- contact: @Alexander Galazin @alegal-arm@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_surface.hs view
@@ -18,7 +18,7 @@         --         -- supported: @vulkan@         ---        -- contact: @James Jones @cubanismo,Ian Elliott ianelliott@google.com@+        -- contact: @James Jones @cubanismo,Ian Elliott @ianelliottus@         --         -- author: @KHR@         --@@ -27,30 +27,34 @@         -- Extension number: @1@         VkDestroySurfaceKHR, pattern VkDestroySurfaceKHR,         HS_vkDestroySurfaceKHR, PFN_vkDestroySurfaceKHR,-        vkDestroySurfaceKHR, vkDestroySurfaceKHRSafe,-        VkGetPhysicalDeviceSurfaceSupportKHR,+        vkDestroySurfaceKHR, vkDestroySurfaceKHRUnsafe,+        vkDestroySurfaceKHRSafe, VkGetPhysicalDeviceSurfaceSupportKHR,         pattern VkGetPhysicalDeviceSurfaceSupportKHR,         HS_vkGetPhysicalDeviceSurfaceSupportKHR,         PFN_vkGetPhysicalDeviceSurfaceSupportKHR,         vkGetPhysicalDeviceSurfaceSupportKHR,+        vkGetPhysicalDeviceSurfaceSupportKHRUnsafe,         vkGetPhysicalDeviceSurfaceSupportKHRSafe,         VkGetPhysicalDeviceSurfaceCapabilitiesKHR,         pattern VkGetPhysicalDeviceSurfaceCapabilitiesKHR,         HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR,         PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR,         vkGetPhysicalDeviceSurfaceCapabilitiesKHR,+        vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe,         vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe,         VkGetPhysicalDeviceSurfaceFormatsKHR,         pattern VkGetPhysicalDeviceSurfaceFormatsKHR,         HS_vkGetPhysicalDeviceSurfaceFormatsKHR,         PFN_vkGetPhysicalDeviceSurfaceFormatsKHR,         vkGetPhysicalDeviceSurfaceFormatsKHR,+        vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe,         vkGetPhysicalDeviceSurfaceFormatsKHRSafe,         VkGetPhysicalDeviceSurfacePresentModesKHR,         pattern VkGetPhysicalDeviceSurfacePresentModesKHR,         HS_vkGetPhysicalDeviceSurfacePresentModesKHR,         PFN_vkGetPhysicalDeviceSurfacePresentModesKHR,         vkGetPhysicalDeviceSurfacePresentModesKHR,+        vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe,         vkGetPhysicalDeviceSurfacePresentModesKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,@@ -135,27 +139,30 @@ -- -- > myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkDestroySurfaceKHRUnsafe@ and @vkDestroySurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySurfaceKHR@ is an alias+--           of @vkDestroySurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkDestroySurfaceKHR"-               vkDestroySurfaceKHR ::+               vkDestroySurfaceKHRUnsafe ::                VkInstance -- ^ instance                           -> VkSurfaceKHR -- ^ surface                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                        -> IO ()  #else-vkDestroySurfaceKHR ::-                    VkInstance -- ^ instance-                               -> VkSurfaceKHR -- ^ surface-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()-vkDestroySurfaceKHR-  = unsafeDupablePerformIO (vkGetProc @VkDestroySurfaceKHR)+vkDestroySurfaceKHRUnsafe ::+                          VkInstance -- ^ instance+                                     -> VkSurfaceKHR -- ^ surface+                                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                  -> IO ()+vkDestroySurfaceKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroySurfaceKHR) -{-# NOINLINE vkDestroySurfaceKHR #-}+{-# NOINLINE vkDestroySurfaceKHRUnsafe #-} #endif  -- |@@ -179,9 +186,12 @@ -- -- > myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkDestroySurfaceKHRUnsafe@ and @vkDestroySurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySurfaceKHR@ is an alias+--           of @vkDestroySurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkDestroySurfaceKHR"                vkDestroySurfaceKHRSafe ::@@ -202,6 +212,45 @@ {-# NOINLINE vkDestroySurfaceKHRSafe #-} #endif +-- |+-- > void vkDestroySurfaceKHR+-- >     ( VkInstance instance+-- >     , VkSurfaceKHR surface+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySurfaceKHR vkDestroySurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySurfaceKHR <- vkGetInstanceProc @VkDestroySurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR+--+-- __Note:__ @vkDestroySurfaceKHRUnsafe@ and @vkDestroySurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySurfaceKHR@ is an alias+--           of @vkDestroySurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySurfaceKHRSafe@.+--+vkDestroySurfaceKHR ::+                    VkInstance -- ^ instance+                               -> VkSurfaceKHR -- ^ surface+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkDestroySurfaceKHR = vkDestroySurfaceKHRUnsafe+#else+vkDestroySurfaceKHR = vkDestroySurfaceKHRSafe++#endif+{-# INLINE vkDestroySurfaceKHR #-}+ -- | > void vkDestroySurfaceKHR --   >     ( VkInstance instance --   >     , VkSurfaceKHR surface@@ -217,7 +266,8 @@  type PFN_vkDestroySurfaceKHR = FunPtr HS_vkDestroySurfaceKHR -foreign import ccall unsafe "dynamic" unwrapVkDestroySurfaceKHR ::+foreign import ccall unsafe "dynamic"+               unwrapVkDestroySurfaceKHRUnsafe ::                PFN_vkDestroySurfaceKHR -> HS_vkDestroySurfaceKHR  foreign import ccall safe "dynamic" unwrapVkDestroySurfaceKHRSafe@@ -228,9 +278,9 @@         vkProcSymbol = _VkDestroySurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroySurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkDestroySurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroySurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -283,12 +333,15 @@ -- -- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfaceSupportKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceSupportKHR"-               vkGetPhysicalDeviceSurfaceSupportKHR ::+               vkGetPhysicalDeviceSurfaceSupportKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  Word32 -- ^ queueFamilyIndex@@ -297,18 +350,18 @@                                                         -> IO VkResult  #else-vkGetPhysicalDeviceSurfaceSupportKHR ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       Word32 -- ^ queueFamilyIndex-                                              -> VkSurfaceKHR -- ^ surface-                                                              -> Ptr VkBool32 -- ^ pSupported-                                                                              -> IO VkResult-vkGetPhysicalDeviceSurfaceSupportKHR+vkGetPhysicalDeviceSurfaceSupportKHRUnsafe ::+                                           VkPhysicalDevice -- ^ physicalDevice+                                                            ->+                                             Word32 -- ^ queueFamilyIndex+                                                    -> VkSurfaceKHR -- ^ surface+                                                                    -> Ptr VkBool32 -- ^ pSupported+                                                                                    -> IO VkResult+vkGetPhysicalDeviceSurfaceSupportKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceSurfaceSupportKHR) -{-# NOINLINE vkGetPhysicalDeviceSurfaceSupportKHR #-}+{-# NOINLINE vkGetPhysicalDeviceSurfaceSupportKHRUnsafe #-} #endif  -- |@@ -337,9 +390,12 @@ -- -- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfaceSupportKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkGetPhysicalDeviceSurfaceSupportKHR"                vkGetPhysicalDeviceSurfaceSupportKHRSafe ::@@ -365,6 +421,54 @@ {-# NOINLINE vkGetPhysicalDeviceSurfaceSupportKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t queueFamilyIndex+-- >     , VkSurfaceKHR surface+-- >     , VkBool32* pSupported+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR+--+-- __Note:__ @vkGetPhysicalDeviceSurfaceSupportKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceSupportKHRSafe@.+--+vkGetPhysicalDeviceSurfaceSupportKHR ::+                                     VkPhysicalDevice -- ^ physicalDevice+                                                      ->+                                       Word32 -- ^ queueFamilyIndex+                                              -> VkSurfaceKHR -- ^ surface+                                                              -> Ptr VkBool32 -- ^ pSupported+                                                                              -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceSurfaceSupportKHR+  = vkGetPhysicalDeviceSurfaceSupportKHRUnsafe+#else+vkGetPhysicalDeviceSurfaceSupportKHR+  = vkGetPhysicalDeviceSurfaceSupportKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceSurfaceSupportKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -389,7 +493,7 @@      FunPtr HS_vkGetPhysicalDeviceSurfaceSupportKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSurfaceSupportKHR ::+               unwrapVkGetPhysicalDeviceSurfaceSupportKHRUnsafe ::                PFN_vkGetPhysicalDeviceSurfaceSupportKHR ->                  HS_vkGetPhysicalDeviceSurfaceSupportKHR @@ -404,9 +508,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSurfaceSupportKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceSupportKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSurfaceSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSurfaceSupportKHRSafe @@ -459,13 +564,16 @@ -- -- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceCapabilitiesKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"-               vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::+               vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  VkSurfaceKHR -- ^ surface@@ -473,18 +581,18 @@                                                               -> IO VkResult  #else-vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            VkSurfaceKHR -- ^ surface-                                                         ->-                                              Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities-                                                                           -> IO VkResult-vkGetPhysicalDeviceSurfaceCapabilitiesKHR+vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe ::+                                                VkPhysicalDevice -- ^ physicalDevice+                                                                 ->+                                                  VkSurfaceKHR -- ^ surface+                                                               ->+                                                    Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities+                                                                                 -> IO VkResult+vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceSurfaceCapabilitiesKHR) -{-# NOINLINE vkGetPhysicalDeviceSurfaceCapabilitiesKHR #-}+{-# NOINLINE vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe #-} #endif  -- |@@ -512,9 +620,12 @@ -- -- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceCapabilitiesKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"@@ -540,6 +651,53 @@ {-# NOINLINE vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkSurfaceKHR surface+-- >     , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR+--+-- __Note:__ @vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceCapabilitiesKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@.+--+vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::+                                          VkPhysicalDevice -- ^ physicalDevice+                                                           ->+                                            VkSurfaceKHR -- ^ surface+                                                         ->+                                              Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities+                                                                           -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceSurfaceCapabilitiesKHR+  = vkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe+#else+vkGetPhysicalDeviceSurfaceCapabilitiesKHR+  = vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceSurfaceCapabilitiesKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -562,7 +720,7 @@      FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHR ::+               unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe ::                PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ->                  HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR @@ -578,9 +736,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilitiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe @@ -634,12 +793,15 @@ -- -- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceFormatsKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceFormatsKHR"-               vkGetPhysicalDeviceSurfaceFormatsKHR ::+               vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  VkSurfaceKHR -- ^ surface@@ -648,19 +810,19 @@                                                                       -> IO VkResult  #else-vkGetPhysicalDeviceSurfaceFormatsKHR ::-                                     VkPhysicalDevice -- ^ physicalDevice-                                                      ->-                                       VkSurfaceKHR -- ^ surface-                                                    ->-                                         Ptr Word32 -- ^ pSurfaceFormatCount-                                                    -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats-                                                                              -> IO VkResult-vkGetPhysicalDeviceSurfaceFormatsKHR+vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe ::+                                           VkPhysicalDevice -- ^ physicalDevice+                                                            ->+                                             VkSurfaceKHR -- ^ surface+                                                          ->+                                               Ptr Word32 -- ^ pSurfaceFormatCount+                                                          -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats+                                                                                    -> IO VkResult+vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceSurfaceFormatsKHR) -{-# NOINLINE vkGetPhysicalDeviceSurfaceFormatsKHR #-}+{-# NOINLINE vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe #-} #endif  -- |@@ -689,9 +851,12 @@ -- -- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceFormatsKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkGetPhysicalDeviceSurfaceFormatsKHR"                vkGetPhysicalDeviceSurfaceFormatsKHRSafe ::@@ -718,6 +883,55 @@ {-# NOINLINE vkGetPhysicalDeviceSurfaceFormatsKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkSurfaceKHR surface+-- >     , uint32_t* pSurfaceFormatCount+-- >     , VkSurfaceFormatKHR* pSurfaceFormats+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceFormatsKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR+--+-- __Note:__ @vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe@ and @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfaceFormatsKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@.+--+vkGetPhysicalDeviceSurfaceFormatsKHR ::+                                     VkPhysicalDevice -- ^ physicalDevice+                                                      ->+                                       VkSurfaceKHR -- ^ surface+                                                    ->+                                         Ptr Word32 -- ^ pSurfaceFormatCount+                                                    -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats+                                                                              -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceSurfaceFormatsKHR+  = vkGetPhysicalDeviceSurfaceFormatsKHRUnsafe+#else+vkGetPhysicalDeviceSurfaceFormatsKHR+  = vkGetPhysicalDeviceSurfaceFormatsKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceSurfaceFormatsKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -742,7 +956,7 @@      FunPtr HS_vkGetPhysicalDeviceSurfaceFormatsKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSurfaceFormatsKHR ::+               unwrapVkGetPhysicalDeviceSurfaceFormatsKHRUnsafe ::                PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ->                  HS_vkGetPhysicalDeviceSurfaceFormatsKHR @@ -757,9 +971,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormatsKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceFormatsKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSurfaceFormatsKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSurfaceFormatsKHRSafe @@ -813,13 +1028,16 @@ -- -- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe@ and @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfacePresentModesKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceSurfacePresentModesKHR"-               vkGetPhysicalDeviceSurfacePresentModesKHR ::+               vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  VkSurfaceKHR -- ^ surface@@ -828,19 +1046,20 @@                                                                     -> IO VkResult  #else-vkGetPhysicalDeviceSurfacePresentModesKHR ::-                                          VkPhysicalDevice -- ^ physicalDevice-                                                           ->-                                            VkSurfaceKHR -- ^ surface-                                                         ->-                                              Ptr Word32 -- ^ pPresentModeCount-                                                         -> Ptr VkPresentModeKHR -- ^ pPresentModes-                                                                                 -> IO VkResult-vkGetPhysicalDeviceSurfacePresentModesKHR+vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe ::+                                                VkPhysicalDevice -- ^ physicalDevice+                                                                 ->+                                                  VkSurfaceKHR -- ^ surface+                                                               ->+                                                    Ptr Word32 -- ^ pPresentModeCount+                                                               ->+                                                      Ptr VkPresentModeKHR -- ^ pPresentModes+                                                                           -> IO VkResult+vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceSurfacePresentModesKHR) -{-# NOINLINE vkGetPhysicalDeviceSurfacePresentModesKHR #-}+{-# NOINLINE vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe #-} #endif  -- |@@ -869,9 +1088,12 @@ -- -- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe@ and @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfacePresentModesKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceSurfacePresentModesKHR"@@ -899,6 +1121,55 @@ {-# NOINLINE vkGetPhysicalDeviceSurfacePresentModesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkSurfaceKHR surface+-- >     , uint32_t* pPresentModeCount+-- >     , VkPresentModeKHR* pPresentModes+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfacePresentModesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR+--+-- __Note:__ @vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe@ and @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceSurfacePresentModesKHR@ is an alias+--           of @vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@.+--+vkGetPhysicalDeviceSurfacePresentModesKHR ::+                                          VkPhysicalDevice -- ^ physicalDevice+                                                           ->+                                            VkSurfaceKHR -- ^ surface+                                                         ->+                                              Ptr Word32 -- ^ pPresentModeCount+                                                         -> Ptr VkPresentModeKHR -- ^ pPresentModes+                                                                                 -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceSurfacePresentModesKHR+  = vkGetPhysicalDeviceSurfacePresentModesKHRUnsafe+#else+vkGetPhysicalDeviceSurfacePresentModesKHR+  = vkGetPhysicalDeviceSurfacePresentModesKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceSurfacePresentModesKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -923,7 +1194,7 @@      FunPtr HS_vkGetPhysicalDeviceSurfacePresentModesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceSurfacePresentModesKHR ::+               unwrapVkGetPhysicalDeviceSurfacePresentModesKHRUnsafe ::                PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ->                  HS_vkGetPhysicalDeviceSurfacePresentModesKHR @@ -939,9 +1210,10 @@         vkProcSymbol = _VkGetPhysicalDeviceSurfacePresentModesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfacePresentModesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceSurfacePresentModesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceSurfacePresentModesKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_swapchain.hs view
@@ -17,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @James Jones @cubanismo,Ian Elliott ianelliott@google.com@+        -- contact: @James Jones @cubanismo,Ian Elliott @ianelliottus@         --         -- author: @KHR@         --@@ -31,19 +31,21 @@         -- ** Required extensions: 'VK_KHR_surface'.         VkCreateSwapchainKHR, pattern VkCreateSwapchainKHR,         HS_vkCreateSwapchainKHR, PFN_vkCreateSwapchainKHR,-        vkCreateSwapchainKHR, vkCreateSwapchainKHRSafe,-        VkDestroySwapchainKHR, pattern VkDestroySwapchainKHR,-        HS_vkDestroySwapchainKHR, PFN_vkDestroySwapchainKHR,-        vkDestroySwapchainKHR, vkDestroySwapchainKHRSafe,+        vkCreateSwapchainKHR, vkCreateSwapchainKHRUnsafe,+        vkCreateSwapchainKHRSafe, VkDestroySwapchainKHR,+        pattern VkDestroySwapchainKHR, HS_vkDestroySwapchainKHR,+        PFN_vkDestroySwapchainKHR, vkDestroySwapchainKHR,+        vkDestroySwapchainKHRUnsafe, vkDestroySwapchainKHRSafe,         VkGetSwapchainImagesKHR, pattern VkGetSwapchainImagesKHR,         HS_vkGetSwapchainImagesKHR, PFN_vkGetSwapchainImagesKHR,-        vkGetSwapchainImagesKHR, vkGetSwapchainImagesKHRSafe,-        VkAcquireNextImageKHR, pattern VkAcquireNextImageKHR,-        HS_vkAcquireNextImageKHR, PFN_vkAcquireNextImageKHR,-        vkAcquireNextImageKHR, vkAcquireNextImageKHRSafe,+        vkGetSwapchainImagesKHR, vkGetSwapchainImagesKHRUnsafe,+        vkGetSwapchainImagesKHRSafe, VkAcquireNextImageKHR,+        pattern VkAcquireNextImageKHR, HS_vkAcquireNextImageKHR,+        PFN_vkAcquireNextImageKHR, vkAcquireNextImageKHR,+        vkAcquireNextImageKHRUnsafe, vkAcquireNextImageKHRSafe,         VkQueuePresentKHR, pattern VkQueuePresentKHR, HS_vkQueuePresentKHR,-        PFN_vkQueuePresentKHR, vkQueuePresentKHR, vkQueuePresentKHRSafe,-        module Graphics.Vulkan.Marshal,+        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,@@ -85,22 +87,26 @@         HS_vkGetDeviceGroupPresentCapabilitiesKHR,         PFN_vkGetDeviceGroupPresentCapabilitiesKHR,         vkGetDeviceGroupPresentCapabilitiesKHR,+        vkGetDeviceGroupPresentCapabilitiesKHRUnsafe,         vkGetDeviceGroupPresentCapabilitiesKHRSafe,         VkGetDeviceGroupSurfacePresentModesKHR,         pattern VkGetDeviceGroupSurfacePresentModesKHR,         HS_vkGetDeviceGroupSurfacePresentModesKHR,         PFN_vkGetDeviceGroupSurfacePresentModesKHR,         vkGetDeviceGroupSurfacePresentModesKHR,+        vkGetDeviceGroupSurfacePresentModesKHRUnsafe,         vkGetDeviceGroupSurfacePresentModesKHRSafe,         VkGetPhysicalDevicePresentRectanglesKHR,         pattern VkGetPhysicalDevicePresentRectanglesKHR,         HS_vkGetPhysicalDevicePresentRectanglesKHR,         PFN_vkGetPhysicalDevicePresentRectanglesKHR,         vkGetPhysicalDevicePresentRectanglesKHR,+        vkGetPhysicalDevicePresentRectanglesKHRUnsafe,         vkGetPhysicalDevicePresentRectanglesKHRSafe,         VkAcquireNextImage2KHR, pattern VkAcquireNextImage2KHR,         HS_vkAcquireNextImage2KHR, PFN_vkAcquireNextImage2KHR,-        vkAcquireNextImage2KHR, vkAcquireNextImage2KHRSafe,+        vkAcquireNextImage2KHR, vkAcquireNextImage2KHRUnsafe,+        vkAcquireNextImage2KHRSafe,         module Graphics.Vulkan.Types.Struct.Offset,         module Graphics.Vulkan.Types.Struct.Rect,         pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,@@ -189,12 +195,15 @@ -- -- > myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateSwapchainKHRUnsafe@ and @vkCreateSwapchainKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSwapchainKHR@ is an alias+--           of @vkCreateSwapchainKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSwapchainKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateSwapchainKHR"-               vkCreateSwapchainKHR ::+               vkCreateSwapchainKHRUnsafe ::                VkDevice -- ^ device                         ->                  Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo@@ -204,18 +213,18 @@                                                                    -> IO VkResult  #else-vkCreateSwapchainKHR ::-                     VkDevice -- ^ device-                              ->-                       Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo-                                                    ->-                         Ptr VkAllocationCallbacks -- ^ pAllocator-                                                   -> Ptr VkSwapchainKHR -- ^ pSwapchain-                                                                         -> IO VkResult-vkCreateSwapchainKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateSwapchainKHR)+vkCreateSwapchainKHRUnsafe ::+                           VkDevice -- ^ device+                                    ->+                             Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+                                                          ->+                               Ptr VkAllocationCallbacks -- ^ pAllocator+                                                         -> Ptr VkSwapchainKHR -- ^ pSwapchain+                                                                               -> IO VkResult+vkCreateSwapchainKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateSwapchainKHR) -{-# NOINLINE vkCreateSwapchainKHR #-}+{-# NOINLINE vkCreateSwapchainKHRUnsafe #-} #endif  -- |@@ -244,9 +253,12 @@ -- -- > myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateSwapchainKHRUnsafe@ and @vkCreateSwapchainKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSwapchainKHR@ is an alias+--           of @vkCreateSwapchainKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSwapchainKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateSwapchainKHR"                vkCreateSwapchainKHRSafe ::@@ -273,6 +285,53 @@ {-# NOINLINE vkCreateSwapchainKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateSwapchainKHR+-- >     ( VkDevice device+-- >     , const VkSwapchainCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSwapchainKHR* pSwapchain+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSwapchainKHR vkCreateSwapchainKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSwapchainKHR <- vkGetDeviceProc @VkCreateSwapchainKHR vkDevice+--+-- or less efficient:+--+-- > myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR+--+-- __Note:__ @vkCreateSwapchainKHRUnsafe@ and @vkCreateSwapchainKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateSwapchainKHR@ is an alias+--           of @vkCreateSwapchainKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateSwapchainKHRSafe@.+--+vkCreateSwapchainKHR ::+                     VkDevice -- ^ device+                              ->+                       Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+                                                    ->+                         Ptr VkAllocationCallbacks -- ^ pAllocator+                                                   -> Ptr VkSwapchainKHR -- ^ pSwapchain+                                                                         -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateSwapchainKHR = vkCreateSwapchainKHRUnsafe+#else+vkCreateSwapchainKHR = vkCreateSwapchainKHRSafe++#endif+{-# INLINE vkCreateSwapchainKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.@@ -296,7 +355,8 @@  type PFN_vkCreateSwapchainKHR = FunPtr HS_vkCreateSwapchainKHR -foreign import ccall unsafe "dynamic" unwrapVkCreateSwapchainKHR ::+foreign import ccall unsafe "dynamic"+               unwrapVkCreateSwapchainKHRUnsafe ::                PFN_vkCreateSwapchainKHR -> HS_vkCreateSwapchainKHR  foreign import ccall safe "dynamic" unwrapVkCreateSwapchainKHRSafe@@ -307,9 +367,9 @@         vkProcSymbol = _VkCreateSwapchainKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateSwapchainKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateSwapchainKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateSwapchainKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -353,27 +413,30 @@ -- -- > myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkDestroySwapchainKHRUnsafe@ and @vkDestroySwapchainKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySwapchainKHR@ is an alias+--           of @vkDestroySwapchainKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySwapchainKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkDestroySwapchainKHR"-               vkDestroySwapchainKHR ::+               vkDestroySwapchainKHRUnsafe ::                VkDevice -- ^ device                         -> VkSwapchainKHR -- ^ swapchain                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                        -> IO ()  #else-vkDestroySwapchainKHR ::-                      VkDevice -- ^ device-                               -> VkSwapchainKHR -- ^ swapchain-                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                              -> IO ()-vkDestroySwapchainKHR-  = unsafeDupablePerformIO (vkGetProc @VkDestroySwapchainKHR)+vkDestroySwapchainKHRUnsafe ::+                            VkDevice -- ^ device+                                     -> VkSwapchainKHR -- ^ swapchain+                                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                                    -> IO ()+vkDestroySwapchainKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkDestroySwapchainKHR) -{-# NOINLINE vkDestroySwapchainKHR #-}+{-# NOINLINE vkDestroySwapchainKHRUnsafe #-} #endif  -- |@@ -397,9 +460,12 @@ -- -- > myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkDestroySwapchainKHRUnsafe@ and @vkDestroySwapchainKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySwapchainKHR@ is an alias+--           of @vkDestroySwapchainKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySwapchainKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkDestroySwapchainKHR"                vkDestroySwapchainKHRSafe ::@@ -420,6 +486,45 @@ {-# NOINLINE vkDestroySwapchainKHRSafe #-} #endif +-- |+-- > void vkDestroySwapchainKHR+-- >     ( VkDevice device+-- >     , VkSwapchainKHR swapchain+-- >     , const VkAllocationCallbacks* pAllocator+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySwapchainKHR vkDestroySwapchainKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySwapchainKHR <- vkGetDeviceProc @VkDestroySwapchainKHR vkDevice+--+-- or less efficient:+--+-- > myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR+--+-- __Note:__ @vkDestroySwapchainKHRUnsafe@ and @vkDestroySwapchainKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkDestroySwapchainKHR@ is an alias+--           of @vkDestroySwapchainKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkDestroySwapchainKHRSafe@.+--+vkDestroySwapchainKHR ::+                      VkDevice -- ^ device+                               -> VkSwapchainKHR -- ^ swapchain+                                                 -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                              -> IO ()+#ifdef UNSAFE_FFI_DEFAULT+vkDestroySwapchainKHR = vkDestroySwapchainKHRUnsafe+#else+vkDestroySwapchainKHR = vkDestroySwapchainKHRSafe++#endif+{-# INLINE vkDestroySwapchainKHR #-}+ -- | > void vkDestroySwapchainKHR --   >     ( VkDevice device --   >     , VkSwapchainKHR swapchain@@ -435,8 +540,9 @@  type PFN_vkDestroySwapchainKHR = FunPtr HS_vkDestroySwapchainKHR -foreign import ccall unsafe "dynamic" unwrapVkDestroySwapchainKHR-               :: PFN_vkDestroySwapchainKHR -> HS_vkDestroySwapchainKHR+foreign import ccall unsafe "dynamic"+               unwrapVkDestroySwapchainKHRUnsafe ::+               PFN_vkDestroySwapchainKHR -> HS_vkDestroySwapchainKHR  foreign import ccall safe "dynamic" unwrapVkDestroySwapchainKHRSafe                :: PFN_vkDestroySwapchainKHR -> HS_vkDestroySwapchainKHR@@ -446,9 +552,9 @@         vkProcSymbol = _VkDestroySwapchainKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroySwapchainKHR+        unwrapVkProcPtrUnsafe = unwrapVkDestroySwapchainKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroySwapchainKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -498,12 +604,15 @@ -- -- > myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetSwapchainImagesKHRUnsafe@ and @vkGetSwapchainImagesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetSwapchainImagesKHR@ is an alias+--           of @vkGetSwapchainImagesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetSwapchainImagesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkGetSwapchainImagesKHR"-               vkGetSwapchainImagesKHR ::+               vkGetSwapchainImagesKHRUnsafe ::                VkDevice -- ^ device                         ->                  VkSwapchainKHR -- ^ swapchain@@ -512,17 +621,17 @@                                                              -> IO VkResult  #else-vkGetSwapchainImagesKHR ::-                        VkDevice -- ^ device-                                 ->-                          VkSwapchainKHR -- ^ swapchain-                                         -> Ptr Word32 -- ^ pSwapchainImageCount-                                                       -> Ptr VkImage -- ^ pSwapchainImages-                                                                      -> IO VkResult-vkGetSwapchainImagesKHR-  = unsafeDupablePerformIO (vkGetProc @VkGetSwapchainImagesKHR)+vkGetSwapchainImagesKHRUnsafe ::+                              VkDevice -- ^ device+                                       ->+                                VkSwapchainKHR -- ^ swapchain+                                               -> Ptr Word32 -- ^ pSwapchainImageCount+                                                             -> Ptr VkImage -- ^ pSwapchainImages+                                                                            -> IO VkResult+vkGetSwapchainImagesKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkGetSwapchainImagesKHR) -{-# NOINLINE vkGetSwapchainImagesKHR #-}+{-# NOINLINE vkGetSwapchainImagesKHRUnsafe #-} #endif  -- |@@ -551,9 +660,12 @@ -- -- > myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetSwapchainImagesKHRUnsafe@ and @vkGetSwapchainImagesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetSwapchainImagesKHR@ is an alias+--           of @vkGetSwapchainImagesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetSwapchainImagesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkGetSwapchainImagesKHR"                vkGetSwapchainImagesKHRSafe ::@@ -578,6 +690,52 @@ {-# NOINLINE vkGetSwapchainImagesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetSwapchainImagesKHR+-- >     ( VkDevice device+-- >     , VkSwapchainKHR swapchain+-- >     , uint32_t* pSwapchainImageCount+-- >     , VkImage* pSwapchainImages+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetSwapchainImagesKHR <- vkGetDeviceProc @VkGetSwapchainImagesKHR vkDevice+--+-- or less efficient:+--+-- > myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR+--+-- __Note:__ @vkGetSwapchainImagesKHRUnsafe@ and @vkGetSwapchainImagesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetSwapchainImagesKHR@ is an alias+--           of @vkGetSwapchainImagesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetSwapchainImagesKHRSafe@.+--+vkGetSwapchainImagesKHR ::+                        VkDevice -- ^ device+                                 ->+                          VkSwapchainKHR -- ^ swapchain+                                         -> Ptr Word32 -- ^ pSwapchainImageCount+                                                       -> Ptr VkImage -- ^ pSwapchainImages+                                                                      -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetSwapchainImagesKHR = vkGetSwapchainImagesKHRUnsafe+#else+vkGetSwapchainImagesKHR = vkGetSwapchainImagesKHRSafe++#endif+{-# INLINE vkGetSwapchainImagesKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -601,8 +759,9 @@ type PFN_vkGetSwapchainImagesKHR =      FunPtr HS_vkGetSwapchainImagesKHR -foreign import ccall unsafe "dynamic" unwrapVkGetSwapchainImagesKHR-               :: PFN_vkGetSwapchainImagesKHR -> HS_vkGetSwapchainImagesKHR+foreign import ccall unsafe "dynamic"+               unwrapVkGetSwapchainImagesKHRUnsafe ::+               PFN_vkGetSwapchainImagesKHR -> HS_vkGetSwapchainImagesKHR  foreign import ccall safe "dynamic"                unwrapVkGetSwapchainImagesKHRSafe ::@@ -614,9 +773,9 @@         vkProcSymbol = _VkGetSwapchainImagesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetSwapchainImagesKHR+        unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainImagesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetSwapchainImagesKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -667,12 +826,15 @@ -- -- > myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkAcquireNextImageKHRUnsafe@ and @vkAcquireNextImageKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAcquireNextImageKHR@ is an alias+--           of @vkAcquireNextImageKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAcquireNextImageKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkAcquireNextImageKHR"-               vkAcquireNextImageKHR ::+               vkAcquireNextImageKHRUnsafe ::                VkDevice -- ^ device                         ->                  VkSwapchainKHR -- ^ swapchain@@ -684,20 +846,20 @@                                                                   -> IO VkResult  #else-vkAcquireNextImageKHR ::-                      VkDevice -- ^ device-                               ->-                        VkSwapchainKHR -- ^ swapchain-                                       ->-                          Word64 -- ^ timeout-                                 -> VkSemaphore -- ^ semaphore-                                                -> VkFence -- ^ fence-                                                           -> Ptr Word32 -- ^ pImageIndex-                                                                         -> IO VkResult-vkAcquireNextImageKHR-  = unsafeDupablePerformIO (vkGetProc @VkAcquireNextImageKHR)+vkAcquireNextImageKHRUnsafe ::+                            VkDevice -- ^ device+                                     ->+                              VkSwapchainKHR -- ^ swapchain+                                             ->+                                Word64 -- ^ timeout+                                       -> VkSemaphore -- ^ semaphore+                                                      -> VkFence -- ^ fence+                                                                 -> Ptr Word32 -- ^ pImageIndex+                                                                               -> IO VkResult+vkAcquireNextImageKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkAcquireNextImageKHR) -{-# NOINLINE vkAcquireNextImageKHR #-}+{-# NOINLINE vkAcquireNextImageKHRUnsafe #-} #endif  -- |@@ -728,9 +890,12 @@ -- -- > myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkAcquireNextImageKHRUnsafe@ and @vkAcquireNextImageKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAcquireNextImageKHR@ is an alias+--           of @vkAcquireNextImageKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAcquireNextImageKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkAcquireNextImageKHR"                vkAcquireNextImageKHRSafe ::@@ -761,6 +926,57 @@ {-# NOINLINE vkAcquireNextImageKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImageKHR+-- >     ( VkDevice device+-- >     , VkSwapchainKHR swapchain+-- >     , uint64_t timeout+-- >     , VkSemaphore semaphore+-- >     , VkFence fence+-- >     , uint32_t* pImageIndex+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImageKHR vkAcquireNextImageKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAcquireNextImageKHR <- vkGetDeviceProc @VkAcquireNextImageKHR vkDevice+--+-- or less efficient:+--+-- > myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR+--+-- __Note:__ @vkAcquireNextImageKHRUnsafe@ and @vkAcquireNextImageKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAcquireNextImageKHR@ is an alias+--           of @vkAcquireNextImageKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAcquireNextImageKHRSafe@.+--+vkAcquireNextImageKHR ::+                      VkDevice -- ^ device+                               ->+                        VkSwapchainKHR -- ^ swapchain+                                       ->+                          Word64 -- ^ timeout+                                 -> VkSemaphore -- ^ semaphore+                                                -> VkFence -- ^ fence+                                                           -> Ptr Word32 -- ^ pImageIndex+                                                                         -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkAcquireNextImageKHR = vkAcquireNextImageKHRUnsafe+#else+vkAcquireNextImageKHR = vkAcquireNextImageKHRSafe++#endif+{-# INLINE vkAcquireNextImageKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -788,8 +1004,9 @@  type PFN_vkAcquireNextImageKHR = FunPtr HS_vkAcquireNextImageKHR -foreign import ccall unsafe "dynamic" unwrapVkAcquireNextImageKHR-               :: PFN_vkAcquireNextImageKHR -> HS_vkAcquireNextImageKHR+foreign import ccall unsafe "dynamic"+               unwrapVkAcquireNextImageKHRUnsafe ::+               PFN_vkAcquireNextImageKHR -> HS_vkAcquireNextImageKHR  foreign import ccall safe "dynamic" unwrapVkAcquireNextImageKHRSafe                :: PFN_vkAcquireNextImageKHR -> HS_vkAcquireNextImageKHR@@ -799,9 +1016,9 @@         vkProcSymbol = _VkAcquireNextImageKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkAcquireNextImageKHR+        unwrapVkProcPtrUnsafe = unwrapVkAcquireNextImageKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkAcquireNextImageKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -847,23 +1064,28 @@ -- -- > myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkQueuePresentKHRUnsafe@ and @vkQueuePresentKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueuePresentKHR@ is an alias+--           of @vkQueuePresentKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueuePresentKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0-foreign import ccall unsafe "vkQueuePresentKHR" vkQueuePresentKHR-               :: VkQueue -- ^ queue-                          -> Ptr VkPresentInfoKHR -- ^ pPresentInfo-                                                  -> IO VkResult+foreign import ccall unsafe "vkQueuePresentKHR"+               vkQueuePresentKHRUnsafe ::+               VkQueue -- ^ queue+                       -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+                                               -> IO VkResult  #else-vkQueuePresentKHR :: VkQueue -- ^ queue-                             -> Ptr VkPresentInfoKHR -- ^ pPresentInfo-                                                     -> IO VkResult-vkQueuePresentKHR-  = unsafeDupablePerformIO (vkGetProc @VkQueuePresentKHR)+vkQueuePresentKHRUnsafe ::+                        VkQueue -- ^ queue+                                -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+                                                        -> IO VkResult+vkQueuePresentKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkQueuePresentKHR) -{-# NOINLINE vkQueuePresentKHR #-}+{-# NOINLINE vkQueuePresentKHRUnsafe #-} #endif  -- |@@ -890,9 +1112,12 @@ -- -- > myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkQueuePresentKHRUnsafe@ and @vkQueuePresentKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueuePresentKHR@ is an alias+--           of @vkQueuePresentKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueuePresentKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkQueuePresentKHR" vkQueuePresentKHRSafe                :: VkQueue -- ^ queue@@ -910,6 +1135,46 @@ {-# NOINLINE vkQueuePresentKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkQueuePresentKHR+-- >     ( VkQueue queue+-- >     , const VkPresentInfoKHR* pPresentInfo+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueuePresentKHR vkQueuePresentKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueuePresentKHR <- vkGetInstanceProc @VkQueuePresentKHR vkInstance+--+-- or less efficient:+--+-- > myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR+--+-- __Note:__ @vkQueuePresentKHRUnsafe@ and @vkQueuePresentKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkQueuePresentKHR@ is an alias+--           of @vkQueuePresentKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkQueuePresentKHRSafe@.+--+vkQueuePresentKHR :: VkQueue -- ^ queue+                             -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+                                                     -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkQueuePresentKHR = vkQueuePresentKHRUnsafe+#else+vkQueuePresentKHR = vkQueuePresentKHRSafe++#endif+{-# INLINE vkQueuePresentKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -927,8 +1192,8 @@  type PFN_vkQueuePresentKHR = FunPtr HS_vkQueuePresentKHR -foreign import ccall unsafe "dynamic" unwrapVkQueuePresentKHR ::-               PFN_vkQueuePresentKHR -> HS_vkQueuePresentKHR+foreign import ccall unsafe "dynamic" unwrapVkQueuePresentKHRUnsafe+               :: PFN_vkQueuePresentKHR -> HS_vkQueuePresentKHR  foreign import ccall safe "dynamic" unwrapVkQueuePresentKHRSafe ::                PFN_vkQueuePresentKHR -> HS_vkQueuePresentKHR@@ -938,9 +1203,9 @@         vkProcSymbol = _VkQueuePresentKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkQueuePresentKHR+        unwrapVkProcPtrUnsafe = unwrapVkQueuePresentKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkQueuePresentKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -1045,28 +1310,32 @@ -- -- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDeviceGroupPresentCapabilitiesKHRUnsafe@ and @vkGetDeviceGroupPresentCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupPresentCapabilitiesKHR@ is an alias+--           of @vkGetDeviceGroupPresentCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPresentCapabilitiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall unsafe                "vkGetDeviceGroupPresentCapabilitiesKHR"-               vkGetDeviceGroupPresentCapabilitiesKHR ::+               vkGetDeviceGroupPresentCapabilitiesKHRUnsafe ::                VkDevice -- ^ device                         -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities                                                                    -> IO VkResult  #else-vkGetDeviceGroupPresentCapabilitiesKHR ::-                                       VkDevice -- ^ device-                                                ->-                                         Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities-                                                                                 -> IO VkResult-vkGetDeviceGroupPresentCapabilitiesKHR+vkGetDeviceGroupPresentCapabilitiesKHRUnsafe ::+                                             VkDevice -- ^ device+                                                      ->+                                               Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+                                                                                       ->+                                                 IO VkResult+vkGetDeviceGroupPresentCapabilitiesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR)+      (vkGetProcUnsafe @VkGetDeviceGroupPresentCapabilitiesKHR) -{-# NOINLINE vkGetDeviceGroupPresentCapabilitiesKHR #-}+{-# NOINLINE vkGetDeviceGroupPresentCapabilitiesKHRUnsafe #-} #endif  -- |@@ -1093,9 +1362,12 @@ -- -- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDeviceGroupPresentCapabilitiesKHRUnsafe@ and @vkGetDeviceGroupPresentCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupPresentCapabilitiesKHR@ is an alias+--           of @vkGetDeviceGroupPresentCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPresentCapabilitiesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall safe "vkGetDeviceGroupPresentCapabilitiesKHR"                vkGetDeviceGroupPresentCapabilitiesKHRSafe ::@@ -1116,6 +1388,50 @@ {-# NOINLINE vkGetDeviceGroupPresentCapabilitiesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+-- >     ( VkDevice device+-- >     , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR 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:+--+-- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetDeviceProc @VkGetDeviceGroupPresentCapabilitiesKHR vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR+--+-- __Note:__ @vkGetDeviceGroupPresentCapabilitiesKHRUnsafe@ and @vkGetDeviceGroupPresentCapabilitiesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupPresentCapabilitiesKHR@ is an alias+--           of @vkGetDeviceGroupPresentCapabilitiesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupPresentCapabilitiesKHRSafe@.+--+vkGetDeviceGroupPresentCapabilitiesKHR ::+                                       VkDevice -- ^ device+                                                ->+                                         Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+                                                                                 -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetDeviceGroupPresentCapabilitiesKHR+  = vkGetDeviceGroupPresentCapabilitiesKHRUnsafe+#else+vkGetDeviceGroupPresentCapabilitiesKHR+  = vkGetDeviceGroupPresentCapabilitiesKHRSafe++#endif+{-# INLINE vkGetDeviceGroupPresentCapabilitiesKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -1135,7 +1451,7 @@      FunPtr HS_vkGetDeviceGroupPresentCapabilitiesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetDeviceGroupPresentCapabilitiesKHR ::+               unwrapVkGetDeviceGroupPresentCapabilitiesKHRUnsafe ::                PFN_vkGetDeviceGroupPresentCapabilitiesKHR ->                  HS_vkGetDeviceGroupPresentCapabilitiesKHR @@ -1150,9 +1466,10 @@         vkProcSymbol = _VkGetDeviceGroupPresentCapabilitiesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetDeviceGroupPresentCapabilitiesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetDeviceGroupPresentCapabilitiesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetDeviceGroupPresentCapabilitiesKHRSafe @@ -1205,13 +1522,16 @@ -- -- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDeviceGroupSurfacePresentModesKHRUnsafe@ and @vkGetDeviceGroupSurfacePresentModesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupSurfacePresentModesKHR@ is an alias+--           of @vkGetDeviceGroupSurfacePresentModesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupSurfacePresentModesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall unsafe                "vkGetDeviceGroupSurfacePresentModesKHR"-               vkGetDeviceGroupSurfacePresentModesKHR ::+               vkGetDeviceGroupSurfacePresentModesKHRUnsafe ::                VkDevice -- ^ device                         ->                  VkSurfaceKHR -- ^ surface@@ -1219,18 +1539,18 @@                                                                       -> IO VkResult  #else-vkGetDeviceGroupSurfacePresentModesKHR ::-                                       VkDevice -- ^ device-                                                ->-                                         VkSurfaceKHR -- ^ surface+vkGetDeviceGroupSurfacePresentModesKHRUnsafe ::+                                             VkDevice -- ^ device                                                       ->-                                           Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes-                                                                                -> IO VkResult-vkGetDeviceGroupSurfacePresentModesKHR+                                               VkSurfaceKHR -- ^ surface+                                                            ->+                                                 Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+                                                                                      -> IO VkResult+vkGetDeviceGroupSurfacePresentModesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR)+      (vkGetProcUnsafe @VkGetDeviceGroupSurfacePresentModesKHR) -{-# NOINLINE vkGetDeviceGroupSurfacePresentModesKHR #-}+{-# NOINLINE vkGetDeviceGroupSurfacePresentModesKHRUnsafe #-} #endif  -- |@@ -1258,9 +1578,12 @@ -- -- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetDeviceGroupSurfacePresentModesKHRUnsafe@ and @vkGetDeviceGroupSurfacePresentModesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupSurfacePresentModesKHR@ is an alias+--           of @vkGetDeviceGroupSurfacePresentModesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupSurfacePresentModesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall safe "vkGetDeviceGroupSurfacePresentModesKHR"                vkGetDeviceGroupSurfacePresentModesKHRSafe ::@@ -1285,6 +1608,53 @@ {-# NOINLINE vkGetDeviceGroupSurfacePresentModesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetDeviceGroupSurfacePresentModesKHR+-- >     ( VkDevice device+-- >     , VkSurfaceKHR surface+-- >     , VkDeviceGroupPresentModeFlagsKHR* pModes+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR 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:+--+-- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetDeviceProc @VkGetDeviceGroupSurfacePresentModesKHR vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR+--+-- __Note:__ @vkGetDeviceGroupSurfacePresentModesKHRUnsafe@ and @vkGetDeviceGroupSurfacePresentModesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetDeviceGroupSurfacePresentModesKHR@ is an alias+--           of @vkGetDeviceGroupSurfacePresentModesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetDeviceGroupSurfacePresentModesKHRSafe@.+--+vkGetDeviceGroupSurfacePresentModesKHR ::+                                       VkDevice -- ^ device+                                                ->+                                         VkSurfaceKHR -- ^ surface+                                                      ->+                                           Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+                                                                                -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetDeviceGroupSurfacePresentModesKHR+  = vkGetDeviceGroupSurfacePresentModesKHRUnsafe+#else+vkGetDeviceGroupSurfacePresentModesKHR+  = vkGetDeviceGroupSurfacePresentModesKHRSafe++#endif+{-# INLINE vkGetDeviceGroupSurfacePresentModesKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -1307,7 +1677,7 @@      FunPtr HS_vkGetDeviceGroupSurfacePresentModesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetDeviceGroupSurfacePresentModesKHR ::+               unwrapVkGetDeviceGroupSurfacePresentModesKHRUnsafe ::                PFN_vkGetDeviceGroupSurfacePresentModesKHR ->                  HS_vkGetDeviceGroupSurfacePresentModesKHR @@ -1322,9 +1692,10 @@         vkProcSymbol = _VkGetDeviceGroupSurfacePresentModesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetDeviceGroupSurfacePresentModesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetDeviceGroupSurfacePresentModesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetDeviceGroupSurfacePresentModesKHRSafe @@ -1378,13 +1749,16 @@ -- -- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDevicePresentRectanglesKHRUnsafe@ and @vkGetPhysicalDevicePresentRectanglesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDevicePresentRectanglesKHR@ is an alias+--           of @vkGetPhysicalDevicePresentRectanglesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePresentRectanglesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall unsafe                "vkGetPhysicalDevicePresentRectanglesKHR"-               vkGetPhysicalDevicePresentRectanglesKHR ::+               vkGetPhysicalDevicePresentRectanglesKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  VkSurfaceKHR -- ^ surface@@ -1393,18 +1767,19 @@                                                             -> IO VkResult  #else-vkGetPhysicalDevicePresentRectanglesKHR ::-                                        VkPhysicalDevice -- ^ physicalDevice-                                                         ->-                                          VkSurfaceKHR -- ^ surface-                                                       -> Ptr Word32 -- ^ pRectCount-                                                                     -> Ptr VkRect2D -- ^ pRects-                                                                                     -> IO VkResult-vkGetPhysicalDevicePresentRectanglesKHR+vkGetPhysicalDevicePresentRectanglesKHRUnsafe ::+                                              VkPhysicalDevice -- ^ physicalDevice+                                                               ->+                                                VkSurfaceKHR -- ^ surface+                                                             ->+                                                  Ptr Word32 -- ^ pRectCount+                                                             -> Ptr VkRect2D -- ^ pRects+                                                                             -> IO VkResult+vkGetPhysicalDevicePresentRectanglesKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR)+      (vkGetProcUnsafe @VkGetPhysicalDevicePresentRectanglesKHR) -{-# NOINLINE vkGetPhysicalDevicePresentRectanglesKHR #-}+{-# NOINLINE vkGetPhysicalDevicePresentRectanglesKHRUnsafe #-} #endif  -- |@@ -1433,9 +1808,12 @@ -- -- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDevicePresentRectanglesKHRUnsafe@ and @vkGetPhysicalDevicePresentRectanglesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDevicePresentRectanglesKHR@ is an alias+--           of @vkGetPhysicalDevicePresentRectanglesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePresentRectanglesKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall safe "vkGetPhysicalDevicePresentRectanglesKHR"                vkGetPhysicalDevicePresentRectanglesKHRSafe ::@@ -1462,6 +1840,54 @@ {-# NOINLINE vkGetPhysicalDevicePresentRectanglesKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDevicePresentRectanglesKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , VkSurfaceKHR surface+-- >     , uint32_t* pRectCount+-- >     , VkRect2D* pRects+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR 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:+--+-- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetInstanceProc @VkGetPhysicalDevicePresentRectanglesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR+--+-- __Note:__ @vkGetPhysicalDevicePresentRectanglesKHRUnsafe@ and @vkGetPhysicalDevicePresentRectanglesKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDevicePresentRectanglesKHR@ is an alias+--           of @vkGetPhysicalDevicePresentRectanglesKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDevicePresentRectanglesKHRSafe@.+--+vkGetPhysicalDevicePresentRectanglesKHR ::+                                        VkPhysicalDevice -- ^ physicalDevice+                                                         ->+                                          VkSurfaceKHR -- ^ surface+                                                       -> Ptr Word32 -- ^ pRectCount+                                                                     -> Ptr VkRect2D -- ^ pRects+                                                                                     -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDevicePresentRectanglesKHR+  = vkGetPhysicalDevicePresentRectanglesKHRUnsafe+#else+vkGetPhysicalDevicePresentRectanglesKHR+  = vkGetPhysicalDevicePresentRectanglesKHRSafe++#endif+{-# INLINE vkGetPhysicalDevicePresentRectanglesKHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -1486,7 +1912,7 @@      FunPtr HS_vkGetPhysicalDevicePresentRectanglesKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDevicePresentRectanglesKHR ::+               unwrapVkGetPhysicalDevicePresentRectanglesKHRUnsafe ::                PFN_vkGetPhysicalDevicePresentRectanglesKHR ->                  HS_vkGetPhysicalDevicePresentRectanglesKHR @@ -1501,9 +1927,10 @@         vkProcSymbol = _VkGetPhysicalDevicePresentRectanglesKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetPhysicalDevicePresentRectanglesKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDevicePresentRectanglesKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDevicePresentRectanglesKHRSafe @@ -1553,12 +1980,15 @@ -- -- > myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkAcquireNextImage2KHRUnsafe@ and @vkAcquireNextImage2KHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAcquireNextImage2KHR@ is an alias+--           of @vkAcquireNextImage2KHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAcquireNextImage2KHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall unsafe "vkAcquireNextImage2KHR"-               vkAcquireNextImage2KHR ::+               vkAcquireNextImage2KHRUnsafe ::                VkDevice -- ^ device                         ->                  Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo@@ -1566,16 +1996,16 @@                                                              -> IO VkResult  #else-vkAcquireNextImage2KHR ::-                       VkDevice -- ^ device-                                ->-                         Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo-                                                       -> Ptr Word32 -- ^ pImageIndex-                                                                     -> IO VkResult-vkAcquireNextImage2KHR-  = unsafeDupablePerformIO (vkGetProc @VkAcquireNextImage2KHR)+vkAcquireNextImage2KHRUnsafe ::+                             VkDevice -- ^ device+                                      ->+                               Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+                                                             -> Ptr Word32 -- ^ pImageIndex+                                                                           -> IO VkResult+vkAcquireNextImage2KHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkAcquireNextImage2KHR) -{-# NOINLINE vkAcquireNextImage2KHR #-}+{-# NOINLINE vkAcquireNextImage2KHRUnsafe #-} #endif  -- |@@ -1603,9 +2033,12 @@ -- -- > myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkAcquireNextImage2KHRUnsafe@ and @vkAcquireNextImage2KHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAcquireNextImage2KHR@ is an alias+--           of @vkAcquireNextImage2KHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAcquireNextImage2KHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_1 foreign import ccall safe "vkAcquireNextImage2KHR"                vkAcquireNextImage2KHRSafe ::@@ -1628,6 +2061,50 @@ {-# NOINLINE vkAcquireNextImage2KHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImage2KHR+-- >     ( VkDevice device+-- >     , const VkAcquireNextImageInfoKHR* pAcquireInfo+-- >     , uint32_t* pImageIndex+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImage2KHR vkAcquireNextImage2KHR 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:+--+-- > myAcquireNextImage2KHR <- vkGetDeviceProc @VkAcquireNextImage2KHR vkDevice+--+-- or less efficient:+--+-- > myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR+--+-- __Note:__ @vkAcquireNextImage2KHRUnsafe@ and @vkAcquireNextImage2KHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkAcquireNextImage2KHR@ is an alias+--           of @vkAcquireNextImage2KHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkAcquireNextImage2KHRSafe@.+--+vkAcquireNextImage2KHR ::+                       VkDevice -- ^ device+                                ->+                         Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+                                                       -> Ptr Word32 -- ^ pImageIndex+                                                                     -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkAcquireNextImage2KHR = vkAcquireNextImage2KHRUnsafe+#else+vkAcquireNextImage2KHR = vkAcquireNextImage2KHRSafe++#endif+{-# INLINE vkAcquireNextImage2KHR #-}+ -- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -1648,8 +2125,9 @@  type PFN_vkAcquireNextImage2KHR = FunPtr HS_vkAcquireNextImage2KHR -foreign import ccall unsafe "dynamic" unwrapVkAcquireNextImage2KHR-               :: PFN_vkAcquireNextImage2KHR -> HS_vkAcquireNextImage2KHR+foreign import ccall unsafe "dynamic"+               unwrapVkAcquireNextImage2KHRUnsafe ::+               PFN_vkAcquireNextImage2KHR -> HS_vkAcquireNextImage2KHR  foreign import ccall safe "dynamic"                unwrapVkAcquireNextImage2KHRSafe ::@@ -1661,9 +2139,9 @@         vkProcSymbol = _VkAcquireNextImage2KHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkAcquireNextImage2KHR+        unwrapVkProcPtrUnsafe = unwrapVkAcquireNextImage2KHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkAcquireNextImage2KHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_KHR_variable_pointers.hs view
@@ -11,7 +11,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall@+        -- contact: @Jesse Hall @critsec@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_wayland_surface.hs view
@@ -17,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@         --         -- author: @KHR@         --@@ -38,12 +38,14 @@         -- > #include "vk_platform.h"         VkCreateWaylandSurfaceKHR, pattern VkCreateWaylandSurfaceKHR,         HS_vkCreateWaylandSurfaceKHR, PFN_vkCreateWaylandSurfaceKHR,-        vkCreateWaylandSurfaceKHR, vkCreateWaylandSurfaceKHRSafe,+        vkCreateWaylandSurfaceKHR, vkCreateWaylandSurfaceKHRUnsafe,+        vkCreateWaylandSurfaceKHRSafe,         VkGetPhysicalDeviceWaylandPresentationSupportKHR,         pattern VkGetPhysicalDeviceWaylandPresentationSupportKHR,         HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR,         PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR,         vkGetPhysicalDeviceWaylandPresentationSupportKHR,+        vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.InternalAllocationType,@@ -120,12 +122,15 @@ -- -- > myCreateWaylandSurfaceKHR <- vkGetProc @VkCreateWaylandSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateWaylandSurfaceKHRUnsafe@ and @vkCreateWaylandSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateWaylandSurfaceKHR@ is an alias+--           of @vkCreateWaylandSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateWaylandSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateWaylandSurfaceKHR"-               vkCreateWaylandSurfaceKHR ::+               vkCreateWaylandSurfaceKHRUnsafe ::                VkInstance -- ^ instance                           ->                  Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo@@ -135,18 +140,19 @@                                                                  -> IO VkResult  #else-vkCreateWaylandSurfaceKHR ::-                          VkInstance -- ^ instance-                                     ->-                            Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo-                                                              ->-                              Ptr VkAllocationCallbacks -- ^ pAllocator-                                                        -> Ptr VkSurfaceKHR -- ^ pSurface-                                                                            -> IO VkResult-vkCreateWaylandSurfaceKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateWaylandSurfaceKHR)+vkCreateWaylandSurfaceKHRUnsafe ::+                                VkInstance -- ^ instance+                                           ->+                                  Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                                    ->+                                    Ptr VkAllocationCallbacks -- ^ pAllocator+                                                              -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                                  -> IO VkResult+vkCreateWaylandSurfaceKHRUnsafe+  = unsafeDupablePerformIO+      (vkGetProcUnsafe @VkCreateWaylandSurfaceKHR) -{-# NOINLINE vkCreateWaylandSurfaceKHR #-}+{-# NOINLINE vkCreateWaylandSurfaceKHRUnsafe #-} #endif  -- |@@ -175,9 +181,12 @@ -- -- > myCreateWaylandSurfaceKHR <- vkGetProc @VkCreateWaylandSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateWaylandSurfaceKHRUnsafe@ and @vkCreateWaylandSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateWaylandSurfaceKHR@ is an alias+--           of @vkCreateWaylandSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateWaylandSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateWaylandSurfaceKHR"                vkCreateWaylandSurfaceKHRSafe ::@@ -204,6 +213,53 @@ {-# NOINLINE vkCreateWaylandSurfaceKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWaylandSurfaceKHR+-- >     ( VkInstance instance+-- >     , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSurfaceKHR* pSurface+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateWaylandSurfaceKHR <- vkGetInstanceProc @VkCreateWaylandSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateWaylandSurfaceKHR <- vkGetProc @VkCreateWaylandSurfaceKHR+--+-- __Note:__ @vkCreateWaylandSurfaceKHRUnsafe@ and @vkCreateWaylandSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateWaylandSurfaceKHR@ is an alias+--           of @vkCreateWaylandSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateWaylandSurfaceKHRSafe@.+--+vkCreateWaylandSurfaceKHR ::+                          VkInstance -- ^ instance+                                     ->+                            Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                              ->+                              Ptr VkAllocationCallbacks -- ^ pAllocator+                                                        -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                            -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateWaylandSurfaceKHR = vkCreateWaylandSurfaceKHRUnsafe+#else+vkCreateWaylandSurfaceKHR = vkCreateWaylandSurfaceKHRSafe++#endif+{-# INLINE vkCreateWaylandSurfaceKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -229,7 +285,7 @@      FunPtr HS_vkCreateWaylandSurfaceKHR  foreign import ccall unsafe "dynamic"-               unwrapVkCreateWaylandSurfaceKHR ::+               unwrapVkCreateWaylandSurfaceKHRUnsafe ::                PFN_vkCreateWaylandSurfaceKHR -> HS_vkCreateWaylandSurfaceKHR  foreign import ccall safe "dynamic"@@ -242,9 +298,9 @@         vkProcSymbol = _VkCreateWaylandSurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateWaylandSurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateWaylandSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateWaylandSurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -294,30 +350,34 @@ -- -- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceWaylandPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceWaylandPresentationSupportKHR"-               vkGetPhysicalDeviceWaylandPresentationSupportKHR ::+               vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 -> Word32 -- ^ queueFamilyIndex                                           -> Ptr WlDisplay -- ^ display                                                            -> IO VkBool32  #else-vkGetPhysicalDeviceWaylandPresentationSupportKHR ::-                                                 VkPhysicalDevice -- ^ physicalDevice-                                                                  ->-                                                   Word32 -- ^ queueFamilyIndex-                                                          -> Ptr WlDisplay -- ^ display-                                                                           -> IO VkBool32-vkGetPhysicalDeviceWaylandPresentationSupportKHR+vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe ::+                                                       VkPhysicalDevice -- ^ physicalDevice+                                                                        ->+                                                         Word32 -- ^ queueFamilyIndex+                                                                -> Ptr WlDisplay -- ^ display+                                                                                 -> IO VkBool32+vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceWaylandPresentationSupportKHR) -{-# NOINLINE vkGetPhysicalDeviceWaylandPresentationSupportKHR #-}+{-# NOINLINE vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe+             #-} #endif  -- |@@ -341,9 +401,12 @@ -- -- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceWaylandPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceWaylandPresentationSupportKHR"@@ -368,6 +431,48 @@              #-} #endif +-- |+-- > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t queueFamilyIndex+-- >     , struct wl_display* display+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR+--+-- __Note:__ @vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceWaylandPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@.+--+vkGetPhysicalDeviceWaylandPresentationSupportKHR ::+                                                 VkPhysicalDevice -- ^ physicalDevice+                                                                  ->+                                                   Word32 -- ^ queueFamilyIndex+                                                          -> Ptr WlDisplay -- ^ display+                                                                           -> IO VkBool32+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceWaylandPresentationSupportKHR+  = vkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe+#else+vkGetPhysicalDeviceWaylandPresentationSupportKHR+  = vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceWaylandPresentationSupportKHR #-}+ -- | > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex@@ -385,7 +490,7 @@      FunPtr HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHR ::+               unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe ::                PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR ->                  HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR @@ -402,10 +507,10 @@         vkProcSymbol = _VkGetPhysicalDeviceWaylandPresentationSupportKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_keyed_mutex.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Carsten Rohde@+        -- contact: @Carsten Rohde @crohde@         --         -- author: @KHR@         --
src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_surface.hs view
@@ -17,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@         --         -- author: @KHR@         --@@ -38,12 +38,14 @@         -- > #include "vk_platform.h"         VkCreateWin32SurfaceKHR, pattern VkCreateWin32SurfaceKHR,         HS_vkCreateWin32SurfaceKHR, PFN_vkCreateWin32SurfaceKHR,-        vkCreateWin32SurfaceKHR, vkCreateWin32SurfaceKHRSafe,+        vkCreateWin32SurfaceKHR, vkCreateWin32SurfaceKHRUnsafe,+        vkCreateWin32SurfaceKHRSafe,         VkGetPhysicalDeviceWin32PresentationSupportKHR,         pattern VkGetPhysicalDeviceWin32PresentationSupportKHR,         HS_vkGetPhysicalDeviceWin32PresentationSupportKHR,         PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR,         vkGetPhysicalDeviceWin32PresentationSupportKHR,+        vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe,         vkGetPhysicalDeviceWin32PresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.InternalAllocationType,@@ -120,12 +122,15 @@ -- -- > myCreateWin32SurfaceKHR <- vkGetProc @VkCreateWin32SurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateWin32SurfaceKHRUnsafe@ and @vkCreateWin32SurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateWin32SurfaceKHR@ is an alias+--           of @vkCreateWin32SurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateWin32SurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateWin32SurfaceKHR"-               vkCreateWin32SurfaceKHR ::+               vkCreateWin32SurfaceKHRUnsafe ::                VkInstance -- ^ instance                           ->                  Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo@@ -135,18 +140,18 @@                                                                  -> IO VkResult  #else-vkCreateWin32SurfaceKHR ::-                        VkInstance -- ^ instance-                                   ->-                          Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo-                                                          ->-                            Ptr VkAllocationCallbacks -- ^ pAllocator-                                                      -> Ptr VkSurfaceKHR -- ^ pSurface-                                                                          -> IO VkResult-vkCreateWin32SurfaceKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateWin32SurfaceKHR)+vkCreateWin32SurfaceKHRUnsafe ::+                              VkInstance -- ^ instance+                                         ->+                                Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo+                                                                ->+                                  Ptr VkAllocationCallbacks -- ^ pAllocator+                                                            -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                                -> IO VkResult+vkCreateWin32SurfaceKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateWin32SurfaceKHR) -{-# NOINLINE vkCreateWin32SurfaceKHR #-}+{-# NOINLINE vkCreateWin32SurfaceKHRUnsafe #-} #endif  -- |@@ -175,9 +180,12 @@ -- -- > myCreateWin32SurfaceKHR <- vkGetProc @VkCreateWin32SurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateWin32SurfaceKHRUnsafe@ and @vkCreateWin32SurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateWin32SurfaceKHR@ is an alias+--           of @vkCreateWin32SurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateWin32SurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateWin32SurfaceKHR"                vkCreateWin32SurfaceKHRSafe ::@@ -204,6 +212,53 @@ {-# NOINLINE vkCreateWin32SurfaceKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWin32SurfaceKHR+-- >     ( VkInstance instance+-- >     , const VkWin32SurfaceCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSurfaceKHR* pSurface+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateWin32SurfaceKHR <- vkGetInstanceProc @VkCreateWin32SurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateWin32SurfaceKHR <- vkGetProc @VkCreateWin32SurfaceKHR+--+-- __Note:__ @vkCreateWin32SurfaceKHRUnsafe@ and @vkCreateWin32SurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateWin32SurfaceKHR@ is an alias+--           of @vkCreateWin32SurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateWin32SurfaceKHRSafe@.+--+vkCreateWin32SurfaceKHR ::+                        VkInstance -- ^ instance+                                   ->+                          Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo+                                                          ->+                            Ptr VkAllocationCallbacks -- ^ pAllocator+                                                      -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                          -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateWin32SurfaceKHR = vkCreateWin32SurfaceKHRUnsafe+#else+vkCreateWin32SurfaceKHR = vkCreateWin32SurfaceKHRSafe++#endif+{-# INLINE vkCreateWin32SurfaceKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -228,8 +283,9 @@ type PFN_vkCreateWin32SurfaceKHR =      FunPtr HS_vkCreateWin32SurfaceKHR -foreign import ccall unsafe "dynamic" unwrapVkCreateWin32SurfaceKHR-               :: PFN_vkCreateWin32SurfaceKHR -> HS_vkCreateWin32SurfaceKHR+foreign import ccall unsafe "dynamic"+               unwrapVkCreateWin32SurfaceKHRUnsafe ::+               PFN_vkCreateWin32SurfaceKHR -> HS_vkCreateWin32SurfaceKHR  foreign import ccall safe "dynamic"                unwrapVkCreateWin32SurfaceKHRSafe ::@@ -241,9 +297,9 @@         vkProcSymbol = _VkCreateWin32SurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateWin32SurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateWin32SurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateWin32SurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -292,27 +348,31 @@ -- -- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWin32PresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceWin32PresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceWin32PresentationSupportKHR"-               vkGetPhysicalDeviceWin32PresentationSupportKHR ::+               vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 -> Word32 -- ^ queueFamilyIndex                                           -> IO VkBool32  #else-vkGetPhysicalDeviceWin32PresentationSupportKHR ::-                                               VkPhysicalDevice -- ^ physicalDevice-                                                                -> Word32 -- ^ queueFamilyIndex-                                                                          -> IO VkBool32-vkGetPhysicalDeviceWin32PresentationSupportKHR+vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe ::+                                                     VkPhysicalDevice -- ^ physicalDevice+                                                                      -> Word32 -- ^ queueFamilyIndex+                                                                                -> IO VkBool32+vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceWin32PresentationSupportKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceWin32PresentationSupportKHR) -{-# NOINLINE vkGetPhysicalDeviceWin32PresentationSupportKHR #-}+{-# NOINLINE vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe+             #-} #endif  -- |@@ -335,9 +395,12 @@ -- -- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWin32PresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceWin32PresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceWin32PresentationSupportKHR"@@ -358,6 +421,45 @@ {-# NOINLINE vkGetPhysicalDeviceWin32PresentationSupportKHRSafe #-} #endif +-- |+-- > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t queueFamilyIndex+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceWin32PresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWin32PresentationSupportKHR+--+-- __Note:__ @vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceWin32PresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@.+--+vkGetPhysicalDeviceWin32PresentationSupportKHR ::+                                               VkPhysicalDevice -- ^ physicalDevice+                                                                -> Word32 -- ^ queueFamilyIndex+                                                                          -> IO VkBool32+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceWin32PresentationSupportKHR+  = vkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe+#else+vkGetPhysicalDeviceWin32PresentationSupportKHR+  = vkGetPhysicalDeviceWin32PresentationSupportKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceWin32PresentationSupportKHR #-}+ -- | > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex@@ -373,7 +475,7 @@      FunPtr HS_vkGetPhysicalDeviceWin32PresentationSupportKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceWin32PresentationSupportKHR ::+               unwrapVkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe ::                PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR ->                  HS_vkGetPhysicalDeviceWin32PresentationSupportKHR @@ -390,10 +492,10 @@         vkProcSymbol = _VkGetPhysicalDeviceWin32PresentationSupportKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_xcb_surface.hs view
@@ -17,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@         --         -- author: @KHR@         --@@ -38,12 +38,14 @@         -- > #include "vk_platform.h"         VkCreateXcbSurfaceKHR, pattern VkCreateXcbSurfaceKHR,         HS_vkCreateXcbSurfaceKHR, PFN_vkCreateXcbSurfaceKHR,-        vkCreateXcbSurfaceKHR, vkCreateXcbSurfaceKHRSafe,+        vkCreateXcbSurfaceKHR, vkCreateXcbSurfaceKHRUnsafe,+        vkCreateXcbSurfaceKHRSafe,         VkGetPhysicalDeviceXcbPresentationSupportKHR,         pattern VkGetPhysicalDeviceXcbPresentationSupportKHR,         HS_vkGetPhysicalDeviceXcbPresentationSupportKHR,         PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR,         vkGetPhysicalDeviceXcbPresentationSupportKHR,+        vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceXcbPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.InternalAllocationType,@@ -119,12 +121,15 @@ -- -- > myCreateXcbSurfaceKHR <- vkGetProc @VkCreateXcbSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateXcbSurfaceKHRUnsafe@ and @vkCreateXcbSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateXcbSurfaceKHR@ is an alias+--           of @vkCreateXcbSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateXcbSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateXcbSurfaceKHR"-               vkCreateXcbSurfaceKHR ::+               vkCreateXcbSurfaceKHRUnsafe ::                VkInstance -- ^ instance                           ->                  Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo@@ -134,18 +139,18 @@                                                                  -> IO VkResult  #else-vkCreateXcbSurfaceKHR ::-                      VkInstance -- ^ instance-                                 ->-                        Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo-                                                      ->-                          Ptr VkAllocationCallbacks -- ^ pAllocator-                                                    -> Ptr VkSurfaceKHR -- ^ pSurface-                                                                        -> IO VkResult-vkCreateXcbSurfaceKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateXcbSurfaceKHR)+vkCreateXcbSurfaceKHRUnsafe ::+                            VkInstance -- ^ instance+                                       ->+                              Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                            ->+                                Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                              -> IO VkResult+vkCreateXcbSurfaceKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateXcbSurfaceKHR) -{-# NOINLINE vkCreateXcbSurfaceKHR #-}+{-# NOINLINE vkCreateXcbSurfaceKHRUnsafe #-} #endif  -- |@@ -174,9 +179,12 @@ -- -- > myCreateXcbSurfaceKHR <- vkGetProc @VkCreateXcbSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateXcbSurfaceKHRUnsafe@ and @vkCreateXcbSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateXcbSurfaceKHR@ is an alias+--           of @vkCreateXcbSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateXcbSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateXcbSurfaceKHR"                vkCreateXcbSurfaceKHRSafe ::@@ -203,6 +211,53 @@ {-# NOINLINE vkCreateXcbSurfaceKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXcbSurfaceKHR+-- >     ( VkInstance instance+-- >     , const VkXcbSurfaceCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSurfaceKHR* pSurface+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateXcbSurfaceKHR <- vkGetInstanceProc @VkCreateXcbSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateXcbSurfaceKHR <- vkGetProc @VkCreateXcbSurfaceKHR+--+-- __Note:__ @vkCreateXcbSurfaceKHRUnsafe@ and @vkCreateXcbSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateXcbSurfaceKHR@ is an alias+--           of @vkCreateXcbSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateXcbSurfaceKHRSafe@.+--+vkCreateXcbSurfaceKHR ::+                      VkInstance -- ^ instance+                                 ->+                        Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                      ->+                          Ptr VkAllocationCallbacks -- ^ pAllocator+                                                    -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                        -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateXcbSurfaceKHR = vkCreateXcbSurfaceKHRUnsafe+#else+vkCreateXcbSurfaceKHR = vkCreateXcbSurfaceKHRSafe++#endif+{-# INLINE vkCreateXcbSurfaceKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -226,8 +281,9 @@  type PFN_vkCreateXcbSurfaceKHR = FunPtr HS_vkCreateXcbSurfaceKHR -foreign import ccall unsafe "dynamic" unwrapVkCreateXcbSurfaceKHR-               :: PFN_vkCreateXcbSurfaceKHR -> HS_vkCreateXcbSurfaceKHR+foreign import ccall unsafe "dynamic"+               unwrapVkCreateXcbSurfaceKHRUnsafe ::+               PFN_vkCreateXcbSurfaceKHR -> HS_vkCreateXcbSurfaceKHR  foreign import ccall safe "dynamic" unwrapVkCreateXcbSurfaceKHRSafe                :: PFN_vkCreateXcbSurfaceKHR -> HS_vkCreateXcbSurfaceKHR@@ -237,9 +293,9 @@         vkProcSymbol = _VkCreateXcbSurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateXcbSurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateXcbSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateXcbSurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -289,13 +345,16 @@ -- -- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXcbPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceXcbPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceXcbPresentationSupportKHR"-               vkGetPhysicalDeviceXcbPresentationSupportKHR ::+               vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  Word32 -- ^ queueFamilyIndex@@ -304,19 +363,20 @@                                                               -> IO VkBool32  #else-vkGetPhysicalDeviceXcbPresentationSupportKHR ::-                                             VkPhysicalDevice -- ^ physicalDevice-                                                              ->-                                               Word32 -- ^ queueFamilyIndex-                                                      ->-                                                 Ptr XcbConnectionT -- ^ connection-                                                                    -> XcbVisualidT -- ^ visual_id-                                                                                    -> IO VkBool32-vkGetPhysicalDeviceXcbPresentationSupportKHR+vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe ::+                                                   VkPhysicalDevice -- ^ physicalDevice+                                                                    ->+                                                     Word32 -- ^ queueFamilyIndex+                                                            ->+                                                       Ptr XcbConnectionT -- ^ connection+                                                                          ->+                                                         XcbVisualidT -- ^ visual_id+                                                                      -> IO VkBool32+vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceXcbPresentationSupportKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceXcbPresentationSupportKHR) -{-# NOINLINE vkGetPhysicalDeviceXcbPresentationSupportKHR #-}+{-# NOINLINE vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe #-} #endif  -- |@@ -341,9 +401,12 @@ -- -- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXcbPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceXcbPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceXcbPresentationSupportKHR"@@ -372,6 +435,51 @@ {-# NOINLINE vkGetPhysicalDeviceXcbPresentationSupportKHRSafe #-} #endif +-- |+-- > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t queueFamilyIndex+-- >     , xcb_connection_t* connection+-- >     , xcb_visualid_t visual_id+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceXcbPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXcbPresentationSupportKHR+--+-- __Note:__ @vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceXcbPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@.+--+vkGetPhysicalDeviceXcbPresentationSupportKHR ::+                                             VkPhysicalDevice -- ^ physicalDevice+                                                              ->+                                               Word32 -- ^ queueFamilyIndex+                                                      ->+                                                 Ptr XcbConnectionT -- ^ connection+                                                                    -> XcbVisualidT -- ^ visual_id+                                                                                    -> IO VkBool32+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceXcbPresentationSupportKHR+  = vkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe+#else+vkGetPhysicalDeviceXcbPresentationSupportKHR+  = vkGetPhysicalDeviceXcbPresentationSupportKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceXcbPresentationSupportKHR #-}+ -- | > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex@@ -392,7 +500,7 @@      FunPtr HS_vkGetPhysicalDeviceXcbPresentationSupportKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceXcbPresentationSupportKHR ::+               unwrapVkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe ::                PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR ->                  HS_vkGetPhysicalDeviceXcbPresentationSupportKHR @@ -408,10 +516,10 @@         vkProcSymbol = _VkGetPhysicalDeviceXcbPresentationSupportKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_KHR_xlib_surface.hs view
@@ -17,7 +17,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        -- contact: @Jesse Hall @critsec,Ian Elliott @ianelliottus@         --         -- author: @KHR@         --@@ -38,12 +38,14 @@         -- > #include "vk_platform.h"         VkCreateXlibSurfaceKHR, pattern VkCreateXlibSurfaceKHR,         HS_vkCreateXlibSurfaceKHR, PFN_vkCreateXlibSurfaceKHR,-        vkCreateXlibSurfaceKHR, vkCreateXlibSurfaceKHRSafe,+        vkCreateXlibSurfaceKHR, vkCreateXlibSurfaceKHRUnsafe,+        vkCreateXlibSurfaceKHRSafe,         VkGetPhysicalDeviceXlibPresentationSupportKHR,         pattern VkGetPhysicalDeviceXlibPresentationSupportKHR,         HS_vkGetPhysicalDeviceXlibPresentationSupportKHR,         PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR,         vkGetPhysicalDeviceXlibPresentationSupportKHR,+        vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe,         vkGetPhysicalDeviceXlibPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.InternalAllocationType,@@ -120,12 +122,15 @@ -- -- > myCreateXlibSurfaceKHR <- vkGetProc @VkCreateXlibSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateXlibSurfaceKHRUnsafe@ and @vkCreateXlibSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateXlibSurfaceKHR@ is an alias+--           of @vkCreateXlibSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateXlibSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe "vkCreateXlibSurfaceKHR"-               vkCreateXlibSurfaceKHR ::+               vkCreateXlibSurfaceKHRUnsafe ::                VkInstance -- ^ instance                           ->                  Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo@@ -135,18 +140,18 @@                                                                  -> IO VkResult  #else-vkCreateXlibSurfaceKHR ::-                       VkInstance -- ^ instance-                                  ->-                         Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo-                                                        ->-                           Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> Ptr VkSurfaceKHR -- ^ pSurface-                                                                         -> IO VkResult-vkCreateXlibSurfaceKHR-  = unsafeDupablePerformIO (vkGetProc @VkCreateXlibSurfaceKHR)+vkCreateXlibSurfaceKHRUnsafe ::+                             VkInstance -- ^ instance+                                        ->+                               Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                              ->+                                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                                           -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                               -> IO VkResult+vkCreateXlibSurfaceKHRUnsafe+  = unsafeDupablePerformIO (vkGetProcUnsafe @VkCreateXlibSurfaceKHR) -{-# NOINLINE vkCreateXlibSurfaceKHR #-}+{-# NOINLINE vkCreateXlibSurfaceKHRUnsafe #-} #endif  -- |@@ -175,9 +180,12 @@ -- -- > myCreateXlibSurfaceKHR <- vkGetProc @VkCreateXlibSurfaceKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkCreateXlibSurfaceKHRUnsafe@ and @vkCreateXlibSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateXlibSurfaceKHR@ is an alias+--           of @vkCreateXlibSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateXlibSurfaceKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe "vkCreateXlibSurfaceKHR"                vkCreateXlibSurfaceKHRSafe ::@@ -204,6 +212,53 @@ {-# NOINLINE vkCreateXlibSurfaceKHRSafe #-} #endif +-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXlibSurfaceKHR+-- >     ( VkInstance instance+-- >     , const VkXlibSurfaceCreateInfoKHR* pCreateInfo+-- >     , const VkAllocationCallbacks* pAllocator+-- >     , VkSurfaceKHR* pSurface+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateXlibSurfaceKHR <- vkGetInstanceProc @VkCreateXlibSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateXlibSurfaceKHR <- vkGetProc @VkCreateXlibSurfaceKHR+--+-- __Note:__ @vkCreateXlibSurfaceKHRUnsafe@ and @vkCreateXlibSurfaceKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkCreateXlibSurfaceKHR@ is an alias+--           of @vkCreateXlibSurfaceKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkCreateXlibSurfaceKHRSafe@.+--+vkCreateXlibSurfaceKHR ::+                       VkInstance -- ^ instance+                                  ->+                         Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                        ->+                           Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                         -> IO VkResult+#ifdef UNSAFE_FFI_DEFAULT+vkCreateXlibSurfaceKHR = vkCreateXlibSurfaceKHRUnsafe+#else+vkCreateXlibSurfaceKHR = vkCreateXlibSurfaceKHRSafe++#endif+{-# INLINE vkCreateXlibSurfaceKHR #-}+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -227,8 +282,9 @@  type PFN_vkCreateXlibSurfaceKHR = FunPtr HS_vkCreateXlibSurfaceKHR -foreign import ccall unsafe "dynamic" unwrapVkCreateXlibSurfaceKHR-               :: PFN_vkCreateXlibSurfaceKHR -> HS_vkCreateXlibSurfaceKHR+foreign import ccall unsafe "dynamic"+               unwrapVkCreateXlibSurfaceKHRUnsafe ::+               PFN_vkCreateXlibSurfaceKHR -> HS_vkCreateXlibSurfaceKHR  foreign import ccall safe "dynamic"                unwrapVkCreateXlibSurfaceKHRSafe ::@@ -240,9 +296,9 @@         vkProcSymbol = _VkCreateXlibSurfaceKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateXlibSurfaceKHR+        unwrapVkProcPtrUnsafe = unwrapVkCreateXlibSurfaceKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateXlibSurfaceKHRSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -292,13 +348,16 @@ -- -- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXlibPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceXlibPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall unsafe                "vkGetPhysicalDeviceXlibPresentationSupportKHR"-               vkGetPhysicalDeviceXlibPresentationSupportKHR ::+               vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  Word32 -- ^ queueFamilyIndex@@ -307,18 +366,20 @@                                                    -> IO VkBool32  #else-vkGetPhysicalDeviceXlibPresentationSupportKHR ::-                                              VkPhysicalDevice -- ^ physicalDevice-                                                               ->-                                                Word32 -- ^ queueFamilyIndex-                                                       -> Ptr Display -- ^ dpy-                                                                      -> VisualID -- ^ visualID-                                                                                  -> IO VkBool32-vkGetPhysicalDeviceXlibPresentationSupportKHR+vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe ::+                                                    VkPhysicalDevice -- ^ physicalDevice+                                                                     ->+                                                      Word32 -- ^ queueFamilyIndex+                                                             ->+                                                        Ptr Display -- ^ dpy+                                                                    -> VisualID -- ^ visualID+                                                                                -> IO VkBool32+vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe   = unsafeDupablePerformIO-      (vkGetProc @VkGetPhysicalDeviceXlibPresentationSupportKHR)+      (vkGetProcUnsafe @VkGetPhysicalDeviceXlibPresentationSupportKHR) -{-# NOINLINE vkGetPhysicalDeviceXlibPresentationSupportKHR #-}+{-# NOINLINE vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe+             #-} #endif  -- |@@ -343,9 +404,12 @@ -- -- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXlibPresentationSupportKHR ----- __Note:__ @vkXxx@ and @vkXxxSafe@ versions of the call refer to---           using @unsafe@ of @safe@ FFI respectively.+-- __Note:__ @vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceXlibPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@. --+-- #ifdef NATIVE_FFI_VK_VERSION_1_0 foreign import ccall safe                "vkGetPhysicalDeviceXlibPresentationSupportKHR"@@ -372,6 +436,50 @@ {-# NOINLINE vkGetPhysicalDeviceXlibPresentationSupportKHRSafe #-} #endif +-- |+-- > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+-- >     ( VkPhysicalDevice physicalDevice+-- >     , uint32_t queueFamilyIndex+-- >     , Display* dpy+-- >     , VisualID visualID+-- >     )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ When @useNativeFFI-1-0@ cabal flag is enabled, this function is linked statically+--           as a @foreign import@ call to C Vulkan loader.+--           Otherwise, it is looked up dynamically at runtime using dlsym-like machinery (platform-dependent).+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceXlibPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXlibPresentationSupportKHR+--+-- __Note:__ @vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe@ and @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@ are the @unsafe@ and @safe@+--           FFI imports of this function, respectively. @vkGetPhysicalDeviceXlibPresentationSupportKHR@ is an alias+--           of @vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe@ when the @useUnsafeFFIDefault@ cabal flag+--           is enabled; otherwise, it is an alias of @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@.+--+vkGetPhysicalDeviceXlibPresentationSupportKHR ::+                                              VkPhysicalDevice -- ^ physicalDevice+                                                               ->+                                                Word32 -- ^ queueFamilyIndex+                                                       -> Ptr Display -- ^ dpy+                                                                      -> VisualID -- ^ visualID+                                                                                  -> IO VkBool32+#ifdef UNSAFE_FFI_DEFAULT+vkGetPhysicalDeviceXlibPresentationSupportKHR+  = vkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe+#else+vkGetPhysicalDeviceXlibPresentationSupportKHR+  = vkGetPhysicalDeviceXlibPresentationSupportKHRSafe++#endif+{-# INLINE vkGetPhysicalDeviceXlibPresentationSupportKHR #-}+ -- | > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex@@ -392,7 +500,7 @@      FunPtr HS_vkGetPhysicalDeviceXlibPresentationSupportKHR  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceXlibPresentationSupportKHR ::+               unwrapVkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe ::                PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR ->                  HS_vkGetPhysicalDeviceXlibPresentationSupportKHR @@ -408,10 +516,10 @@         vkProcSymbol = _VkGetPhysicalDeviceXlibPresentationSupportKHR          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHR+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHRUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHRSafe 
src-gen/Graphics/Vulkan/Ext/VK_MVK_ios_surface.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -103,8 +104,9 @@  type PFN_vkCreateIOSSurfaceMVK = FunPtr HS_vkCreateIOSSurfaceMVK -foreign import ccall unsafe "dynamic" unwrapVkCreateIOSSurfaceMVK-               :: PFN_vkCreateIOSSurfaceMVK -> HS_vkCreateIOSSurfaceMVK+foreign import ccall unsafe "dynamic"+               unwrapVkCreateIOSSurfaceMVKUnsafe ::+               PFN_vkCreateIOSSurfaceMVK -> HS_vkCreateIOSSurfaceMVK  foreign import ccall safe "dynamic" unwrapVkCreateIOSSurfaceMVKSafe                :: PFN_vkCreateIOSSurfaceMVK -> HS_vkCreateIOSSurfaceMVK@@ -114,9 +116,9 @@         vkProcSymbol = _VkCreateIOSSurfaceMVK          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateIOSSurfaceMVK+        unwrapVkProcPtrUnsafe = unwrapVkCreateIOSSurfaceMVKUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateIOSSurfaceMVKSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_MVK_macos_surface.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -105,8 +106,9 @@ type PFN_vkCreateMacOSSurfaceMVK =      FunPtr HS_vkCreateMacOSSurfaceMVK -foreign import ccall unsafe "dynamic" unwrapVkCreateMacOSSurfaceMVK-               :: PFN_vkCreateMacOSSurfaceMVK -> HS_vkCreateMacOSSurfaceMVK+foreign import ccall unsafe "dynamic"+               unwrapVkCreateMacOSSurfaceMVKUnsafe ::+               PFN_vkCreateMacOSSurfaceMVK -> HS_vkCreateMacOSSurfaceMVK  foreign import ccall safe "dynamic"                unwrapVkCreateMacOSSurfaceMVKSafe ::@@ -118,9 +120,9 @@         vkProcSymbol = _VkCreateMacOSSurfaceMVK          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateMacOSSurfaceMVK+        unwrapVkProcPtrUnsafe = unwrapVkCreateMacOSSurfaceMVKUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateMacOSSurfaceMVKSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_NN_vi_surface.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Mathias Heyer @mheyer@+        -- contact: @Mathias Heyer gitlab:@mheyer@         --         -- author: @NN@         --@@ -102,7 +103,8 @@  type PFN_vkCreateViSurfaceNN = FunPtr HS_vkCreateViSurfaceNN -foreign import ccall unsafe "dynamic" unwrapVkCreateViSurfaceNN ::+foreign import ccall unsafe "dynamic"+               unwrapVkCreateViSurfaceNNUnsafe ::                PFN_vkCreateViSurfaceNN -> HS_vkCreateViSurfaceNN  foreign import ccall safe "dynamic" unwrapVkCreateViSurfaceNNSafe@@ -113,9 +115,9 @@         vkProcSymbol = _VkCreateViSurfaceNN          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateViSurfaceNN+        unwrapVkProcPtrUnsafe = unwrapVkCreateViSurfaceNNUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateViSurfaceNNSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_NVX_device_generated_commands.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -142,8 +143,9 @@ type PFN_vkCmdProcessCommandsNVX =      FunPtr HS_vkCmdProcessCommandsNVX -foreign import ccall unsafe "dynamic" unwrapVkCmdProcessCommandsNVX-               :: PFN_vkCmdProcessCommandsNVX -> HS_vkCmdProcessCommandsNVX+foreign import ccall unsafe "dynamic"+               unwrapVkCmdProcessCommandsNVXUnsafe ::+               PFN_vkCmdProcessCommandsNVX -> HS_vkCmdProcessCommandsNVX  foreign import ccall safe "dynamic"                unwrapVkCmdProcessCommandsNVXSafe ::@@ -155,9 +157,9 @@         vkProcSymbol = _VkCmdProcessCommandsNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdProcessCommandsNVX+        unwrapVkProcPtrUnsafe = unwrapVkCmdProcessCommandsNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdProcessCommandsNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -203,7 +205,7 @@      FunPtr HS_vkCmdReserveSpaceForCommandsNVX  foreign import ccall unsafe "dynamic"-               unwrapVkCmdReserveSpaceForCommandsNVX ::+               unwrapVkCmdReserveSpaceForCommandsNVXUnsafe ::                PFN_vkCmdReserveSpaceForCommandsNVX ->                  HS_vkCmdReserveSpaceForCommandsNVX @@ -218,9 +220,9 @@         vkProcSymbol = _VkCmdReserveSpaceForCommandsNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdReserveSpaceForCommandsNVX+        unwrapVkProcPtrUnsafe = unwrapVkCmdReserveSpaceForCommandsNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdReserveSpaceForCommandsNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -273,7 +275,7 @@      FunPtr HS_vkCreateIndirectCommandsLayoutNVX  foreign import ccall unsafe "dynamic"-               unwrapVkCreateIndirectCommandsLayoutNVX ::+               unwrapVkCreateIndirectCommandsLayoutNVXUnsafe ::                PFN_vkCreateIndirectCommandsLayoutNVX ->                  HS_vkCreateIndirectCommandsLayoutNVX @@ -288,9 +290,10 @@         vkProcSymbol = _VkCreateIndirectCommandsLayoutNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateIndirectCommandsLayoutNVX+        unwrapVkProcPtrUnsafe+          = unwrapVkCreateIndirectCommandsLayoutNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateIndirectCommandsLayoutNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -335,7 +338,7 @@      FunPtr HS_vkDestroyIndirectCommandsLayoutNVX  foreign import ccall unsafe "dynamic"-               unwrapVkDestroyIndirectCommandsLayoutNVX ::+               unwrapVkDestroyIndirectCommandsLayoutNVXUnsafe ::                PFN_vkDestroyIndirectCommandsLayoutNVX ->                  HS_vkDestroyIndirectCommandsLayoutNVX @@ -350,9 +353,10 @@         vkProcSymbol = _VkDestroyIndirectCommandsLayoutNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroyIndirectCommandsLayoutNVX+        unwrapVkProcPtrUnsafe+          = unwrapVkDestroyIndirectCommandsLayoutNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroyIndirectCommandsLayoutNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -399,8 +403,9 @@  type PFN_vkCreateObjectTableNVX = FunPtr HS_vkCreateObjectTableNVX -foreign import ccall unsafe "dynamic" unwrapVkCreateObjectTableNVX-               :: PFN_vkCreateObjectTableNVX -> HS_vkCreateObjectTableNVX+foreign import ccall unsafe "dynamic"+               unwrapVkCreateObjectTableNVXUnsafe ::+               PFN_vkCreateObjectTableNVX -> HS_vkCreateObjectTableNVX  foreign import ccall safe "dynamic"                unwrapVkCreateObjectTableNVXSafe ::@@ -412,9 +417,9 @@         vkProcSymbol = _VkCreateObjectTableNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCreateObjectTableNVX+        unwrapVkProcPtrUnsafe = unwrapVkCreateObjectTableNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCreateObjectTableNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -454,8 +459,9 @@ type PFN_vkDestroyObjectTableNVX =      FunPtr HS_vkDestroyObjectTableNVX -foreign import ccall unsafe "dynamic" unwrapVkDestroyObjectTableNVX-               :: PFN_vkDestroyObjectTableNVX -> HS_vkDestroyObjectTableNVX+foreign import ccall unsafe "dynamic"+               unwrapVkDestroyObjectTableNVXUnsafe ::+               PFN_vkDestroyObjectTableNVX -> HS_vkDestroyObjectTableNVX  foreign import ccall safe "dynamic"                unwrapVkDestroyObjectTableNVXSafe ::@@ -467,9 +473,9 @@         vkProcSymbol = _VkDestroyObjectTableNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkDestroyObjectTableNVX+        unwrapVkProcPtrUnsafe = unwrapVkDestroyObjectTableNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkDestroyObjectTableNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -518,7 +524,8 @@  type PFN_vkRegisterObjectsNVX = FunPtr HS_vkRegisterObjectsNVX -foreign import ccall unsafe "dynamic" unwrapVkRegisterObjectsNVX ::+foreign import ccall unsafe "dynamic"+               unwrapVkRegisterObjectsNVXUnsafe ::                PFN_vkRegisterObjectsNVX -> HS_vkRegisterObjectsNVX  foreign import ccall safe "dynamic" unwrapVkRegisterObjectsNVXSafe@@ -529,9 +536,9 @@         vkProcSymbol = _VkRegisterObjectsNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkRegisterObjectsNVX+        unwrapVkProcPtrUnsafe = unwrapVkRegisterObjectsNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkRegisterObjectsNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -580,8 +587,9 @@  type PFN_vkUnregisterObjectsNVX = FunPtr HS_vkUnregisterObjectsNVX -foreign import ccall unsafe "dynamic" unwrapVkUnregisterObjectsNVX-               :: PFN_vkUnregisterObjectsNVX -> HS_vkUnregisterObjectsNVX+foreign import ccall unsafe "dynamic"+               unwrapVkUnregisterObjectsNVXUnsafe ::+               PFN_vkUnregisterObjectsNVX -> HS_vkUnregisterObjectsNVX  foreign import ccall safe "dynamic"                unwrapVkUnregisterObjectsNVXSafe ::@@ -593,9 +601,9 @@         vkProcSymbol = _VkUnregisterObjectsNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkUnregisterObjectsNVX+        unwrapVkProcPtrUnsafe = unwrapVkUnregisterObjectsNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkUnregisterObjectsNVXSafe          {-# INLINE unwrapVkProcPtrSafe #-}@@ -644,7 +652,7 @@      FunPtr HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::+               unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVXUnsafe ::                PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ->                  HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX @@ -661,10 +669,10 @@         vkProcSymbol = _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVXUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVXSafe 
src-gen/Graphics/Vulkan/Ext/VK_NVX_multiview_per_view_attributes.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NVX@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_clip_space_w_scaling.hs view
@@ -1,5 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -14,7 +15,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Eric Werness @ewerness@+        -- contact: @Eric Werness @ewerness-nv@         --         -- author: @NV@         --@@ -97,7 +98,7 @@      FunPtr HS_vkCmdSetViewportWScalingNV  foreign import ccall unsafe "dynamic"-               unwrapVkCmdSetViewportWScalingNV ::+               unwrapVkCmdSetViewportWScalingNVUnsafe ::                PFN_vkCmdSetViewportWScalingNV -> HS_vkCmdSetViewportWScalingNV  foreign import ccall safe "dynamic"@@ -110,9 +111,9 @@         vkProcSymbol = _VkCmdSetViewportWScalingNV          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkCmdSetViewportWScalingNV+        unwrapVkProcPtrUnsafe = unwrapVkCmdSetViewportWScalingNVUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkCmdSetViewportWScalingNVSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_NV_dedicated_allocation.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_capabilities.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -121,7 +122,7 @@      FunPtr HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV  foreign import ccall unsafe "dynamic"-               unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNV ::+               unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNVUnsafe ::                PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV ->                  HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV @@ -139,10 +140,10 @@         vkProcSymbol = _VkGetPhysicalDeviceExternalImageFormatPropertiesNV          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr-          = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNV+        unwrapVkProcPtrUnsafe+          = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNVUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe           = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNVSafe 
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_win32.hs view
@@ -1,6 +1,7 @@ {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP                      #-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE FlexibleInstances        #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -103,7 +104,7 @@      FunPtr HS_vkGetMemoryWin32HandleNV  foreign import ccall unsafe "dynamic"-               unwrapVkGetMemoryWin32HandleNV ::+               unwrapVkGetMemoryWin32HandleNVUnsafe ::                PFN_vkGetMemoryWin32HandleNV -> HS_vkGetMemoryWin32HandleNV  foreign import ccall safe "dynamic"@@ -116,9 +117,9 @@         vkProcSymbol = _VkGetMemoryWin32HandleNV          {-# INLINE vkProcSymbol #-}-        unwrapVkProcPtr = unwrapVkGetMemoryWin32HandleNV+        unwrapVkProcPtrUnsafe = unwrapVkGetMemoryWin32HandleNVUnsafe -        {-# INLINE unwrapVkProcPtr #-}+        {-# INLINE unwrapVkProcPtrUnsafe #-}         unwrapVkProcPtrSafe = unwrapVkGetMemoryWin32HandleNVSafe          {-# INLINE unwrapVkProcPtrSafe #-}
src-gen/Graphics/Vulkan/Ext/VK_NV_fill_rectangle.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_fragment_coverage_to_color.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_framebuffer_mixed_samples.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_glsl_shader.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Piers Daniell @pdaniell@+        -- contact: @Piers Daniell @pdaniell-nv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_sample_mask_override_coverage.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Piers Daniell @pdaniell@+        -- contact: @Piers Daniell @pdaniell-nv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_shader_subgroup_partitioned.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Jeff Bolz @jbolz@+        -- contact: @Jeff Bolz @jeffbolznv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_viewport_swizzle.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Piers Daniell @pdaniell@+        -- contact: @Piers Daniell @pdaniell-nv@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Ext/VK_NV_win32_keyed_mutex.hs view
@@ -10,7 +10,7 @@         --         -- supported: @vulkan@         ---        -- contact: @Carsten Rohde@+        -- contact: @Carsten Rohde @crohde@         --         -- author: @NV@         --
src-gen/Graphics/Vulkan/Types/Defines.hs view
@@ -57,12 +57,12 @@ type VK_API_VERSION_1_1 = 4198400  -- | > // Version of this file---   > #define VK_HEADER_VERSION 74+--   > #define VK_HEADER_VERSION 77 pattern VK_HEADER_VERSION :: (Num a, Eq a) => a -pattern VK_HEADER_VERSION = 74+pattern VK_HEADER_VERSION = 77 -type VK_HEADER_VERSION = 74+type VK_HEADER_VERSION = 77  -- | > #define VK_MAKE_VERSION(major, minor, patch) \ --   >     (((major) << 22) | ((minor) << 12) | (patch))
+ src-gen/Graphics/Vulkan/Types/Struct/Base.hsc view
@@ -0,0 +1,265 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.Base+       (VkBaseInStructure(..), VkBaseOutStructure(..)) where+import           Foreign.Storable                         (Storable (..))+import           GHC.Base                                 (Addr##, ByteArray##,+                                                           byteArrayContents##,+                                                           plusAddr##)+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;+--   >     const struct VkBaseInStructure* pNext;+--   > } VkBaseInStructure;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBaseInStructure VkBaseInStructure registry at www.khronos.org>+data VkBaseInStructure = VkBaseInStructure## Addr## ByteArray##++instance Eq VkBaseInStructure where+        (VkBaseInStructure## a _) == x@(VkBaseInStructure## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBaseInStructure where+        (VkBaseInStructure## a _) `compare` x@(VkBaseInStructure## b _)+          = cmpBytes## (sizeOf x) a 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 VulkanMarshalPrim VkBaseInStructure where+        unsafeAddr (VkBaseInStructure## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBaseInStructure## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBaseInStructure## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++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 '}'++-- | > typedef struct VkBaseOutStructure {+--   >     VkStructureType sType;+--   >     struct VkBaseOutStructure* pNext;+--   > } VkBaseOutStructure;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBaseOutStructure VkBaseOutStructure registry at www.khronos.org>+data VkBaseOutStructure = VkBaseOutStructure## Addr## ByteArray##++instance Eq VkBaseOutStructure where+        (VkBaseOutStructure## a _) == x@(VkBaseOutStructure## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBaseOutStructure where+        (VkBaseOutStructure## a _) `compare` x@(VkBaseOutStructure## b _)+          = cmpBytes## (sizeOf x) a 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 VulkanMarshalPrim VkBaseOutStructure where+        unsafeAddr (VkBaseOutStructure## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBaseOutStructure## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBaseOutStructure## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++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 '}'
src-gen/Graphics/Vulkan/Types/Struct/Display.hsc view
@@ -9,10 +9,13 @@ {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.Display        (VkDisplayEventInfoEXT(..), VkDisplayModeCreateInfoKHR(..),-        VkDisplayModeParametersKHR(..), VkDisplayModePropertiesKHR(..),-        VkDisplayPlaneCapabilitiesKHR(..), VkDisplayPlanePropertiesKHR(..),+        VkDisplayModeParametersKHR(..), VkDisplayModeProperties2KHR(..),+        VkDisplayModePropertiesKHR(..), VkDisplayPlaneCapabilities2KHR(..),+        VkDisplayPlaneCapabilitiesKHR(..), VkDisplayPlaneInfo2KHR(..),+        VkDisplayPlaneProperties2KHR(..), VkDisplayPlanePropertiesKHR(..),         VkDisplayPowerInfoEXT(..), VkDisplayPresentInfoKHR(..),-        VkDisplayPropertiesKHR(..), VkDisplaySurfaceCreateInfoKHR(..))+        VkDisplayProperties2KHR(..), VkDisplayPropertiesKHR(..),+        VkDisplaySurfaceCreateInfoKHR(..))        where import           Foreign.Storable                         (Storable (..)) import           GHC.Base                                 (Addr##, ByteArray##,@@ -538,6 +541,182 @@                     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>+data VkDisplayModeProperties2KHR = VkDisplayModeProperties2KHR## Addr##+                                                                ByteArray##++instance Eq VkDisplayModeProperties2KHR where+        (VkDisplayModeProperties2KHR## a _) ==+          x@(VkDisplayModeProperties2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayModeProperties2KHR where+        (VkDisplayModeProperties2KHR## a _) `compare`+          x@(VkDisplayModeProperties2KHR## b _) = cmpBytes## (sizeOf x) a 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 VulkanMarshalPrim VkDisplayModeProperties2KHR where+        unsafeAddr (VkDisplayModeProperties2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayModeProperties2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayModeProperties2KHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++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;@@ -671,6 +850,177 @@                     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>+data VkDisplayPlaneCapabilities2KHR = VkDisplayPlaneCapabilities2KHR## Addr##+                                                                      ByteArray##++instance Eq VkDisplayPlaneCapabilities2KHR where+        (VkDisplayPlaneCapabilities2KHR## a _) ==+          x@(VkDisplayPlaneCapabilities2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPlaneCapabilities2KHR where+        (VkDisplayPlaneCapabilities2KHR## a _) `compare`+          x@(VkDisplayPlaneCapabilities2KHR## b _) = cmpBytes## (sizeOf x) a 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 VulkanMarshalPrim VkDisplayPlaneCapabilities2KHR where+        unsafeAddr (VkDisplayPlaneCapabilities2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPlaneCapabilities2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPlaneCapabilities2KHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++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;@@ -1085,6 +1435,381 @@                                                                   (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>+data VkDisplayPlaneInfo2KHR = VkDisplayPlaneInfo2KHR## Addr##+                                                      ByteArray##++instance Eq VkDisplayPlaneInfo2KHR where+        (VkDisplayPlaneInfo2KHR## a _) == x@(VkDisplayPlaneInfo2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPlaneInfo2KHR where+        (VkDisplayPlaneInfo2KHR## a _) `compare`+          x@(VkDisplayPlaneInfo2KHR## b _) = cmpBytes## (sizeOf x) a 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 VulkanMarshalPrim VkDisplayPlaneInfo2KHR where+        unsafeAddr (VkDisplayPlaneInfo2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPlaneInfo2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPlaneInfo2KHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++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>+data VkDisplayPlaneProperties2KHR = VkDisplayPlaneProperties2KHR## Addr##+                                                                  ByteArray##++instance Eq VkDisplayPlaneProperties2KHR where+        (VkDisplayPlaneProperties2KHR## a _) ==+          x@(VkDisplayPlaneProperties2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPlaneProperties2KHR where+        (VkDisplayPlaneProperties2KHR## a _) `compare`+          x@(VkDisplayPlaneProperties2KHR## b _) = cmpBytes## (sizeOf x) a 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 VulkanMarshalPrim VkDisplayPlaneProperties2KHR where+        unsafeAddr (VkDisplayPlaneProperties2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPlaneProperties2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPlaneProperties2KHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++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;@@ -1615,6 +2340,170 @@                                     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>+data VkDisplayProperties2KHR = VkDisplayProperties2KHR## Addr##+                                                        ByteArray##++instance Eq VkDisplayProperties2KHR where+        (VkDisplayProperties2KHR## a _) == x@(VkDisplayProperties2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayProperties2KHR where+        (VkDisplayProperties2KHR## a _) `compare`+          x@(VkDisplayProperties2KHR## b _) = cmpBytes## (sizeOf x) a 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 VulkanMarshalPrim VkDisplayProperties2KHR where+        unsafeAddr (VkDisplayProperties2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayProperties2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayProperties2KHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++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;
src/Graphics/Vulkan/Marshal/Proc.hs view
@@ -16,18 +16,18 @@ --   page to see other reasons to load symbols manually. -- --   All FFI functions are present in two variants:---   @xxx@ and @xxxSafe@, the names stand for @foreign import unsafe xxx@+--   @xxxUnsafe@ and @xxxSafe@, the names stand for @foreign import unsafe xxx@ --   @foreign import safe xxx@ respectively. --   In particular, that does not mean that @vkGetXxxProcSafe@ function cannot fail; --   it does error if the symbol is not present in the implementation! module Graphics.Vulkan.Marshal.Proc   ( VulkanProc (..)-  , vkGetInstanceProc, vkGetInstanceProcSafe-  , vkLookupInstanceProc, vkLookupInstanceProcSafe-  , vkGetDeviceProc, vkGetDeviceProcSafe-  , vkLookupDeviceProc, vkLookupDeviceProcSafe-  , vkGetProc, vkGetProcSafe-  , vkLookupProc, vkLookupProcSafe+  , vkGetInstanceProc, vkGetInstanceProcUnsafe, vkGetInstanceProcSafe+  , vkLookupInstanceProc, vkLookupInstanceProcUnsafe, vkLookupInstanceProcSafe+  , vkGetDeviceProc, vkGetDeviceProcUnsafe, vkGetDeviceProcSafe+  , vkLookupDeviceProc, vkLookupDeviceProcUnsafe, vkLookupDeviceProcSafe+  , vkGetProc, vkGetProcUnsafe, vkGetProcSafe+  , vkLookupProc, vkLookupProcUnsafe, vkLookupProcSafe     -- * Re-export `Foreign.Ptr`   , FunPtr, nullFunPtr   ) where@@ -65,7 +65,7 @@     vkProcSymbol :: CString     -- | Convert C function pointer to an ordinary haskell function.     --   Use unsafe FFI (@foreign import unsafe "dynamic" ...@).-    unwrapVkProcPtr :: FunPtr (VkProcType proc) -> VkProcType proc+    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType proc) -> VkProcType proc     -- | Convert C function pointer to an ordinary haskell function.     --   Use safe FFI (@foreign import safe "dynamic" ...@).     unwrapVkProcPtrSafe :: FunPtr (VkProcType proc) -> VkProcType proc@@ -86,22 +86,22 @@ --   Note, this is an unsafe function; --   it does not check if the result of @vkGetInstanceProcAddr@ --   is a null function pointer.-vkGetInstanceProc :: forall proc . VulkanProc proc-                  => VkInstance -> IO (VkProcType proc)-vkGetInstanceProc i-  = unwrapVkProcPtr @proc-  <$> c'vkGetInstanceProcAddr i (vkProcSymbol @proc)-{-# INLINE vkGetInstanceProc #-}+vkGetInstanceProcUnsafe :: forall proc . VulkanProc proc+                        => VkInstance -> IO (VkProcType proc)+vkGetInstanceProcUnsafe i+  = unwrapVkProcPtrUnsafe @proc+  <$> c'vkGetInstanceProcAddrUnsafe i (vkProcSymbol @proc)+{-# INLINE vkGetInstanceProcUnsafe #-}  -- | An alternative to @vkGetInstanceProcAddr@ with type inference --   and protection against typos.-vkLookupInstanceProc :: forall proc . VulkanProc proc-                     => VkInstance -> IO (Maybe (VkProcType proc))-vkLookupInstanceProc i-    = f <$> c'vkGetInstanceProcAddr i (vkProcSymbol @proc)+vkLookupInstanceProcUnsafe :: forall proc . VulkanProc proc+                           => VkInstance -> IO (Maybe (VkProcType proc))+vkLookupInstanceProcUnsafe i+    = f <$> c'vkGetInstanceProcAddrUnsafe i (vkProcSymbol @proc)   where-    f p = if p == nullFunPtr then Nothing else Just (unwrapVkProcPtr @proc p)-{-# INLINE vkLookupInstanceProc #-}+    f p = if p == nullFunPtr then Nothing else Just (unwrapVkProcPtrUnsafe @proc p)+{-# INLINE vkLookupInstanceProcUnsafe #-}   -- | An alternative to @vkGetDeviceProcAddr@ with type inference@@ -110,22 +110,22 @@ --   Note, this is an unsafe function; --   it does not check if the result of @vkGetInstanceProcAddr@ --   is a null function pointer.-vkGetDeviceProc :: forall proc . VulkanProc proc-                => VkDevice -> IO (VkProcType proc)-vkGetDeviceProc i-  = unwrapVkProcPtr @proc-  <$> c'vkGetDeviceProcAddr i (vkProcSymbol @proc)-{-# INLINE vkGetDeviceProc #-}+vkGetDeviceProcUnsafe :: forall proc . VulkanProc proc+                      => VkDevice -> IO (VkProcType proc)+vkGetDeviceProcUnsafe i+  = unwrapVkProcPtrUnsafe @proc+  <$> c'vkGetDeviceProcAddrUnsafe i (vkProcSymbol @proc)+{-# INLINE vkGetDeviceProcUnsafe #-}  -- | An alternative to @vkGetDeviceProcAddr@ with type inference --   and protection against typos.-vkLookupDeviceProc :: forall proc . VulkanProc proc-                   => VkDevice -> IO (Maybe (VkProcType proc))-vkLookupDeviceProc i-    = f <$> c'vkGetDeviceProcAddr i (vkProcSymbol @proc)+vkLookupDeviceProcUnsafe :: forall proc . VulkanProc proc+                         => VkDevice -> IO (Maybe (VkProcType proc))+vkLookupDeviceProcUnsafe i+    = f <$> c'vkGetDeviceProcAddrUnsafe i (vkProcSymbol @proc)   where-    f p = if p == nullFunPtr then Nothing else Just (unwrapVkProcPtr @proc p)-{-# INLINE vkLookupDeviceProc #-}+    f p = if p == nullFunPtr then Nothing else Just (unwrapVkProcPtrUnsafe @proc p)+{-# INLINE vkLookupDeviceProcUnsafe #-}   -- | Locate Vulkan symbol dynamically at runtime using platform-dependent machinery,@@ -137,14 +137,14 @@ --   Also note, you are likely not able to lookup an extension funcion using --   `vkGetProc`, because a corresponding symbol is simply not present in the --   vulkan loader library.-vkGetProc :: forall proc . VulkanProc proc => IO (VkProcType proc)-vkGetProc = alloca $ \errPtr -> do+vkGetProcUnsafe :: forall proc . VulkanProc proc => IO (VkProcType proc)+vkGetProcUnsafe = alloca $ \errPtr -> do     fp <- withForeignPtr _vkDlHandle $ \h ->       c'vkdll_dlsym h (vkProcSymbol @proc) errPtr     when (fp == nullFunPtr) $ peek errPtr >>= peekCString >>= fail .         ("An error happened while trying to load vulkan symbol dynamically: " ++)-    return $ unwrapVkProcPtr @proc fp-{-# INLINE vkGetProc #-}+    return $ unwrapVkProcPtrUnsafe @proc fp+{-# INLINE vkGetProcUnsafe #-}  -- | Locate Vulkan symbol dynamically at runtime using platform-dependent machinery, --   such as @dlsym@ or @GetProcAddress@.@@ -155,12 +155,12 @@ --   Also note, you are likely not able to lookup an extension funcion using --   `vkLookupProc`, because a corresponding symbol is simply not present in the --   vulkan loader library.-vkLookupProc :: forall proc . VulkanProc proc => IO (Maybe (VkProcType proc))-vkLookupProc = alloca $ \errPtr -> do+vkLookupProcUnsafe :: forall proc . VulkanProc proc => IO (Maybe (VkProcType proc))+vkLookupProcUnsafe = alloca $ \errPtr -> do     fp <- withForeignPtr _vkDlHandle $ \h ->       c'vkdll_dlsym h (vkProcSymbol @proc) errPtr-    return $ if fp == nullFunPtr then Nothing else Just (unwrapVkProcPtr @proc fp)-{-# INLINE vkLookupProc #-}+    return $ if fp == nullFunPtr then Nothing else Just (unwrapVkProcPtrUnsafe @proc fp)+{-# INLINE vkLookupProcUnsafe #-}   @@ -180,7 +180,7 @@                   => VkInstance -> IO (VkProcType proc) vkGetInstanceProcSafe i   = unwrapVkProcPtrSafe @proc-  <$> c'vkGetInstanceProcAddr i (vkProcSymbol @proc)+  <$> c'vkGetInstanceProcAddrSafe i (vkProcSymbol @proc) {-# INLINE vkGetInstanceProcSafe #-}  -- | An alternative to @vkGetInstanceProcAddr@ with type inference@@ -188,7 +188,7 @@ vkLookupInstanceProcSafe :: forall proc . VulkanProc proc                      => VkInstance -> IO (Maybe (VkProcType proc)) vkLookupInstanceProcSafe i-    = f <$> c'vkGetInstanceProcAddr i (vkProcSymbol @proc)+    = f <$> c'vkGetInstanceProcAddrSafe i (vkProcSymbol @proc)   where     f p = if p == nullFunPtr then Nothing else Just (unwrapVkProcPtrSafe @proc p) {-# INLINE vkLookupInstanceProcSafe #-}@@ -204,7 +204,7 @@                 => VkDevice -> IO (VkProcType proc) vkGetDeviceProcSafe i   = unwrapVkProcPtrSafe @proc-  <$> c'vkGetDeviceProcAddr i (vkProcSymbol @proc)+  <$> c'vkGetDeviceProcAddrSafe i (vkProcSymbol @proc) {-# INLINE vkGetDeviceProcSafe #-}  -- | An alternative to @vkGetDeviceProcAddr@ with type inference@@ -212,7 +212,7 @@ vkLookupDeviceProcSafe :: forall proc . VulkanProc proc                    => VkDevice -> IO (Maybe (VkProcType proc)) vkLookupDeviceProcSafe i-    = f <$> c'vkGetDeviceProcAddr i (vkProcSymbol @proc)+    = f <$> c'vkGetDeviceProcAddrSafe i (vkProcSymbol @proc)   where     f p = if p == nullFunPtr then Nothing else Just (unwrapVkProcPtrSafe @proc p) {-# INLINE vkLookupDeviceProcSafe #-}@@ -240,7 +240,7 @@ --   such as @dlsym@ or @GetProcAddress@. --   This function returns @Nothing@ on failure ignoring an error message. -----   Consider using `vkGetDeviceProc` or `vkGetInstanceProc` for loading a symbol,+--   Consider using `vkLookupDeviceProc` or `vkLookupInstanceProc` for loading a symbol, --    because they can return a more optimized version of a function. --   Also note, you are likely not able to lookup an extension funcion using --   `vkLookupProc`, because a corresponding symbol is simply not present in the@@ -254,7 +254,109 @@   +--------------------------------------------------------------------------------+-- Default FFI version+-------------------------------------------------------------------------------- +++-- | An alternative to @vkGetInstanceProcAddr@ with type inference+--   and protection against typos.+--+--   Note, this is an unsafe function;+--   it does not check if the result of @vkGetInstanceProcAddr@+--   is a null function pointer.+vkGetInstanceProc :: forall proc . VulkanProc proc+                  => VkInstance -> IO (VkProcType proc)+vkGetInstanceProc =+#ifdef UNSAFE_FFI_DEFAULT+  vkGetInstanceProcUnsafe @proc+#else+  vkGetInstanceProcSafe @proc+#endif+{-# INLINE vkGetInstanceProc #-}++-- | An alternative to @vkGetInstanceProcAddr@ with type inference+--   and protection against typos.+vkLookupInstanceProc :: forall proc . VulkanProc proc+                     => VkInstance -> IO (Maybe (VkProcType proc))+vkLookupInstanceProc =+#ifdef UNSAFE_FFI_DEFAULT+  vkLookupInstanceProcUnsafe @proc+#else+  vkLookupInstanceProcSafe @proc+#endif+{-# INLINE vkLookupInstanceProc #-}+++-- | An alternative to @vkGetDeviceProcAddr@ with type inference+--   and protection against typos.+--+--   Note, this is an unsafe function;+--   it does not check if the result of @vkGetInstanceProcAddr@+--   is a null function pointer.+vkGetDeviceProc :: forall proc . VulkanProc proc+                => VkDevice -> IO (VkProcType proc)+vkGetDeviceProc =+#ifdef UNSAFE_FFI_DEFAULT+  vkGetDeviceProcUnsafe @proc+#else+  vkGetDeviceProcSafe @proc+#endif+{-# INLINE vkGetDeviceProc #-}++-- | An alternative to @vkGetDeviceProcAddr@ with type inference+--   and protection against typos.+vkLookupDeviceProc :: forall proc . VulkanProc proc+                   => VkDevice -> IO (Maybe (VkProcType proc))+vkLookupDeviceProc =+#ifdef UNSAFE_FFI_DEFAULT+  vkLookupDeviceProcUnsafe @proc+#else+  vkLookupDeviceProcSafe @proc+#endif+{-# INLINE vkLookupDeviceProc #-}+++-- | Locate Vulkan symbol dynamically at runtime using platform-dependent machinery,+--   such as @dlsym@ or @GetProcAddress@.+--   This function throws an error on failure.+--+--   Consider using `vkGetDeviceProc` or `vkGetInstanceProc` for loading a symbol,+--    because they can return a more optimized version of a function.+--   Also note, you are likely not able to lookup an extension funcion using+--   `vkGetProc`, because a corresponding symbol is simply not present in the+--   vulkan loader library.+vkGetProc :: forall proc . VulkanProc proc => IO (VkProcType proc)+vkGetProc =+#ifdef UNSAFE_FFI_DEFAULT+  vkGetProcUnsafe @proc+#else+  vkGetProcSafe @proc+#endif+{-# INLINE vkGetProc #-}++-- | Locate Vulkan symbol dynamically at runtime using platform-dependent machinery,+--   such as @dlsym@ or @GetProcAddress@.+--   This function returns @Nothing@ on failure ignoring an error message.+--+--   Consider using `vkGetDeviceProc` or `vkGetInstanceProc` for loading a symbol,+--    because they can return a more optimized version of a function.+--   Also note, you are likely not able to lookup an extension funcion using+--   `vkLookupProc`, because a corresponding symbol is simply not present in the+--   vulkan loader library.+vkLookupProc :: forall proc . VulkanProc proc => IO (Maybe (VkProcType proc))+vkLookupProc =+#ifdef UNSAFE_FFI_DEFAULT+  vkLookupProcUnsafe @proc+#else+  vkLookupProcSafe @proc+#endif+{-# INLINE vkLookupProc #-}++++ -------------------------------------------------------------------------------- -- Utilities --------------------------------------------------------------------------------@@ -264,40 +366,77 @@  #ifdef VK_NO_PROTOTYPES -c'vkGetInstanceProcAddr :: VkInstance -> CString -> IO (FunPtr a)-c'vkGetInstanceProcAddr = unsafePerformIO $ alloca $ \errPtr -> do+c'vkGetInstanceProcAddrSafe :: VkInstance -> CString -> IO (FunPtr a)+c'vkGetInstanceProcAddrSafe = c'vkGetInstanceProcAddr' unwrap'vkGetInstanceProcAddrSafe++c'vkGetInstanceProcAddrUnsafe :: VkInstance -> CString -> IO (FunPtr a)+c'vkGetInstanceProcAddrUnsafe = c'vkGetInstanceProcAddr' unwrap'vkGetInstanceProcAddrUnsafe++c'vkGetDeviceProcAddrSafe :: VkDevice -> CString -> IO (FunPtr a)+c'vkGetDeviceProcAddrSafe = c'vkGetDeviceProcAddr' unwrap'vkGetDeviceProcAddrSafe++c'vkGetDeviceProcAddrUnsafe :: VkDevice -> CString -> IO (FunPtr a)+c'vkGetDeviceProcAddrUnsafe = c'vkGetDeviceProcAddr' unwrap'vkGetDeviceProcAddrUnsafe++c'vkGetInstanceProcAddr'+    :: ( FunPtr (VkInstance -> CString -> IO (FunPtr a))+          -> VkInstance -> CString -> IO (FunPtr a)+       )+    -> VkInstance -> CString -> IO (FunPtr a)+c'vkGetInstanceProcAddr' k = unsafePerformIO $ alloca $ \errPtr -> do     fp <- withForeignPtr _vkDlHandle $ \h ->       c'vkdll_dlsym h (Ptr "vkGetInstanceProcAddr"#) errPtr     when (fp == nullFunPtr) $       peek errPtr >>= peekCString >>= fail .         ("Could not load 'vkGetInstanceProcAddr' C function from vulkan library dynamically: " ++)-    return $ unwrap'vkGetInstanceProcAddr fp+    return $ k fp -c'vkGetDeviceProcAddr :: VkDevice -> CString -> IO (FunPtr a)-c'vkGetDeviceProcAddr = unsafePerformIO $ alloca $ \errPtr -> do+c'vkGetDeviceProcAddr'+    :: ( FunPtr (VkDevice -> CString -> IO (FunPtr a))+          -> VkDevice -> CString -> IO (FunPtr a)+       )+    -> VkDevice -> CString -> IO (FunPtr a)+c'vkGetDeviceProcAddr' k = unsafePerformIO $ alloca $ \errPtr -> do     fp <- withForeignPtr _vkDlHandle $ \h ->       c'vkdll_dlsym h (Ptr "vkGetDeviceProcAddr"#) errPtr     when (fp == nullFunPtr) $ peek errPtr >>= peekCString >>= fail .         ("Could not load 'vkGetDeviceProcAddr' C function from vulkan library dynamically: " ++)-    return $ unwrap'vkGetDeviceProcAddr fp+    return $ k fp +foreign import ccall safe "dynamic"+  unwrap'vkGetInstanceProcAddrSafe+    :: FunPtr (VkInstance -> CString -> IO (FunPtr a))+    -> VkInstance -> CString -> IO (FunPtr a)++foreign import ccall safe "dynamic"+  unwrap'vkGetDeviceProcAddrSafe+    :: FunPtr (VkDevice -> CString -> IO (FunPtr a))+    -> VkDevice -> CString -> IO (FunPtr a)+ foreign import ccall unsafe "dynamic"-  unwrap'vkGetInstanceProcAddr+  unwrap'vkGetInstanceProcAddrUnsafe     :: FunPtr (VkInstance -> CString -> IO (FunPtr a))     -> VkInstance -> CString -> IO (FunPtr a)  foreign import ccall unsafe "dynamic"-  unwrap'vkGetDeviceProcAddr+  unwrap'vkGetDeviceProcAddrUnsafe     :: FunPtr (VkDevice -> CString -> IO (FunPtr a))     -> VkDevice -> CString -> IO (FunPtr a)  #else +foreign import ccall safe "vkGetInstanceProcAddr"+  c'vkGetInstanceProcAddrSafe :: VkInstance -> CString -> IO (FunPtr a)++foreign import ccall safe "vkGetDeviceProcAddr"+  c'vkGetDeviceProcAddrSafe :: VkDevice -> CString -> IO (FunPtr a)+ foreign import ccall unsafe "vkGetInstanceProcAddr"-  c'vkGetInstanceProcAddr :: VkInstance -> CString -> IO (FunPtr a)+  c'vkGetInstanceProcAddrUnsafe :: VkInstance -> CString -> IO (FunPtr a)  foreign import ccall unsafe "vkGetDeviceProcAddr"-  c'vkGetDeviceProcAddr :: VkDevice -> CString -> IO (FunPtr a)+  c'vkGetDeviceProcAddrUnsafe :: VkDevice -> CString -> IO (FunPtr a)+  #endif 
vulkan-api.cabal view
@@ -3,7 +3,7 @@ -- it is autogenerated at genvulkan/src/Write/Cabal.hs -- name:                vulkan-api-version:             1.1.2.1+version:             1.1.3.0 synopsis:            Low-level low-overhead vulkan api bindings description:     Haskell bindings for vulkan api as described in vk.xml.@@ -26,6 +26,11 @@     include/vulkan_loader.h     cbits/vulkan_loader.c +flag useUnsafeFFIDefault+    description:+      Use unsafe foreign imports of Vulkan functions by default+    default: False+ flag usePlatformAndroidKhr     description:       Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_ANDROID_KHR@@ -151,6 +156,7 @@         Graphics.Vulkan.Ext.VK_KHR_device_group_creation         Graphics.Vulkan.Ext.VK_KHR_display         Graphics.Vulkan.Ext.VK_KHR_display_swapchain+        Graphics.Vulkan.Ext.VK_KHR_draw_indirect_count         Graphics.Vulkan.Ext.VK_KHR_external_fence         Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities         Graphics.Vulkan.Ext.VK_KHR_external_fence_fd@@ -160,6 +166,7 @@         Graphics.Vulkan.Ext.VK_KHR_external_semaphore         Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities         Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd+        Graphics.Vulkan.Ext.VK_KHR_get_display_properties2         Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2         Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2         Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2@@ -273,6 +280,7 @@         Graphics.Vulkan.Types.Struct.AllocationCallbacks         Graphics.Vulkan.Types.Struct.ApplicationInfo         Graphics.Vulkan.Types.Struct.Attachment+        Graphics.Vulkan.Types.Struct.Base         Graphics.Vulkan.Types.Struct.Bind         Graphics.Vulkan.Types.Struct.Buffer         Graphics.Vulkan.Types.Struct.Clear@@ -343,6 +351,9 @@         Graphics.Vulkan.Types.Struct.Viewport         Graphics.Vulkan.Types.Struct.WriteDescriptorSet         Graphics.Vulkan.Types.Struct.XYColorEXT+    if flag(useUnsafeFFIDefault)+      cpp-options: -DUNSAFE_FFI_DEFAULT+     if flag(usePlatformAndroidKhr)       cpp-options: -DVK_USE_PLATFORM_ANDROID_KHR       exposed-modules: