packages feed

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 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