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 +107/−1
- src-gen/Graphics/Vulkan/Core_1_0.hsc +29924/−22717
- src-gen/Graphics/Vulkan/Core_1_1.hs +7163/−5736
- src-gen/Graphics/Vulkan/Ext.hs +4/−0
- src-gen/Graphics/Vulkan/Ext/VK_AMD_buffer_marker.hs +5/−4
- src-gen/Graphics/Vulkan/Ext/VK_AMD_draw_indirect_count.hs +9/−7
- src-gen/Graphics/Vulkan/Ext/VK_AMD_gcn_shader.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_half_float.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_int16.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_rasterization_order.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_ballot.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_explicit_vertex_parameter.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_fragment_mask.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_image_load_store_lod.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_info.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_trinary_minmax.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_ANDROID_external_memory_android_hardware_buffer.hs +10/−7
- src-gen/Graphics/Vulkan/Ext/VK_EXT_acquire_xlib_display.hs +9/−7
- src-gen/Graphics/Vulkan/Ext/VK_EXT_blend_operation_advanced.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_EXT_conservative_rasterization.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_marker.hs +19/−17
- src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_report.hs +13/−11
- src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_utils.hs +35/−34
- src-gen/Graphics/Vulkan/Ext/VK_EXT_depth_range_unrestricted.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_EXT_descriptor_indexing.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_EXT_direct_mode_display.hs +5/−3
- src-gen/Graphics/Vulkan/Ext/VK_EXT_discard_rectangles.hs +5/−4
- src-gen/Graphics/Vulkan/Ext/VK_EXT_display_control.hs +13/−12
- src-gen/Graphics/Vulkan/Ext/VK_EXT_display_surface_counter.hs +5/−3
- src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_host.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_EXT_hdr_metadata.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_EXT_sample_locations.hs +9/−7
- src-gen/Graphics/Vulkan/Ext/VK_EXT_sampler_filter_minmax.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_stencil_export.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_EXT_swapchain_colorspace.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_cache.hs +13/−12
- src-gen/Graphics/Vulkan/Ext/VK_GOOGLE_display_timing.hs +9/−7
- src-gen/Graphics/Vulkan/Ext/VK_IMG_filter_cubic.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_IMG_format_pvrtc.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_16bit_storage.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_android_surface.hs +76/−22
- src-gen/Graphics/Vulkan/Ext/VK_KHR_bind_memory2.hs +12/−9
- src-gen/Graphics/Vulkan/Ext/VK_KHR_descriptor_update_template.hs +13/−9
- src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group.hs +15/−11
- src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group_creation.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_KHR_display.hs +526/−132
- src-gen/Graphics/Vulkan/Ext/VK_KHR_display_swapchain.hs +81/−23
- src-gen/Graphics/Vulkan/Ext/VK_KHR_draw_indirect_count.hs +224/−0
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_capabilities.hs +6/−5
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_fd.hs +10/−8
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_win32.hs +8/−7
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_capabilities.hs +5/−4
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_fd.hs +8/−7
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_win32.hs +8/−6
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_capabilities.hs +5/−4
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_fd.hs +10/−7
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_win32.hs +7/−6
- src-gen/Graphics/Vulkan/Ext/VK_KHR_get_display_properties2.hs +415/−0
- src-gen/Graphics/Vulkan/Ext/VK_KHR_get_memory_requirements2.hs +13/−9
- src-gen/Graphics/Vulkan/Ext/VK_KHR_get_physical_device_properties2.hs +29/−25
- src-gen/Graphics/Vulkan/Ext/VK_KHR_get_surface_capabilities2.hs +9/−6
- src-gen/Graphics/Vulkan/Ext/VK_KHR_incremental_present.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance1.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance3.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_KHR_mir_surface.hs +144/−40
- src-gen/Graphics/Vulkan/Ext/VK_KHR_multiview.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_push_descriptor.hs +9/−7
- src-gen/Graphics/Vulkan/Ext/VK_KHR_relaxed_block_layout.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_mirror_clamp_to_edge.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_ycbcr_conversion.hs +9/−6
- src-gen/Graphics/Vulkan/Ext/VK_KHR_shared_presentable_image.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_KHR_storage_buffer_storage_class.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_surface.hs +365/−93
- src-gen/Graphics/Vulkan/Ext/VK_KHR_swapchain.hs +654/−176
- src-gen/Graphics/Vulkan/Ext/VK_KHR_variable_pointers.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_wayland_surface.hs +144/−39
- src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_keyed_mutex.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_surface.hs +140/−38
- src-gen/Graphics/Vulkan/Ext/VK_KHR_xcb_surface.hs +150/−42
- src-gen/Graphics/Vulkan/Ext/VK_KHR_xlib_surface.hs +149/−41
- src-gen/Graphics/Vulkan/Ext/VK_MVK_ios_surface.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_MVK_macos_surface.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_NN_vi_surface.hs +6/−4
- src-gen/Graphics/Vulkan/Ext/VK_NVX_device_generated_commands.hs +40/−32
- src-gen/Graphics/Vulkan/Ext/VK_NVX_multiview_per_view_attributes.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_clip_space_w_scaling.hs +5/−4
- src-gen/Graphics/Vulkan/Ext/VK_NV_dedicated_allocation.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_capabilities.hs +5/−4
- src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_win32.hs +4/−3
- src-gen/Graphics/Vulkan/Ext/VK_NV_fill_rectangle.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_fragment_coverage_to_color.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_framebuffer_mixed_samples.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_glsl_shader.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_sample_mask_override_coverage.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_shader_subgroup_partitioned.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_viewport_swizzle.hs +1/−1
- src-gen/Graphics/Vulkan/Ext/VK_NV_win32_keyed_mutex.hs +1/−1
- src-gen/Graphics/Vulkan/Types/Defines.hs +3/−3
- src-gen/Graphics/Vulkan/Types/Struct/Base.hsc +265/−0
- src-gen/Graphics/Vulkan/Types/Struct/Display.hsc +892/−3
- src/Graphics/Vulkan/Marshal/Proc.hs +194/−55
- vulkan-api.cabal +12/−1
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 #-}
@@ -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: