vulkan, spirv: Update to Vulkan 1.3.226 and latest SPIR-V headers.
Done using the "khronos-update.py" script, leaving out parts that are not relevant to Vulkan. Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18366>
This commit is contained in:
@@ -919,6 +919,8 @@ typedef enum VkStructureType {
|
|||||||
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
|
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
|
||||||
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
|
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
|
||||||
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
|
||||||
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
|
||||||
@@ -2284,14 +2286,16 @@ typedef enum VkPipelineStageFlagBits {
|
|||||||
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
|
VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
|
||||||
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
|
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
|
||||||
VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
|
VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
|
||||||
VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
|
|
||||||
VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
|
|
||||||
VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
|
VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
|
||||||
VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
|
VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
|
||||||
VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
|
VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
|
||||||
|
VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000,
|
||||||
|
VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000,
|
||||||
VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
|
VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
|
||||||
VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
|
VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
|
||||||
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
|
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
|
||||||
|
VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
|
||||||
|
VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT,
|
||||||
VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
|
VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
|
||||||
VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
||||||
} VkPipelineStageFlagBits;
|
} VkPipelineStageFlagBits;
|
||||||
@@ -2490,8 +2494,8 @@ typedef enum VkShaderStageFlagBits {
|
|||||||
VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
|
VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
|
||||||
VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
|
VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
|
||||||
VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
|
VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
|
||||||
VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
|
VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040,
|
||||||
VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
|
VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080,
|
||||||
VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
|
VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
|
||||||
VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
|
VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
|
||||||
VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
|
VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
|
||||||
@@ -2499,6 +2503,8 @@ typedef enum VkShaderStageFlagBits {
|
|||||||
VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
|
VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
|
||||||
VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
|
VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
|
||||||
VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
|
VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
|
||||||
|
VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT,
|
||||||
|
VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT,
|
||||||
VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
||||||
} VkShaderStageFlagBits;
|
} VkShaderStageFlagBits;
|
||||||
|
|
||||||
@@ -6443,6 +6449,8 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE
|
|||||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
|
||||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
|
||||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
|
||||||
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL;
|
||||||
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL;
|
||||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
|
||||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
|
||||||
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
|
static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
|
||||||
@@ -12989,6 +12997,7 @@ typedef enum VkIndirectCommandsTokenTypeNV {
|
|||||||
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
|
||||||
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
|
||||||
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
|
||||||
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000,
|
||||||
VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
|
VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
|
||||||
} VkIndirectCommandsTokenTypeNV;
|
} VkIndirectCommandsTokenTypeNV;
|
||||||
|
|
||||||
@@ -14987,6 +14996,87 @@ typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
|
|||||||
} VkPhysicalDeviceRayQueryFeaturesKHR;
|
} VkPhysicalDeviceRayQueryFeaturesKHR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_EXT_mesh_shader 1
|
||||||
|
#define VK_EXT_MESH_SHADER_SPEC_VERSION 1
|
||||||
|
#define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader"
|
||||||
|
typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkBool32 taskShader;
|
||||||
|
VkBool32 meshShader;
|
||||||
|
VkBool32 multiviewMeshShader;
|
||||||
|
VkBool32 primitiveFragmentShadingRateMeshShader;
|
||||||
|
} VkPhysicalDeviceMeshShaderFeaturesEXT;
|
||||||
|
|
||||||
|
typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
uint32_t maxTaskWorkGroupTotalCount;
|
||||||
|
uint32_t maxTaskWorkGroupCount[3];
|
||||||
|
uint32_t maxTaskWorkGroupInvocations;
|
||||||
|
uint32_t maxTaskWorkGroupSize[3];
|
||||||
|
uint32_t maxTaskPayloadSize;
|
||||||
|
uint32_t maxTaskSharedMemorySize;
|
||||||
|
uint32_t maxTaskPayloadAndSharedMemorySize;
|
||||||
|
uint32_t maxMeshWorkGroupTotalCount;
|
||||||
|
uint32_t maxMeshWorkGroupCount[3];
|
||||||
|
uint32_t maxMeshWorkGroupInvocations;
|
||||||
|
uint32_t maxMeshWorkGroupSize[3];
|
||||||
|
uint32_t maxMeshSharedMemorySize;
|
||||||
|
uint32_t maxMeshPayloadAndSharedMemorySize;
|
||||||
|
uint32_t maxMeshOutputMemorySize;
|
||||||
|
uint32_t maxMeshPayloadAndOutputMemorySize;
|
||||||
|
uint32_t maxMeshOutputComponents;
|
||||||
|
uint32_t maxMeshOutputVertices;
|
||||||
|
uint32_t maxMeshOutputPrimitives;
|
||||||
|
uint32_t maxMeshOutputLayers;
|
||||||
|
uint32_t maxMeshMultiviewViewCount;
|
||||||
|
uint32_t meshOutputPerVertexGranularity;
|
||||||
|
uint32_t meshOutputPerPrimitiveGranularity;
|
||||||
|
uint32_t maxPreferredTaskWorkGroupInvocations;
|
||||||
|
uint32_t maxPreferredMeshWorkGroupInvocations;
|
||||||
|
VkBool32 prefersLocalInvocationVertexOutput;
|
||||||
|
VkBool32 prefersLocalInvocationPrimitiveOutput;
|
||||||
|
VkBool32 prefersCompactVertexOutput;
|
||||||
|
VkBool32 prefersCompactPrimitiveOutput;
|
||||||
|
VkQueryPipelineStatisticFlags meshShadingAffectedPipelineStatistics;
|
||||||
|
} VkPhysicalDeviceMeshShaderPropertiesEXT;
|
||||||
|
|
||||||
|
typedef struct VkDrawMeshTasksIndirectCommandEXT {
|
||||||
|
uint32_t groupCountX;
|
||||||
|
uint32_t groupCountY;
|
||||||
|
uint32_t groupCountZ;
|
||||||
|
} VkDrawMeshTasksIndirectCommandEXT;
|
||||||
|
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
uint32_t groupCountX,
|
||||||
|
uint32_t groupCountY,
|
||||||
|
uint32_t groupCountZ);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
VkBuffer buffer,
|
||||||
|
VkDeviceSize offset,
|
||||||
|
uint32_t drawCount,
|
||||||
|
uint32_t stride);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
VkBuffer buffer,
|
||||||
|
VkDeviceSize offset,
|
||||||
|
VkBuffer countBuffer,
|
||||||
|
VkDeviceSize countBufferOffset,
|
||||||
|
uint32_t maxDrawCount,
|
||||||
|
uint32_t stride);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -4771,6 +4771,30 @@
|
|||||||
"extensions" : [ "SPV_NV_shader_image_footprint" ],
|
"extensions" : [ "SPV_NV_shader_image_footprint" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"opname" : "OpEmitMeshTasksEXT",
|
||||||
|
"class" : "Reserved",
|
||||||
|
"opcode" : 5294,
|
||||||
|
"operands" : [
|
||||||
|
{ "kind" : "IdRef", "name" : "'Group Count X'" },
|
||||||
|
{ "kind" : "IdRef", "name" : "'Group Count Y'" },
|
||||||
|
{ "kind" : "IdRef", "name" : "'Group Count Z'" },
|
||||||
|
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Payload'" }
|
||||||
|
],
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"opname" : "OpSetMeshOutputsEXT",
|
||||||
|
"class" : "Reserved",
|
||||||
|
"opcode" : 5295,
|
||||||
|
"operands" : [
|
||||||
|
{ "kind" : "IdRef", "name" : "'Vertex Count'" },
|
||||||
|
{ "kind" : "IdRef", "name" : "'Primitive Count'" }
|
||||||
|
],
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"opname" : "OpGroupNonUniformPartitionNV",
|
"opname" : "OpGroupNonUniformPartitionNV",
|
||||||
"class" : "Non-Uniform",
|
"class" : "Non-Uniform",
|
||||||
@@ -9578,6 +9602,18 @@
|
|||||||
"value" : 5318,
|
"value" : 5318,
|
||||||
"capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
|
"capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "TaskEXT",
|
||||||
|
"value" : 5364,
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "MeshEXT",
|
||||||
|
"value" : 5365,
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"version" : "None"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -9793,7 +9829,7 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "OutputVertices",
|
"enumerant" : "OutputVertices",
|
||||||
"value" : 26,
|
"value" : 26,
|
||||||
"capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
|
"capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
"parameters" : [
|
"parameters" : [
|
||||||
{ "kind" : "LiteralInteger", "name" : "'Vertex count'" }
|
{ "kind" : "LiteralInteger", "name" : "'Vertex count'" }
|
||||||
]
|
]
|
||||||
@@ -9801,7 +9837,7 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "OutputPoints",
|
"enumerant" : "OutputPoints",
|
||||||
"value" : 27,
|
"value" : 27,
|
||||||
"capabilities" : [ "Geometry", "MeshShadingNV" ]
|
"capabilities" : [ "Geometry", "MeshShadingNV", "MeshShadingEXT" ]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "OutputLineStrip",
|
"enumerant" : "OutputLineStrip",
|
||||||
@@ -10009,18 +10045,35 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "OutputLinesNV",
|
"enumerant" : "OutputLinesNV",
|
||||||
"value" : 5269,
|
"value" : 5269,
|
||||||
"capabilities" : [ "MeshShadingNV" ],
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
"extensions" : [ "SPV_NV_mesh_shader" ],
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "OutputLinesEXT",
|
||||||
|
"value" : 5269,
|
||||||
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "OutputPrimitivesNV",
|
"enumerant" : "OutputPrimitivesNV",
|
||||||
"value" : 5270,
|
"value" : 5270,
|
||||||
"capabilities" : [ "MeshShadingNV" ],
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
"parameters" : [
|
"parameters" : [
|
||||||
{ "kind" : "LiteralInteger", "name" : "'Primitive count'" }
|
{ "kind" : "LiteralInteger", "name" : "'Primitive count'" }
|
||||||
],
|
],
|
||||||
"extensions" : [ "SPV_NV_mesh_shader" ],
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "OutputPrimitivesEXT",
|
||||||
|
"value" : 5270,
|
||||||
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
|
"parameters" : [
|
||||||
|
{ "kind" : "LiteralInteger", "name" : "'Primitive count'" }
|
||||||
|
],
|
||||||
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -10040,8 +10093,15 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "OutputTrianglesNV",
|
"enumerant" : "OutputTrianglesNV",
|
||||||
"value" : 5298,
|
"value" : 5298,
|
||||||
"capabilities" : [ "MeshShadingNV" ],
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
"extensions" : [ "SPV_NV_mesh_shader" ],
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "OutputTrianglesEXT",
|
||||||
|
"value" : 5298,
|
||||||
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -10356,6 +10416,13 @@
|
|||||||
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
|
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
|
||||||
"version" : "1.5"
|
"version" : "1.5"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "TaskPayloadWorkgroupEXT",
|
||||||
|
"value" : 5402,
|
||||||
|
"extensions" : [ "SPV_EXT_mesh_shader" ],
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"version" : "1.5"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "CodeSectionINTEL",
|
"enumerant" : "CodeSectionINTEL",
|
||||||
"value" : 5605,
|
"value" : 5605,
|
||||||
@@ -11471,8 +11538,15 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "PerPrimitiveNV",
|
"enumerant" : "PerPrimitiveNV",
|
||||||
"value" : 5271,
|
"value" : 5271,
|
||||||
"capabilities" : [ "MeshShadingNV" ],
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
"extensions" : [ "SPV_NV_mesh_shader" ],
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "PerPrimitiveEXT",
|
||||||
|
"value" : 5271,
|
||||||
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -11485,8 +11559,8 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "PerTaskNV",
|
"enumerant" : "PerTaskNV",
|
||||||
"value" : 5273,
|
"value" : 5273,
|
||||||
"capabilities" : [ "MeshShadingNV" ],
|
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
"extensions" : [ "SPV_NV_mesh_shader" ],
|
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -11952,7 +12026,7 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "PrimitiveId",
|
"enumerant" : "PrimitiveId",
|
||||||
"value" : 7,
|
"value" : 7,
|
||||||
"capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV" ]
|
"capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV", "MeshShadingEXT" ]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "InvocationId",
|
"enumerant" : "InvocationId",
|
||||||
@@ -11962,12 +12036,12 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "Layer",
|
"enumerant" : "Layer",
|
||||||
"value" : 9,
|
"value" : 9,
|
||||||
"capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
|
"capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "ViewportIndex",
|
"enumerant" : "ViewportIndex",
|
||||||
"value" : 10,
|
"value" : 10,
|
||||||
"capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
|
"capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "TessLevelOuter",
|
"enumerant" : "TessLevelOuter",
|
||||||
@@ -12200,8 +12274,8 @@
|
|||||||
{
|
{
|
||||||
"enumerant" : "DrawIndex",
|
"enumerant" : "DrawIndex",
|
||||||
"value" : 4426,
|
"value" : 4426,
|
||||||
"capabilities" : [ "DrawParameters", "MeshShadingNV" ],
|
"capabilities" : [ "DrawParameters", "MeshShadingNV", "MeshShadingEXT" ],
|
||||||
"extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
|
"extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
|
||||||
"version" : "1.3"
|
"version" : "1.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -12435,6 +12509,34 @@
|
|||||||
"extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
|
"extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "PrimitivePointIndicesEXT",
|
||||||
|
"value" : 5294,
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"extensions" : [ "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "PrimitiveLineIndicesEXT",
|
||||||
|
"value" : 5295,
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"extensions" : [ "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "PrimitiveTriangleIndicesEXT",
|
||||||
|
"value" : 5296,
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"extensions" : [ "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "CullPrimitiveEXT",
|
||||||
|
"value" : 5299,
|
||||||
|
"capabilities" : [ "MeshShadingEXT" ],
|
||||||
|
"extensions" : [ "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "LaunchIdNV",
|
"enumerant" : "LaunchIdNV",
|
||||||
"value" : 5319,
|
"value" : 5319,
|
||||||
@@ -13466,6 +13568,13 @@
|
|||||||
"extensions" : [ "SPV_NV_shader_image_footprint" ],
|
"extensions" : [ "SPV_NV_shader_image_footprint" ],
|
||||||
"version" : "None"
|
"version" : "None"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"enumerant" : "MeshShadingEXT",
|
||||||
|
"value" : 5283,
|
||||||
|
"capabilities" : [ "Shader" ],
|
||||||
|
"extensions" : [ "SPV_EXT_mesh_shader" ],
|
||||||
|
"version" : "None"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"enumerant" : "FragmentBarycentricKHR",
|
"enumerant" : "FragmentBarycentricKHR",
|
||||||
"value" : 5284,
|
"value" : 5284,
|
||||||
|
@@ -98,6 +98,8 @@ typedef enum SpvExecutionModel_ {
|
|||||||
SpvExecutionModelMissNV = 5317,
|
SpvExecutionModelMissNV = 5317,
|
||||||
SpvExecutionModelCallableKHR = 5318,
|
SpvExecutionModelCallableKHR = 5318,
|
||||||
SpvExecutionModelCallableNV = 5318,
|
SpvExecutionModelCallableNV = 5318,
|
||||||
|
SpvExecutionModelTaskEXT = 5364,
|
||||||
|
SpvExecutionModelMeshEXT = 5365,
|
||||||
SpvExecutionModelMax = 0x7fffffff,
|
SpvExecutionModelMax = 0x7fffffff,
|
||||||
} SpvExecutionModel;
|
} SpvExecutionModel;
|
||||||
|
|
||||||
@@ -173,10 +175,13 @@ typedef enum SpvExecutionMode_ {
|
|||||||
SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
|
SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
|
||||||
SpvExecutionModeStencilRefGreaterBackAMD = 5083,
|
SpvExecutionModeStencilRefGreaterBackAMD = 5083,
|
||||||
SpvExecutionModeStencilRefLessBackAMD = 5084,
|
SpvExecutionModeStencilRefLessBackAMD = 5084,
|
||||||
|
SpvExecutionModeOutputLinesEXT = 5269,
|
||||||
SpvExecutionModeOutputLinesNV = 5269,
|
SpvExecutionModeOutputLinesNV = 5269,
|
||||||
|
SpvExecutionModeOutputPrimitivesEXT = 5270,
|
||||||
SpvExecutionModeOutputPrimitivesNV = 5270,
|
SpvExecutionModeOutputPrimitivesNV = 5270,
|
||||||
SpvExecutionModeDerivativeGroupQuadsNV = 5289,
|
SpvExecutionModeDerivativeGroupQuadsNV = 5289,
|
||||||
SpvExecutionModeDerivativeGroupLinearNV = 5290,
|
SpvExecutionModeDerivativeGroupLinearNV = 5290,
|
||||||
|
SpvExecutionModeOutputTrianglesEXT = 5298,
|
||||||
SpvExecutionModeOutputTrianglesNV = 5298,
|
SpvExecutionModeOutputTrianglesNV = 5298,
|
||||||
SpvExecutionModePixelInterlockOrderedEXT = 5366,
|
SpvExecutionModePixelInterlockOrderedEXT = 5366,
|
||||||
SpvExecutionModePixelInterlockUnorderedEXT = 5367,
|
SpvExecutionModePixelInterlockUnorderedEXT = 5367,
|
||||||
@@ -226,6 +231,7 @@ typedef enum SpvStorageClass_ {
|
|||||||
SpvStorageClassShaderRecordBufferNV = 5343,
|
SpvStorageClassShaderRecordBufferNV = 5343,
|
||||||
SpvStorageClassPhysicalStorageBuffer = 5349,
|
SpvStorageClassPhysicalStorageBuffer = 5349,
|
||||||
SpvStorageClassPhysicalStorageBufferEXT = 5349,
|
SpvStorageClassPhysicalStorageBufferEXT = 5349,
|
||||||
|
SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
|
||||||
SpvStorageClassCodeSectionINTEL = 5605,
|
SpvStorageClassCodeSectionINTEL = 5605,
|
||||||
SpvStorageClassDeviceOnlyINTEL = 5936,
|
SpvStorageClassDeviceOnlyINTEL = 5936,
|
||||||
SpvStorageClassHostOnlyINTEL = 5937,
|
SpvStorageClassHostOnlyINTEL = 5937,
|
||||||
@@ -508,6 +514,7 @@ typedef enum SpvDecoration_ {
|
|||||||
SpvDecorationPassthroughNV = 5250,
|
SpvDecorationPassthroughNV = 5250,
|
||||||
SpvDecorationViewportRelativeNV = 5252,
|
SpvDecorationViewportRelativeNV = 5252,
|
||||||
SpvDecorationSecondaryViewportRelativeNV = 5256,
|
SpvDecorationSecondaryViewportRelativeNV = 5256,
|
||||||
|
SpvDecorationPerPrimitiveEXT = 5271,
|
||||||
SpvDecorationPerPrimitiveNV = 5271,
|
SpvDecorationPerPrimitiveNV = 5271,
|
||||||
SpvDecorationPerViewNV = 5272,
|
SpvDecorationPerViewNV = 5272,
|
||||||
SpvDecorationPerTaskNV = 5273,
|
SpvDecorationPerTaskNV = 5273,
|
||||||
@@ -657,6 +664,10 @@ typedef enum SpvBuiltIn_ {
|
|||||||
SpvBuiltInFragmentSizeNV = 5292,
|
SpvBuiltInFragmentSizeNV = 5292,
|
||||||
SpvBuiltInFragInvocationCountEXT = 5293,
|
SpvBuiltInFragInvocationCountEXT = 5293,
|
||||||
SpvBuiltInInvocationsPerPixelNV = 5293,
|
SpvBuiltInInvocationsPerPixelNV = 5293,
|
||||||
|
SpvBuiltInPrimitivePointIndicesEXT = 5294,
|
||||||
|
SpvBuiltInPrimitiveLineIndicesEXT = 5295,
|
||||||
|
SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
|
||||||
|
SpvBuiltInCullPrimitiveEXT = 5299,
|
||||||
SpvBuiltInLaunchIdKHR = 5319,
|
SpvBuiltInLaunchIdKHR = 5319,
|
||||||
SpvBuiltInLaunchIdNV = 5319,
|
SpvBuiltInLaunchIdNV = 5319,
|
||||||
SpvBuiltInLaunchSizeKHR = 5320,
|
SpvBuiltInLaunchSizeKHR = 5320,
|
||||||
@@ -997,6 +1008,7 @@ typedef enum SpvCapability_ {
|
|||||||
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
||||||
SpvCapabilityMeshShadingNV = 5266,
|
SpvCapabilityMeshShadingNV = 5266,
|
||||||
SpvCapabilityImageFootprintNV = 5282,
|
SpvCapabilityImageFootprintNV = 5282,
|
||||||
|
SpvCapabilityMeshShadingEXT = 5283,
|
||||||
SpvCapabilityFragmentBarycentricKHR = 5284,
|
SpvCapabilityFragmentBarycentricKHR = 5284,
|
||||||
SpvCapabilityFragmentBarycentricNV = 5284,
|
SpvCapabilityFragmentBarycentricNV = 5284,
|
||||||
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
||||||
@@ -1596,6 +1608,8 @@ typedef enum SpvOp_ {
|
|||||||
SpvOpFragmentFetchAMD = 5012,
|
SpvOpFragmentFetchAMD = 5012,
|
||||||
SpvOpReadClockKHR = 5056,
|
SpvOpReadClockKHR = 5056,
|
||||||
SpvOpImageSampleFootprintNV = 5283,
|
SpvOpImageSampleFootprintNV = 5283,
|
||||||
|
SpvOpEmitMeshTasksEXT = 5294,
|
||||||
|
SpvOpSetMeshOutputsEXT = 5295,
|
||||||
SpvOpGroupNonUniformPartitionNV = 5296,
|
SpvOpGroupNonUniformPartitionNV = 5296,
|
||||||
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
|
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||||
SpvOpReportIntersectionKHR = 5334,
|
SpvOpReportIntersectionKHR = 5334,
|
||||||
@@ -2269,6 +2283,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
|||||||
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||||
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
||||||
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
||||||
|
case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
|
||||||
|
case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
|
||||||
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
||||||
case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
||||||
case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
|
case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
|
||||||
|
@@ -4119,6 +4119,52 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||||||
<member><type>uint32_t</type> <name>taskCount</name></member>
|
<member><type>uint32_t</type> <name>taskCount</name></member>
|
||||||
<member><type>uint32_t</type> <name>firstTask</name></member>
|
<member><type>uint32_t</type> <name>firstTask</name></member>
|
||||||
</type>
|
</type>
|
||||||
|
<type category="struct" name="VkPhysicalDeviceMeshShaderFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
|
||||||
|
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
|
||||||
|
<member optional="true"><type>void</type>* <name>pNext</name></member>
|
||||||
|
<member><type>VkBool32</type> <name>taskShader</name></member>
|
||||||
|
<member><type>VkBool32</type> <name>meshShader</name></member>
|
||||||
|
<member><type>VkBool32</type> <name>multiviewMeshShader</name></member>
|
||||||
|
<member><type>VkBool32</type> <name>primitiveFragmentShadingRateMeshShader</name></member>
|
||||||
|
</type>
|
||||||
|
<type category="struct" name="VkPhysicalDeviceMeshShaderPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
|
||||||
|
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
|
||||||
|
<member optional="true"><type>void</type>* <name>pNext</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxTaskWorkGroupTotalCount</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxTaskWorkGroupCount</name>[3]</member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxTaskWorkGroupInvocations</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxTaskWorkGroupSize</name>[3]</member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxTaskPayloadSize</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxTaskSharedMemorySize</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxTaskPayloadAndSharedMemorySize</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshWorkGroupTotalCount</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshWorkGroupCount</name>[3]</member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshWorkGroupInvocations</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshWorkGroupSize</name>[3]</member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshSharedMemorySize</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshPayloadAndSharedMemorySize</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshOutputMemorySize</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshPayloadAndOutputMemorySize</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshOutputComponents</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshOutputVertices</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshOutputPrimitives</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshOutputLayers</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxMeshMultiviewViewCount</name></member>
|
||||||
|
<member limittype="noauto"><type>uint32_t</type> <name>meshOutputPerVertexGranularity</name></member>
|
||||||
|
<member limittype="noauto"><type>uint32_t</type> <name>meshOutputPerPrimitiveGranularity</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxPreferredTaskWorkGroupInvocations</name></member>
|
||||||
|
<member limittype="max"><type>uint32_t</type> <name>maxPreferredMeshWorkGroupInvocations</name></member>
|
||||||
|
<member limittype="noauto"><type>VkBool32</type> <name>prefersLocalInvocationVertexOutput</name></member>
|
||||||
|
<member limittype="noauto"><type>VkBool32</type> <name>prefersLocalInvocationPrimitiveOutput</name></member>
|
||||||
|
<member limittype="noauto"><type>VkBool32</type> <name>prefersCompactVertexOutput</name></member>
|
||||||
|
<member limittype="noauto"><type>VkBool32</type> <name>prefersCompactPrimitiveOutput</name></member>
|
||||||
|
<member limittype="bitmask"><type>VkQueryPipelineStatisticFlags</type> <name>meshShadingAffectedPipelineStatistics</name></member>
|
||||||
|
</type>
|
||||||
|
<type category="struct" name="VkDrawMeshTasksIndirectCommandEXT">
|
||||||
|
<member noautovalidity="true"><type>uint32_t</type> <name>groupCountX</name></member>
|
||||||
|
<member noautovalidity="true"><type>uint32_t</type> <name>groupCountY</name></member>
|
||||||
|
<member noautovalidity="true"><type>uint32_t</type> <name>groupCountZ</name></member>
|
||||||
|
</type>
|
||||||
<type category="struct" name="VkRayTracingShaderGroupCreateInfoNV">
|
<type category="struct" name="VkRayTracingShaderGroupCreateInfoNV">
|
||||||
<member values="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
|
<member values="VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
|
||||||
<member optional="true">const <type>void</type>* <name>pNext</name></member>
|
<member optional="true">const <type>void</type>* <name>pNext</name></member>
|
||||||
@@ -11185,6 +11231,31 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||||||
<param><type>uint32_t</type> <name>maxDrawCount</name></param>
|
<param><type>uint32_t</type> <name>maxDrawCount</name></param>
|
||||||
<param><type>uint32_t</type> <name>stride</name></param>
|
<param><type>uint32_t</type> <name>stride</name></param>
|
||||||
</command>
|
</command>
|
||||||
|
<command queues="graphics" renderpass="inside" cmdbufferlevel="primary,secondary">
|
||||||
|
<proto><type>void</type> <name>vkCmdDrawMeshTasksEXT</name></proto>
|
||||||
|
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||||
|
<param><type>uint32_t</type> <name>groupCountX</name></param>
|
||||||
|
<param><type>uint32_t</type> <name>groupCountY</name></param>
|
||||||
|
<param><type>uint32_t</type> <name>groupCountZ</name></param>
|
||||||
|
</command>
|
||||||
|
<command queues="graphics" renderpass="inside" cmdbufferlevel="primary,secondary">
|
||||||
|
<proto><type>void</type> <name>vkCmdDrawMeshTasksIndirectEXT</name></proto>
|
||||||
|
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||||
|
<param><type>VkBuffer</type> <name>buffer</name></param>
|
||||||
|
<param><type>VkDeviceSize</type> <name>offset</name></param>
|
||||||
|
<param><type>uint32_t</type> <name>drawCount</name></param>
|
||||||
|
<param><type>uint32_t</type> <name>stride</name></param>
|
||||||
|
</command>
|
||||||
|
<command queues="graphics" renderpass="inside" cmdbufferlevel="primary,secondary">
|
||||||
|
<proto><type>void</type> <name>vkCmdDrawMeshTasksIndirectCountEXT</name></proto>
|
||||||
|
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
|
||||||
|
<param><type>VkBuffer</type> <name>buffer</name></param>
|
||||||
|
<param><type>VkDeviceSize</type> <name>offset</name></param>
|
||||||
|
<param><type>VkBuffer</type> <name>countBuffer</name></param>
|
||||||
|
<param><type>VkDeviceSize</type> <name>countBufferOffset</name></param>
|
||||||
|
<param><type>uint32_t</type> <name>maxDrawCount</name></param>
|
||||||
|
<param><type>uint32_t</type> <name>stride</name></param>
|
||||||
|
</command>
|
||||||
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
|
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
|
||||||
<proto><type>VkResult</type> <name>vkCompileDeferredNV</name></proto>
|
<proto><type>VkResult</type> <name>vkCompileDeferredNV</name></proto>
|
||||||
<param><type>VkDevice</type> <name>device</name></param>
|
<param><type>VkDevice</type> <name>device</name></param>
|
||||||
@@ -17788,8 +17859,8 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||||||
<enum bitpos="19" extends="VkAccessFlagBits2" name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"/>
|
<enum bitpos="19" extends="VkAccessFlagBits2" name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"/>
|
||||||
</require>
|
</require>
|
||||||
<require extension="VK_NV_mesh_shader">
|
<require extension="VK_NV_mesh_shader">
|
||||||
<enum bitpos="19" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV"/>
|
<enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT"/>
|
||||||
<enum bitpos="20" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV"/>
|
<enum extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV" alias="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT"/>
|
||||||
</require>
|
</require>
|
||||||
<require extension="VK_AMD_buffer_marker">
|
<require extension="VK_AMD_buffer_marker">
|
||||||
<command name="vkCmdWriteBufferMarker2AMD"/>
|
<command name="vkCmdWriteBufferMarker2AMD"/>
|
||||||
@@ -17801,6 +17872,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||||||
<enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"/>
|
<enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"/>
|
||||||
<enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"/>
|
<enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"/>
|
||||||
</require>
|
</require>
|
||||||
|
<require extension="VK_EXT_mesh_shader">
|
||||||
|
<enum bitpos="19" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT"/>
|
||||||
|
<enum bitpos="20" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT"/>
|
||||||
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_AMD_extension_316" number="316" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
|
<extension name="VK_AMD_extension_316" number="316" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
|
||||||
<require>
|
<require>
|
||||||
@@ -17941,10 +18016,25 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||||||
<type name="VkAccelerationStructureMotionInstanceFlagsNV"/>
|
<type name="VkAccelerationStructureMotionInstanceFlagsNV"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_NV_extension_329" number="329" author="NV" contact="Pat Brown @nvpbrown" supported="disabled">
|
<extension name="VK_EXT_mesh_shader" number="329" type="device" requires="VK_KHR_get_physical_device_properties2" author="EXT" sortorder="1" contact="Christoph Kubisch @pixeljetstream" supported="vulkan">
|
||||||
<require>
|
<require>
|
||||||
<enum value="0" name="VK_NV_EXTENSION_329_SPEC_VERSION"/>
|
<enum value="1" name="VK_EXT_MESH_SHADER_SPEC_VERSION"/>
|
||||||
<enum value=""VK_NV_extension_329"" name="VK_NV_EXTENSION_329_EXTENSION_NAME"/>
|
<enum value=""VK_EXT_mesh_shader"" name="VK_EXT_MESH_SHADER_EXTENSION_NAME"/>
|
||||||
|
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT"/>
|
||||||
|
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT"/>
|
||||||
|
<enum bitpos="6" extends="VkShaderStageFlagBits" name="VK_SHADER_STAGE_TASK_BIT_EXT"/>
|
||||||
|
<enum bitpos="7" extends="VkShaderStageFlagBits" name="VK_SHADER_STAGE_MESH_BIT_EXT"/>
|
||||||
|
<enum bitpos="19" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT"/>
|
||||||
|
<enum bitpos="20" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT"/>
|
||||||
|
<command name="vkCmdDrawMeshTasksEXT"/>
|
||||||
|
<command name="vkCmdDrawMeshTasksIndirectEXT"/>
|
||||||
|
<command name="vkCmdDrawMeshTasksIndirectCountEXT"/>
|
||||||
|
<type name="VkPhysicalDeviceMeshShaderFeaturesEXT"/>
|
||||||
|
<type name="VkPhysicalDeviceMeshShaderPropertiesEXT"/>
|
||||||
|
<type name="VkDrawMeshTasksIndirectCommandEXT"/>
|
||||||
|
</require>
|
||||||
|
<require extension="VK_NV_device_generated_commands">
|
||||||
|
<enum offset="0" extends="VkIndirectCommandsTokenTypeNV" name="VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_NV_extension_330" number="330" author="NV" contact="Liam Middlebrook @liam-middlebrook" supported="disabled">
|
<extension name="VK_NV_extension_330" number="330" author="NV" contact="Liam Middlebrook @liam-middlebrook" supported="disabled">
|
||||||
@@ -20890,6 +20980,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||||||
<spirvextension name="SPV_QCOM_image_processing">
|
<spirvextension name="SPV_QCOM_image_processing">
|
||||||
<enable extension="VK_QCOM_image_processing"/>
|
<enable extension="VK_QCOM_image_processing"/>
|
||||||
</spirvextension>
|
</spirvextension>
|
||||||
|
<spirvextension name="SPV_EXT_mesh_shader">
|
||||||
|
<enable extension="VK_EXT_mesh_shader"/>
|
||||||
|
</spirvextension>
|
||||||
</spirvextensions>
|
</spirvextensions>
|
||||||
<spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it">
|
<spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it">
|
||||||
<spirvcapability name="Matrix">
|
<spirvcapability name="Matrix">
|
||||||
@@ -21346,5 +21439,8 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
|||||||
<spirvcapability name="TextureBlockMatchQCOM">
|
<spirvcapability name="TextureBlockMatchQCOM">
|
||||||
<enable struct="VkPhysicalDeviceImageProcessingFeaturesQCOM" feature="textureBlockMatch" requires="VK_QCOM_image_processing"/>
|
<enable struct="VkPhysicalDeviceImageProcessingFeaturesQCOM" feature="textureBlockMatch" requires="VK_QCOM_image_processing"/>
|
||||||
</spirvcapability>
|
</spirvcapability>
|
||||||
|
<spirvcapability name="MeshShadingEXT">
|
||||||
|
<enable extension="VK_EXT_mesh_shader"/>
|
||||||
|
</spirvcapability>
|
||||||
</spirvcapabilities>
|
</spirvcapabilities>
|
||||||
</registry>
|
</registry>
|
||||||
|
Reference in New Issue
Block a user