vulkan 3.23.2 → 3.23.3
raw patch · 42 files changed
+2853/−134 lines, 42 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Vulkan.Core10.Enums.StructureType: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core10.Enums.StructureType: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core10.Enums.StructureType: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core10.Enums.StructureType: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core10.Enums.StructureType: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core10.Enums.StructureType: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core10.FundamentalTypes: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core10.FundamentalTypes: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core10.FundamentalTypes: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core10.FundamentalTypes: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core10.FundamentalTypes: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core10.FundamentalTypes: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance3: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance3: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance3: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance3: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance3: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_maintenance3: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_multiview: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_multiview: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_multiview: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_multiview: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_multiview: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_multiview: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_driver_properties: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_driver_properties: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_driver_properties: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_driver_properties: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_driver_properties: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_driver_properties: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_image_format_list: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_image_format_list: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_image_format_list: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_image_format_list: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_image_format_list: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_image_format_list: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_image_robustness: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_image_robustness: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_image_robustness: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_image_robustness: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_image_robustness: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_image_robustness: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_feedback: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_feedback: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_feedback: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_feedback: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_feedback: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_feedback: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_private_data: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_private_data: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_private_data: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_private_data: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_private_data: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_private_data: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_subgroup_size_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_subgroup_size_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_subgroup_size_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_subgroup_size_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_subgroup_size_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_subgroup_size_control: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texture_compression_astc_hdr: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texture_compression_astc_hdr: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texture_compression_astc_hdr: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texture_compression_astc_hdr: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texture_compression_astc_hdr: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_texture_compression_astc_hdr: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_tooling_info: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_tooling_info: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_tooling_info: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_tooling_info: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_tooling_info: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_EXT_tooling_info: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_format_feature_flags2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_format_feature_flags2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_format_feature_flags2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_format_feature_flags2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_format_feature_flags2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_format_feature_flags2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_maintenance4: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_maintenance4: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_maintenance4: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_maintenance4: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_maintenance4: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_maintenance4: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_synchronization2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_synchronization2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_synchronization2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_synchronization2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_synchronization2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_synchronization2: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_zero_initialize_workgroup_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_zero_initialize_workgroup_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_zero_initialize_workgroup_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_zero_initialize_workgroup_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_zero_initialize_workgroup_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV :: StructureType
+ Vulkan.Core13.Promoted_From_VK_KHR_zero_initialize_workgroup_memory: pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV :: StructureType
+ Vulkan.Dynamic: [pVkCmdCopyMemoryIndirectNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
+ Vulkan.Dynamic: [pVkCmdCopyMemoryToImageIndirectNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("pImageSubresources" ::: Ptr ImageSubresourceLayers) -> IO ())
+ Vulkan.Dynamic: [pVkCmdDecompressMemoryIndirectCountNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("indirectCommandsAddress" ::: DeviceAddress) -> ("indirectCommandsCountAddress" ::: DeviceAddress) -> ("stride" ::: Word32) -> IO ())
+ Vulkan.Dynamic: [pVkCmdDecompressMemoryNV] :: DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> ("decompressRegionCount" ::: Word32) -> ("pDecompressMemoryRegions" ::: Ptr DecompressMemoryRegionNV) -> IO ())
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: CopyMemoryIndirectCommandNV :: DeviceAddress -> DeviceAddress -> DeviceSize -> CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: CopyMemoryToImageIndirectCommandNV :: DeviceAddress -> Word32 -> Word32 -> ImageSubresourceLayers -> Offset3D -> Extent3D -> CopyMemoryToImageIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: PhysicalDeviceCopyMemoryIndirectFeaturesNV :: Bool -> PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: PhysicalDeviceCopyMemoryIndirectPropertiesNV :: QueueFlags -> PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:bufferImageHeight:CopyMemoryToImageIndirectCommandNV] :: CopyMemoryToImageIndirectCommandNV -> Word32
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:bufferRowLength:CopyMemoryToImageIndirectCommandNV] :: CopyMemoryToImageIndirectCommandNV -> Word32
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:dstAddress:CopyMemoryIndirectCommandNV] :: CopyMemoryIndirectCommandNV -> DeviceAddress
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:imageExtent:CopyMemoryToImageIndirectCommandNV] :: CopyMemoryToImageIndirectCommandNV -> Extent3D
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:imageOffset:CopyMemoryToImageIndirectCommandNV] :: CopyMemoryToImageIndirectCommandNV -> Offset3D
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:imageSubresource:CopyMemoryToImageIndirectCommandNV] :: CopyMemoryToImageIndirectCommandNV -> ImageSubresourceLayers
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:indirectCopy:PhysicalDeviceCopyMemoryIndirectFeaturesNV] :: PhysicalDeviceCopyMemoryIndirectFeaturesNV -> Bool
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:size:CopyMemoryIndirectCommandNV] :: CopyMemoryIndirectCommandNV -> DeviceSize
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:srcAddress:CopyMemoryIndirectCommandNV] :: CopyMemoryIndirectCommandNV -> DeviceAddress
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:srcAddress:CopyMemoryToImageIndirectCommandNV] :: CopyMemoryToImageIndirectCommandNV -> DeviceAddress
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: [$sel:supportedQueues:PhysicalDeviceCopyMemoryIndirectPropertiesNV] :: PhysicalDeviceCopyMemoryIndirectPropertiesNV -> QueueFlags
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: cmdCopyMemoryIndirectNV :: forall io. MonadIO io => CommandBuffer -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> io ()
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: cmdCopyMemoryToImageIndirectNV :: forall io. MonadIO io => CommandBuffer -> ("copyBufferAddress" ::: DeviceAddress) -> ("stride" ::: Word32) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("imageSubresources" ::: Vector ImageSubresourceLayers) -> io ()
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: data CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: data CopyMemoryToImageIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: data PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: data PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance GHC.Show.Show Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance GHC.Show.Show Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance GHC.Show.Show Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance GHC.Show.Show Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: pattern NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: type NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME = "VK_NV_copy_memory_indirect"
+ Vulkan.Extensions.VK_NV_copy_memory_indirect: type NV_COPY_MEMORY_INDIRECT_SPEC_VERSION = 1
+ Vulkan.Extensions.VK_NV_memory_decompression: DecompressMemoryRegionNV :: DeviceAddress -> DeviceAddress -> DeviceSize -> DeviceSize -> MemoryDecompressionMethodFlagsNV -> DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: MemoryDecompressionMethodFlagBitsNV :: Flags64 -> MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: PhysicalDeviceMemoryDecompressionFeaturesNV :: Bool -> PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: PhysicalDeviceMemoryDecompressionPropertiesNV :: MemoryDecompressionMethodFlagsNV -> Word64 -> PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:compressedSize:DecompressMemoryRegionNV] :: DecompressMemoryRegionNV -> DeviceSize
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:decompressedSize:DecompressMemoryRegionNV] :: DecompressMemoryRegionNV -> DeviceSize
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:decompressionMethod:DecompressMemoryRegionNV] :: DecompressMemoryRegionNV -> MemoryDecompressionMethodFlagsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:decompressionMethods:PhysicalDeviceMemoryDecompressionPropertiesNV] :: PhysicalDeviceMemoryDecompressionPropertiesNV -> MemoryDecompressionMethodFlagsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:dstAddress:DecompressMemoryRegionNV] :: DecompressMemoryRegionNV -> DeviceAddress
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:maxDecompressionIndirectCount:PhysicalDeviceMemoryDecompressionPropertiesNV] :: PhysicalDeviceMemoryDecompressionPropertiesNV -> Word64
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:memoryDecompression:PhysicalDeviceMemoryDecompressionFeaturesNV] :: PhysicalDeviceMemoryDecompressionFeaturesNV -> Bool
+ Vulkan.Extensions.VK_NV_memory_decompression: [$sel:srcAddress:DecompressMemoryRegionNV] :: DecompressMemoryRegionNV -> DeviceAddress
+ Vulkan.Extensions.VK_NV_memory_decompression: cmdDecompressMemoryIndirectCountNV :: forall io. MonadIO io => CommandBuffer -> ("indirectCommandsAddress" ::: DeviceAddress) -> ("indirectCommandsCountAddress" ::: DeviceAddress) -> ("stride" ::: Word32) -> io ()
+ Vulkan.Extensions.VK_NV_memory_decompression: cmdDecompressMemoryNV :: forall io. MonadIO io => CommandBuffer -> ("decompressMemoryRegions" ::: Vector DecompressMemoryRegionNV) -> io ()
+ Vulkan.Extensions.VK_NV_memory_decompression: data DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: data PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: data PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Data.Bits.Bits Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Data.Bits.FiniteBits Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Read.Read Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Show.Show Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Show.Show Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Show.Show Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance GHC.Show.Show Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_memory_decompression.MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV
+ Vulkan.Extensions.VK_NV_memory_decompression: newtype MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: pattern MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV :: MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: pattern NV_MEMORY_DECOMPRESSION_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
+ Vulkan.Extensions.VK_NV_memory_decompression: type MemoryDecompressionMethodFlagsNV = MemoryDecompressionMethodFlagBitsNV
+ Vulkan.Extensions.VK_NV_memory_decompression: type NV_MEMORY_DECOMPRESSION_EXTENSION_NAME = "VK_NV_memory_decompression"
+ Vulkan.Extensions.VK_NV_memory_decompression: type NV_MEMORY_DECOMPRESSION_SPEC_VERSION = 1
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: PhysicalDeviceRayTracingInvocationReorderFeaturesNV :: Bool -> PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: PhysicalDeviceRayTracingInvocationReorderPropertiesNV :: RayTracingInvocationReorderModeNV -> PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: RayTracingInvocationReorderModeNV :: Int32 -> RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: [$sel:rayTracingInvocationReorder:PhysicalDeviceRayTracingInvocationReorderFeaturesNV] :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: [$sel:rayTracingInvocationReorderReorderingHint:PhysicalDeviceRayTracingInvocationReorderPropertiesNV] :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: data PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: data PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Foreign.Storable.Storable Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Classes.Eq Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Classes.Ord Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Read.Read Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance GHC.Show.Show Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Vulkan.CStruct.FromCStruct Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Vulkan.CStruct.ToCStruct Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: instance Vulkan.Zero.Zero Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: newtype RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: pattern RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV :: RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: pattern RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV :: RayTracingInvocationReorderModeNV
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: type NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME = "VK_NV_ray_tracing_invocation_reorder"
+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder: type NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION = 1
- Vulkan.Dynamic: DeviceCmds :: Ptr Device_T -> FunPtr (Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ()) -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo)) -> Fence -> IO Result) -> FunPtr (Ptr Queue_T -> IO Result) -> FunPtr (Ptr Device_T -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct MemoryAllocateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMemory" ::: Ptr DeviceMemory) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("offset" ::: DeviceSize) -> DeviceSize -> MemoryMapFlags -> ("ppData" ::: Ptr (Ptr ())) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> IO ()) -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result) -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pCommittedMemoryInBytes" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr Device_T -> Buffer -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ()) -> FunPtr (Ptr Device_T -> Buffer -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements) -> IO ()) -> FunPtr (Ptr Queue_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr (SomeStruct BindSparseInfo)) -> Fence -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FenceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> Fence -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> Fence -> IO Result) -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> ("waitAll" ::: Bool32) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SemaphoreCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSemaphore" ::: Ptr Semaphore) -> IO Result) -> FunPtr (Ptr Device_T -> Semaphore -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct EventCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pEvent" ::: Ptr Event) -> IO Result) -> FunPtr (Ptr Device_T -> Event -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct QueryPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pQueryPool" ::: Ptr QueryPool) -> IO Result) -> FunPtr (Ptr Device_T -> QueryPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO Result) -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct BufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pBuffer" ::: Ptr Buffer) -> IO Result) -> FunPtr (Ptr Device_T -> Buffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct BufferViewCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr BufferView) -> IO Result) -> FunPtr (Ptr Device_T -> BufferView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pImage" ::: Ptr Image) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pSubresource" ::: Ptr ImageSubresource) -> ("pLayout" ::: Ptr SubresourceLayout) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageViewCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr ImageView) -> IO Result) -> FunPtr (Ptr Device_T -> ImageView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pShaderModule" ::: Ptr ShaderModule) -> IO Result) -> FunPtr (Ptr Device_T -> ShaderModule -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineCache" ::: Ptr PipelineCache) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> PipelineCache -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> ("dstCache" ::: PipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr PipelineCache) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> RenderPass -> ("pMaxWorkgroupSize" ::: Ptr Extent2D) -> IO Result) -> FunPtr (Ptr Device_T -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineLayout" ::: Ptr PipelineLayout) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSampler" ::: Ptr Sampler) -> IO Result) -> FunPtr (Ptr Device_T -> Sampler -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSetLayout" ::: Ptr DescriptorSetLayout) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorSetLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorPool" ::: Ptr DescriptorPool) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorPool -> DescriptorPoolResetFlags -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct DescriptorSetAllocateInfo)) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorPool -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result) -> FunPtr (Ptr Device_T -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr CopyDescriptorSet) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FramebufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFramebuffer" ::: Ptr Framebuffer) -> IO Result) -> FunPtr (Ptr Device_T -> Framebuffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result) -> FunPtr (Ptr Device_T -> RenderPass -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> RenderPass -> ("pGranularity" ::: Ptr Extent2D) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CommandPoolCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCommandPool" ::: Ptr CommandPool) -> IO Result) -> FunPtr (Ptr Device_T -> CommandPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolResetFlags -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr CommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO Result) -> FunPtr (Ptr Device_T -> CommandPool -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pBeginInfo" ::: Ptr (SomeStruct CommandBufferBeginInfo)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> CommandBufferResetFlags -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("lineWidth" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("blendConstants" ::: Ptr (FixedArray 4 CFloat)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IndexType -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pVertexInfo" ::: Ptr MultiDrawInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pIndexInfo" ::: Ptr MultiDrawIndexedInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> ("pVertexOffset" ::: Ptr Int32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("dataSize" ::: DeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> DeviceSize -> ("data" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pColor" ::: Ptr ClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pDepthStencil" ::: Ptr ClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr ClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr ClearRect) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageResolve) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> DependencyFlags -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pConditionalRenderingBegin" ::: Ptr ConditionalRenderingBeginInfoEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineLayout -> ShaderStageFlags -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> SubpassContents -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> SubpassContents -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ()) -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchain" ::: Ptr SwapchainKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr Image) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("timeout" ::: Word64) -> Semaphore -> Fence -> ("pImageIndex" ::: Ptr Word32) -> IO Result) -> FunPtr (Ptr Queue_T -> ("pPresentInfo" ::: Ptr (SomeStruct PresentInfoKHR)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugMarkerObjectNameInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugMarkerObjectTagInfoEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ExternalMemoryHandleTypeFlagsNV -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("isPreprocessed" ::: Bool32) -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> ("groupIndex" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr GeneratedCommandsMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr IndirectCommandsLayoutCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr IndirectCommandsLayoutNV) -> IO Result) -> FunPtr (Ptr Device_T -> IndirectCommandsLayoutNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> IO ()) -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolTrimFlags -> IO ()) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr MemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> HANDLE -> ("pMemoryWin32HandleProperties" ::: Ptr MemoryWin32HandlePropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr MemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr MemoryFdPropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr MemoryGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("zirconHandle" ::: Zx_handle_t) -> ("pMemoryZirconHandleProperties" ::: Ptr MemoryZirconHandlePropertiesFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> ("pMemoryGetRemoteAddressInfo" ::: Ptr MemoryGetRemoteAddressInfoNV) -> ("pAddress" ::: Ptr RemoteAddressNV) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr SemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr ImportSemaphoreWin32HandleInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr SemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreFdInfo" ::: Ptr ImportSemaphoreFdInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr SemaphoreGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreZirconHandleInfo" ::: Ptr ImportSemaphoreZirconHandleInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr FenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportFenceWin32HandleInfo" ::: Ptr ImportFenceWin32HandleInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr FenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportFenceFdInfo" ::: Ptr ImportFenceFdInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayPowerInfo" ::: Ptr DisplayPowerInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pDeviceEventInfo" ::: Ptr DeviceEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayEventInfo" ::: Ptr DisplayEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> SurfaceCounterFlagBitsEXT -> ("pCounterValue" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr PeerMemoryFeatureFlags) -> IO ()) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindBufferMemoryInfo)) -> IO Result) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindImageMemoryInfo)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("deviceMask" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pDeviceGroupPresentCapabilities" ::: Ptr DeviceGroupPresentCapabilitiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SurfaceKHR -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr AcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr DescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr DescriptorUpdateTemplate) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorUpdateTemplate -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorSet -> DescriptorUpdateTemplate -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> DescriptorUpdateTemplate -> PipelineLayout -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> ("pMetadata" ::: Ptr HdrMetadataEXT) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pDisplayTimingProperties" ::: Ptr RefreshCycleDurationGOOGLE) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr PastPresentationTimingGOOGLE) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr ViewportWScalingNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSampleLocationsInfo" ::: Ptr SampleLocationsInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr (SomeStruct ImageMemoryRequirementsInfo2)) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceBufferMemoryRequirements) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirements) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirements) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerYcbcrConversionCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr SamplerYcbcrConversion) -> IO Result) -> FunPtr (Ptr Device_T -> SamplerYcbcrConversion -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pQueueInfo" ::: Ptr DeviceQueueInfo2) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr ValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pValidationCache" ::: Ptr ValidationCacheEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> ("dstCache" ::: ValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr ValidationCacheEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pSupport" ::: Ptr (SomeStruct DescriptorSetLayoutSupport)) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ShaderStageFlagBits -> ShaderInfoTypeAMD -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("localDimmingEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr Device_T -> ("timestampCount" ::: Word32) -> ("pTimestampInfos" ::: Ptr CalibratedTimestampInfoEXT) -> ("pTimestamps" ::: Ptr Word64) -> ("pMaxDeviation" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result) -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr Queue_T -> IO ()) -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr MemoryHostPointerPropertiesEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo2)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> ("pSubpassEndInfo" ::: Ptr (SomeStruct SubpassEndInfo)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassEndInfo" ::: Ptr (SomeStruct SubpassEndInfo)) -> IO ()) -> FunPtr (Ptr Device_T -> Semaphore -> ("pValue" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pWaitInfo" ::: Ptr SemaphoreWaitInfo) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pSignalInfo" ::: Ptr SemaphoreSignalInfo) -> IO Result) -> FunPtr (Ptr Device_T -> Ptr AHardwareBuffer -> ("pProperties" ::: Ptr (SomeStruct AndroidHardwareBufferPropertiesANDROID)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr MemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCheckpointMarker" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointDataNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> ("index" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> ("index" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("counterBuffer" ::: Buffer) -> ("counterBufferOffset" ::: DeviceSize) -> ("counterOffset" ::: Word32) -> ("vertexStride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstExclusiveScissor" ::: Word32) -> ("exclusiveScissorCount" ::: Word32) -> ("pExclusiveScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> ("customSampleOrderCount" ::: Word32) -> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("taskCount" ::: Word32) -> ("firstTask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("shader" ::: Word32) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr AccelerationStructureCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2KHR)) -> IO ()) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr BindAccelerationStructureMemoryInfoNV) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> CopyAccelerationStructureModeKHR -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureNV) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr AccelerationStructureInfoNV) -> ("instanceData" ::: Buffer) -> ("instanceOffset" ::: DeviceSize) -> ("update" ::: Bool32) -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> ("scratch" ::: Buffer) -> ("scratchOffset" ::: DeviceSize) -> IO ()) -> FunPtr (Ptr Device_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: CSize) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("raygenShaderBindingTableBuffer" ::: Buffer) -> ("raygenShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingTableBuffer" ::: Buffer) -> ("missShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingStride" ::: DeviceSize) -> ("hitShaderBindingTableBuffer" ::: Buffer) -> ("hitShaderBindingOffset" ::: DeviceSize) -> ("hitShaderBindingStride" ::: DeviceSize) -> ("callableShaderBindingTableBuffer" ::: Buffer) -> ("callableShaderBindingOffset" ::: DeviceSize) -> ("callableShaderBindingStride" ::: DeviceSize) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("indirectDeviceAddress" ::: DeviceAddress) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("indirectDeviceAddress" ::: DeviceAddress) -> IO ()) -> FunPtr (Ptr Device_T -> ("pVersionInfo" ::: Ptr AccelerationStructureVersionInfoKHR) -> ("pCompatibility" ::: Ptr AccelerationStructureCompatibilityKHR) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("group" ::: Word32) -> ShaderGroupShaderKHR -> IO DeviceSize) -> FunPtr (Ptr CommandBuffer_T -> ("pipelineStackSize" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageViewHandleInfoNVX) -> IO Word32) -> FunPtr (Ptr Device_T -> ImageView -> ("pProperties" ::: Ptr ImageViewAddressPropertiesNVX) -> IO Result) -> FunPtr (Ptr Device_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AcquireProfilingLockInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pProperties" ::: Ptr ImageDrmFormatModifierPropertiesEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO Word64) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO DeviceAddress) -> FunPtr (Ptr Device_T -> ("pInitializeInfo" ::: Ptr InitializePerformanceApiInfoINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceMarkerInfoINTEL) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceStreamMarkerInfoINTEL) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pOverrideInfo" ::: Ptr PerformanceOverrideInfoINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr PerformanceConfigurationAcquireInfoINTEL) -> ("pConfiguration" ::: Ptr PerformanceConfigurationINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> PerformanceConfigurationINTEL -> IO Result) -> FunPtr (Ptr Queue_T -> PerformanceConfigurationINTEL -> IO Result) -> FunPtr (Ptr Device_T -> PerformanceParameterTypeINTEL -> ("pValue" ::: Ptr PerformanceValueINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceMemoryOpaqueCaptureAddressInfo) -> IO Word64) -> FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureDeviceAddressInfoKHR) -> IO DeviceAddress) -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDeferredOperation" ::: Ptr DeferredOperationKHR) -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Word32) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> CullModeFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> FrontFace -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> ("pStrides" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthWriteEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthCompareOp" ::: CompareOp) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBoundsTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("stencilTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("primitiveRestartEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> TessellationDomainOrigin -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthClampEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PolygonMode -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("rasterizationSamples" ::: SampleCountFlagBits) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("samples" ::: SampleCountFlagBits) -> ("pSampleMask" ::: Ptr SampleMask) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("alphaToCoverageEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("alphaToOneEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("logicOpEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorBlendEnables" ::: Ptr Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorBlendEquations" ::: Ptr ColorBlendEquationEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorWriteMasks" ::: Ptr ColorComponentFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("rasterizationStream" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ConservativeRasterizationModeEXT -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("extraPrimitiveOverestimationSize" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthClipEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("sampleLocationsEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorBlendAdvanced" ::: Ptr ColorBlendAdvancedEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ProvokingVertexModeEXT -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> LineRasterizationModeEXT -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("stippledLineEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("negativeOneToOne" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("viewportWScalingEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportSwizzles" ::: Ptr ViewportSwizzleNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageToColorEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageToColorLocation" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> CoverageModulationModeNV -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageModulationTableEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageModulationTableCount" ::: Word32) -> ("pCoverageModulationTable" ::: Ptr CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("shadingRateImageEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> CoverageReductionModeNV -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("representativeFragmentTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PrivateDataSlotCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPrivateDataSlot" ::: Ptr PrivateDataSlot) -> IO Result) -> FunPtr (Ptr Device_T -> PrivateDataSlot -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> ("data" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> ("pData" ::: Ptr Word64) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferInfo" ::: Ptr CopyBufferInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageInfo" ::: Ptr CopyImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pBlitImageInfo" ::: Ptr BlitImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferToImageInfo" ::: Ptr CopyBufferToImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageToBufferInfo" ::: Ptr CopyImageToBufferInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pResolveImageInfo" ::: Ptr ResolveImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pFragmentSize" ::: Ptr Extent2D) -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> FragmentShadingRateNV -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureBuildTypeKHR -> ("pBuildInfo" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pMaxPrimitiveCounts" ::: Ptr Word32) -> ("pSizeInfo" ::: Ptr AccelerationStructureBuildSizesInfoKHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("vertexBindingDescriptionCount" ::: Word32) -> ("pVertexBindingDescriptions" ::: Ptr VertexInputBindingDescription2EXT) -> ("vertexAttributeDescriptionCount" ::: Word32) -> ("pVertexAttributeDescriptions" ::: Ptr VertexInputAttributeDescription2EXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pColorWriteEnables" ::: Ptr Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("pDependencyInfo" ::: Ptr DependencyInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("pDependencyInfos" ::: Ptr DependencyInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pDependencyInfo" ::: Ptr DependencyInfo) -> IO ()) -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2)) -> Fence -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2 -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2 -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuModuleCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pModule" ::: Ptr CuModuleNVX) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuFunctionCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFunction" ::: Ptr CuFunctionNVX) -> IO Result) -> FunPtr (Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfo)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr Device_T -> ("pBindingReference" ::: Ptr DescriptorSetBindingReferenceVALVE) -> ("pHostMapping" ::: Ptr DescriptorSetLayoutHostMappingInfoVALVE) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorSet -> ("ppData" ::: Ptr (Ptr ())) -> IO ()) -> FunPtr (Ptr Device_T -> Ptr MicromapCreateInfoEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMicromap" ::: Ptr MicromapEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr MicromapBuildInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr MicromapBuildInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> MicromapEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Ptr CopyMicromapInfoEXT -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> Ptr CopyMicromapInfoEXT -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyMicromapToMemoryInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyMicromapToMemoryInfoEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> Ptr CopyMemoryToMicromapInfoEXT -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> Ptr CopyMemoryToMicromapInfoEXT -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("micromapCount" ::: Word32) -> ("pMicromaps" ::: Ptr MicromapEXT) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("micromapCount" ::: Word32) -> ("pMicromaps" ::: Ptr MicromapEXT) -> QueryType -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: CSize) -> IO Result) -> FunPtr (Ptr Device_T -> Ptr MicromapVersionInfoEXT -> ("pCompatibility" ::: Ptr AccelerationStructureCompatibilityKHR) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureBuildTypeKHR -> Ptr MicromapBuildInfoEXT -> ("pSizeInfo" ::: Ptr MicromapBuildSizesInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ShaderModule -> ("pIdentifier" ::: Ptr ShaderModuleIdentifierEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo)) -> ("pIdentifier" ::: Ptr ShaderModuleIdentifierEXT) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pSubresource" ::: Ptr ImageSubresource2EXT) -> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoEXT) -> ("pPipelineProperties" ::: Ptr BaseOutStructure) -> IO Result) -> FunPtr (Ptr Device_T -> ("pMetalObjectsInfo" ::: Ptr (SomeStruct ExportMetalObjectsInfoEXT)) -> IO ()) -> FunPtr (Ptr Device_T -> Framebuffer -> ("pPropertiesCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr TilePropertiesQCOM) -> IO Result) -> FunPtr (Ptr Device_T -> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfo)) -> ("pProperties" ::: Ptr TilePropertiesQCOM) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct OpticalFlowSessionCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSession" ::: Ptr OpticalFlowSessionNV) -> IO Result) -> FunPtr (Ptr Device_T -> OpticalFlowSessionNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> OpticalFlowSessionNV -> OpticalFlowSessionBindingPointNV -> ImageView -> ImageLayout -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> OpticalFlowSessionNV -> ("pExecuteInfo" ::: Ptr OpticalFlowExecuteInfoNV) -> IO ()) -> FunPtr (Ptr Device_T -> ("pFaultCounts" ::: Ptr DeviceFaultCountsEXT) -> ("pFaultInfo" ::: Ptr DeviceFaultInfoEXT) -> IO Result) -> DeviceCmds
+ Vulkan.Dynamic: DeviceCmds :: Ptr Device_T -> FunPtr (Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ()) -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo)) -> Fence -> IO Result) -> FunPtr (Ptr Queue_T -> IO Result) -> FunPtr (Ptr Device_T -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct MemoryAllocateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMemory" ::: Ptr DeviceMemory) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("offset" ::: DeviceSize) -> DeviceSize -> MemoryMapFlags -> ("ppData" ::: Ptr (Ptr ())) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> IO ()) -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result) -> FunPtr (Ptr Device_T -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr MappedMemoryRange) -> IO Result) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("pCommittedMemoryInBytes" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr Device_T -> Buffer -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ()) -> FunPtr (Ptr Device_T -> Buffer -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pMemoryRequirements" ::: Ptr MemoryRequirements) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> DeviceMemory -> ("memoryOffset" ::: DeviceSize) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements) -> IO ()) -> FunPtr (Ptr Queue_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr (SomeStruct BindSparseInfo)) -> Fence -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FenceCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> Fence -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> Fence -> IO Result) -> FunPtr (Ptr Device_T -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr Fence) -> ("waitAll" ::: Bool32) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SemaphoreCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSemaphore" ::: Ptr Semaphore) -> IO Result) -> FunPtr (Ptr Device_T -> Semaphore -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct EventCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pEvent" ::: Ptr Event) -> IO Result) -> FunPtr (Ptr Device_T -> Event -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> Event -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct QueryPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pQueryPool" ::: Ptr QueryPool) -> IO Result) -> FunPtr (Ptr Device_T -> QueryPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO Result) -> FunPtr (Ptr Device_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct BufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pBuffer" ::: Ptr Buffer) -> IO Result) -> FunPtr (Ptr Device_T -> Buffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct BufferViewCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr BufferView) -> IO Result) -> FunPtr (Ptr Device_T -> BufferView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pImage" ::: Ptr Image) -> IO Result) -> FunPtr (Ptr Device_T -> Image -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pSubresource" ::: Ptr ImageSubresource) -> ("pLayout" ::: Ptr SubresourceLayout) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ImageViewCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pView" ::: Ptr ImageView) -> IO Result) -> FunPtr (Ptr Device_T -> ImageView -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pShaderModule" ::: Ptr ShaderModule) -> IO Result) -> FunPtr (Ptr Device_T -> ShaderModule -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineCache" ::: Ptr PipelineCache) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> PipelineCache -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> ("dstCache" ::: PipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr PipelineCache) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> RenderPass -> ("pMaxWorkgroupSize" ::: Ptr Extent2D) -> IO Result) -> FunPtr (Ptr Device_T -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineLayout" ::: Ptr PipelineLayout) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSampler" ::: Ptr Sampler) -> IO Result) -> FunPtr (Ptr Device_T -> Sampler -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSetLayout" ::: Ptr DescriptorSetLayout) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorSetLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorPoolCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorPool" ::: Ptr DescriptorPool) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorPool -> DescriptorPoolResetFlags -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr (SomeStruct DescriptorSetAllocateInfo)) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorPool -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> IO Result) -> FunPtr (Ptr Device_T -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr CopyDescriptorSet) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct FramebufferCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFramebuffer" ::: Ptr Framebuffer) -> IO Result) -> FunPtr (Ptr Device_T -> Framebuffer -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result) -> FunPtr (Ptr Device_T -> RenderPass -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> RenderPass -> ("pGranularity" ::: Ptr Extent2D) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CommandPoolCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCommandPool" ::: Ptr CommandPool) -> IO Result) -> FunPtr (Ptr Device_T -> CommandPool -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolResetFlags -> IO Result) -> FunPtr (Ptr Device_T -> ("pAllocateInfo" ::: Ptr CommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO Result) -> FunPtr (Ptr Device_T -> CommandPool -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pBeginInfo" ::: Ptr (SomeStruct CommandBufferBeginInfo)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> CommandBufferResetFlags -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("lineWidth" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("blendConstants" ::: Ptr (FixedArray 4 CFloat)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr DescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IndexType -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pVertexInfo" ::: Ptr MultiDrawInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("drawCount" ::: Word32) -> ("pIndexInfo" ::: Ptr MultiDrawIndexedInfoEXT) -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("stride" ::: Word32) -> ("pVertexOffset" ::: Ptr Int32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("pImageSubresources" ::: Ptr ImageSubresourceLayers) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("dataSize" ::: DeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> DeviceSize -> ("data" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pColor" ::: Ptr ClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pDepthStencil" ::: Ptr ClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr ClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr ClearRect) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageResolve) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("srcStageMask" ::: PipelineStageFlags) -> ("dstStageMask" ::: PipelineStageFlags) -> DependencyFlags -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr MemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr BufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr (SomeStruct ImageMemoryBarrier)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pConditionalRenderingBegin" ::: Ptr ConditionalRenderingBeginInfoEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("stride" ::: DeviceSize) -> QueryResultFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineLayout -> ShaderStageFlags -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> SubpassContents -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> SubpassContents -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr (Ptr CommandBuffer_T)) -> IO ()) -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SwapchainCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSwapchain" ::: Ptr SwapchainKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr Image) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("timeout" ::: Word64) -> Semaphore -> Fence -> ("pImageIndex" ::: Ptr Word32) -> IO Result) -> FunPtr (Ptr Queue_T -> ("pPresentInfo" ::: Ptr (SomeStruct PresentInfoKHR)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugMarkerObjectNameInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugMarkerObjectTagInfoEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr DebugMarkerMarkerInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ExternalMemoryHandleTypeFlagsNV -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("isPreprocessed" ::: Bool32) -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pGeneratedCommandsInfo" ::: Ptr GeneratedCommandsInfoNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> Pipeline -> ("groupIndex" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr GeneratedCommandsMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr IndirectCommandsLayoutCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr IndirectCommandsLayoutNV) -> IO Result) -> FunPtr (Ptr Device_T -> IndirectCommandsLayoutNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr (SomeStruct WriteDescriptorSet)) -> IO ()) -> FunPtr (Ptr Device_T -> CommandPool -> CommandPoolTrimFlags -> IO ()) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr MemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> HANDLE -> ("pMemoryWin32HandleProperties" ::: Ptr MemoryWin32HandlePropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr MemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr MemoryFdPropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr MemoryGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("zirconHandle" ::: Zx_handle_t) -> ("pMemoryZirconHandleProperties" ::: Ptr MemoryZirconHandlePropertiesFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> ("pMemoryGetRemoteAddressInfo" ::: Ptr MemoryGetRemoteAddressInfoNV) -> ("pAddress" ::: Ptr RemoteAddressNV) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr SemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr ImportSemaphoreWin32HandleInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr SemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreFdInfo" ::: Ptr ImportSemaphoreFdInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetZirconHandleInfo" ::: Ptr SemaphoreGetZirconHandleInfoFUCHSIA) -> ("pZirconHandle" ::: Ptr Zx_handle_t) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportSemaphoreZirconHandleInfo" ::: Ptr ImportSemaphoreZirconHandleInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetWin32HandleInfo" ::: Ptr FenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportFenceWin32HandleInfo" ::: Ptr ImportFenceWin32HandleInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pGetFdInfo" ::: Ptr FenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO Result) -> FunPtr (Ptr Device_T -> ("pImportFenceFdInfo" ::: Ptr ImportFenceFdInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayPowerInfo" ::: Ptr DisplayPowerInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pDeviceEventInfo" ::: Ptr DeviceEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> DisplayKHR -> ("pDisplayEventInfo" ::: Ptr DisplayEventInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFence" ::: Ptr Fence) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> SurfaceCounterFlagBitsEXT -> ("pCounterValue" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr PeerMemoryFeatureFlags) -> IO ()) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindBufferMemoryInfo)) -> IO Result) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr (SomeStruct BindImageMemoryInfo)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("deviceMask" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pDeviceGroupPresentCapabilities" ::: Ptr DeviceGroupPresentCapabilitiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SurfaceKHR -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr AcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr DescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr DescriptorUpdateTemplate) -> IO Result) -> FunPtr (Ptr Device_T -> DescriptorUpdateTemplate -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorSet -> DescriptorUpdateTemplate -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> DescriptorUpdateTemplate -> PipelineLayout -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr Device_T -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr SwapchainKHR) -> ("pMetadata" ::: Ptr HdrMetadataEXT) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pDisplayTimingProperties" ::: Ptr RefreshCycleDurationGOOGLE) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr PastPresentationTimingGOOGLE) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr ViewportWScalingNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSampleLocationsInfo" ::: Ptr SampleLocationsInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr (SomeStruct ImageMemoryRequirementsInfo2)) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceBufferMemoryRequirements) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirements) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirements) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerYcbcrConversionCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr SamplerYcbcrConversion) -> IO Result) -> FunPtr (Ptr Device_T -> SamplerYcbcrConversion -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pQueueInfo" ::: Ptr DeviceQueueInfo2) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr ValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pValidationCache" ::: Ptr ValidationCacheEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ValidationCacheEXT -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> ("dstCache" ::: ValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr ValidationCacheEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct DescriptorSetLayoutCreateInfo)) -> ("pSupport" ::: Ptr (SomeStruct DescriptorSetLayoutSupport)) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ShaderStageFlagBits -> ShaderInfoTypeAMD -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("localDimmingEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr Device_T -> ("timestampCount" ::: Word32) -> ("pTimestampInfos" ::: Ptr CalibratedTimestampInfoEXT) -> ("pTimestamps" ::: Ptr Word64) -> ("pMaxDeviation" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result) -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr Queue_T -> IO ()) -> FunPtr (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ExternalMemoryHandleTypeFlagBits -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr MemoryHostPointerPropertiesEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlagBits -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct RenderPassCreateInfo2)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pRenderPass" ::: Ptr RenderPass) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderPassBegin" ::: Ptr (SomeStruct RenderPassBeginInfo)) -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassBeginInfo" ::: Ptr SubpassBeginInfo) -> ("pSubpassEndInfo" ::: Ptr (SomeStruct SubpassEndInfo)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pSubpassEndInfo" ::: Ptr (SomeStruct SubpassEndInfo)) -> IO ()) -> FunPtr (Ptr Device_T -> Semaphore -> ("pValue" ::: Ptr Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pWaitInfo" ::: Ptr SemaphoreWaitInfo) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pSignalInfo" ::: Ptr SemaphoreSignalInfo) -> IO Result) -> FunPtr (Ptr Device_T -> Ptr AHardwareBuffer -> ("pProperties" ::: Ptr (SomeStruct AndroidHardwareBufferPropertiesANDROID)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr MemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCheckpointMarker" ::: Ptr ()) -> IO ()) -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointDataNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstCounterBuffer" ::: Word32) -> ("counterBufferCount" ::: Word32) -> ("pCounterBuffers" ::: Ptr Buffer) -> ("pCounterBufferOffsets" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> QueryControlFlags -> ("index" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> QueryPool -> ("query" ::: Word32) -> ("index" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("instanceCount" ::: Word32) -> ("firstInstance" ::: Word32) -> ("counterBuffer" ::: Buffer) -> ("counterBufferOffset" ::: DeviceSize) -> ("counterOffset" ::: Word32) -> ("vertexStride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstExclusiveScissor" ::: Word32) -> ("exclusiveScissorCount" ::: Word32) -> ("pExclusiveScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pShadingRatePalettes" ::: Ptr ShadingRatePaletteNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> ("customSampleOrderCount" ::: Word32) -> ("pCustomSampleOrders" ::: Ptr CoarseSampleOrderCustomNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("taskCount" ::: Word32) -> ("firstTask" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("shader" ::: Word32) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr AccelerationStructureCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureMemoryRequirementsInfoNV) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2KHR)) -> IO ()) -> FunPtr (Ptr Device_T -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr BindAccelerationStructureMemoryInfoNV) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> CopyAccelerationStructureModeKHR -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyAccelerationStructureToMemoryInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyMemoryToAccelerationStructureInfoKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureNV) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr AccelerationStructureInfoNV) -> ("instanceData" ::: Buffer) -> ("instanceOffset" ::: DeviceSize) -> ("update" ::: Bool32) -> ("dst" ::: AccelerationStructureNV) -> ("src" ::: AccelerationStructureNV) -> ("scratch" ::: Buffer) -> ("scratchOffset" ::: DeviceSize) -> IO ()) -> FunPtr (Ptr Device_T -> ("accelerationStructureCount" ::: Word32) -> ("pAccelerationStructures" ::: Ptr AccelerationStructureKHR) -> QueryType -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: CSize) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("raygenShaderBindingTableBuffer" ::: Buffer) -> ("raygenShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingTableBuffer" ::: Buffer) -> ("missShaderBindingOffset" ::: DeviceSize) -> ("missShaderBindingStride" ::: DeviceSize) -> ("hitShaderBindingTableBuffer" ::: Buffer) -> ("hitShaderBindingOffset" ::: DeviceSize) -> ("hitShaderBindingStride" ::: DeviceSize) -> ("callableShaderBindingTableBuffer" ::: Buffer) -> ("callableShaderBindingOffset" ::: DeviceSize) -> ("callableShaderBindingStride" ::: DeviceSize) -> ("width" ::: Word32) -> ("height" ::: Word32) -> ("depth" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> Pipeline -> ("firstGroup" ::: Word32) -> ("groupCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> IO Result) -> FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct RayTracingPipelineCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRaygenShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pMissShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pHitShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("pCallableShaderBindingTable" ::: Ptr StridedDeviceAddressRegionKHR) -> ("indirectDeviceAddress" ::: DeviceAddress) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("indirectDeviceAddress" ::: DeviceAddress) -> IO ()) -> FunPtr (Ptr Device_T -> ("pVersionInfo" ::: Ptr AccelerationStructureVersionInfoKHR) -> ("pCompatibility" ::: Ptr AccelerationStructureCompatibilityKHR) -> IO ()) -> FunPtr (Ptr Device_T -> Pipeline -> ("group" ::: Word32) -> ShaderGroupShaderKHR -> IO DeviceSize) -> FunPtr (Ptr CommandBuffer_T -> ("pipelineStackSize" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageViewHandleInfoNVX) -> IO Word32) -> FunPtr (Ptr Device_T -> ImageView -> ("pProperties" ::: Ptr ImageViewAddressPropertiesNVX) -> IO Result) -> FunPtr (Ptr Device_T -> ("pSurfaceInfo" ::: Ptr (SomeStruct PhysicalDeviceSurfaceInfo2KHR)) -> ("pModes" ::: Ptr DeviceGroupPresentModeFlagsKHR) -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> SwapchainKHR -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AcquireProfilingLockInfoKHR) -> IO Result) -> FunPtr (Ptr Device_T -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pProperties" ::: Ptr ImageDrmFormatModifierPropertiesEXT) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO Word64) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferDeviceAddressInfo) -> IO DeviceAddress) -> FunPtr (Ptr Device_T -> ("pInitializeInfo" ::: Ptr InitializePerformanceApiInfoINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceMarkerInfoINTEL) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pMarkerInfo" ::: Ptr PerformanceStreamMarkerInfoINTEL) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pOverrideInfo" ::: Ptr PerformanceOverrideInfoINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> ("pAcquireInfo" ::: Ptr PerformanceConfigurationAcquireInfoINTEL) -> ("pConfiguration" ::: Ptr PerformanceConfigurationINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> PerformanceConfigurationINTEL -> IO Result) -> FunPtr (Ptr Queue_T -> PerformanceConfigurationINTEL -> IO Result) -> FunPtr (Ptr Device_T -> PerformanceParameterTypeINTEL -> ("pValue" ::: Ptr PerformanceValueINTEL) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceMemoryOpaqueCaptureAddressInfo) -> IO Word64) -> FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result) -> FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO Result) -> FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureDeviceAddressInfoKHR) -> IO DeviceAddress) -> FunPtr (Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pDeferredOperation" ::: Ptr DeferredOperationKHR) -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Word32) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> CullModeFlags -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> FrontFace -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> ("pStrides" ::: Ptr DeviceSize) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthWriteEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthCompareOp" ::: CompareOp) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBoundsTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("stencilTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthBiasEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("primitiveRestartEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> TessellationDomainOrigin -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthClampEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PolygonMode -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("rasterizationSamples" ::: SampleCountFlagBits) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("samples" ::: SampleCountFlagBits) -> ("pSampleMask" ::: Ptr SampleMask) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("alphaToCoverageEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("alphaToOneEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("logicOpEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorBlendEnables" ::: Ptr Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorBlendEquations" ::: Ptr ColorBlendEquationEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorWriteMasks" ::: Ptr ColorComponentFlags) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("rasterizationStream" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ConservativeRasterizationModeEXT -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("extraPrimitiveOverestimationSize" ::: CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("depthClipEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("sampleLocationsEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstAttachment" ::: Word32) -> ("attachmentCount" ::: Word32) -> ("pColorBlendAdvanced" ::: Ptr ColorBlendAdvancedEXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ProvokingVertexModeEXT -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> LineRasterizationModeEXT -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("stippledLineEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("negativeOneToOne" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("viewportWScalingEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportSwizzles" ::: Ptr ViewportSwizzleNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageToColorEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageToColorLocation" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> CoverageModulationModeNV -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageModulationTableEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("coverageModulationTableCount" ::: Word32) -> ("pCoverageModulationTable" ::: Ptr CFloat) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("shadingRateImageEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> CoverageReductionModeNV -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("representativeFragmentTestEnable" ::: Bool32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PrivateDataSlotCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPrivateDataSlot" ::: Ptr PrivateDataSlot) -> IO Result) -> FunPtr (Ptr Device_T -> PrivateDataSlot -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> ("data" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlot -> ("pData" ::: Ptr Word64) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferInfo" ::: Ptr CopyBufferInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageInfo" ::: Ptr CopyImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pBlitImageInfo" ::: Ptr BlitImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyBufferToImageInfo" ::: Ptr CopyBufferToImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pCopyImageToBufferInfo" ::: Ptr CopyImageToBufferInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pResolveImageInfo" ::: Ptr ResolveImageInfo2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pFragmentSize" ::: Ptr Extent2D) -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> FragmentShadingRateNV -> ("combinerOps" ::: Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR)) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureBuildTypeKHR -> ("pBuildInfo" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pMaxPrimitiveCounts" ::: Ptr Word32) -> ("pSizeInfo" ::: Ptr AccelerationStructureBuildSizesInfoKHR) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("vertexBindingDescriptionCount" ::: Word32) -> ("pVertexBindingDescriptions" ::: Ptr VertexInputBindingDescription2EXT) -> ("vertexAttributeDescriptionCount" ::: Word32) -> ("pVertexAttributeDescriptions" ::: Ptr VertexInputAttributeDescription2EXT) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("attachmentCount" ::: Word32) -> ("pColorWriteEnables" ::: Ptr Bool32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("pDependencyInfo" ::: Ptr DependencyInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Event -> ("stageMask" ::: PipelineStageFlags2) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr Event) -> ("pDependencyInfos" ::: Ptr DependencyInfo) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pDependencyInfo" ::: Ptr DependencyInfo) -> IO ()) -> FunPtr (Ptr Queue_T -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2)) -> Fence -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2 -> QueryPool -> ("query" ::: Word32) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2 -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) -> FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("decompressRegionCount" ::: Word32) -> ("pDecompressMemoryRegions" ::: Ptr DecompressMemoryRegionNV) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("indirectCommandsAddress" ::: DeviceAddress) -> ("indirectCommandsCountAddress" ::: DeviceAddress) -> ("stride" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuModuleCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pModule" ::: Ptr CuModuleNVX) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuFunctionCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFunction" ::: Ptr CuFunctionNVX) -> IO Result) -> FunPtr (Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ()) -> FunPtr (Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ()) -> FunPtr (Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA) -> IO Result) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfo)) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> IO ()) -> FunPtr (Ptr Device_T -> ("pBindingReference" ::: Ptr DescriptorSetBindingReferenceVALVE) -> ("pHostMapping" ::: Ptr DescriptorSetLayoutHostMappingInfoVALVE) -> IO ()) -> FunPtr (Ptr Device_T -> DescriptorSet -> ("ppData" ::: Ptr (Ptr ())) -> IO ()) -> FunPtr (Ptr Device_T -> Ptr MicromapCreateInfoEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pMicromap" ::: Ptr MicromapEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr MicromapBuildInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr MicromapBuildInfoEXT) -> IO Result) -> FunPtr (Ptr Device_T -> MicromapEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr CommandBuffer_T -> Ptr CopyMicromapInfoEXT -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> Ptr CopyMicromapInfoEXT -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("pInfo" ::: Ptr CopyMicromapToMemoryInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> ("pInfo" ::: Ptr CopyMicromapToMemoryInfoEXT) -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> Ptr CopyMemoryToMicromapInfoEXT -> IO ()) -> FunPtr (Ptr Device_T -> DeferredOperationKHR -> Ptr CopyMemoryToMicromapInfoEXT -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> ("micromapCount" ::: Word32) -> ("pMicromaps" ::: Ptr MicromapEXT) -> QueryType -> QueryPool -> ("firstQuery" ::: Word32) -> IO ()) -> FunPtr (Ptr Device_T -> ("micromapCount" ::: Word32) -> ("pMicromaps" ::: Ptr MicromapEXT) -> QueryType -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: CSize) -> IO Result) -> FunPtr (Ptr Device_T -> Ptr MicromapVersionInfoEXT -> ("pCompatibility" ::: Ptr AccelerationStructureCompatibilityKHR) -> IO ()) -> FunPtr (Ptr Device_T -> AccelerationStructureBuildTypeKHR -> Ptr MicromapBuildInfoEXT -> ("pSizeInfo" ::: Ptr MicromapBuildSizesInfoEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ShaderModule -> ("pIdentifier" ::: Ptr ShaderModuleIdentifierEXT) -> IO ()) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct ShaderModuleCreateInfo)) -> ("pIdentifier" ::: Ptr ShaderModuleIdentifierEXT) -> IO ()) -> FunPtr (Ptr Device_T -> Image -> ("pSubresource" ::: Ptr ImageSubresource2EXT) -> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT)) -> IO ()) -> FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoEXT) -> ("pPipelineProperties" ::: Ptr BaseOutStructure) -> IO Result) -> FunPtr (Ptr Device_T -> ("pMetalObjectsInfo" ::: Ptr (SomeStruct ExportMetalObjectsInfoEXT)) -> IO ()) -> FunPtr (Ptr Device_T -> Framebuffer -> ("pPropertiesCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr TilePropertiesQCOM) -> IO Result) -> FunPtr (Ptr Device_T -> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfo)) -> ("pProperties" ::: Ptr TilePropertiesQCOM) -> IO Result) -> FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct OpticalFlowSessionCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pSession" ::: Ptr OpticalFlowSessionNV) -> IO Result) -> FunPtr (Ptr Device_T -> OpticalFlowSessionNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> FunPtr (Ptr Device_T -> OpticalFlowSessionNV -> OpticalFlowSessionBindingPointNV -> ImageView -> ImageLayout -> IO Result) -> FunPtr (Ptr CommandBuffer_T -> OpticalFlowSessionNV -> ("pExecuteInfo" ::: Ptr OpticalFlowExecuteInfoNV) -> IO ()) -> FunPtr (Ptr Device_T -> ("pFaultCounts" ::: Ptr DeviceFaultCountsEXT) -> ("pFaultInfo" ::: Ptr DeviceFaultInfoEXT) -> IO Result) -> DeviceCmds
Files
- changelog.md +3/−0
- package.yaml +1/−1
- src/Vulkan/CStruct/Extends.hs +30/−0
- src/Vulkan/Core10/CommandBufferBuilding.hs +66/−31
- src/Vulkan/Core10/DescriptorSet.hs +14/−8
- src/Vulkan/Core10/Device.hs +9/−0
- src/Vulkan/Core10/Enums/ImageLayout.hs +1/−0
- src/Vulkan/Core10/Enums/StructureType.hs +60/−0
- src/Vulkan/Core10/FundamentalTypes.hs +13/−0
- src/Vulkan/Core10/FundamentalTypes.hs-boot +8/−0
- src/Vulkan/Core10/Handles.hs +5/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs +4/−3
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +15/−0
- src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs +14/−12
- src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs +2/−2
- src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs +6/−11
- src/Vulkan/Dynamic.hs +23/−1
- src/Vulkan/Extensions.hs +6/−0
- src/Vulkan/Extensions/Dependencies.hs +22/−0
- src/Vulkan/Extensions/VK_EXT_mesh_shader.hs +12/−9
- src/Vulkan/Extensions/VK_EXT_multi_draw.hs +14/−12
- src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +7/−6
- src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs +4/−3
- src/Vulkan/Extensions/VK_IMG_format_pvrtc.hs +9/−0
- src/Vulkan/Extensions/VK_KHR_external_memory.hs +1/−1
- src/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs +1/−1
- src/Vulkan/Extensions/VK_KHR_present_wait.hs +2/−1
- src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs +4/−3
- src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs +8/−6
- src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs +851/−0
- src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs-boot +153/−0
- src/Vulkan/Extensions/VK_NV_device_generated_commands.hs +7/−6
- src/Vulkan/Extensions/VK_NV_linear_color_attachment.hs +2/−2
- src/Vulkan/Extensions/VK_NV_memory_decompression.hs +746/−0
- src/Vulkan/Extensions/VK_NV_memory_decompression.hs-boot +148/−0
- src/Vulkan/Extensions/VK_NV_mesh_shader.hs +12/−9
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +4/−3
- src/Vulkan/Extensions/VK_NV_ray_tracing_invocation_reorder.hs +365/−0
- src/Vulkan/Extensions/VK_NV_ray_tracing_invocation_reorder.hs-boot +130/−0
- src/Vulkan/SPIRVRequirements.hs +65/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +4/−1
changelog.md view
@@ -2,6 +2,9 @@ ## WIP +## [3.23.3] - 2022-12-27+- Bump API version to v1.3.233+ ## [3.23.2] - 2022-12-27 - Bump API version to v1.3.232
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.23.2"+version: "3.23.3" synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics
src/Vulkan/CStruct/Extends.hs view
@@ -150,7 +150,9 @@ import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (CopyDescriptorSet) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (CopyImageInfo2) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (CopyImageToBufferInfo2)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_copy_memory_indirect (CopyMemoryIndirectCommandNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (CopyMemoryToAccelerationStructureInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_copy_memory_indirect (CopyMemoryToImageIndirectCommandNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_opacity_micromap (CopyMemoryToMicromapInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_opacity_micromap (CopyMicromapInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_opacity_micromap (CopyMicromapToMemoryInfoEXT)@@ -167,6 +169,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessengerCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsObjectNameInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsObjectTagInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (DecompressMemoryRegionNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation (DedicatedAllocationBufferCreateInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation (DedicatedAllocationImageCreateInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation (DedicatedAllocationMemoryAllocateInfoNV)@@ -428,6 +431,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conservative_rasterization (PhysicalDeviceConservativeRasterizationPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_cooperative_matrix (PhysicalDeviceCooperativeMatrixFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_cooperative_matrix (PhysicalDeviceCooperativeMatrixPropertiesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_copy_memory_indirect (PhysicalDeviceCopyMemoryIndirectFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_copy_memory_indirect (PhysicalDeviceCopyMemoryIndirectPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_corner_sampled_image (PhysicalDeviceCornerSampledImageFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_coverage_reduction_mode (PhysicalDeviceCoverageReductionModeFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorFeaturesEXT)@@ -508,6 +513,8 @@ import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT) import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceMemoryProperties) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceMemoryProperties2)@@ -556,6 +563,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rgba10x6_formats (PhysicalDeviceRGBA10X6FormatsFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rasterization_order_attachment_access (PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_query (PhysicalDeviceRayQueryFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder (PhysicalDeviceRayTracingInvocationReorderFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder (PhysicalDeviceRayTracingInvocationReorderPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1 (PhysicalDeviceRayTracingMaintenance1FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR)@@ -1019,6 +1028,8 @@ Extends DeviceCreateInfo PhysicalDeviceComputeShaderDerivativesFeaturesNV = () Extends DeviceCreateInfo PhysicalDeviceShaderImageFootprintFeaturesNV = () Extends DeviceCreateInfo PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = ()+ Extends DeviceCreateInfo PhysicalDeviceCopyMemoryIndirectFeaturesNV = ()+ Extends DeviceCreateInfo PhysicalDeviceMemoryDecompressionFeaturesNV = () Extends DeviceCreateInfo PhysicalDeviceShadingRateImageFeaturesNV = () Extends DeviceCreateInfo PhysicalDeviceInvocationMaskFeaturesHUAWEI = () Extends DeviceCreateInfo PhysicalDeviceMeshShaderFeaturesNV = ()@@ -1123,6 +1134,7 @@ Extends DeviceCreateInfo PhysicalDeviceOpticalFlowFeaturesNV = () Extends DeviceCreateInfo PhysicalDeviceFaultFeaturesEXT = () Extends DeviceCreateInfo PhysicalDeviceShaderCoreBuiltinsFeaturesARM = ()+ Extends DeviceCreateInfo PhysicalDeviceRayTracingInvocationReorderFeaturesNV = () Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoKHR = () Extends EventCreateInfo ExportMetalObjectCreateInfoEXT = () Extends EventCreateInfo ImportMetalSharedEventInfoEXT = ()@@ -1245,6 +1257,8 @@ Extends PhysicalDeviceFeatures2 PhysicalDeviceComputeShaderDerivativesFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderImageFootprintFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = ()+ Extends PhysicalDeviceFeatures2 PhysicalDeviceCopyMemoryIndirectFeaturesNV = ()+ Extends PhysicalDeviceFeatures2 PhysicalDeviceMemoryDecompressionFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceShadingRateImageFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceInvocationMaskFeaturesHUAWEI = () Extends PhysicalDeviceFeatures2 PhysicalDeviceMeshShaderFeaturesNV = ()@@ -1347,6 +1361,7 @@ Extends PhysicalDeviceFeatures2 PhysicalDeviceOpticalFlowFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceFaultFeaturesEXT = () Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderCoreBuiltinsFeaturesARM = ()+ Extends PhysicalDeviceFeatures2 PhysicalDeviceRayTracingInvocationReorderFeaturesNV = () Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = () Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = () Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()@@ -1383,6 +1398,8 @@ Extends PhysicalDeviceProperties2 PhysicalDevicePCIBusInfoPropertiesEXT = () Extends PhysicalDeviceProperties2 PhysicalDeviceDepthStencilResolveProperties = () Extends PhysicalDeviceProperties2 PhysicalDeviceTransformFeedbackPropertiesEXT = ()+ Extends PhysicalDeviceProperties2 PhysicalDeviceCopyMemoryIndirectPropertiesNV = ()+ Extends PhysicalDeviceProperties2 PhysicalDeviceMemoryDecompressionPropertiesNV = () Extends PhysicalDeviceProperties2 PhysicalDeviceShadingRateImagePropertiesNV = () Extends PhysicalDeviceProperties2 PhysicalDeviceMeshShaderPropertiesNV = () Extends PhysicalDeviceProperties2 PhysicalDeviceMeshShaderPropertiesEXT = ()@@ -1419,6 +1436,7 @@ Extends PhysicalDeviceProperties2 PhysicalDeviceImageProcessingPropertiesQCOM = () Extends PhysicalDeviceProperties2 PhysicalDeviceOpticalFlowPropertiesNV = () Extends PhysicalDeviceProperties2 PhysicalDeviceShaderCoreBuiltinsPropertiesARM = ()+ Extends PhysicalDeviceProperties2 PhysicalDeviceRayTracingInvocationReorderPropertiesNV = () Extends PhysicalDeviceSurfaceInfo2KHR SurfaceFullScreenExclusiveInfoEXT = () Extends PhysicalDeviceSurfaceInfo2KHR SurfaceFullScreenExclusiveWin32InfoEXT = () Extends PipelineColorBlendStateCreateInfo PipelineColorBlendAdvancedStateCreateInfoEXT = ()@@ -1790,6 +1808,10 @@ STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV -> go @PhysicalDeviceComputeShaderDerivativesFeaturesNV STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV -> go @PhysicalDeviceShaderImageFootprintFeaturesNV STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV -> go @PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV+ STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV -> go @PhysicalDeviceCopyMemoryIndirectFeaturesNV+ STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV -> go @PhysicalDeviceCopyMemoryIndirectPropertiesNV+ STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV -> go @PhysicalDeviceMemoryDecompressionFeaturesNV+ STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV -> go @PhysicalDeviceMemoryDecompressionPropertiesNV STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV -> go @PipelineViewportShadingRateImageStateCreateInfoNV STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV -> go @PhysicalDeviceShadingRateImageFeaturesNV STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV -> go @PhysicalDeviceShadingRateImagePropertiesNV@@ -2027,6 +2049,8 @@ STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT -> go @PhysicalDeviceFaultFeaturesEXT STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM -> go @PhysicalDeviceShaderCoreBuiltinsPropertiesARM STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM -> go @PhysicalDeviceShaderCoreBuiltinsFeaturesARM+ STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV -> go @PhysicalDeviceRayTracingInvocationReorderFeaturesNV+ STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV -> go @PhysicalDeviceRayTracingInvocationReorderPropertiesNV t -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("Unrecognized struct type: " <> show t) Nothing Nothing where go :: forall e . (Typeable e, FromCStruct e, ToCStruct e, Show e) => IO b@@ -2245,6 +2269,10 @@ {-# complete (::&) :: PhysicalDeviceComputeShaderDerivativesFeaturesNV #-} {-# complete (::&) :: PhysicalDeviceShaderImageFootprintFeaturesNV #-} {-# complete (::&) :: PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV #-}+{-# complete (::&) :: PhysicalDeviceCopyMemoryIndirectFeaturesNV #-}+{-# complete (::&) :: PhysicalDeviceCopyMemoryIndirectPropertiesNV #-}+{-# complete (::&) :: PhysicalDeviceMemoryDecompressionFeaturesNV #-}+{-# complete (::&) :: PhysicalDeviceMemoryDecompressionPropertiesNV #-} {-# complete (::&) :: PipelineViewportShadingRateImageStateCreateInfoNV #-} {-# complete (::&) :: PhysicalDeviceShadingRateImageFeaturesNV #-} {-# complete (::&) :: PhysicalDeviceShadingRateImagePropertiesNV #-}@@ -2482,6 +2510,8 @@ {-# complete (::&) :: PhysicalDeviceFaultFeaturesEXT #-} {-# complete (::&) :: PhysicalDeviceShaderCoreBuiltinsPropertiesARM #-} {-# complete (::&) :: PhysicalDeviceShaderCoreBuiltinsFeaturesARM #-}+{-# complete (::&) :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV #-}+{-# complete (::&) :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV #-} -- | View the head and tail of a 'Chain', see '::&' --
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -1411,6 +1411,31 @@ -- even if the pipeline layout includes a non-trivial descriptor set layout -- for that set number. --+-- When consuming a descriptor, a descriptor is considered valid if the+-- descriptor is not undefined as described by+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptor-set-initial-state descriptor set allocation>.+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+-- feature is enabled, a null descriptor is also considered valid. A+-- descriptor that was disturbed by+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-compatibility Pipeline Layout Compatibility>,+-- or was never bound by 'cmdBindDescriptorSets' is not considered valid.+-- If a pipeline accesses a descriptor either statically or dynamically+-- depending on the+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits',+-- the consuming descriptor type in the pipeline /must/ match the+-- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType' in+-- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo' for the+-- descriptor to be considered valid. If a descriptor is a mutable+-- descriptor, the consuming descriptor type in the pipeline /must/ match+-- the active descriptor type for the descriptor to be considered valid.+--+-- Note+--+-- Further validation may be carried out beyond validation for descriptor+-- types, e.g.+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#textures-input-validation Texel Input Validation>.+-- -- If any of the sets being bound include dynamic uniform or storage -- buffers, then @pDynamicOffsets@ includes one element for each array -- element in each dynamic descriptor type binding in each set. Values are@@ -2047,9 +2072,11 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> -- -- - #VUID-vkCmdDraw-None-02699# Descriptors in each bound descriptor--- set, specified via 'cmdBindDescriptorSets', /must/ be valid if they--- are statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to--- the pipeline bind point used by this command+-- set, specified via 'cmdBindDescriptorSets', /must/ be valid as+-- described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDraw-None-02700# A valid pipeline /must/ be bound to the -- pipeline bind point used by this command@@ -3503,7 +3530,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -3550,9 +3577,9 @@ -- -- - #VUID-vkCmdDraw-None-04879# If the bound graphics pipeline state was -- created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --@@ -3805,9 +3832,10 @@ -- -- - #VUID-vkCmdDrawIndexed-None-02699# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawIndexed-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command@@ -5268,7 +5296,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -5315,9 +5343,9 @@ -- -- - #VUID-vkCmdDrawIndexed-None-04879# If the bound graphics pipeline -- state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --@@ -5568,9 +5596,10 @@ -- -- - #VUID-vkCmdDrawIndirect-None-02699# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawIndirect-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command@@ -7010,7 +7039,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -7057,9 +7086,9 @@ -- -- - #VUID-vkCmdDrawIndirect-None-04879# If the bound graphics pipeline -- state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --@@ -7341,9 +7370,10 @@ -- -- - #VUID-vkCmdDrawIndexedIndirect-None-02699# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawIndexedIndirect-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command@@ -8783,7 +8813,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -8830,9 +8860,9 @@ -- -- - #VUID-vkCmdDrawIndexedIndirect-None-04879# If the bound graphics -- pipeline state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --@@ -9115,9 +9145,11 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> -- -- - #VUID-vkCmdDispatch-None-02699# Descriptors in each bound descriptor--- set, specified via 'cmdBindDescriptorSets', /must/ be valid if they--- are statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to--- the pipeline bind point used by this command+-- set, specified via 'cmdBindDescriptorSets', /must/ be valid as+-- described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDispatch-None-02700# A valid pipeline /must/ be bound to -- the pipeline bind point used by this command@@ -9591,9 +9623,10 @@ -- -- - #VUID-vkCmdDispatchIndirect-None-02699# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDispatchIndirect-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command@@ -16680,12 +16713,14 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'BufferImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags', 'ImageBlit', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2', -- 'ImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageCopy2', -- 'ImageResolve',--- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageResolve2'+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageResolve2',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryToImageIndirectNV' data ImageSubresourceLayers = ImageSubresourceLayers { -- | @aspectMask@ is a combination of -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits', selecting
src/Vulkan/Core10/DescriptorSet.hs view
@@ -584,10 +584,12 @@ -- The allocated descriptor sets are returned in @pDescriptorSets@. -- -- When a descriptor set is allocated, the initial state is largely--- uninitialized and all descriptors are undefined. Descriptors also become--- undefined if the underlying resource is destroyed. Descriptor sets--- containing undefined descriptors /can/ still be bound and used, subject--- to the following conditions:+-- uninitialized and all descriptors are undefined, with the exception that+-- samplers with a non-null @pImmutableSamplers@ are initialized on+-- allocation. Descriptors also become undefined if the underlying resource+-- or view object is destroyed. Descriptor sets containing undefined+-- descriptors /can/ still be bound and used, subject to the following+-- conditions: -- -- - For descriptor set bindings created with the -- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT'@@ -1409,9 +1411,8 @@ -- is -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER', -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE',--- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE', -- or--- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE', -- the @imageView@ member of each element of @pImageInfo@ /must/ be -- either a valid 'Vulkan.Core10.Handles.ImageView' handle or -- 'Vulkan.Core10.APIConstants.NULL_HANDLE'@@ -1420,13 +1421,18 @@ -- is -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER', -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE',--- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE', -- or--- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT'+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE', -- and the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor> -- feature is not enabled, the @imageView@ member of each element of -- @pImageInfo@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- - #VUID-VkWriteDescriptorSet-descriptorType-07683# If @descriptorType@+-- is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',+-- the @imageView@ member of each element of @pImageInfo@ /must/ not be+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' -- -- - #VUID-VkWriteDescriptorSet-descriptorType-02221# If @descriptorType@ -- is
src/Vulkan/Core10/Device.hs view
@@ -105,6 +105,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_compute_shader_derivatives (PhysicalDeviceComputeShaderDerivativesFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conditional_rendering (PhysicalDeviceConditionalRenderingFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_cooperative_matrix (PhysicalDeviceCooperativeMatrixFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_copy_memory_indirect (PhysicalDeviceCopyMemoryIndirectFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_corner_sampled_image (PhysicalDeviceCornerSampledImageFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_coverage_reduction_mode (PhysicalDeviceCoverageReductionModeFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorFeaturesEXT)@@ -151,6 +152,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_linear_color_attachment (PhysicalDeviceLinearColorAttachmentFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mesh_shader (PhysicalDeviceMeshShaderFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_mesh_shader (PhysicalDeviceMeshShaderFeaturesNV)@@ -180,6 +182,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rgba10x6_formats (PhysicalDeviceRGBA10X6FormatsFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rasterization_order_attachment_access (PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_query (PhysicalDeviceRayQueryFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder (PhysicalDeviceRayTracingInvocationReorderFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1 (PhysicalDeviceRayTracingMaintenance1FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR)@@ -840,6 +843,7 @@ -- 'Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV', -- 'Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV', -- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',@@ -885,6 +889,7 @@ -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV',@@ -914,6 +919,7 @@ -- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.PhysicalDeviceRayTracingMaintenance1FeaturesKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',@@ -1043,6 +1049,7 @@ getNext DeviceCreateInfo{..} = next extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b extends _ f+ | Just Refl <- eqT @e @PhysicalDeviceRayTracingInvocationReorderFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsFeaturesARM = Just f | Just Refl <- eqT @e @PhysicalDeviceFaultFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceOpticalFlowFeaturesNV = Just f@@ -1147,6 +1154,8 @@ | Just Refl <- eqT @e @PhysicalDeviceMeshShaderFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceInvocationMaskFeaturesHUAWEI = Just f | Just Refl <- eqT @e @PhysicalDeviceShadingRateImageFeaturesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceMemoryDecompressionFeaturesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceCopyMemoryIndirectFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderImageFootprintFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceComputeShaderDerivativesFeaturesNV = Just f
src/Vulkan/Core10/Enums/ImageLayout.hs view
@@ -87,6 +87,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyBufferToImage', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyImage', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyImageToBuffer',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryToImageIndirectNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdResolveImage' newtype ImageLayout = ImageLayout Int32 deriving newtype (Eq, Ord, Storable, Zero)
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -53,6 +53,8 @@ , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM , STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV , STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC , STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC , STRUCTURE_TYPE_TILE_PROPERTIES_QCOM@@ -82,6 +84,10 @@ , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV , STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM@@ -983,6 +989,8 @@ -- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV', -- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV', -- 'Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV', -- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',@@ -1061,6 +1069,8 @@ -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties', -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT',@@ -1107,6 +1117,8 @@ -- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.PhysicalDeviceRayTracingMaintenance1FeaturesKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',@@ -1552,6 +1564,12 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = StructureType 1000351000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = StructureType 1000490001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = StructureType 1000490000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC" pattern STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = StructureType 1000485001 @@ -1639,6 +1657,18 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = StructureType 1000430000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = StructureType 1000427001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = StructureType 1000427000++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = StructureType 1000426001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = StructureType 1000426000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM" pattern STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = StructureType 1000425002 @@ -3418,6 +3448,8 @@ , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM , STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV , STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC , STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC , STRUCTURE_TYPE_TILE_PROPERTIES_QCOM@@ -3447,6 +3479,10 @@ , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV , STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM@@ -4234,6 +4270,14 @@ , "PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT" ) ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV+ , "PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV+ , "PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV"+ )+ , ( STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC , "AMIGO_PROFILING_SUBMIT_INFO_SEC" )@@ -4348,6 +4392,22 @@ , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV , "PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV+ , "PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV+ , "PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV+ , "PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV+ , "PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV" ) , ( STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -119,6 +119,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Core10.CommandBufferBuilding.ImageBlit', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2', -- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy',@@ -261,6 +262,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageCopy2', -- 'Vulkan.Core10.Image.ImageCreateInfo',@@ -443,6 +445,7 @@ -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV', -- 'Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV', -- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',@@ -501,6 +504,7 @@ -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV',@@ -536,6 +540,7 @@ -- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.PhysicalDeviceRayTracingMaintenance1FeaturesKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',@@ -837,6 +842,8 @@ -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.BufferMemoryBarrier2', -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT',@@ -919,6 +926,9 @@ -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR',@@ -928,6 +938,9 @@ -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.TraceRaysIndirectCommand2KHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.cmdBuildAccelerationStructuresIndirectKHR',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryIndirectNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryToImageIndirectNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.cmdDecompressMemoryIndirectCountNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.cmdTraceRaysIndirect2KHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysIndirectKHR' type DeviceAddress = Word64
src/Vulkan/Core10/FundamentalTypes.hs-boot view
@@ -69,6 +69,9 @@ -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR',@@ -78,6 +81,9 @@ -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.TraceRaysIndirectCommand2KHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.cmdBuildAccelerationStructuresIndirectKHR',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryIndirectNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryToImageIndirectNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.cmdDecompressMemoryIndirectCountNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.cmdTraceRaysIndirect2KHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysIndirectKHR' type DeviceAddress = Word64@@ -108,6 +114,8 @@ -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.BufferMemoryBarrier2', -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT',
src/Vulkan/Core10/Handles.hs view
@@ -591,7 +591,9 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyImageToBuffer', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdCopyImageToBuffer2', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdCopyImageToBuffer2KHR',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryIndirectNV', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.cmdCopyMemoryToAccelerationStructureKHR',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryToImageIndirectNV', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.cmdCopyMemoryToMicromapEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.cmdCopyMicromapEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.cmdCopyMicromapToMemoryEXT',@@ -601,6 +603,8 @@ -- 'Vulkan.Extensions.VK_EXT_debug_marker.cmdDebugMarkerEndEXT', -- 'Vulkan.Extensions.VK_EXT_debug_marker.cmdDebugMarkerInsertEXT', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR>,+-- 'Vulkan.Extensions.VK_NV_memory_decompression.cmdDecompressMemoryIndirectCountNV',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.cmdDecompressMemoryNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatch', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.cmdDispatchBase', -- 'Vulkan.Extensions.VK_KHR_device_group.cmdDispatchBaseKHR',@@ -960,6 +964,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyBufferToImage', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyImage', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyImageToBuffer',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryToImageIndirectNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdResolveImage', -- 'Vulkan.Core10.Image.createImage', 'Vulkan.Core10.Image.destroyImage', -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.getImageDrmFormatModifierPropertiesEXT',
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -401,9 +401,10 @@ -- - #VUID-vkCmdDispatchBase-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDispatchBase-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -116,6 +116,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conservative_rasterization (PhysicalDeviceConservativeRasterizationPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_cooperative_matrix (PhysicalDeviceCooperativeMatrixFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_cooperative_matrix (PhysicalDeviceCooperativeMatrixPropertiesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_copy_memory_indirect (PhysicalDeviceCopyMemoryIndirectFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_copy_memory_indirect (PhysicalDeviceCopyMemoryIndirectPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_corner_sampled_image (PhysicalDeviceCornerSampledImageFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_coverage_reduction_mode (PhysicalDeviceCoverageReductionModeFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorFeaturesEXT)@@ -188,6 +190,8 @@ import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT) import Vulkan.Core10.DeviceInitialization (PhysicalDeviceMemoryProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mesh_shader (PhysicalDeviceMeshShaderFeaturesEXT)@@ -234,6 +238,8 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rgba10x6_formats (PhysicalDeviceRGBA10X6FormatsFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rasterization_order_attachment_access (PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_query (PhysicalDeviceRayQueryFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder (PhysicalDeviceRayTracingInvocationReorderFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder (PhysicalDeviceRayTracingInvocationReorderPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1 (PhysicalDeviceRayTracingMaintenance1FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR)@@ -839,6 +845,7 @@ getNext PhysicalDeviceFeatures2{..} = next extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b extends _ f+ | Just Refl <- eqT @e @PhysicalDeviceRayTracingInvocationReorderFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsFeaturesARM = Just f | Just Refl <- eqT @e @PhysicalDeviceFaultFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceOpticalFlowFeaturesNV = Just f@@ -941,6 +948,8 @@ | Just Refl <- eqT @e @PhysicalDeviceMeshShaderFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceInvocationMaskFeaturesHUAWEI = Just f | Just Refl <- eqT @e @PhysicalDeviceShadingRateImageFeaturesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceMemoryDecompressionFeaturesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceCopyMemoryIndirectFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderImageFootprintFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceComputeShaderDerivativesFeaturesNV = Just f@@ -1032,6 +1041,7 @@ -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixPropertiesNV',+-- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties',@@ -1055,6 +1065,7 @@ -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties',+-- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT',@@ -1070,6 +1081,7 @@ -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties', -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT', -- 'Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR',+-- 'Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderPropertiesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT',@@ -1125,6 +1137,7 @@ getNext PhysicalDeviceProperties2{..} = next extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceProperties2 e => b) -> Maybe b extends _ f+ | Just Refl <- eqT @e @PhysicalDeviceRayTracingInvocationReorderPropertiesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsPropertiesARM = Just f | Just Refl <- eqT @e @PhysicalDeviceOpticalFlowPropertiesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceImageProcessingPropertiesQCOM = Just f@@ -1161,6 +1174,8 @@ | Just Refl <- eqT @e @PhysicalDeviceMeshShaderPropertiesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceMeshShaderPropertiesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceShadingRateImagePropertiesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceMemoryDecompressionPropertiesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceCopyMemoryIndirectPropertiesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceTransformFeedbackPropertiesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceDepthStencilResolveProperties = Just f | Just Refl <- eqT @e @PhysicalDevicePCIBusInfoPropertiesEXT = Just f
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -176,9 +176,10 @@ -- - #VUID-vkCmdDrawIndirectCount-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawIndirectCount-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command@@ -1618,7 +1619,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -1665,9 +1666,9 @@ -- -- - #VUID-vkCmdDrawIndirectCount-None-04879# If the bound graphics -- pipeline state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --@@ -1988,9 +1989,10 @@ -- - #VUID-vkCmdDrawIndexedIndirectCount-None-02699# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawIndexedIndirectCount-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command@@ -3434,7 +3436,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -3481,9 +3483,9 @@ -- -- - #VUID-vkCmdDrawIndexedIndirectCount-None-04879# If the bound -- graphics pipeline state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --
src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs view
@@ -406,7 +406,7 @@ -- -- - 'FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV' specifies that the -- format is supported as a renderable--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#glossary Linear Color Attachment>.+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#glossary-linear-color-attachment Linear Color Attachment>. -- This bit will be set for renderable color formats in the -- @linearTilingFeatures@. This /must/ not be set in the -- @optimalTilingFeatures@ or @bufferFeatures@ members.@@ -758,7 +758,7 @@ -- | 'FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV' specifies that the -- format is supported as a renderable--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#glossary Linear Color Attachment>.+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#glossary-linear-color-attachment Linear Color Attachment>. -- This bit will be set for renderable color formats in the -- @linearTilingFeatures@. This /must/ not be set in the -- @optimalTilingFeatures@ or @bufferFeatures@ members.
src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs view
@@ -1396,14 +1396,6 @@ -- feature is not enabled, @rasterizationSamples@ /must/ be a valid -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value ----- - #VUID-VkCommandBufferInheritanceRenderingInfo-pColorAttachmentFormats-06006#--- If any element of @pColorAttachmentFormats@ is not--- 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED', it /must/ be a format--- with--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#potential-format-features potential format features>--- that include--- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'--- -- - #VUID-VkCommandBufferInheritanceRenderingInfo-depthAttachmentFormat-06540# -- If @depthAttachmentFormat@ is not -- 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED', it /must/ be a format@@ -1418,14 +1410,17 @@ -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT' -- -- - #VUID-VkCommandBufferInheritanceRenderingInfoKHR-pColorAttachmentFormats-06492#--- When rendering to a--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#glossary Linear Color attachment>,--- if any element of @pColorAttachmentFormats@ is not+-- If any element of @pColorAttachmentFormats@ is not -- 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED', it /must/ be a format -- with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#potential-format-features potential format features> -- that include+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT',+-- or -- 'Vulkan.Core13.Enums.FormatFeatureFlags2.FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV'+-- if the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-linearColorAttachment linearColorAttachment>+-- feature is enabled -- -- - #VUID-VkCommandBufferInheritanceRenderingInfo-stencilAttachmentFormat-06541# -- If @stencilAttachmentFormat@ is not
src/Vulkan/Dynamic.hs view
@@ -124,6 +124,7 @@ import {-# SOURCE #-} Vulkan.Extensions.Handles (DebugUtilsMessengerEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsObjectNameInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsObjectTagInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (DecompressMemoryRegionNV) import {-# SOURCE #-} Vulkan.Extensions.Handles (DeferredOperationKHR) import {-# SOURCE #-} Vulkan.Core10.Enums.DependencyFlagBits (DependencyFlags) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_synchronization2 (DependencyInfo)@@ -220,6 +221,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (ImageSparseMemoryRequirementsInfo2) import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (ImageSubresource) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_compression_control (ImageSubresource2EXT)+import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageSubresourceLayers) import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageSubresourceRange) import {-# SOURCE #-} Vulkan.Core10.Enums.ImageTiling (ImageTiling) import {-# SOURCE #-} Vulkan.Core10.Enums.ImageType (ImageType)@@ -917,6 +919,8 @@ , pVkCmdBlitImage :: FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ()) , pVkCmdCopyBufferToImage :: FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) , pVkCmdCopyImageToBuffer :: FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ())+ , pVkCmdCopyMemoryIndirectNV :: FunPtr (Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())+ , pVkCmdCopyMemoryToImageIndirectNV :: FunPtr (Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("pImageSubresources" ::: Ptr ImageSubresourceLayers) -> IO ()) , pVkCmdUpdateBuffer :: FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("dataSize" ::: DeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) , pVkCmdFillBuffer :: FunPtr (Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> DeviceSize -> ("data" ::: Word32) -> IO ()) , pVkCmdClearColorImage :: FunPtr (Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pColor" ::: Ptr ClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ())@@ -1190,6 +1194,8 @@ , pVkCmdWriteTimestamp2 :: FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2 -> QueryPool -> ("query" ::: Word32) -> IO ()) , pVkCmdWriteBufferMarker2AMD :: FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2 -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) , pVkGetQueueCheckpointData2NV :: FunPtr (Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ())+ , pVkCmdDecompressMemoryNV :: FunPtr (Ptr CommandBuffer_T -> ("decompressRegionCount" ::: Word32) -> ("pDecompressMemoryRegions" ::: Ptr DecompressMemoryRegionNV) -> IO ())+ , pVkCmdDecompressMemoryIndirectCountNV :: FunPtr (Ptr CommandBuffer_T -> ("indirectCommandsAddress" ::: DeviceAddress) -> ("indirectCommandsCountAddress" ::: DeviceAddress) -> ("stride" ::: Word32) -> IO ()) , pVkCreateCuModuleNVX :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuModuleCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pModule" ::: Ptr CuModuleNVX) -> IO Result) , pVkCreateCuFunctionNVX :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr CuFunctionCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFunction" ::: Ptr CuFunctionNVX) -> IO Result) , pVkDestroyCuModuleNVX :: FunPtr (Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())@@ -1654,7 +1660,15 @@ nullFunPtr nullFunPtr nullFunPtr- nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr nullFunPtr foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -1782,6 +1796,8 @@ vkCmdBlitImage <- getDeviceProcAddr' handle (Ptr "vkCmdBlitImage"#) vkCmdCopyBufferToImage <- getDeviceProcAddr' handle (Ptr "vkCmdCopyBufferToImage"#) vkCmdCopyImageToBuffer <- getDeviceProcAddr' handle (Ptr "vkCmdCopyImageToBuffer"#)+ vkCmdCopyMemoryIndirectNV <- getDeviceProcAddr' handle (Ptr "vkCmdCopyMemoryIndirectNV"#)+ vkCmdCopyMemoryToImageIndirectNV <- getDeviceProcAddr' handle (Ptr "vkCmdCopyMemoryToImageIndirectNV"#) vkCmdUpdateBuffer <- getDeviceProcAddr' handle (Ptr "vkCmdUpdateBuffer"#) vkCmdFillBuffer <- getDeviceProcAddr' handle (Ptr "vkCmdFillBuffer"#) vkCmdClearColorImage <- getDeviceProcAddr' handle (Ptr "vkCmdClearColorImage"#)@@ -2120,6 +2136,8 @@ , (Ptr "vkCmdWriteTimestamp2"#) ] vkCmdWriteBufferMarker2AMD <- getDeviceProcAddr' handle (Ptr "vkCmdWriteBufferMarker2AMD"#) vkGetQueueCheckpointData2NV <- getDeviceProcAddr' handle (Ptr "vkGetQueueCheckpointData2NV"#)+ vkCmdDecompressMemoryNV <- getDeviceProcAddr' handle (Ptr "vkCmdDecompressMemoryNV"#)+ vkCmdDecompressMemoryIndirectCountNV <- getDeviceProcAddr' handle (Ptr "vkCmdDecompressMemoryIndirectCountNV"#) vkCreateCuModuleNVX <- getDeviceProcAddr' handle (Ptr "vkCreateCuModuleNVX"#) vkCreateCuFunctionNVX <- getDeviceProcAddr' handle (Ptr "vkCreateCuFunctionNVX"#) vkDestroyCuModuleNVX <- getDeviceProcAddr' handle (Ptr "vkDestroyCuModuleNVX"#)@@ -2271,6 +2289,8 @@ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ()) vkCmdBlitImage) (castFunPtr @_ @(Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) vkCmdCopyBufferToImage) (castFunPtr @_ @(Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferImageCopy) -> IO ()) vkCmdCopyImageToBuffer)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) vkCmdCopyMemoryIndirectNV)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("copyBufferAddress" ::: DeviceAddress) -> ("copyCount" ::: Word32) -> ("stride" ::: Word32) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("pImageSubresources" ::: Ptr ImageSubresourceLayers) -> IO ()) vkCmdCopyMemoryToImageIndirectNV) (castFunPtr @_ @(Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("dataSize" ::: DeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) vkCmdUpdateBuffer) (castFunPtr @_ @(Ptr CommandBuffer_T -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> DeviceSize -> ("data" ::: Word32) -> IO ()) vkCmdFillBuffer) (castFunPtr @_ @(Ptr CommandBuffer_T -> Image -> ImageLayout -> ("pColor" ::: Ptr ClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr ImageSubresourceRange) -> IO ()) vkCmdClearColorImage)@@ -2544,6 +2564,8 @@ (castFunPtr @_ @(Ptr CommandBuffer_T -> PipelineStageFlags2 -> QueryPool -> ("query" ::: Word32) -> IO ()) vkCmdWriteTimestamp2) (castFunPtr @_ @(Ptr CommandBuffer_T -> PipelineStageFlags2 -> ("dstBuffer" ::: Buffer) -> ("dstOffset" ::: DeviceSize) -> ("marker" ::: Word32) -> IO ()) vkCmdWriteBufferMarker2AMD) (castFunPtr @_ @(Ptr Queue_T -> ("pCheckpointDataCount" ::: Ptr Word32) -> ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ()) vkGetQueueCheckpointData2NV)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("decompressRegionCount" ::: Word32) -> ("pDecompressMemoryRegions" ::: Ptr DecompressMemoryRegionNV) -> IO ()) vkCmdDecompressMemoryNV)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("indirectCommandsAddress" ::: DeviceAddress) -> ("indirectCommandsCountAddress" ::: DeviceAddress) -> ("stride" ::: Word32) -> IO ()) vkCmdDecompressMemoryIndirectCountNV) (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr CuModuleCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pModule" ::: Ptr CuModuleNVX) -> IO Result) vkCreateCuModuleNVX) (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr CuFunctionCreateInfoNVX) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pFunction" ::: Ptr CuFunctionNVX) -> IO Result) vkCreateCuFunctionNVX) (castFunPtr @_ @(Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyCuModuleNVX)
src/Vulkan/Extensions.hs view
@@ -255,6 +255,7 @@ , module Vulkan.Extensions.VK_NV_clip_space_w_scaling , module Vulkan.Extensions.VK_NV_compute_shader_derivatives , module Vulkan.Extensions.VK_NV_cooperative_matrix+ , module Vulkan.Extensions.VK_NV_copy_memory_indirect , module Vulkan.Extensions.VK_NV_corner_sampled_image , module Vulkan.Extensions.VK_NV_coverage_reduction_mode , module Vulkan.Extensions.VK_NV_dedicated_allocation@@ -275,10 +276,12 @@ , module Vulkan.Extensions.VK_NV_glsl_shader , module Vulkan.Extensions.VK_NV_inherited_viewport_scissor , module Vulkan.Extensions.VK_NV_linear_color_attachment+ , module Vulkan.Extensions.VK_NV_memory_decompression , module Vulkan.Extensions.VK_NV_mesh_shader , module Vulkan.Extensions.VK_NV_optical_flow , module Vulkan.Extensions.VK_NV_present_barrier , module Vulkan.Extensions.VK_NV_ray_tracing+ , module Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder , module Vulkan.Extensions.VK_NV_ray_tracing_motion_blur , module Vulkan.Extensions.VK_NV_representative_fragment_test , module Vulkan.Extensions.VK_NV_sample_mask_override_coverage@@ -557,6 +560,7 @@ import Vulkan.Extensions.VK_NV_clip_space_w_scaling import Vulkan.Extensions.VK_NV_compute_shader_derivatives import Vulkan.Extensions.VK_NV_cooperative_matrix+import Vulkan.Extensions.VK_NV_copy_memory_indirect import Vulkan.Extensions.VK_NV_corner_sampled_image import Vulkan.Extensions.VK_NV_coverage_reduction_mode import Vulkan.Extensions.VK_NV_dedicated_allocation@@ -577,10 +581,12 @@ import Vulkan.Extensions.VK_NV_glsl_shader import Vulkan.Extensions.VK_NV_inherited_viewport_scissor import Vulkan.Extensions.VK_NV_linear_color_attachment+import Vulkan.Extensions.VK_NV_memory_decompression import Vulkan.Extensions.VK_NV_mesh_shader import Vulkan.Extensions.VK_NV_optical_flow import Vulkan.Extensions.VK_NV_present_barrier import Vulkan.Extensions.VK_NV_ray_tracing+import Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder import Vulkan.Extensions.VK_NV_ray_tracing_motion_blur import Vulkan.Extensions.VK_NV_representative_fragment_test import Vulkan.Extensions.VK_NV_sample_mask_override_coverage
src/Vulkan/Extensions/Dependencies.hs view
@@ -200,6 +200,7 @@ import Vulkan.Extensions.VK_NV_acquire_winrt_display (pattern NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_compute_shader_derivatives (pattern NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_cooperative_matrix (pattern NV_COOPERATIVE_MATRIX_EXTENSION_NAME)+import Vulkan.Extensions.VK_NV_copy_memory_indirect (pattern NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_corner_sampled_image (pattern NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_coverage_reduction_mode (pattern NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing (pattern NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME)@@ -213,10 +214,12 @@ import Vulkan.Extensions.VK_NV_fragment_shader_barycentric (pattern NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_fragment_shading_rate_enums (pattern NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_framebuffer_mixed_samples (pattern NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME)+import Vulkan.Extensions.VK_NV_memory_decompression (pattern NV_MEMORY_DECOMPRESSION_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_mesh_shader (pattern NV_MESH_SHADER_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_optical_flow (pattern NV_OPTICAL_FLOW_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_present_barrier (pattern NV_PRESENT_BARRIER_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_ray_tracing (pattern NV_RAY_TRACING_EXTENSION_NAME)+import Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder (pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (pattern NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_scissor_exclusive (pattern NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_shader_image_footprint (pattern NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME)@@ -797,6 +800,14 @@ [ KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME , EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME ]+ NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME ->+ [ KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+ , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME+ ]+ NV_MEMORY_DECOMPRESSION_EXTENSION_NAME ->+ [ KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+ , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME+ ] GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME -> [KHR_SURFACE_EXTENSION_NAME] EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME -> [EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME] QCOM_IMAGE_PROCESSING_EXTENSION_NAME ->@@ -818,6 +829,17 @@ EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME] QCOM_TILE_PROPERTIES_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME] SEC_AMIGO_PROFILING_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]+ NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME ->+ [ KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME+ , KHR_SPIRV_1_4_EXTENSION_NAME+ , KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME+ , KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME+ , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+ , EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+ , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME+ , KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME+ , KHR_MAINTENANCE_3_EXTENSION_NAME+ ] EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME -> [ KHR_MAINTENANCE_3_EXTENSION_NAME , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
src/Vulkan/Extensions/VK_EXT_mesh_shader.hs view
@@ -464,9 +464,10 @@ -- - #VUID-vkCmdDrawMeshTasksEXT-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMeshTasksEXT-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command@@ -2172,9 +2173,10 @@ -- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-02699# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command@@ -3871,9 +3873,10 @@ -- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02699# Descriptors in -- each bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02700# A valid -- pipeline /must/ be bound to the pipeline bind point used by this
src/Vulkan/Extensions/VK_EXT_multi_draw.hs view
@@ -330,9 +330,10 @@ -- - #VUID-vkCmdDrawMultiEXT-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMultiEXT-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command@@ -1794,7 +1795,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -1841,9 +1842,9 @@ -- -- - #VUID-vkCmdDrawMultiEXT-None-04879# If the bound graphics pipeline -- state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --@@ -2101,9 +2102,10 @@ -- - #VUID-vkCmdDrawMultiIndexedEXT-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMultiIndexedEXT-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command@@ -3565,7 +3567,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -3612,9 +3614,9 @@ -- -- - #VUID-vkCmdDrawMultiIndexedEXT-None-04879# If the bound graphics -- pipeline state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -1516,9 +1516,10 @@ -- - #VUID-vkCmdDrawIndirectByteCountEXT-None-02699# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawIndirectByteCountEXT-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command@@ -2962,7 +2963,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -3009,9 +3010,9 @@ -- -- - #VUID-vkCmdDrawIndirectByteCountEXT-None-04879# If the bound -- graphics pipeline state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --
src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs view
@@ -626,9 +626,10 @@ -- - #VUID-vkCmdSubpassShadingHUAWEI-None-02699# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdSubpassShadingHUAWEI-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_IMG_format_pvrtc.hs view
@@ -21,6 +21,10 @@ -- -- - Requires support for Vulkan 1.0 --+-- [__Deprecation state__]+--+-- - /Deprecated/ without replacement+-- -- [__Contact__] -- -- - Stuart Smith@@ -42,6 +46,11 @@ -- @VK_IMG_format_pvrtc@ provides additional texture compression -- functionality specific to Imagination Technologies PowerVR Texture -- compression format (called PVRTC).+--+-- == Deprecation+--+-- Both PVRTC1 and PVRTC2 are slower than standard image formats on PowerVR+-- GPUs, and support will be removed from future hardware. -- -- == New Enum Constants --
src/Vulkan/Extensions/VK_KHR_external_memory.hs view
@@ -54,7 +54,7 @@ -- -- - Jason Ekstrand, Intel ----- - Ian Elliot, Google+-- - Ian Elliott, Google -- -- - Jesse Hall, Google --
src/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs view
@@ -51,7 +51,7 @@ -- -- [__Contributors__] ----- - Ian Elliot, Google+-- - Ian Elliott, Google -- -- - Jesse Hall, Google --
src/Vulkan/Extensions/VK_KHR_present_wait.hs view
@@ -262,7 +262,8 @@ -- There is no requirement for any precise timing relationship between the -- presentation of the image to the user and the update of the presentId -- value, but implementations /should/ make this as close as possible to--- the presentation of the first pixel in the new image to the user.+-- the presentation of the first pixel in the next image being presented to+-- the user. -- -- The call to 'waitForPresentKHR' will block until either the presentId -- associated with @swapchain@ is greater than or equal to @presentId@, or
src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs view
@@ -400,9 +400,10 @@ -- - #VUID-vkCmdTraceRaysIndirect2KHR-None-02699# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdTraceRaysIndirect2KHR-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs view
@@ -1023,9 +1023,10 @@ -- - #VUID-vkCmdTraceRaysKHR-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdTraceRaysKHR-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command@@ -2107,9 +2108,10 @@ -- - #VUID-vkCmdTraceRaysIndirectKHR-None-02699# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdTraceRaysIndirectKHR-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command
+ src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs view
@@ -0,0 +1,851 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_copy_memory_indirect - device extension+--+-- == VK_NV_copy_memory_indirect+--+-- [__Name String__]+-- @VK_NV_copy_memory_indirect@+--+-- [__Extension Type__]+-- Device extension+--+-- [__Registered Extension Number__]+-- 427+--+-- [__Revision__]+-- 1+--+-- [__Extension and Version Dependencies__]+--+-- - Requires support for Vulkan 1.0+--+-- - Requires @VK_KHR_get_physical_device_properties2@ to be enabled+-- for any device-level functionality+--+-- - Requires @VK_KHR_buffer_device_address@ to be enabled for any+-- device-level functionality+--+-- [__Contact__]+--+-- - Vikram Kushwaha+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_copy_memory_indirect] @vkushwaha-nv%0A*Here describe the issue or question you have about the VK_NV_copy_memory_indirect extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+-- 2022-10-14+--+-- [__Contributors__]+--+-- - Vikram Kushwaha, NVIDIA+--+-- - Jeff Bolz, NVIDIA+--+-- - Christoph Kubisch, NVIDIA+--+-- - Daniel Koch, NVIDIA+--+-- == Description+--+-- This extension adds support for performing copies between memory and+-- image regions using indirect parameters that are read by the device from+-- a buffer during execution. This functionality /may/ be useful for+-- performing copies where the copy parameters are not known during the+-- command buffer creation time.+--+-- == New Commands+--+-- - 'cmdCopyMemoryIndirectNV'+--+-- - 'cmdCopyMemoryToImageIndirectNV'+--+-- == New Structures+--+-- - 'CopyMemoryIndirectCommandNV'+--+-- - 'CopyMemoryToImageIndirectCommandNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- 'Vulkan.Core10.Device.DeviceCreateInfo':+--+-- - 'PhysicalDeviceCopyMemoryIndirectFeaturesNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+-- - 'PhysicalDeviceCopyMemoryIndirectPropertiesNV'+--+-- == New Enum Constants+--+-- - 'NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME'+--+-- - 'NV_COPY_MEMORY_INDIRECT_SPEC_VERSION'+--+-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV'+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV'+--+-- == Version History+--+-- - Revision 1, 2022-10-14 (Vikram Kushwaha)+--+-- - Initial draft+--+-- == See Also+--+-- 'CopyMemoryIndirectCommandNV', 'CopyMemoryToImageIndirectCommandNV',+-- 'PhysicalDeviceCopyMemoryIndirectFeaturesNV',+-- 'PhysicalDeviceCopyMemoryIndirectPropertiesNV',+-- 'cmdCopyMemoryIndirectNV', 'cmdCopyMemoryToImageIndirectNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_copy_memory_indirect Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_copy_memory_indirect ( cmdCopyMemoryIndirectNV+ , cmdCopyMemoryToImageIndirectNV+ , CopyMemoryIndirectCommandNV(..)+ , CopyMemoryToImageIndirectCommandNV(..)+ , PhysicalDeviceCopyMemoryIndirectFeaturesNV(..)+ , PhysicalDeviceCopyMemoryIndirectPropertiesNV(..)+ , NV_COPY_MEMORY_INDIRECT_SPEC_VERSION+ , pattern NV_COPY_MEMORY_INDIRECT_SPEC_VERSION+ , NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME+ , pattern NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME+ ) where++import Vulkan.Internal.Utils (traceAroundEvent)+import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Foreign.Marshal.Alloc (allocaBytes)+import GHC.IO (throwIO)+import GHC.Ptr (nullFunPtr)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+import qualified Data.Vector (imapM_)+import qualified Data.Vector (length)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Control.Monad.IO.Class (MonadIO)+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import GHC.IO.Exception (IOErrorType(..))+import GHC.IO.Exception (IOException(..))+import Foreign.Ptr (FunPtr)+import Foreign.Ptr (Ptr)+import Data.Word (Word32)+import Data.Kind (Type)+import Control.Monad.Trans.Cont (ContT(..))+import Data.Vector (Vector)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.NamedType ((:::))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Handles (CommandBuffer)+import Vulkan.Core10.Handles (CommandBuffer(..))+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))+import Vulkan.Core10.Handles (CommandBuffer_T)+import Vulkan.Core10.FundamentalTypes (DeviceAddress)+import Vulkan.Dynamic (DeviceCmds(pVkCmdCopyMemoryIndirectNV))+import Vulkan.Dynamic (DeviceCmds(pVkCmdCopyMemoryToImageIndirectNV))+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.Core10.FundamentalTypes (Extent3D)+import Vulkan.Core10.Handles (Image)+import Vulkan.Core10.Handles (Image(..))+import Vulkan.Core10.Enums.ImageLayout (ImageLayout)+import Vulkan.Core10.Enums.ImageLayout (ImageLayout(..))+import Vulkan.Core10.CommandBufferBuilding (ImageSubresourceLayers)+import Vulkan.Core10.FundamentalTypes (Offset3D)+import Vulkan.Core10.Enums.QueueFlagBits (QueueFlags)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdCopyMemoryIndirectNV+ :: FunPtr (Ptr CommandBuffer_T -> DeviceAddress -> Word32 -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> DeviceAddress -> Word32 -> Word32 -> IO ()++-- | vkCmdCopyMemoryIndirectNV - Copy data between memory regions+--+-- = Description+--+-- Each region read from @copyBufferAddress@ is copied from the source+-- region to the specified destination region. The results are undefined if+-- any of the source and destination regions overlap in memory.+--+-- == Valid Usage+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-None-07653# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirect copies>+-- feature /must/ be enabled+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-copyBufferAddress-07654#+-- @copyBufferAddress@ /must/ be 4 byte aligned+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-stride-07655# @stride@ /must/ be a+-- multiple of @4@ and /must/ be greater than or equal to+-- sizeof('CopyMemoryIndirectCommandNV')+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-07656# The+-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support at least one of the+-- 'PhysicalDeviceCopyMemoryIndirectPropertiesNV'::@supportedQueues@+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-parameter#+-- @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-recording#+-- @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-cmdpool# The+-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support transfer, graphics, or compute+-- operations+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-renderpass# This command /must/ only+-- be called outside of a render pass instance+--+-- - #VUID-vkCmdCopyMemoryIndirectNV-videocoding# This command /must/+-- only be called outside of a video coding scope+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================++-- | Primary | Outside | Outside | Transfer | Action |+-- | Secondary | | | Graphics | |+-- | | | | Compute | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_copy_memory_indirect VK_NV_copy_memory_indirect>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress'+cmdCopyMemoryIndirectNV :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @copyBufferAddress@ is the buffer address specifying the copy+ -- parameters. This buffer is laid out in memory as an array of+ -- 'CopyMemoryIndirectCommandNV' structures.+ ("copyBufferAddress" ::: DeviceAddress)+ -> -- | @copyCount@ is the number of copies to execute, and can be zero.+ ("copyCount" ::: Word32)+ -> -- | @stride@ is the stride in bytes between successive sets of copy+ -- parameters.+ ("stride" ::: Word32)+ -> io ()+cmdCopyMemoryIndirectNV commandBuffer+ copyBufferAddress+ copyCount+ stride = liftIO $ do+ let vkCmdCopyMemoryIndirectNVPtr = pVkCmdCopyMemoryIndirectNV (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+ unless (vkCmdCopyMemoryIndirectNVPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyMemoryIndirectNV is null" Nothing Nothing+ let vkCmdCopyMemoryIndirectNV' = mkVkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNVPtr+ traceAroundEvent "vkCmdCopyMemoryIndirectNV" (vkCmdCopyMemoryIndirectNV'+ (commandBufferHandle (commandBuffer))+ (copyBufferAddress)+ (copyCount)+ (stride))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdCopyMemoryToImageIndirectNV+ :: FunPtr (Ptr CommandBuffer_T -> DeviceAddress -> Word32 -> Word32 -> Image -> ImageLayout -> Ptr ImageSubresourceLayers -> IO ()) -> Ptr CommandBuffer_T -> DeviceAddress -> Word32 -> Word32 -> Image -> ImageLayout -> Ptr ImageSubresourceLayers -> IO ()++-- | vkCmdCopyMemoryToImageIndirectNV - Copy data from a memory region into+-- an image+--+-- = Description+--+-- Each region in @copyBufferAddress@ is copied from the source memory+-- region to an image region in the destination image. If the destination+-- image is of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D', the+-- starting slice and number of slices to copy are specified in+-- @pImageSubresources@::@baseArrayLayer@ and+-- @pImageSubresources@::@layerCount@ respectively. The copy /must/ be+-- performed on a queue that supports indirect copy operations, see+-- 'PhysicalDeviceCopyMemoryIndirectPropertiesNV'.+--+-- == Valid Usage+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-None-07660# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirect copies>+-- feature /must/ be enabled+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07661# @dstImage@+-- /must/ not be a protected image+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-aspectMask-07662# The+-- @aspectMask@ member for every subresource in @pImageSubresources@+-- /must/ only have a single bit set+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07663# The image+-- region specified by each element in @copyBufferAddress@ /must/ be a+-- region that is contained within @dstImage@+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07664# @dstImage@+-- /must/ have been created with+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'+-- usage flag+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07665# If @dstImage@+-- is non-sparse then it /must/ be bound completely and contiguously to+-- a single 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07666# @dstImage@+-- /must/ have a sample count equal to+-- 'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-07667#+-- @dstImageLayout@ /must/ specify the layout of the image subresources+-- of @dstImage@ at the time this command is executed on a+-- 'Vulkan.Core10.Handles.Device'+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-07669#+-- @dstImageLayout@ /must/ be+-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL',+-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL', or+-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR'+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-mipLevel-07670# The specified+-- @mipLevel@ of each region /must/ be less than the @mipLevels@+-- specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @dstImage@+-- was created+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-baseArrayLayer-07671# The+-- specified @baseArrayLayer@ + @layerCount@ of each region /must/ be+-- less than or equal to the @arrayLayers@ specified in+-- 'Vulkan.Core10.Image.ImageCreateInfo' when @dstImage@ was created+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-imageOffset-07672# The+-- @imageOffset@ and @imageExtent@ members of each region /must/+-- respect the image transfer granularity requirements of+-- @commandBuffer@’s command pool’s queue family, as described in+-- 'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties'+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07673# @dstImage@+-- /must/ not have been created with @flags@ containing+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-07674# If the+-- queue family used to create the 'Vulkan.Core10.Handles.CommandPool'+-- which @commandBuffer@ was allocated from does not support+-- 'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT', for each+-- region, the @aspectMask@ member of @pImageSubresources@ /must/ not+-- be 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT'+-- or+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'.+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-imageOffset-07675# For each+-- region in @copyBufferAddress@, @imageOffset.y@ and+-- (@imageExtent.height@ + @imageOffset.y@) /must/ both be greater than+-- or equal to @0@ and less than or equal to the height of the+-- specified subresource+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-offset-07676# @offset@ /must/+-- be 4 byte aligned+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-stride-07677# @stride@ /must/+-- be a multiple of @4@ and /must/ be greater than or equal to+-- sizeof('CopyMemoryToImageIndirectCommandNV')+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-parameter#+-- @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-parameter#+-- @dstImage@ /must/ be a valid 'Vulkan.Core10.Handles.Image' handle+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-parameter#+-- @dstImageLayout@ /must/ be a valid+-- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout' value+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-pImageSubresources-parameter#+-- @pImageSubresources@ /must/ be a valid pointer to an array of+-- @copyCount@ valid+-- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'+-- structures+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-recording#+-- @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-cmdpool# The+-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support transfer, graphics, or compute+-- operations+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-renderpass# This command+-- /must/ only be called outside of a render pass instance+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-videocoding# This command+-- /must/ only be called outside of a video coding scope+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-copyCount-arraylength#+-- @copyCount@ /must/ be greater than @0@+--+-- - #VUID-vkCmdCopyMemoryToImageIndirectNV-commonparent# Both of+-- @commandBuffer@, and @dstImage@ /must/ have been created, allocated,+-- or retrieved from the same 'Vulkan.Core10.Handles.Device'+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================++-- | Primary | Outside | Outside | Transfer | Action |+-- | Secondary | | | Graphics | |+-- | | | | Compute | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_copy_memory_indirect VK_NV_copy_memory_indirect>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.Handles.Image',+-- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',+-- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'+cmdCopyMemoryToImageIndirectNV :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @copyBufferAddress@ is the buffer address specifying the copy+ -- parameters. This buffer is laid out in memory as an array of+ -- 'CopyMemoryToImageIndirectCommandNV' structures.+ ("copyBufferAddress" ::: DeviceAddress)+ -> -- | @stride@ is the byte stride between successive sets of copy parameters.+ ("stride" ::: Word32)+ -> -- | @dstImage@ is the destination image.+ ("dstImage" ::: Image)+ -> -- | @dstImageLayout@ is the layout of the destination image subresources for+ -- the copy.+ ("dstImageLayout" ::: ImageLayout)+ -> -- | @pImageSubresources@ is a pointer to an array of size @copyCount@ of+ -- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers' used to+ -- specify the specific image subresource of the destination image data for+ -- that copy.+ ("imageSubresources" ::: Vector ImageSubresourceLayers)+ -> io ()+cmdCopyMemoryToImageIndirectNV commandBuffer+ copyBufferAddress+ stride+ dstImage+ dstImageLayout+ imageSubresources = liftIO . evalContT $ do+ let vkCmdCopyMemoryToImageIndirectNVPtr = pVkCmdCopyMemoryToImageIndirectNV (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+ lift $ unless (vkCmdCopyMemoryToImageIndirectNVPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdCopyMemoryToImageIndirectNV is null" Nothing Nothing+ let vkCmdCopyMemoryToImageIndirectNV' = mkVkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNVPtr+ pPImageSubresources <- ContT $ allocaBytes @ImageSubresourceLayers ((Data.Vector.length (imageSubresources)) * 16)+ lift $ Data.Vector.imapM_ (\i e -> poke (pPImageSubresources `plusPtr` (16 * (i)) :: Ptr ImageSubresourceLayers) (e)) (imageSubresources)+ lift $ traceAroundEvent "vkCmdCopyMemoryToImageIndirectNV" (vkCmdCopyMemoryToImageIndirectNV'+ (commandBufferHandle (commandBuffer))+ (copyBufferAddress)+ ((fromIntegral (Data.Vector.length $ (imageSubresources)) :: Word32))+ (stride)+ (dstImage)+ (dstImageLayout)+ (pPImageSubresources))+ pure $ ()+++-- | VkCopyMemoryIndirectCommandNV - Structure specifying indirect memory+-- region copy operation+--+-- == Valid Usage+--+-- - #VUID-VkCopyMemoryIndirectCommandNV-srcAddress-07657# The+-- @srcAddress@ /must/ be 4 byte aligned+--+-- - #VUID-VkCopyMemoryIndirectCommandNV-dstAddress-07658# The+-- @dstAddress@ /must/ be 4 byte aligned+--+-- - #VUID-VkCopyMemoryIndirectCommandNV-size-07659# The @size@ /must/ be+-- 4 byte aligned+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_copy_memory_indirect VK_NV_copy_memory_indirect>,+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize'+data CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandNV+ { -- | @srcAddress@ is the starting address of the source host or device memory+ -- to copy from.+ srcAddress :: DeviceAddress+ , -- | @dstAddress@ is the starting address of the destination host or device+ -- memory to copy to.+ dstAddress :: DeviceAddress+ , -- | @size@ is the size of the copy in bytes.+ size :: DeviceSize+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (CopyMemoryIndirectCommandNV)+#endif+deriving instance Show CopyMemoryIndirectCommandNV++instance ToCStruct CopyMemoryIndirectCommandNV where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p CopyMemoryIndirectCommandNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr DeviceAddress)) (srcAddress)+ poke ((p `plusPtr` 8 :: Ptr DeviceAddress)) (dstAddress)+ poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (size)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr DeviceAddress)) (zero)+ poke ((p `plusPtr` 8 :: Ptr DeviceAddress)) (zero)+ poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (zero)+ f++instance FromCStruct CopyMemoryIndirectCommandNV where+ peekCStruct p = do+ srcAddress <- peek @DeviceAddress ((p `plusPtr` 0 :: Ptr DeviceAddress))+ dstAddress <- peek @DeviceAddress ((p `plusPtr` 8 :: Ptr DeviceAddress))+ size <- peek @DeviceSize ((p `plusPtr` 16 :: Ptr DeviceSize))+ pure $ CopyMemoryIndirectCommandNV+ srcAddress dstAddress size++instance Storable CopyMemoryIndirectCommandNV where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero CopyMemoryIndirectCommandNV where+ zero = CopyMemoryIndirectCommandNV+ zero+ zero+ zero+++-- | VkCopyMemoryToImageIndirectCommandNV - Structure specifying indirect+-- buffer image copy operation+--+-- == Valid Usage+--+-- - #VUID-VkCopyMemoryToImageIndirectCommandNV-srcAddress-07678# The+-- @srcAddress@ /must/ be 4 byte aligned+--+-- - #VUID-VkCopyMemoryToImageIndirectCommandNV-bufferRowLength-07679#+-- @bufferRowLength@ /must/ be @0@, or greater than or equal to the+-- @width@ member of @imageExtent@+--+-- - #VUID-VkCopyMemoryToImageIndirectCommandNV-bufferImageHeight-07680#+-- @bufferImageHeight@ /must/ be @0@, or greater than or equal to the+-- @height@ member of @imageExtent@+--+-- - #VUID-VkCopyMemoryToImageIndirectCommandNV-imageOffset-07681#+-- @imageOffset@ /must/ specify a valid offset in the destination image+--+-- - #VUID-VkCopyMemoryToImageIndirectCommandNV-imageExtent-07682#+-- @imageExtent@ /must/ specify a valid region in the destination image+-- and can be @0@+--+-- == Valid Usage (Implicit)+--+-- - #VUID-VkCopyMemoryToImageIndirectCommandNV-imageSubresource-parameter#+-- @imageSubresource@ /must/ be a valid+-- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'+-- structure+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_copy_memory_indirect VK_NV_copy_memory_indirect>,+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.Extent3D',+-- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers',+-- 'Vulkan.Core10.FundamentalTypes.Offset3D'+data CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandNV+ { -- | @srcAddress@ is the starting address of the source host or device memory+ -- to copy from.+ srcAddress :: DeviceAddress+ , -- | @bufferRowLength@ and @bufferImageHeight@ specify in texels a subregion+ -- of a larger two- or three-dimensional image in buffer memory, and+ -- control the addressing calculations. If either of these values is zero,+ -- that aspect of the buffer memory is considered to be tightly packed+ -- according to the @imageExtent@.+ bufferRowLength :: Word32+ , -- No documentation found for Nested "VkCopyMemoryToImageIndirectCommandNV" "bufferImageHeight"+ bufferImageHeight :: Word32+ , -- | @imageSubresource@ is a+ -- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers' used to+ -- specify the specific image subresources of the image used for the+ -- destination image data, which /must/ match the values specified in+ -- @pImageSubresources@ parameter of 'cmdCopyMemoryToImageIndirectNV'+ -- during command recording.+ imageSubresource :: ImageSubresourceLayers+ , -- | @imageOffset@ selects the initial @x@, @y@, @z@ offsets in texels of the+ -- sub-region of the destination image data.+ imageOffset :: Offset3D+ , -- | @imageExtent@ is the size in texels of the destination image in @width@,+ -- @height@ and @depth@.+ imageExtent :: Extent3D+ }+ deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (CopyMemoryToImageIndirectCommandNV)+#endif+deriving instance Show CopyMemoryToImageIndirectCommandNV++instance ToCStruct CopyMemoryToImageIndirectCommandNV where+ withCStruct x f = allocaBytes 56 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p CopyMemoryToImageIndirectCommandNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr DeviceAddress)) (srcAddress)+ poke ((p `plusPtr` 8 :: Ptr Word32)) (bufferRowLength)+ poke ((p `plusPtr` 12 :: Ptr Word32)) (bufferImageHeight)+ poke ((p `plusPtr` 16 :: Ptr ImageSubresourceLayers)) (imageSubresource)+ poke ((p `plusPtr` 32 :: Ptr Offset3D)) (imageOffset)+ poke ((p `plusPtr` 44 :: Ptr Extent3D)) (imageExtent)+ f+ cStructSize = 56+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr DeviceAddress)) (zero)+ poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)+ poke ((p `plusPtr` 12 :: Ptr Word32)) (zero)+ poke ((p `plusPtr` 16 :: Ptr ImageSubresourceLayers)) (zero)+ poke ((p `plusPtr` 32 :: Ptr Offset3D)) (zero)+ poke ((p `plusPtr` 44 :: Ptr Extent3D)) (zero)+ f++instance FromCStruct CopyMemoryToImageIndirectCommandNV where+ peekCStruct p = do+ srcAddress <- peek @DeviceAddress ((p `plusPtr` 0 :: Ptr DeviceAddress))+ bufferRowLength <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))+ bufferImageHeight <- peek @Word32 ((p `plusPtr` 12 :: Ptr Word32))+ imageSubresource <- peekCStruct @ImageSubresourceLayers ((p `plusPtr` 16 :: Ptr ImageSubresourceLayers))+ imageOffset <- peekCStruct @Offset3D ((p `plusPtr` 32 :: Ptr Offset3D))+ imageExtent <- peekCStruct @Extent3D ((p `plusPtr` 44 :: Ptr Extent3D))+ pure $ CopyMemoryToImageIndirectCommandNV+ srcAddress+ bufferRowLength+ bufferImageHeight+ imageSubresource+ imageOffset+ imageExtent++instance Storable CopyMemoryToImageIndirectCommandNV where+ sizeOf ~_ = 56+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero CopyMemoryToImageIndirectCommandNV where+ zero = CopyMemoryToImageIndirectCommandNV+ zero+ zero+ zero+ zero+ zero+ zero+++-- | VkPhysicalDeviceCopyMemoryIndirectFeaturesNV - Structure describing+-- indirect copy features supported by an implementation+--+-- = Members+--+-- This structure describes the following features:+--+-- = Description+--+-- If the 'PhysicalDeviceCopyMemoryIndirectFeaturesNV' structure is+-- included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',+-- it is filled in to indicate whether each corresponding feature is+-- supported. 'PhysicalDeviceCopyMemoryIndirectFeaturesNV' /can/ also be+-- used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to+-- selectively enable these features.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_copy_memory_indirect VK_NV_copy_memory_indirect>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceCopyMemoryIndirectFeaturesNV = PhysicalDeviceCopyMemoryIndirectFeaturesNV+ { -- | #features-indirectCopy# @indirectCopy@ indicates whether+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#indirect-copies indirect copies>+ -- are supported.+ indirectCopy :: Bool }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceCopyMemoryIndirectFeaturesNV)+#endif+deriving instance Show PhysicalDeviceCopyMemoryIndirectFeaturesNV++instance ToCStruct PhysicalDeviceCopyMemoryIndirectFeaturesNV where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceCopyMemoryIndirectFeaturesNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (indirectCopy))+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+ f++instance FromCStruct PhysicalDeviceCopyMemoryIndirectFeaturesNV where+ peekCStruct p = do+ indirectCopy <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+ pure $ PhysicalDeviceCopyMemoryIndirectFeaturesNV+ (bool32ToBool indirectCopy)++instance Storable PhysicalDeviceCopyMemoryIndirectFeaturesNV where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceCopyMemoryIndirectFeaturesNV where+ zero = PhysicalDeviceCopyMemoryIndirectFeaturesNV+ zero+++-- | VkPhysicalDeviceCopyMemoryIndirectPropertiesNV - Structure describing+-- supported queues for indirect copy+--+-- = Description+--+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirect copies>+-- feature is supported, @supportedQueues@ /must/ return at least one+-- supported queue.+--+-- If the 'PhysicalDeviceCopyMemoryIndirectPropertiesNV' structure is+-- included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',+-- it is filled in with each corresponding implementation-dependent+-- property.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_copy_memory_indirect VK_NV_copy_memory_indirect>,+-- 'Vulkan.Core10.Enums.QueueFlagBits.QueueFlags',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceCopyMemoryIndirectPropertiesNV = PhysicalDeviceCopyMemoryIndirectPropertiesNV+ { -- | @supportedQueues@ is a bitmask of+ -- 'Vulkan.Core10.Enums.QueueFlagBits.QueueFlagBits' indicating the queues+ -- on which+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#indirect-copies indirect copy commands>+ -- are supported.+ supportedQueues :: QueueFlags }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceCopyMemoryIndirectPropertiesNV)+#endif+deriving instance Show PhysicalDeviceCopyMemoryIndirectPropertiesNV++instance ToCStruct PhysicalDeviceCopyMemoryIndirectPropertiesNV where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceCopyMemoryIndirectPropertiesNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr QueueFlags)) (supportedQueues)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr QueueFlags)) (zero)+ f++instance FromCStruct PhysicalDeviceCopyMemoryIndirectPropertiesNV where+ peekCStruct p = do+ supportedQueues <- peek @QueueFlags ((p `plusPtr` 16 :: Ptr QueueFlags))+ pure $ PhysicalDeviceCopyMemoryIndirectPropertiesNV+ supportedQueues++instance Storable PhysicalDeviceCopyMemoryIndirectPropertiesNV where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceCopyMemoryIndirectPropertiesNV where+ zero = PhysicalDeviceCopyMemoryIndirectPropertiesNV+ zero+++type NV_COPY_MEMORY_INDIRECT_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION"+pattern NV_COPY_MEMORY_INDIRECT_SPEC_VERSION :: forall a . Integral a => a+pattern NV_COPY_MEMORY_INDIRECT_SPEC_VERSION = 1+++type NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME = "VK_NV_copy_memory_indirect"++-- No documentation found for TopLevel "VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME"+pattern NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME = "VK_NV_copy_memory_indirect"+
+ src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs-boot view
@@ -0,0 +1,153 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_copy_memory_indirect - device extension+--+-- == VK_NV_copy_memory_indirect+--+-- [__Name String__]+-- @VK_NV_copy_memory_indirect@+--+-- [__Extension Type__]+-- Device extension+--+-- [__Registered Extension Number__]+-- 427+--+-- [__Revision__]+-- 1+--+-- [__Extension and Version Dependencies__]+--+-- - Requires support for Vulkan 1.0+--+-- - Requires @VK_KHR_get_physical_device_properties2@ to be enabled+-- for any device-level functionality+--+-- - Requires @VK_KHR_buffer_device_address@ to be enabled for any+-- device-level functionality+--+-- [__Contact__]+--+-- - Vikram Kushwaha+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_copy_memory_indirect] @vkushwaha-nv%0A*Here describe the issue or question you have about the VK_NV_copy_memory_indirect extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+-- 2022-10-14+--+-- [__Contributors__]+--+-- - Vikram Kushwaha, NVIDIA+--+-- - Jeff Bolz, NVIDIA+--+-- - Christoph Kubisch, NVIDIA+--+-- - Daniel Koch, NVIDIA+--+-- == Description+--+-- This extension adds support for performing copies between memory and+-- image regions using indirect parameters that are read by the device from+-- a buffer during execution. This functionality /may/ be useful for+-- performing copies where the copy parameters are not known during the+-- command buffer creation time.+--+-- == New Commands+--+-- - 'cmdCopyMemoryIndirectNV'+--+-- - 'cmdCopyMemoryToImageIndirectNV'+--+-- == New Structures+--+-- - 'CopyMemoryIndirectCommandNV'+--+-- - 'CopyMemoryToImageIndirectCommandNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- 'Vulkan.Core10.Device.DeviceCreateInfo':+--+-- - 'PhysicalDeviceCopyMemoryIndirectFeaturesNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+-- - 'PhysicalDeviceCopyMemoryIndirectPropertiesNV'+--+-- == New Enum Constants+--+-- - 'NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME'+--+-- - 'NV_COPY_MEMORY_INDIRECT_SPEC_VERSION'+--+-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV'+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV'+--+-- == Version History+--+-- - Revision 1, 2022-10-14 (Vikram Kushwaha)+--+-- - Initial draft+--+-- == See Also+--+-- 'CopyMemoryIndirectCommandNV', 'CopyMemoryToImageIndirectCommandNV',+-- 'PhysicalDeviceCopyMemoryIndirectFeaturesNV',+-- 'PhysicalDeviceCopyMemoryIndirectPropertiesNV',+-- 'cmdCopyMemoryIndirectNV', 'cmdCopyMemoryToImageIndirectNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_copy_memory_indirect Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_copy_memory_indirect ( CopyMemoryIndirectCommandNV+ , CopyMemoryToImageIndirectCommandNV+ , PhysicalDeviceCopyMemoryIndirectFeaturesNV+ , PhysicalDeviceCopyMemoryIndirectPropertiesNV+ ) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data CopyMemoryIndirectCommandNV++instance ToCStruct CopyMemoryIndirectCommandNV+instance Show CopyMemoryIndirectCommandNV++instance FromCStruct CopyMemoryIndirectCommandNV+++data CopyMemoryToImageIndirectCommandNV++instance ToCStruct CopyMemoryToImageIndirectCommandNV+instance Show CopyMemoryToImageIndirectCommandNV++instance FromCStruct CopyMemoryToImageIndirectCommandNV+++data PhysicalDeviceCopyMemoryIndirectFeaturesNV++instance ToCStruct PhysicalDeviceCopyMemoryIndirectFeaturesNV+instance Show PhysicalDeviceCopyMemoryIndirectFeaturesNV++instance FromCStruct PhysicalDeviceCopyMemoryIndirectFeaturesNV+++data PhysicalDeviceCopyMemoryIndirectPropertiesNV++instance ToCStruct PhysicalDeviceCopyMemoryIndirectPropertiesNV+instance Show PhysicalDeviceCopyMemoryIndirectPropertiesNV++instance FromCStruct PhysicalDeviceCopyMemoryIndirectPropertiesNV+
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -847,9 +847,10 @@ -- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-02699# Descriptors in -- each bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command@@ -2293,7 +2294,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-dynamicPrimitiveTopologyUnrestricted dynamicPrimitiveTopologyUnrestricted> -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then the -- @primitiveTopology@ parameter in the last call to--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopology' -- /must/ be of the same -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class> -- as the pipeline@@ -2340,9 +2341,9 @@ -- -- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-04879# If the bound -- graphics pipeline state was created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE' -- dynamic state enabled then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable' -- /must/ have been called in the current command buffer prior to this -- drawing command --
src/Vulkan/Extensions/VK_NV_linear_color_attachment.hs view
@@ -142,7 +142,7 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV)) -- | VkPhysicalDeviceLinearColorAttachmentFeaturesNV - Structure describing -- whether--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#glossary Linear Color Attachment>+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#glossary-linear-color-attachment Linear Color Attachment> -- rendering is supported by the implementation -- -- = Members@@ -171,7 +171,7 @@ data PhysicalDeviceLinearColorAttachmentFeaturesNV = PhysicalDeviceLinearColorAttachmentFeaturesNV { -- | #features-linearColorAttachment# @linearColorAttachment@ indicates -- whether the implementation supports renderable- -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#glossary Linear Color Attachment>+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#glossary-linear-color-attachment Linear Color Attachment> linearColorAttachment :: Bool } deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES)
+ src/Vulkan/Extensions/VK_NV_memory_decompression.hs view
@@ -0,0 +1,746 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_memory_decompression - device extension+--+-- == VK_NV_memory_decompression+--+-- [__Name String__]+-- @VK_NV_memory_decompression@+--+-- [__Extension Type__]+-- Device extension+--+-- [__Registered Extension Number__]+-- 428+--+-- [__Revision__]+-- 1+--+-- [__Extension and Version Dependencies__]+--+-- - Requires support for Vulkan 1.0+--+-- - Requires @VK_KHR_get_physical_device_properties2@ to be enabled+-- for any device-level functionality+--+-- - Requires @VK_KHR_buffer_device_address@ to be enabled for any+-- device-level functionality+--+-- [__Contact__]+--+-- - Vikram Kushwaha+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_memory_decompression] @vkushwaha-nv%0A*Here describe the issue or question you have about the VK_NV_memory_decompression extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+-- 2022-01-31+--+-- [__Contributors__]+--+-- - Vikram Kushwaha, NVIDIA+--+-- - Jeff Bolz, NVIDIA+--+-- - Christoph Kubisch, NVIDIA+--+-- - Piers Daniell, NVIDIA+--+-- == Description+--+-- This extension adds support for performing memory to memory+-- decompression.+--+-- == New Commands+--+-- - 'cmdDecompressMemoryIndirectCountNV'+--+-- - 'cmdDecompressMemoryNV'+--+-- == New Structures+--+-- - 'DecompressMemoryRegionNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- 'Vulkan.Core10.Device.DeviceCreateInfo':+--+-- - 'PhysicalDeviceMemoryDecompressionFeaturesNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+-- - 'PhysicalDeviceMemoryDecompressionPropertiesNV'+--+-- == New Enums+--+-- - 'MemoryDecompressionMethodFlagBitsNV'+--+-- == New Bitmasks+--+-- - 'MemoryDecompressionMethodFlagsNV'+--+-- == New Enum Constants+--+-- - 'NV_MEMORY_DECOMPRESSION_EXTENSION_NAME'+--+-- - 'NV_MEMORY_DECOMPRESSION_SPEC_VERSION'+--+-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV'+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV'+--+-- == Version History+--+-- - Revision 1, 2022-01-31 (Vikram Kushwaha)+--+-- - Initial draft+--+-- == See Also+--+-- 'DecompressMemoryRegionNV', 'MemoryDecompressionMethodFlagBitsNV',+-- 'MemoryDecompressionMethodFlagsNV',+-- 'PhysicalDeviceMemoryDecompressionFeaturesNV',+-- 'PhysicalDeviceMemoryDecompressionPropertiesNV',+-- 'cmdDecompressMemoryIndirectCountNV', 'cmdDecompressMemoryNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_memory_decompression Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_memory_decompression ( cmdDecompressMemoryNV+ , cmdDecompressMemoryIndirectCountNV+ , PhysicalDeviceMemoryDecompressionFeaturesNV(..)+ , PhysicalDeviceMemoryDecompressionPropertiesNV(..)+ , DecompressMemoryRegionNV(..)+ , MemoryDecompressionMethodFlagsNV+ , MemoryDecompressionMethodFlagBitsNV( MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV+ , ..+ )+ , NV_MEMORY_DECOMPRESSION_SPEC_VERSION+ , pattern NV_MEMORY_DECOMPRESSION_SPEC_VERSION+ , NV_MEMORY_DECOMPRESSION_EXTENSION_NAME+ , pattern NV_MEMORY_DECOMPRESSION_EXTENSION_NAME+ ) where++import Vulkan.Internal.Utils (enumReadPrec)+import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent)+import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Foreign.Marshal.Alloc (allocaBytes)+import GHC.IO (throwIO)+import GHC.Ptr (nullFunPtr)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import GHC.Show (showString)+import Numeric (showHex)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+import qualified Data.Vector (imapM_)+import qualified Data.Vector (length)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero)+import Vulkan.Zero (Zero(..))+import Control.Monad.IO.Class (MonadIO)+import Data.Bits (Bits)+import Data.Bits (FiniteBits)+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import GHC.IO.Exception (IOErrorType(..))+import GHC.IO.Exception (IOException(..))+import Foreign.Ptr (FunPtr)+import Foreign.Ptr (Ptr)+import GHC.Read (Read(readPrec))+import GHC.Show (Show(showsPrec))+import Data.Word (Word32)+import Data.Word (Word64)+import Data.Kind (Type)+import Control.Monad.Trans.Cont (ContT(..))+import Data.Vector (Vector)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.NamedType ((:::))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Handles (CommandBuffer)+import Vulkan.Core10.Handles (CommandBuffer(..))+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))+import Vulkan.Core10.Handles (CommandBuffer_T)+import Vulkan.Core10.FundamentalTypes (DeviceAddress)+import Vulkan.Dynamic (DeviceCmds(pVkCmdDecompressMemoryIndirectCountNV))+import Vulkan.Dynamic (DeviceCmds(pVkCmdDecompressMemoryNV))+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.Core10.FundamentalTypes (Flags64)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdDecompressMemoryNV+ :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr DecompressMemoryRegionNV -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr DecompressMemoryRegionNV -> IO ()++-- | vkCmdDecompressMemoryNV - Decompress data between memory regions+--+-- = Description+--+-- Each region specified in @pDecompressMemoryRegions@ is decompressed from+-- the source to destination region based on the specified decompression+-- method.+--+-- == Valid Usage+--+-- - #VUID-vkCmdDecompressMemoryNV-None-07684#+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-memoryDecompression memoryDecompression>+-- /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkCmdDecompressMemoryNV-commandBuffer-parameter#+-- @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - #VUID-vkCmdDecompressMemoryNV-pDecompressMemoryRegions-parameter#+-- @pDecompressMemoryRegions@ /must/ be a valid pointer to an array of+-- @decompressRegionCount@ valid 'DecompressMemoryRegionNV' structures+--+-- - #VUID-vkCmdDecompressMemoryNV-commandBuffer-recording#+-- @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - #VUID-vkCmdDecompressMemoryNV-commandBuffer-cmdpool# The+-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics, or compute operations+--+-- - #VUID-vkCmdDecompressMemoryNV-renderpass# This command /must/ only+-- be called outside of a render pass instance+--+-- - #VUID-vkCmdDecompressMemoryNV-videocoding# This command /must/ only+-- be called outside of a video coding scope+--+-- - #VUID-vkCmdDecompressMemoryNV-decompressRegionCount-arraylength#+-- @decompressRegionCount@ /must/ be greater than @0@+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================++-- | Primary | Outside | Outside | Graphics | Action |+-- | Secondary | | | Compute | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_memory_decompression VK_NV_memory_decompression>,+-- 'Vulkan.Core10.Handles.CommandBuffer', 'DecompressMemoryRegionNV'+cmdDecompressMemoryNV :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @pDecompressMemoryRegions@ is a pointer to an array of size+ -- @decompressRegionCount@ of 'DecompressMemoryRegionNV' structures used to+ -- specify the decompression parameters.+ ("decompressMemoryRegions" ::: Vector DecompressMemoryRegionNV)+ -> io ()+cmdDecompressMemoryNV commandBuffer+ decompressMemoryRegions = liftIO . evalContT $ do+ let vkCmdDecompressMemoryNVPtr = pVkCmdDecompressMemoryNV (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+ lift $ unless (vkCmdDecompressMemoryNVPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDecompressMemoryNV is null" Nothing Nothing+ let vkCmdDecompressMemoryNV' = mkVkCmdDecompressMemoryNV vkCmdDecompressMemoryNVPtr+ pPDecompressMemoryRegions <- ContT $ allocaBytes @DecompressMemoryRegionNV ((Data.Vector.length (decompressMemoryRegions)) * 40)+ lift $ Data.Vector.imapM_ (\i e -> poke (pPDecompressMemoryRegions `plusPtr` (40 * (i)) :: Ptr DecompressMemoryRegionNV) (e)) (decompressMemoryRegions)+ lift $ traceAroundEvent "vkCmdDecompressMemoryNV" (vkCmdDecompressMemoryNV'+ (commandBufferHandle (commandBuffer))+ ((fromIntegral (Data.Vector.length $ (decompressMemoryRegions)) :: Word32))+ (pPDecompressMemoryRegions))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdDecompressMemoryIndirectCountNV+ :: FunPtr (Ptr CommandBuffer_T -> DeviceAddress -> DeviceAddress -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> DeviceAddress -> DeviceAddress -> Word32 -> IO ()++-- | vkCmdDecompressMemoryIndirectCountNV - Indirect decompress data between+-- memory regions+--+-- = Description+--+-- Each region specified in @indirectCommandsAddress@ is decompressed from+-- the source to destination region based on the specified decompression+-- method.+--+-- == Valid Usage+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-None-07692#+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-memoryDecompression memoryDecompression>+-- /must/ be enabled+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsAddress-07693#+-- If @indirectCommandsAddress@ comes from a non-sparse buffer then it+-- /must/ be bound completely and contiguously to a single+-- 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsAddress-07694#+-- The 'Vulkan.Core10.Handles.Buffer' that @indirectCommandsAddress@+-- comes from /must/ have been created with the+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_INDIRECT_BUFFER_BIT'+-- bit set+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-offset-07695# @offset@+-- /must/ be a multiple of @4@+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07696#+-- If @indirectCommandsCountAddress@ comes from a non-sparse buffer+-- then it /must/ be bound completely and contiguously to a single+-- 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07697#+-- The 'Vulkan.Core10.Handles.Buffer' that+-- @indirectCommandsCountAddress@ comes from /must/ have been created+-- with the+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_INDIRECT_BUFFER_BIT'+-- bit set+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07698#+-- @indirectCommandsCountAddress@ /must/ be a multiple of @4@+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07699#+-- The count stored in @indirectCommandsCountAddress@ /must/ be less+-- than or equal to+-- 'PhysicalDeviceMemoryDecompressionPropertiesNV'::@maxDecompressionIndirectCount@+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-stride-07700# @stride@+-- /must/ be a multiple of @4@ and /must/ be greater than or equal to+-- sizeof('DecompressMemoryRegionNV')+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07701#+-- If the count stored in @indirectCommandsCountAddress@ is equal to+-- @1@, (@offset@ + sizeof('DecompressMemoryRegionNV')) /must/ be less+-- than or equal to the size of the 'Vulkan.Core10.Handles.Buffer' that+-- @indirectCommandsAddress@ comes from+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07702#+-- If the count stored in @indirectCommandsCountAddress@ is greater+-- than @1@, @indirectCommandsAddress@ ++-- sizeof('DecompressMemoryRegionNV') + (@stride@ × (count stored in+-- @countBuffer@ - 1)) /must/ be less than or equal to the last valid+-- address in the 'Vulkan.Core10.Handles.Buffer' that+-- @indirectCommandsAddress@ was created from+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-parameter#+-- @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-recording#+-- @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-cmdpool#+-- The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics, or compute operations+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-renderpass# This command+-- /must/ only be called outside of a render pass instance+--+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-videocoding# This command+-- /must/ only be called outside of a video coding scope+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================++-- | Primary | Outside | Outside | Graphics | Action |+-- | Secondary | | | Compute | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_memory_decompression VK_NV_memory_decompression>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress'+cmdDecompressMemoryIndirectCountNV :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @indirectCommandsAddress@ is the device address containing decompression+ -- parameters laid out as an array of 'DecompressMemoryRegionNV'+ -- structures.+ ("indirectCommandsAddress" ::: DeviceAddress)+ -> -- | @indirectCommandsCountAddress@ is the device address containing the+ -- decompression count.+ ("indirectCommandsCountAddress" ::: DeviceAddress)+ -> -- | @stride@ is the byte stride between successive sets of decompression+ -- parameters located starting from @indirectCommandsAddress@.+ ("stride" ::: Word32)+ -> io ()+cmdDecompressMemoryIndirectCountNV commandBuffer+ indirectCommandsAddress+ indirectCommandsCountAddress+ stride = liftIO $ do+ let vkCmdDecompressMemoryIndirectCountNVPtr = pVkCmdDecompressMemoryIndirectCountNV (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+ unless (vkCmdDecompressMemoryIndirectCountNVPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdDecompressMemoryIndirectCountNV is null" Nothing Nothing+ let vkCmdDecompressMemoryIndirectCountNV' = mkVkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNVPtr+ traceAroundEvent "vkCmdDecompressMemoryIndirectCountNV" (vkCmdDecompressMemoryIndirectCountNV'+ (commandBufferHandle (commandBuffer))+ (indirectCommandsAddress)+ (indirectCommandsCountAddress)+ (stride))+ pure $ ()+++-- | VkPhysicalDeviceMemoryDecompressionFeaturesNV - Structure describing if+-- memory decompression is supported by an implementation+--+-- = Members+--+-- This structure describes the following features:+--+-- = Description+--+-- If the 'PhysicalDeviceMemoryDecompressionFeaturesNV' structure is+-- included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',+-- it is filled in to indicate whether each corresponding feature is+-- supported. 'PhysicalDeviceMemoryDecompressionFeaturesNV' /can/ also be+-- used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to+-- selectively enable these features.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_memory_decompression VK_NV_memory_decompression>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceMemoryDecompressionFeaturesNV = PhysicalDeviceMemoryDecompressionFeaturesNV+ { -- | #features-memoryDecompression# @memoryDecompression@ indicates whether+ -- memory decompression is supported.+ memoryDecompression :: Bool }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceMemoryDecompressionFeaturesNV)+#endif+deriving instance Show PhysicalDeviceMemoryDecompressionFeaturesNV++instance ToCStruct PhysicalDeviceMemoryDecompressionFeaturesNV where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceMemoryDecompressionFeaturesNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (memoryDecompression))+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+ f++instance FromCStruct PhysicalDeviceMemoryDecompressionFeaturesNV where+ peekCStruct p = do+ memoryDecompression <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+ pure $ PhysicalDeviceMemoryDecompressionFeaturesNV+ (bool32ToBool memoryDecompression)++instance Storable PhysicalDeviceMemoryDecompressionFeaturesNV where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceMemoryDecompressionFeaturesNV where+ zero = PhysicalDeviceMemoryDecompressionFeaturesNV+ zero+++-- | VkPhysicalDeviceMemoryDecompressionPropertiesNV - Structure describing+-- supported memory decompression methods by an implementation+--+-- = Description+--+-- If the 'PhysicalDeviceMemoryDecompressionPropertiesNV' structure is+-- included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',+-- it is filled in with each corresponding implementation-dependent+-- property.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_memory_decompression VK_NV_memory_decompression>,+-- 'MemoryDecompressionMethodFlagsNV',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceMemoryDecompressionPropertiesNV = PhysicalDeviceMemoryDecompressionPropertiesNV+ { -- | @decompressionMethods@ specifies the list of all the memory+ -- decompression methods supported by the implementation as a bitmask of+ -- 'MemoryDecompressionMethodFlagBitsNV'.+ decompressionMethods :: MemoryDecompressionMethodFlagsNV+ , -- | @maxDecompressionIndirectCount@ specifies the maximum supported count+ -- value in the @countBuffer@ of 'cmdDecompressMemoryIndirectCountNV'+ maxDecompressionIndirectCount :: Word64+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceMemoryDecompressionPropertiesNV)+#endif+deriving instance Show PhysicalDeviceMemoryDecompressionPropertiesNV++instance ToCStruct PhysicalDeviceMemoryDecompressionPropertiesNV where+ withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceMemoryDecompressionPropertiesNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr MemoryDecompressionMethodFlagsNV)) (decompressionMethods)+ poke ((p `plusPtr` 24 :: Ptr Word64)) (maxDecompressionIndirectCount)+ f+ cStructSize = 32+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr MemoryDecompressionMethodFlagsNV)) (zero)+ poke ((p `plusPtr` 24 :: Ptr Word64)) (zero)+ f++instance FromCStruct PhysicalDeviceMemoryDecompressionPropertiesNV where+ peekCStruct p = do+ decompressionMethods <- peek @MemoryDecompressionMethodFlagsNV ((p `plusPtr` 16 :: Ptr MemoryDecompressionMethodFlagsNV))+ maxDecompressionIndirectCount <- peek @Word64 ((p `plusPtr` 24 :: Ptr Word64))+ pure $ PhysicalDeviceMemoryDecompressionPropertiesNV+ decompressionMethods maxDecompressionIndirectCount++instance Storable PhysicalDeviceMemoryDecompressionPropertiesNV where+ sizeOf ~_ = 32+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceMemoryDecompressionPropertiesNV where+ zero = PhysicalDeviceMemoryDecompressionPropertiesNV+ zero+ zero+++-- | VkDecompressMemoryRegionNV - Structure specifying decompression+-- parameters+--+-- == Valid Usage+--+-- - #VUID-VkDecompressMemoryRegionNV-srcAddress-07685# The @srcAddress@+-- /must/ be 4 byte aligned+--+-- - #VUID-VkDecompressMemoryRegionNV-srcAddress-07686# The memory in+-- range @srcAddress@ and @srcAddress@ + @compressedSize@ /must/ be+-- valid and bound to a 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- - #VUID-VkDecompressMemoryRegionNV-dstAddress-07687# The @dstAddress@+-- /must/ be 4 byte aligned+--+-- - #VUID-VkDecompressMemoryRegionNV-dstAddress-07688# The memory in+-- range @dstAddress@ and @dstAddress@ + @decompressedSize@ /must/ be+-- valid and bound to a 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- - #VUID-VkDecompressMemoryRegionNV-decompressedSize-07689# The+-- @decompressedSize@ /must/ be large enough to hold the decompressed+-- data based on the @decompressionMethod@+--+-- - #VUID-VkDecompressMemoryRegionNV-decompressionMethod-07690# The+-- @decompressionMethod@ /must/ have a single bit set+--+-- - #VUID-VkDecompressMemoryRegionNV-srcAddress-07691# The @srcAddress@+-- to @srcAddress@ + @compressedSize@ region /must/ not overlap with+-- the @dstAddress@ and @dstAddress@ + @decompressedSize@ region+--+-- == Valid Usage (Implicit)+--+-- - #VUID-VkDecompressMemoryRegionNV-decompressionMethod-parameter#+-- @decompressionMethod@ /must/ be a valid combination of+-- 'MemoryDecompressionMethodFlagBitsNV' values+--+-- - #VUID-VkDecompressMemoryRegionNV-decompressionMethod-requiredbitmask#+-- @decompressionMethod@ /must/ not be @0@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_memory_decompression VK_NV_memory_decompression>,+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'MemoryDecompressionMethodFlagsNV', 'cmdDecompressMemoryNV'+data DecompressMemoryRegionNV = DecompressMemoryRegionNV+ { -- | @srcAddress@ is the address where compressed data is stored.+ srcAddress :: DeviceAddress+ , -- | @dstAddress@ is the destination address where decompressed data will be+ -- written.+ dstAddress :: DeviceAddress+ , -- | @compressedSize@ is the size of compressed data in bytes.+ compressedSize :: DeviceSize+ , -- | @decompressedSize@ is the size of decompressed data in bytes.+ decompressedSize :: DeviceSize+ , -- | @decompressionMethod@ is a single bit value from+ -- 'MemoryDecompressionMethodFlagBitsNV' which specifies the decompression+ -- method used to decompress data.+ decompressionMethod :: MemoryDecompressionMethodFlagsNV+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (DecompressMemoryRegionNV)+#endif+deriving instance Show DecompressMemoryRegionNV++instance ToCStruct DecompressMemoryRegionNV where+ withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p DecompressMemoryRegionNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr DeviceAddress)) (srcAddress)+ poke ((p `plusPtr` 8 :: Ptr DeviceAddress)) (dstAddress)+ poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (compressedSize)+ poke ((p `plusPtr` 24 :: Ptr DeviceSize)) (decompressedSize)+ poke ((p `plusPtr` 32 :: Ptr MemoryDecompressionMethodFlagsNV)) (decompressionMethod)+ f+ cStructSize = 40+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr DeviceAddress)) (zero)+ poke ((p `plusPtr` 8 :: Ptr DeviceAddress)) (zero)+ poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 24 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 32 :: Ptr MemoryDecompressionMethodFlagsNV)) (zero)+ f++instance FromCStruct DecompressMemoryRegionNV where+ peekCStruct p = do+ srcAddress <- peek @DeviceAddress ((p `plusPtr` 0 :: Ptr DeviceAddress))+ dstAddress <- peek @DeviceAddress ((p `plusPtr` 8 :: Ptr DeviceAddress))+ compressedSize <- peek @DeviceSize ((p `plusPtr` 16 :: Ptr DeviceSize))+ decompressedSize <- peek @DeviceSize ((p `plusPtr` 24 :: Ptr DeviceSize))+ decompressionMethod <- peek @MemoryDecompressionMethodFlagsNV ((p `plusPtr` 32 :: Ptr MemoryDecompressionMethodFlagsNV))+ pure $ DecompressMemoryRegionNV+ srcAddress+ dstAddress+ compressedSize+ decompressedSize+ decompressionMethod++instance Storable DecompressMemoryRegionNV where+ sizeOf ~_ = 40+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero DecompressMemoryRegionNV where+ zero = DecompressMemoryRegionNV+ zero+ zero+ zero+ zero+ zero+++type MemoryDecompressionMethodFlagsNV = MemoryDecompressionMethodFlagBitsNV++-- | VkMemoryDecompressionMethodFlagBitsNV - List the supported memory+-- decompression methods+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_memory_decompression VK_NV_memory_decompression>+newtype MemoryDecompressionMethodFlagBitsNV = MemoryDecompressionMethodFlagBitsNV Flags64+ deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)++-- | 'MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV' specifies that+-- GDEFLATE 1.0 algorithm is used to decompress data.+pattern MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = MemoryDecompressionMethodFlagBitsNV 0x0000000000000001++conNameMemoryDecompressionMethodFlagBitsNV :: String+conNameMemoryDecompressionMethodFlagBitsNV = "MemoryDecompressionMethodFlagBitsNV"++enumPrefixMemoryDecompressionMethodFlagBitsNV :: String+enumPrefixMemoryDecompressionMethodFlagBitsNV = "MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV"++showTableMemoryDecompressionMethodFlagBitsNV :: [(MemoryDecompressionMethodFlagBitsNV, String)]+showTableMemoryDecompressionMethodFlagBitsNV =+ [+ ( MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV+ , ""+ )+ ]++instance Show MemoryDecompressionMethodFlagBitsNV where+ showsPrec =+ enumShowsPrec+ enumPrefixMemoryDecompressionMethodFlagBitsNV+ showTableMemoryDecompressionMethodFlagBitsNV+ conNameMemoryDecompressionMethodFlagBitsNV+ (\(MemoryDecompressionMethodFlagBitsNV x) -> x)+ (\x -> showString "0x" . showHex x)++instance Read MemoryDecompressionMethodFlagBitsNV where+ readPrec =+ enumReadPrec+ enumPrefixMemoryDecompressionMethodFlagBitsNV+ showTableMemoryDecompressionMethodFlagBitsNV+ conNameMemoryDecompressionMethodFlagBitsNV+ MemoryDecompressionMethodFlagBitsNV++type NV_MEMORY_DECOMPRESSION_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION"+pattern NV_MEMORY_DECOMPRESSION_SPEC_VERSION :: forall a . Integral a => a+pattern NV_MEMORY_DECOMPRESSION_SPEC_VERSION = 1+++type NV_MEMORY_DECOMPRESSION_EXTENSION_NAME = "VK_NV_memory_decompression"++-- No documentation found for TopLevel "VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME"+pattern NV_MEMORY_DECOMPRESSION_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern NV_MEMORY_DECOMPRESSION_EXTENSION_NAME = "VK_NV_memory_decompression"+
+ src/Vulkan/Extensions/VK_NV_memory_decompression.hs-boot view
@@ -0,0 +1,148 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_memory_decompression - device extension+--+-- == VK_NV_memory_decompression+--+-- [__Name String__]+-- @VK_NV_memory_decompression@+--+-- [__Extension Type__]+-- Device extension+--+-- [__Registered Extension Number__]+-- 428+--+-- [__Revision__]+-- 1+--+-- [__Extension and Version Dependencies__]+--+-- - Requires support for Vulkan 1.0+--+-- - Requires @VK_KHR_get_physical_device_properties2@ to be enabled+-- for any device-level functionality+--+-- - Requires @VK_KHR_buffer_device_address@ to be enabled for any+-- device-level functionality+--+-- [__Contact__]+--+-- - Vikram Kushwaha+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_memory_decompression] @vkushwaha-nv%0A*Here describe the issue or question you have about the VK_NV_memory_decompression extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+-- 2022-01-31+--+-- [__Contributors__]+--+-- - Vikram Kushwaha, NVIDIA+--+-- - Jeff Bolz, NVIDIA+--+-- - Christoph Kubisch, NVIDIA+--+-- - Piers Daniell, NVIDIA+--+-- == Description+--+-- This extension adds support for performing memory to memory+-- decompression.+--+-- == New Commands+--+-- - 'cmdDecompressMemoryIndirectCountNV'+--+-- - 'cmdDecompressMemoryNV'+--+-- == New Structures+--+-- - 'DecompressMemoryRegionNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- 'Vulkan.Core10.Device.DeviceCreateInfo':+--+-- - 'PhysicalDeviceMemoryDecompressionFeaturesNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+-- - 'PhysicalDeviceMemoryDecompressionPropertiesNV'+--+-- == New Enums+--+-- - 'MemoryDecompressionMethodFlagBitsNV'+--+-- == New Bitmasks+--+-- - 'MemoryDecompressionMethodFlagsNV'+--+-- == New Enum Constants+--+-- - 'NV_MEMORY_DECOMPRESSION_EXTENSION_NAME'+--+-- - 'NV_MEMORY_DECOMPRESSION_SPEC_VERSION'+--+-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV'+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV'+--+-- == Version History+--+-- - Revision 1, 2022-01-31 (Vikram Kushwaha)+--+-- - Initial draft+--+-- == See Also+--+-- 'DecompressMemoryRegionNV', 'MemoryDecompressionMethodFlagBitsNV',+-- 'MemoryDecompressionMethodFlagsNV',+-- 'PhysicalDeviceMemoryDecompressionFeaturesNV',+-- 'PhysicalDeviceMemoryDecompressionPropertiesNV',+-- 'cmdDecompressMemoryIndirectCountNV', 'cmdDecompressMemoryNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_memory_decompression Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_memory_decompression ( DecompressMemoryRegionNV+ , PhysicalDeviceMemoryDecompressionFeaturesNV+ , PhysicalDeviceMemoryDecompressionPropertiesNV+ ) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data DecompressMemoryRegionNV++instance ToCStruct DecompressMemoryRegionNV+instance Show DecompressMemoryRegionNV++instance FromCStruct DecompressMemoryRegionNV+++data PhysicalDeviceMemoryDecompressionFeaturesNV++instance ToCStruct PhysicalDeviceMemoryDecompressionFeaturesNV+instance Show PhysicalDeviceMemoryDecompressionFeaturesNV++instance FromCStruct PhysicalDeviceMemoryDecompressionFeaturesNV+++data PhysicalDeviceMemoryDecompressionPropertiesNV++instance ToCStruct PhysicalDeviceMemoryDecompressionPropertiesNV+instance Show PhysicalDeviceMemoryDecompressionPropertiesNV++instance FromCStruct PhysicalDeviceMemoryDecompressionPropertiesNV+
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -475,9 +475,10 @@ -- - #VUID-vkCmdDrawMeshTasksNV-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMeshTasksNV-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command@@ -2156,9 +2157,10 @@ -- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-02699# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command@@ -3890,9 +3892,10 @@ -- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02699# Descriptors in -- each bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -1826,9 +1826,10 @@ -- - #VUID-vkCmdTraceRaysNV-None-02699# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid if they are statically used by the--- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point--- used by this command+-- be valid as described by+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>+-- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'+-- bound to the pipeline bind point used by this command -- -- - #VUID-vkCmdTraceRaysNV-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command
+ src/Vulkan/Extensions/VK_NV_ray_tracing_invocation_reorder.hs view
@@ -0,0 +1,365 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_ray_tracing_invocation_reorder - device extension+--+-- == VK_NV_ray_tracing_invocation_reorder+--+-- [__Name String__]+-- @VK_NV_ray_tracing_invocation_reorder@+--+-- [__Extension Type__]+-- Device extension+--+-- [__Registered Extension Number__]+-- 491+--+-- [__Revision__]+-- 1+--+-- [__Extension and Version Dependencies__]+--+-- - Requires support for Vulkan 1.0+--+-- - Requires @VK_KHR_ray_tracing_pipeline@ to be enabled for any+-- device-level functionality+--+-- [__Contact__]+--+-- - Eric Werness+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_ray_tracing_invocation_reorder] @ewerness-nv%0A*Here describe the issue or question you have about the VK_NV_ray_tracing_invocation_reorder extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+-- 2022-11-02+--+-- [__Interactions and External Dependencies__]+--+-- - This extension requires+-- <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_shader_invocation_reorder.html SPV_NV_shader_invocation_reorder>+--+-- - This extension provides API support for+-- <https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_shader_invocation_reorder.txt GL_NV_shader_invocation_reorder>+--+-- [__Contributors__]+--+-- - Eric Werness, NVIDIA+--+-- - Ashwin Lele, NVIDIA+--+-- == Description+--+-- The ray tracing pipeline API provides some ability to reorder for+-- locality, but it is useful to have more control over how the reordering+-- happens and what information is included in the reordering. The shader+-- API provides a hit object to contain result information from the hit+-- which can be used as part of the explicit sorting plus options that+-- contain an integer for hint bits to use to add more locality.+--+-- == New Structures+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- 'Vulkan.Core10.Device.DeviceCreateInfo':+--+-- - 'PhysicalDeviceRayTracingInvocationReorderFeaturesNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+-- - 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV'+--+-- == New Enums+--+-- - 'RayTracingInvocationReorderModeNV'+--+-- == New Enum Constants+--+-- - 'NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME'+--+-- - 'NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION'+--+-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV'+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV'+--+-- == Version History+--+-- - Revision 1, 2020-09-12 (Eric Werness, Ashwin Lele)+--+-- - Initial external release+--+-- == See Also+--+-- 'PhysicalDeviceRayTracingInvocationReorderFeaturesNV',+-- 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV',+-- 'RayTracingInvocationReorderModeNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_ray_tracing_invocation_reorder Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder ( PhysicalDeviceRayTracingInvocationReorderFeaturesNV(..)+ , PhysicalDeviceRayTracingInvocationReorderPropertiesNV(..)+ , RayTracingInvocationReorderModeNV( RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV+ , RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV+ , ..+ )+ , NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION+ , pattern NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION+ , NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME+ , pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME+ ) where++import Vulkan.Internal.Utils (enumReadPrec)+import Vulkan.Internal.Utils (enumShowsPrec)+import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import GHC.Show (showsPrec)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero)+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Data.Int (Int32)+import Foreign.Ptr (Ptr)+import GHC.Read (Read(readPrec))+import GHC.Show (Show(showsPrec))+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV))+-- | VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV - Structure+-- describing feature to control ray tracing invocation reordering+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDeviceRayTracingInvocationReorderFeaturesNV' structure+-- is included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',+-- it is filled in to indicate whether each corresponding feature is+-- supported. 'PhysicalDeviceRayTracingInvocationReorderFeaturesNV' /can/+-- also be used in the @pNext@ chain of+-- 'Vulkan.Core10.Device.DeviceCreateInfo' to selectively enable these+-- features.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_invocation_reorder VK_NV_ray_tracing_invocation_reorder>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceRayTracingInvocationReorderFeaturesNV = PhysicalDeviceRayTracingInvocationReorderFeaturesNV+ { -- | #features-rayTracingInvocationReorder# @rayTracingInvocationReorder@+ -- indicates that the implementation supports+ -- @SPV_NV_shader_invocation_reorder@.+ rayTracingInvocationReorder :: Bool }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceRayTracingInvocationReorderFeaturesNV)+#endif+deriving instance Show PhysicalDeviceRayTracingInvocationReorderFeaturesNV++instance ToCStruct PhysicalDeviceRayTracingInvocationReorderFeaturesNV where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceRayTracingInvocationReorderFeaturesNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (rayTracingInvocationReorder))+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+ f++instance FromCStruct PhysicalDeviceRayTracingInvocationReorderFeaturesNV where+ peekCStruct p = do+ rayTracingInvocationReorder <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+ pure $ PhysicalDeviceRayTracingInvocationReorderFeaturesNV+ (bool32ToBool rayTracingInvocationReorder)++instance Storable PhysicalDeviceRayTracingInvocationReorderFeaturesNV where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceRayTracingInvocationReorderFeaturesNV where+ zero = PhysicalDeviceRayTracingInvocationReorderFeaturesNV+ zero+++-- | VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV - Structure+-- describing shader module identifier properties of an implementation+--+-- = Members+--+-- The members of the+-- 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV' structure+-- describe the following:+--+-- = Description+--+-- Note+--+-- Because the extension changes how hits are managed there is a+-- compatibility reason to expose the extension even when an implementation+-- does not have sorting active.+--+-- If the 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV' structure+-- is included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',+-- it is filled in with each corresponding implementation-dependent+-- property.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_invocation_reorder VK_NV_ray_tracing_invocation_reorder>,+-- 'RayTracingInvocationReorderModeNV',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceRayTracingInvocationReorderPropertiesNV = PhysicalDeviceRayTracingInvocationReorderPropertiesNV+ { -- | @rayTracingInvocationReorderReorderingHint@ is a hint indicating if the+ -- implementation will actually reorder at the reorder calls.+ rayTracingInvocationReorderReorderingHint :: RayTracingInvocationReorderModeNV }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceRayTracingInvocationReorderPropertiesNV)+#endif+deriving instance Show PhysicalDeviceRayTracingInvocationReorderPropertiesNV++instance ToCStruct PhysicalDeviceRayTracingInvocationReorderPropertiesNV where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceRayTracingInvocationReorderPropertiesNV{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr RayTracingInvocationReorderModeNV)) (rayTracingInvocationReorderReorderingHint)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr RayTracingInvocationReorderModeNV)) (zero)+ f++instance FromCStruct PhysicalDeviceRayTracingInvocationReorderPropertiesNV where+ peekCStruct p = do+ rayTracingInvocationReorderReorderingHint <- peek @RayTracingInvocationReorderModeNV ((p `plusPtr` 16 :: Ptr RayTracingInvocationReorderModeNV))+ pure $ PhysicalDeviceRayTracingInvocationReorderPropertiesNV+ rayTracingInvocationReorderReorderingHint++instance Storable PhysicalDeviceRayTracingInvocationReorderPropertiesNV where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceRayTracingInvocationReorderPropertiesNV where+ zero = PhysicalDeviceRayTracingInvocationReorderPropertiesNV+ zero+++-- | VkRayTracingInvocationReorderModeNV - Enum providing a hint on how the+-- application /may/ reorder+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_invocation_reorder VK_NV_ray_tracing_invocation_reorder>,+-- 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV'+newtype RayTracingInvocationReorderModeNV = RayTracingInvocationReorderModeNV Int32+ deriving newtype (Eq, Ord, Storable, Zero)++-- | 'RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV' indicates that the+-- implementation is likely to not reorder at reorder calls.+pattern RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = RayTracingInvocationReorderModeNV 0++-- | 'RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV' indicates that the+-- implementation is likely to reorder at reorder calls.+pattern RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = RayTracingInvocationReorderModeNV 1++{-# COMPLETE+ RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV+ , RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV ::+ RayTracingInvocationReorderModeNV+ #-}++conNameRayTracingInvocationReorderModeNV :: String+conNameRayTracingInvocationReorderModeNV = "RayTracingInvocationReorderModeNV"++enumPrefixRayTracingInvocationReorderModeNV :: String+enumPrefixRayTracingInvocationReorderModeNV = "RAY_TRACING_INVOCATION_REORDER_MODE_"++showTableRayTracingInvocationReorderModeNV :: [(RayTracingInvocationReorderModeNV, String)]+showTableRayTracingInvocationReorderModeNV =+ [+ ( RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV+ , "NONE_NV"+ )+ ,+ ( RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV+ , "REORDER_NV"+ )+ ]++instance Show RayTracingInvocationReorderModeNV where+ showsPrec =+ enumShowsPrec+ enumPrefixRayTracingInvocationReorderModeNV+ showTableRayTracingInvocationReorderModeNV+ conNameRayTracingInvocationReorderModeNV+ (\(RayTracingInvocationReorderModeNV x) -> x)+ (showsPrec 11)++instance Read RayTracingInvocationReorderModeNV where+ readPrec =+ enumReadPrec+ enumPrefixRayTracingInvocationReorderModeNV+ showTableRayTracingInvocationReorderModeNV+ conNameRayTracingInvocationReorderModeNV+ RayTracingInvocationReorderModeNV++type NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION"+pattern NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION :: forall a . Integral a => a+pattern NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION = 1+++type NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME = "VK_NV_ray_tracing_invocation_reorder"++-- No documentation found for TopLevel "VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME"+pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME = "VK_NV_ray_tracing_invocation_reorder"+
+ src/Vulkan/Extensions/VK_NV_ray_tracing_invocation_reorder.hs-boot view
@@ -0,0 +1,130 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_ray_tracing_invocation_reorder - device extension+--+-- == VK_NV_ray_tracing_invocation_reorder+--+-- [__Name String__]+-- @VK_NV_ray_tracing_invocation_reorder@+--+-- [__Extension Type__]+-- Device extension+--+-- [__Registered Extension Number__]+-- 491+--+-- [__Revision__]+-- 1+--+-- [__Extension and Version Dependencies__]+--+-- - Requires support for Vulkan 1.0+--+-- - Requires @VK_KHR_ray_tracing_pipeline@ to be enabled for any+-- device-level functionality+--+-- [__Contact__]+--+-- - Eric Werness+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_ray_tracing_invocation_reorder] @ewerness-nv%0A*Here describe the issue or question you have about the VK_NV_ray_tracing_invocation_reorder extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+-- 2022-11-02+--+-- [__Interactions and External Dependencies__]+--+-- - This extension requires+-- <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_shader_invocation_reorder.html SPV_NV_shader_invocation_reorder>+--+-- - This extension provides API support for+-- <https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_shader_invocation_reorder.txt GL_NV_shader_invocation_reorder>+--+-- [__Contributors__]+--+-- - Eric Werness, NVIDIA+--+-- - Ashwin Lele, NVIDIA+--+-- == Description+--+-- The ray tracing pipeline API provides some ability to reorder for+-- locality, but it is useful to have more control over how the reordering+-- happens and what information is included in the reordering. The shader+-- API provides a hit object to contain result information from the hit+-- which can be used as part of the explicit sorting plus options that+-- contain an integer for hint bits to use to add more locality.+--+-- == New Structures+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- 'Vulkan.Core10.Device.DeviceCreateInfo':+--+-- - 'PhysicalDeviceRayTracingInvocationReorderFeaturesNV'+--+-- - Extending+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+-- - 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV'+--+-- == New Enums+--+-- - 'RayTracingInvocationReorderModeNV'+--+-- == New Enum Constants+--+-- - 'NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME'+--+-- - 'NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION'+--+-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV'+--+-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV'+--+-- == Version History+--+-- - Revision 1, 2020-09-12 (Eric Werness, Ashwin Lele)+--+-- - Initial external release+--+-- == See Also+--+-- 'PhysicalDeviceRayTracingInvocationReorderFeaturesNV',+-- 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV',+-- 'RayTracingInvocationReorderModeNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_ray_tracing_invocation_reorder Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder ( PhysicalDeviceRayTracingInvocationReorderFeaturesNV+ , PhysicalDeviceRayTracingInvocationReorderPropertiesNV+ ) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceRayTracingInvocationReorderFeaturesNV++instance ToCStruct PhysicalDeviceRayTracingInvocationReorderFeaturesNV+instance Show PhysicalDeviceRayTracingInvocationReorderFeaturesNV++instance FromCStruct PhysicalDeviceRayTracingInvocationReorderFeaturesNV+++data PhysicalDeviceRayTracingInvocationReorderPropertiesNV++instance ToCStruct PhysicalDeviceRayTracingInvocationReorderPropertiesNV+instance Show PhysicalDeviceRayTracingInvocationReorderPropertiesNV++instance FromCStruct PhysicalDeviceRayTracingInvocationReorderPropertiesNV+
src/Vulkan/SPIRVRequirements.hs view
@@ -58,6 +58,7 @@ import Vulkan.Extensions.VK_AMD_gpu_shader_half_float (pattern AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME) import Vulkan.Extensions.VK_AMD_gpu_shader_int16 (pattern AMD_GPU_SHADER_INT16_EXTENSION_NAME) import Vulkan.Extensions.VK_AMD_shader_ballot (pattern AMD_SHADER_BALLOT_EXTENSION_NAME)+import Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (pattern AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME) import Vulkan.Extensions.VK_AMD_shader_explicit_vertex_parameter (pattern AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME) import Vulkan.Extensions.VK_AMD_shader_fragment_mask (pattern AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME) import Vulkan.Extensions.VK_AMD_shader_image_load_store_lod (pattern AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME)@@ -127,6 +128,7 @@ import Vulkan.Extensions.VK_NV_geometry_shader_passthrough (pattern NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_mesh_shader (pattern NV_MESH_SHADER_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_ray_tracing (pattern NV_RAY_TRACING_EXTENSION_NAME)+import Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder (pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (pattern NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_sample_mask_override_coverage (pattern NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME) import Vulkan.Extensions.VK_NV_shader_image_footprint (pattern NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME)@@ -249,6 +251,15 @@ , deviceExtensionMinVersion = 0 } ]+ "SPV_AMD_shader_early_and_late_fragment_tests" ->+ (,)+ []+ [ RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ ] "SPV_KHR_shader_draw_parameters" -> (,) [RequireInstanceVersion $ MAKE_API_VERSION 1 1 0]@@ -3219,6 +3230,60 @@ , RequireDeviceExtension { deviceExtensionLayerName = Nothing , deviceExtensionName = ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ ]+ "ShaderInvocationReorderNV" ->+ (,)+ [ RequireInstanceExtension+ { instanceExtensionLayerName = Nothing+ , instanceExtensionName = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+ , instanceExtensionMinVersion = 0+ }+ ]+ [ RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_SPIRV_1_4_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_MAINTENANCE_3_EXTENSION_NAME , deviceExtensionMinVersion = 0 } ]
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32) pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 232+pattern HEADER_VERSION = 233 pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 232+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 233 pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: vulkan-version: 3.23.2+version: 3.23.3 synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics@@ -535,6 +535,7 @@ Vulkan.Extensions.VK_NV_clip_space_w_scaling Vulkan.Extensions.VK_NV_compute_shader_derivatives Vulkan.Extensions.VK_NV_cooperative_matrix+ Vulkan.Extensions.VK_NV_copy_memory_indirect Vulkan.Extensions.VK_NV_corner_sampled_image Vulkan.Extensions.VK_NV_coverage_reduction_mode Vulkan.Extensions.VK_NV_dedicated_allocation@@ -555,10 +556,12 @@ Vulkan.Extensions.VK_NV_glsl_shader Vulkan.Extensions.VK_NV_inherited_viewport_scissor Vulkan.Extensions.VK_NV_linear_color_attachment+ Vulkan.Extensions.VK_NV_memory_decompression Vulkan.Extensions.VK_NV_mesh_shader Vulkan.Extensions.VK_NV_optical_flow Vulkan.Extensions.VK_NV_present_barrier Vulkan.Extensions.VK_NV_ray_tracing+ Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder Vulkan.Extensions.VK_NV_ray_tracing_motion_blur Vulkan.Extensions.VK_NV_representative_fragment_test Vulkan.Extensions.VK_NV_sample_mask_override_coverage