Update for Vulkan-Docs 1.4.307
This commit is contained in:
parent
e43027aa41
commit
39f924b810
15 changed files with 9699 additions and 343 deletions
|
|
@ -69,7 +69,7 @@ extern "C" {
|
|||
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
||||
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 306
|
||||
#define VK_HEADER_VERSION 307
|
||||
|
||||
// Complete version of this file
|
||||
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
|
||||
|
|
@ -1024,6 +1024,9 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000,
|
||||
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV = 1000429008,
|
||||
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV = 1000429009,
|
||||
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV = 1000429010,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
|
||||
|
|
@ -1081,6 +1084,10 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV = 1000491000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491001,
|
||||
VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491002,
|
||||
VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV = 1000491004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
|
||||
|
|
@ -1170,6 +1177,20 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV = 1000569000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000569001,
|
||||
VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV = 1000569002,
|
||||
VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV = 1000569003,
|
||||
VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV = 1000569004,
|
||||
VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV = 1000569005,
|
||||
VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV = 1000569006,
|
||||
VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000569007,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV = 1000570000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000570001,
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570002,
|
||||
VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV = 1000570003,
|
||||
VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV = 1000570004,
|
||||
VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV = 1000570005,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT = 1000572000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT = 1000572001,
|
||||
VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT = 1000572002,
|
||||
|
|
@ -2271,6 +2292,7 @@ typedef enum VkDescriptorType {
|
|||
VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
|
||||
VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001,
|
||||
VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000,
|
||||
VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570000,
|
||||
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
|
||||
VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT,
|
||||
VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||
|
|
@ -6811,6 +6833,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE
|
|||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL;
|
||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL;
|
||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL;
|
||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV = 0x100000000000ULL;
|
||||
|
||||
typedef VkFlags64 VkAccessFlags2;
|
||||
|
||||
|
|
@ -6974,6 +6997,7 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_
|
|||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV = 0x8000000000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL;
|
||||
|
|
@ -7821,6 +7845,8 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONL
|
|||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX = 0x100000000ULL;
|
||||
#endif
|
||||
static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR = 0x00001000ULL;
|
||||
static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV = 0x200000000ULL;
|
||||
static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL;
|
||||
static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL;
|
||||
static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL;
|
||||
|
|
@ -12145,6 +12171,10 @@ typedef enum VkComponentTypeKHR {
|
|||
VK_COMPONENT_TYPE_UINT16_KHR = 8,
|
||||
VK_COMPONENT_TYPE_UINT32_KHR = 9,
|
||||
VK_COMPONENT_TYPE_UINT64_KHR = 10,
|
||||
VK_COMPONENT_TYPE_SINT8_PACKED_NV = 1000491000,
|
||||
VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001,
|
||||
VK_COMPONENT_TYPE_FLOAT_E4M3_NV = 1000491002,
|
||||
VK_COMPONENT_TYPE_FLOAT_E5M2_NV = 1000491003,
|
||||
VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR,
|
||||
VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR,
|
||||
VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR,
|
||||
|
|
@ -14732,6 +14762,8 @@ typedef enum VkGeometryTypeKHR {
|
|||
VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
|
||||
VK_GEOMETRY_TYPE_AABBS_KHR = 1,
|
||||
VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
|
||||
VK_GEOMETRY_TYPE_SPHERES_NV = 1000429004,
|
||||
VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV = 1000429005,
|
||||
VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
|
||||
VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
|
||||
VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
|
||||
|
|
@ -18341,6 +18373,7 @@ typedef enum VkOpacityMicromapSpecialIndexEXT {
|
|||
VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2,
|
||||
VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3,
|
||||
VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4,
|
||||
VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV = -5,
|
||||
VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||
} VkOpacityMicromapSpecialIndexEXT;
|
||||
|
||||
|
|
@ -19004,6 +19037,61 @@ VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV(
|
|||
#endif
|
||||
|
||||
|
||||
// VK_NV_ray_tracing_linear_swept_spheres is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_NV_ray_tracing_linear_swept_spheres 1
|
||||
#define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION 1
|
||||
#define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME "VK_NV_ray_tracing_linear_swept_spheres"
|
||||
|
||||
typedef enum VkRayTracingLssIndexingModeNV {
|
||||
VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV = 0,
|
||||
VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV = 1,
|
||||
VK_RAY_TRACING_LSS_INDEXING_MODE_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkRayTracingLssIndexingModeNV;
|
||||
|
||||
typedef enum VkRayTracingLssPrimitiveEndCapsModeNV {
|
||||
VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV = 0,
|
||||
VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV = 1,
|
||||
VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkRayTracingLssPrimitiveEndCapsModeNV;
|
||||
typedef struct VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 spheres;
|
||||
VkBool32 linearSweptSpheres;
|
||||
} VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV;
|
||||
|
||||
typedef struct VkAccelerationStructureGeometryLinearSweptSpheresDataNV {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkFormat vertexFormat;
|
||||
VkDeviceOrHostAddressConstKHR vertexData;
|
||||
VkDeviceSize vertexStride;
|
||||
VkFormat radiusFormat;
|
||||
VkDeviceOrHostAddressConstKHR radiusData;
|
||||
VkDeviceSize radiusStride;
|
||||
VkIndexType indexType;
|
||||
VkDeviceOrHostAddressConstKHR indexData;
|
||||
VkDeviceSize indexStride;
|
||||
VkRayTracingLssIndexingModeNV indexingMode;
|
||||
VkRayTracingLssPrimitiveEndCapsModeNV endCapsMode;
|
||||
} VkAccelerationStructureGeometryLinearSweptSpheresDataNV;
|
||||
|
||||
typedef struct VkAccelerationStructureGeometrySpheresDataNV {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkFormat vertexFormat;
|
||||
VkDeviceOrHostAddressConstKHR vertexData;
|
||||
VkDeviceSize vertexStride;
|
||||
VkFormat radiusFormat;
|
||||
VkDeviceOrHostAddressConstKHR radiusData;
|
||||
VkDeviceSize radiusStride;
|
||||
VkIndexType indexType;
|
||||
VkDeviceOrHostAddressConstKHR indexData;
|
||||
VkDeviceSize indexStride;
|
||||
} VkAccelerationStructureGeometrySpheresDataNV;
|
||||
|
||||
|
||||
|
||||
// VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_NV_linear_color_attachment 1
|
||||
#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
|
||||
|
|
@ -19900,6 +19988,83 @@ typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV {
|
|||
|
||||
|
||||
|
||||
// VK_NV_cooperative_vector is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_NV_cooperative_vector 1
|
||||
#define VK_NV_COOPERATIVE_VECTOR_SPEC_VERSION 4
|
||||
#define VK_NV_COOPERATIVE_VECTOR_EXTENSION_NAME "VK_NV_cooperative_vector"
|
||||
|
||||
typedef enum VkCooperativeVectorMatrixLayoutNV {
|
||||
VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV = 0,
|
||||
VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV = 1,
|
||||
VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV = 2,
|
||||
VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV = 3,
|
||||
VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkCooperativeVectorMatrixLayoutNV;
|
||||
typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkShaderStageFlags cooperativeVectorSupportedStages;
|
||||
VkBool32 cooperativeVectorTrainingFloat16Accumulation;
|
||||
VkBool32 cooperativeVectorTrainingFloat32Accumulation;
|
||||
uint32_t maxCooperativeVectorComponents;
|
||||
} VkPhysicalDeviceCooperativeVectorPropertiesNV;
|
||||
|
||||
typedef struct VkPhysicalDeviceCooperativeVectorFeaturesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 cooperativeVector;
|
||||
VkBool32 cooperativeVectorTraining;
|
||||
} VkPhysicalDeviceCooperativeVectorFeaturesNV;
|
||||
|
||||
typedef struct VkCooperativeVectorPropertiesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkComponentTypeKHR inputType;
|
||||
VkComponentTypeKHR inputInterpretation;
|
||||
VkComponentTypeKHR matrixInterpretation;
|
||||
VkComponentTypeKHR biasInterpretation;
|
||||
VkComponentTypeKHR resultType;
|
||||
VkBool32 transpose;
|
||||
} VkCooperativeVectorPropertiesNV;
|
||||
|
||||
typedef struct VkConvertCooperativeVectorMatrixInfoNV {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
size_t srcSize;
|
||||
VkDeviceOrHostAddressConstKHR srcData;
|
||||
size_t* pDstSize;
|
||||
VkDeviceOrHostAddressKHR dstData;
|
||||
VkComponentTypeKHR srcComponentType;
|
||||
VkComponentTypeKHR dstComponentType;
|
||||
uint32_t numRows;
|
||||
uint32_t numColumns;
|
||||
VkCooperativeVectorMatrixLayoutNV srcLayout;
|
||||
size_t srcStride;
|
||||
VkCooperativeVectorMatrixLayoutNV dstLayout;
|
||||
size_t dstStride;
|
||||
} VkConvertCooperativeVectorMatrixInfoNV;
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeVectorPropertiesNV* pProperties);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkConvertCooperativeVectorMatrixNV)(VkDevice device, const VkConvertCooperativeVectorMatrixInfoNV* pInfo);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdConvertCooperativeVectorMatrixNV)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkConvertCooperativeVectorMatrixInfoNV* pInfos);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeVectorPropertiesNV(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
uint32_t* pPropertyCount,
|
||||
VkCooperativeVectorPropertiesNV* pProperties);
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkConvertCooperativeVectorMatrixNV(
|
||||
VkDevice device,
|
||||
const VkConvertCooperativeVectorMatrixInfoNV* pInfo);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdConvertCooperativeVectorMatrixNV(
|
||||
VkCommandBuffer commandBuffer,
|
||||
uint32_t infoCount,
|
||||
const VkConvertCooperativeVectorMatrixInfoNV* pInfos);
|
||||
#endif
|
||||
|
||||
|
||||
// VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_NV_extended_sparse_address_space 1
|
||||
#define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1
|
||||
|
|
@ -20414,6 +20579,359 @@ typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV {
|
|||
|
||||
|
||||
|
||||
// VK_NV_cluster_acceleration_structure is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_NV_cluster_acceleration_structure 1
|
||||
#define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION 2
|
||||
#define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_cluster_acceleration_structure"
|
||||
|
||||
typedef enum VkClusterAccelerationStructureTypeNV {
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV = 0,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV = 1,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV = 2,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkClusterAccelerationStructureTypeNV;
|
||||
|
||||
typedef enum VkClusterAccelerationStructureOpTypeNV {
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV = 0,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV = 1,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV = 2,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV = 3,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV = 4,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkClusterAccelerationStructureOpTypeNV;
|
||||
|
||||
typedef enum VkClusterAccelerationStructureOpModeNV {
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV = 0,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV = 1,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV = 2,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkClusterAccelerationStructureOpModeNV;
|
||||
|
||||
typedef enum VkClusterAccelerationStructureAddressResolutionFlagBitsNV {
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV = 0x00000001,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV = 0x00000002,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV = 0x00000004,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV = 0x00000008,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV = 0x00000010,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV = 0x00000020,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkClusterAccelerationStructureAddressResolutionFlagBitsNV;
|
||||
typedef VkFlags VkClusterAccelerationStructureAddressResolutionFlagsNV;
|
||||
|
||||
typedef enum VkClusterAccelerationStructureClusterFlagBitsNV {
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV = 0x00000001,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkClusterAccelerationStructureClusterFlagBitsNV;
|
||||
typedef VkFlags VkClusterAccelerationStructureClusterFlagsNV;
|
||||
|
||||
typedef enum VkClusterAccelerationStructureGeometryFlagBitsNV {
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV = 0x00000001,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV = 0x00000002,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV = 0x00000004,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkClusterAccelerationStructureGeometryFlagBitsNV;
|
||||
typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV;
|
||||
|
||||
typedef enum VkClusterAccelerationStructureIndexFormatFlagBitsNV {
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV = 0x00000001,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV = 0x00000002,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV = 0x00000004,
|
||||
VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkClusterAccelerationStructureIndexFormatFlagBitsNV;
|
||||
typedef VkFlags VkClusterAccelerationStructureIndexFormatFlagsNV;
|
||||
typedef struct VkPhysicalDeviceClusterAccelerationStructureFeaturesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 clusterAccelerationStructure;
|
||||
} VkPhysicalDeviceClusterAccelerationStructureFeaturesNV;
|
||||
|
||||
typedef struct VkPhysicalDeviceClusterAccelerationStructurePropertiesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t maxVerticesPerCluster;
|
||||
uint32_t maxTrianglesPerCluster;
|
||||
uint32_t clusterScratchByteAlignment;
|
||||
uint32_t clusterByteAlignment;
|
||||
uint32_t clusterTemplateByteAlignment;
|
||||
uint32_t clusterBottomLevelByteAlignment;
|
||||
uint32_t clusterTemplateBoundsByteAlignment;
|
||||
uint32_t maxClusterGeometryIndex;
|
||||
} VkPhysicalDeviceClusterAccelerationStructurePropertiesNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureClustersBottomLevelInputNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t maxTotalClusterCount;
|
||||
uint32_t maxClusterCountPerAccelerationStructure;
|
||||
} VkClusterAccelerationStructureClustersBottomLevelInputNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureTriangleClusterInputNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkFormat vertexFormat;
|
||||
uint32_t maxGeometryIndexValue;
|
||||
uint32_t maxClusterUniqueGeometryCount;
|
||||
uint32_t maxClusterTriangleCount;
|
||||
uint32_t maxClusterVertexCount;
|
||||
uint32_t maxTotalTriangleCount;
|
||||
uint32_t maxTotalVertexCount;
|
||||
uint32_t minPositionTruncateBitCount;
|
||||
} VkClusterAccelerationStructureTriangleClusterInputNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureMoveObjectsInputNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkClusterAccelerationStructureTypeNV type;
|
||||
VkBool32 noMoveOverlap;
|
||||
VkDeviceSize maxMovedBytes;
|
||||
} VkClusterAccelerationStructureMoveObjectsInputNV;
|
||||
|
||||
typedef union VkClusterAccelerationStructureOpInputNV {
|
||||
VkClusterAccelerationStructureClustersBottomLevelInputNV* pClustersBottomLevel;
|
||||
VkClusterAccelerationStructureTriangleClusterInputNV* pTriangleClusters;
|
||||
VkClusterAccelerationStructureMoveObjectsInputNV* pMoveObjects;
|
||||
} VkClusterAccelerationStructureOpInputNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureInputInfoNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t maxAccelerationStructureCount;
|
||||
VkBuildAccelerationStructureFlagsKHR flags;
|
||||
VkClusterAccelerationStructureOpTypeNV opType;
|
||||
VkClusterAccelerationStructureOpModeNV opMode;
|
||||
VkClusterAccelerationStructureOpInputNV opInput;
|
||||
} VkClusterAccelerationStructureInputInfoNV;
|
||||
|
||||
typedef struct VkStridedDeviceAddressRegionKHR {
|
||||
VkDeviceAddress deviceAddress;
|
||||
VkDeviceSize stride;
|
||||
VkDeviceSize size;
|
||||
} VkStridedDeviceAddressRegionKHR;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureCommandsInfoNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkClusterAccelerationStructureInputInfoNV input;
|
||||
VkDeviceAddress dstImplicitData;
|
||||
VkDeviceAddress scratchData;
|
||||
VkStridedDeviceAddressRegionKHR dstAddressesArray;
|
||||
VkStridedDeviceAddressRegionKHR dstSizesArray;
|
||||
VkStridedDeviceAddressRegionKHR srcInfosArray;
|
||||
VkDeviceAddress srcInfosCount;
|
||||
VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags;
|
||||
} VkClusterAccelerationStructureCommandsInfoNV;
|
||||
|
||||
typedef struct VkStridedDeviceAddressNV {
|
||||
VkDeviceAddress startAddress;
|
||||
VkDeviceSize strideInBytes;
|
||||
} VkStridedDeviceAddressNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {
|
||||
uint32_t geometryIndex:24;
|
||||
uint32_t reserved:5;
|
||||
uint32_t geometryFlags:3;
|
||||
} VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureMoveObjectsInfoNV {
|
||||
VkDeviceAddress srcAccelerationStructure;
|
||||
} VkClusterAccelerationStructureMoveObjectsInfoNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV {
|
||||
uint32_t clusterReferencesCount;
|
||||
uint32_t clusterReferencesStride;
|
||||
VkDeviceAddress clusterReferences;
|
||||
} VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureBuildTriangleClusterInfoNV {
|
||||
uint32_t clusterID;
|
||||
VkClusterAccelerationStructureClusterFlagsNV clusterFlags;
|
||||
uint32_t triangleCount:9;
|
||||
uint32_t vertexCount:9;
|
||||
uint32_t positionTruncateBitCount:6;
|
||||
uint32_t indexType:4;
|
||||
uint32_t opacityMicromapIndexType:4;
|
||||
VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags;
|
||||
uint16_t indexBufferStride;
|
||||
uint16_t vertexBufferStride;
|
||||
uint16_t geometryIndexAndFlagsBufferStride;
|
||||
uint16_t opacityMicromapIndexBufferStride;
|
||||
VkDeviceAddress indexBuffer;
|
||||
VkDeviceAddress vertexBuffer;
|
||||
VkDeviceAddress geometryIndexAndFlagsBuffer;
|
||||
VkDeviceAddress opacityMicromapArray;
|
||||
VkDeviceAddress opacityMicromapIndexBuffer;
|
||||
} VkClusterAccelerationStructureBuildTriangleClusterInfoNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {
|
||||
uint32_t clusterID;
|
||||
VkClusterAccelerationStructureClusterFlagsNV clusterFlags;
|
||||
uint32_t triangleCount:9;
|
||||
uint32_t vertexCount:9;
|
||||
uint32_t positionTruncateBitCount:6;
|
||||
uint32_t indexType:4;
|
||||
uint32_t opacityMicromapIndexType:4;
|
||||
VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags;
|
||||
uint16_t indexBufferStride;
|
||||
uint16_t vertexBufferStride;
|
||||
uint16_t geometryIndexAndFlagsBufferStride;
|
||||
uint16_t opacityMicromapIndexBufferStride;
|
||||
VkDeviceAddress indexBuffer;
|
||||
VkDeviceAddress vertexBuffer;
|
||||
VkDeviceAddress geometryIndexAndFlagsBuffer;
|
||||
VkDeviceAddress opacityMicromapArray;
|
||||
VkDeviceAddress opacityMicromapIndexBuffer;
|
||||
VkDeviceAddress instantiationBoundingBoxLimit;
|
||||
} VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV;
|
||||
|
||||
typedef struct VkClusterAccelerationStructureInstantiateClusterInfoNV {
|
||||
uint32_t clusterIdOffset;
|
||||
uint32_t geometryIndexOffset:24;
|
||||
uint32_t reserved:8;
|
||||
VkDeviceAddress clusterTemplateAddress;
|
||||
VkStridedDeviceAddressNV vertexBuffer;
|
||||
} VkClusterAccelerationStructureInstantiateClusterInfoNV;
|
||||
|
||||
typedef struct VkAccelerationStructureBuildSizesInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkDeviceSize accelerationStructureSize;
|
||||
VkDeviceSize updateScratchSize;
|
||||
VkDeviceSize buildScratchSize;
|
||||
} VkAccelerationStructureBuildSizesInfoKHR;
|
||||
|
||||
typedef struct VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 allowClusterAccelerationStructure;
|
||||
} VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkGetClusterAccelerationStructureBuildSizesNV)(VkDevice device, const VkClusterAccelerationStructureInputInfoNV* pInfo, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBuildClusterAccelerationStructureIndirectNV)(VkCommandBuffer commandBuffer, const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkGetClusterAccelerationStructureBuildSizesNV(
|
||||
VkDevice device,
|
||||
const VkClusterAccelerationStructureInputInfoNV* pInfo,
|
||||
VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdBuildClusterAccelerationStructureIndirectNV(
|
||||
VkCommandBuffer commandBuffer,
|
||||
const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos);
|
||||
#endif
|
||||
|
||||
|
||||
// VK_NV_partitioned_acceleration_structure is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_NV_partitioned_acceleration_structure 1
|
||||
#define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_SPEC_VERSION 1
|
||||
#define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_partitioned_acceleration_structure"
|
||||
#define VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV (~0U)
|
||||
|
||||
typedef enum VkPartitionedAccelerationStructureOpTypeNV {
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV = 0,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV = 1,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV = 2,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkPartitionedAccelerationStructureOpTypeNV;
|
||||
|
||||
typedef enum VkPartitionedAccelerationStructureInstanceFlagBitsNV {
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV = 0x00000001,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV = 0x00000002,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV = 0x00000004,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV = 0x00000008,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV = 0x00000010,
|
||||
VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
|
||||
} VkPartitionedAccelerationStructureInstanceFlagBitsNV;
|
||||
typedef VkFlags VkPartitionedAccelerationStructureInstanceFlagsNV;
|
||||
typedef struct VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 partitionedAccelerationStructure;
|
||||
} VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV;
|
||||
|
||||
typedef struct VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t maxPartitionCount;
|
||||
} VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV;
|
||||
|
||||
typedef struct VkPartitionedAccelerationStructureFlagsNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 enablePartitionTranslation;
|
||||
} VkPartitionedAccelerationStructureFlagsNV;
|
||||
|
||||
typedef struct VkBuildPartitionedAccelerationStructureIndirectCommandNV {
|
||||
VkPartitionedAccelerationStructureOpTypeNV opType;
|
||||
uint32_t argCount;
|
||||
VkStridedDeviceAddressNV argData;
|
||||
} VkBuildPartitionedAccelerationStructureIndirectCommandNV;
|
||||
|
||||
typedef struct VkPartitionedAccelerationStructureWriteInstanceDataNV {
|
||||
VkTransformMatrixKHR transform;
|
||||
float explicitAABB[6];
|
||||
uint32_t instanceID;
|
||||
uint32_t instanceMask;
|
||||
uint32_t instanceContributionToHitGroupIndex;
|
||||
VkPartitionedAccelerationStructureInstanceFlagsNV instanceFlags;
|
||||
uint32_t instanceIndex;
|
||||
uint32_t partitionIndex;
|
||||
VkDeviceAddress accelerationStructure;
|
||||
} VkPartitionedAccelerationStructureWriteInstanceDataNV;
|
||||
|
||||
typedef struct VkPartitionedAccelerationStructureUpdateInstanceDataNV {
|
||||
uint32_t instanceIndex;
|
||||
uint32_t instanceContributionToHitGroupIndex;
|
||||
VkDeviceAddress accelerationStructure;
|
||||
} VkPartitionedAccelerationStructureUpdateInstanceDataNV;
|
||||
|
||||
typedef struct VkPartitionedAccelerationStructureWritePartitionTranslationDataNV {
|
||||
uint32_t partitionIndex;
|
||||
float partitionTranslation[3];
|
||||
} VkPartitionedAccelerationStructureWritePartitionTranslationDataNV;
|
||||
|
||||
typedef struct VkWriteDescriptorSetPartitionedAccelerationStructureNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t accelerationStructureCount;
|
||||
const VkDeviceAddress* pAccelerationStructures;
|
||||
} VkWriteDescriptorSetPartitionedAccelerationStructureNV;
|
||||
|
||||
typedef struct VkPartitionedAccelerationStructureInstancesInputNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBuildAccelerationStructureFlagsKHR flags;
|
||||
uint32_t instanceCount;
|
||||
uint32_t maxInstancePerPartitionCount;
|
||||
uint32_t partitionCount;
|
||||
uint32_t maxInstanceInGlobalPartitionCount;
|
||||
} VkPartitionedAccelerationStructureInstancesInputNV;
|
||||
|
||||
typedef struct VkBuildPartitionedAccelerationStructureInfoNV {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkPartitionedAccelerationStructureInstancesInputNV input;
|
||||
VkDeviceAddress srcAccelerationStructureData;
|
||||
VkDeviceAddress dstAccelerationStructureData;
|
||||
VkDeviceAddress scratchData;
|
||||
VkDeviceAddress srcInfos;
|
||||
VkDeviceAddress srcInfosCount;
|
||||
} VkBuildPartitionedAccelerationStructureInfoNV;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV)(VkDevice device, const VkPartitionedAccelerationStructureInstancesInputNV* pInfo, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBuildPartitionedAccelerationStructuresNV)(VkCommandBuffer commandBuffer, const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkGetPartitionedAccelerationStructuresBuildSizesNV(
|
||||
VkDevice device,
|
||||
const VkPartitionedAccelerationStructureInstancesInputNV* pInfo,
|
||||
VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkCmdBuildPartitionedAccelerationStructuresNV(
|
||||
VkCommandBuffer commandBuffer,
|
||||
const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo);
|
||||
#endif
|
||||
|
||||
|
||||
// VK_EXT_device_generated_commands is a preprocessor guard. Do not pass it to API calls.
|
||||
#define VK_EXT_device_generated_commands 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectExecutionSetEXT)
|
||||
|
|
@ -20985,14 +21503,6 @@ typedef struct VkCopyAccelerationStructureInfoKHR {
|
|||
VkCopyAccelerationStructureModeKHR mode;
|
||||
} VkCopyAccelerationStructureInfoKHR;
|
||||
|
||||
typedef struct VkAccelerationStructureBuildSizesInfoKHR {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkDeviceSize accelerationStructureSize;
|
||||
VkDeviceSize updateScratchSize;
|
||||
VkDeviceSize buildScratchSize;
|
||||
} VkAccelerationStructureBuildSizesInfoKHR;
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
|
||||
typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
|
||||
|
|
@ -21175,12 +21685,6 @@ typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
|
|||
uint32_t maxRayHitAttributeSize;
|
||||
} VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
|
||||
|
||||
typedef struct VkStridedDeviceAddressRegionKHR {
|
||||
VkDeviceAddress deviceAddress;
|
||||
VkDeviceSize stride;
|
||||
VkDeviceSize size;
|
||||
} VkStridedDeviceAddressRegionKHR;
|
||||
|
||||
typedef struct VkTraceRaysIndirectCommandKHR {
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue