diff --git a/3rdparty/spirv-headers/include/spirv/spir-v.xml b/3rdparty/spirv-headers/include/spirv/spir-v.xml
index 6648b3374..9dea8d9bb 100644
--- a/3rdparty/spirv-headers/include/spirv/spir-v.xml
+++ b/3rdparty/spirv-headers/include/spirv/spir-v.xml
@@ -140,14 +140,16 @@
-
+
+
+
-
+
@@ -172,13 +174,14 @@
+
-
+
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json b/3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json
index 8f1e29a48..377e2ec08 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json
+++ b/3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json
@@ -4102,6 +4102,43 @@
"capabilities" : [ "Addresses", "VariablePointers", "VariablePointersStorageBuffer" ],
"version" : "1.4"
},
+ {
+ "opname" : "OpColorAttachmentReadEXT",
+ "class" : "Image",
+ "opcode" : 4160,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Attachment'" },
+ { "kind" : "IdRef", "name" : "'Sample'", "quantifier" : "?" }
+ ],
+ "capabilities": [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpDepthAttachmentReadEXT",
+ "class" : "Image",
+ "opcode" : 4161,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Sample'", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "TileImageDepthReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpStencilAttachmentReadEXT",
+ "class" : "Image",
+ "opcode" : 4162,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Sample'", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "TileImageStencilReadAccessEXT" ],
+ "version" : "None"
+ },
{
"opname" : "OpTerminateInvocation",
"class" : "Control-Flow",
@@ -5446,6 +5483,25 @@
"extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
"version" : "None"
},
+ {
+ "opname" : "OpRayQueryGetIntersectionTriangleVertexPositionsKHR",
+ "class" : "Reserved",
+ "opcode" : 5340,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryPositionFetchKHR" ],
+ "version" : "None"
+ },
{
"opname" : "OpTypeAccelerationStructureNV",
"class" : "Reserved",
@@ -10473,6 +10529,24 @@
],
"version" : "1.2"
},
+ {
+ "enumerant" : "NonCoherentColorAttachmentReadEXT",
+ "value" : 4169,
+ "capabilities" : [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NonCoherentDepthAttachmentReadEXT",
+ "value" : 4170,
+ "capabilities" : [ "TileImageDepthReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NonCoherentStencilAttachmentReadEXT",
+ "value" : 4171,
+ "capabilities" : [ "TileImageStencilReadAccessEXT" ],
+ "version" : "None"
+ },
{
"enumerant" : "SubgroupUniformControlFlowKHR",
"value" : 4421,
@@ -10887,6 +10961,12 @@
"capabilities" : [ "Shader" ],
"version" : "1.3"
},
+ {
+ "enumerant" : "TileImageEXT",
+ "value" : 4172,
+ "capabilities" : [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
+ },
{
"enumerant" : "CallableDataNV",
"value" : 5328,
@@ -11061,6 +11141,12 @@
"enumerant" : "SubpassData",
"value" : 6,
"capabilities" : [ "InputAttachment" ]
+ },
+ {
+ "enumerant" : "TileImageDataEXT",
+ "value" : 4173,
+ "capabilities" : [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
}
]
},
@@ -13470,6 +13556,12 @@
"extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
"version" : "None"
},
+ {
+ "enumerant" : "HitTriangleVertexPositionsKHR",
+ "value" : 5335,
+ "capabilities" : [ "RayTracingPositionFetchKHR" ],
+ "version" : "None"
+ },
{
"enumerant" : "IncomingRayFlagsNV",
"value" : 5351,
@@ -13999,6 +14091,24 @@
"value" : 4165,
"extensions" : [ "SPV_ARM_core_builtins" ]
},
+ {
+ "enumerant" : "TileImageColorReadAccessEXT",
+ "value" : 4166,
+ "extensions" : [ "SPV_EXT_shader_tile_image" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TileImageDepthReadAccessEXT",
+ "value" : 4167,
+ "extensions" : [ "SPV_EXT_shader_tile_image" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TileImageStencilReadAccessEXT",
+ "value" : 4168,
+ "extensions" : [ "SPV_EXT_shader_tile_image" ],
+ "version" : "None"
+ },
{
"enumerant" : "FragmentShadingRateKHR",
"value" : 4422,
@@ -14542,6 +14652,13 @@
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
"version" : "1.5"
},
+ {
+ "enumerant" : "RayTracingPositionFetchKHR",
+ "value" : 5336,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ],
+ "version" : "None"
+ },
{
"enumerant" : "RayTracingNV",
"value" : 5340,
@@ -14673,6 +14790,13 @@
"extensions" : [ "SPV_NV_bindless_texture" ],
"version" : "None"
},
+ {
+ "enumerant" : "RayQueryPositionFetchKHR",
+ "value" : 5391,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ],
+ "version" : "None"
+ },
{
"enumerant" : "SubgroupShuffleINTEL",
"value" : 5568,
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/spirv.h b/3rdparty/spirv-headers/include/spirv/unified1/spirv.h
index 28eb8ff49..b8de1b846 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.h
+++ b/3rdparty/spirv-headers/include/spirv/unified1/spirv.h
@@ -160,6 +160,9 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
SpvExecutionModeLocalSizeId = 38,
SpvExecutionModeLocalSizeHintId = 39,
+ SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
+ SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
+ SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
SpvExecutionModePostDepthCoverage = 4446,
SpvExecutionModeDenormPreserve = 4459,
@@ -219,6 +222,7 @@ typedef enum SpvStorageClass_ {
SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11,
SpvStorageClassStorageBuffer = 12,
+ SpvStorageClassTileImageEXT = 4172,
SpvStorageClassCallableDataKHR = 5328,
SpvStorageClassCallableDataNV = 5328,
SpvStorageClassIncomingCallableDataKHR = 5329,
@@ -249,6 +253,7 @@ typedef enum SpvDim_ {
SpvDimRect = 4,
SpvDimBuffer = 5,
SpvDimSubpassData = 6,
+ SpvDimTileImageDataEXT = 4173,
SpvDimMax = 0x7fffffff,
} SpvDim;
@@ -721,6 +726,7 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInHitKindKHR = 5333,
SpvBuiltInHitKindNV = 5333,
SpvBuiltInCurrentRayTimeNV = 5334,
+ SpvBuiltInHitTriangleVertexPositionsKHR = 5335,
SpvBuiltInIncomingRayFlagsKHR = 5351,
SpvBuiltInIncomingRayFlagsNV = 5351,
SpvBuiltInRayGeometryIndexKHR = 5352,
@@ -992,6 +998,9 @@ typedef enum SpvCapability_ {
SpvCapabilityShaderViewportIndex = 70,
SpvCapabilityUniformDecoration = 71,
SpvCapabilityCoreBuiltinsARM = 4165,
+ SpvCapabilityTileImageColorReadAccessEXT = 4166,
+ SpvCapabilityTileImageDepthReadAccessEXT = 4167,
+ SpvCapabilityTileImageStencilReadAccessEXT = 4168,
SpvCapabilityFragmentShadingRateKHR = 4422,
SpvCapabilitySubgroupBallotKHR = 4423,
SpvCapabilityDrawParameters = 4427,
@@ -1074,6 +1083,7 @@ typedef enum SpvCapability_ {
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ SpvCapabilityRayTracingPositionFetchKHR = 5336,
SpvCapabilityRayTracingNV = 5340,
SpvCapabilityRayTracingMotionBlurNV = 5341,
SpvCapabilityVulkanMemoryModel = 5345,
@@ -1094,6 +1104,7 @@ typedef enum SpvCapability_ {
SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
SpvCapabilityShaderInvocationReorderNV = 5383,
SpvCapabilityBindlessTextureNV = 5390,
+ SpvCapabilityRayQueryPositionFetchKHR = 5391,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1610,6 +1621,9 @@ typedef enum SpvOp_ {
SpvOpPtrEqual = 401,
SpvOpPtrNotEqual = 402,
SpvOpPtrDiff = 403,
+ SpvOpColorAttachmentReadEXT = 4160,
+ SpvOpDepthAttachmentReadEXT = 4161,
+ SpvOpStencilAttachmentReadEXT = 4162,
SpvOpTerminateInvocation = 4416,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
@@ -1702,6 +1716,7 @@ typedef enum SpvOp_ {
SpvOpTraceNV = 5337,
SpvOpTraceMotionNV = 5338,
SpvOpTraceRayMotionNV = 5339,
+ SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
SpvOpTypeAccelerationStructureKHR = 5341,
SpvOpTypeAccelerationStructureNV = 5341,
SpvOpExecuteCallableNV = 5344,
@@ -2330,6 +2345,9 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
+ case SpvOpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case SpvOpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case SpvOpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
@@ -2415,6 +2433,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11 b/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11
index 362e8faeb..5b643aeea 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11
+++ b/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11
@@ -156,6 +156,9 @@ enum class ExecutionMode : unsigned {
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -215,6 +218,7 @@ enum class StorageClass : unsigned {
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -245,6 +249,7 @@ enum class Dim : unsigned {
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
Max = 0x7fffffff,
};
@@ -717,6 +722,7 @@ enum class BuiltIn : unsigned {
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -988,6 +994,9 @@ enum class Capability : unsigned {
ShaderViewportIndex = 70,
UniformDecoration = 71,
CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -1070,6 +1079,7 @@ enum class Capability : unsigned {
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1090,6 +1100,7 @@ enum class Capability : unsigned {
RayTracingOpacityMicromapEXT = 5381,
ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1606,6 +1617,9 @@ enum class Op : unsigned {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1698,6 +1712,7 @@ enum class Op : unsigned {
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -2326,6 +2341,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpPtrEqual: *hasResult = true; *hasResultType = true; break;
case Op::OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break;
+ case Op::OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case Op::OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case Op::OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case Op::OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
@@ -2411,6 +2429,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/spirv.json b/3rdparty/spirv-headers/include/spirv/unified1/spirv.json
index 5cad41c5e..908fe0573 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.json
+++ b/3rdparty/spirv-headers/include/spirv/unified1/spirv.json
@@ -175,6 +175,9 @@
"SubgroupsPerWorkgroupId": 37,
"LocalSizeId": 38,
"LocalSizeHintId": 39,
+ "NonCoherentColorAttachmentReadEXT": 4169,
+ "NonCoherentDepthAttachmentReadEXT": 4170,
+ "NonCoherentStencilAttachmentReadEXT": 4171,
"SubgroupUniformControlFlowKHR": 4421,
"PostDepthCoverage": 4446,
"DenormPreserve": 4459,
@@ -237,6 +240,7 @@
"AtomicCounter": 10,
"Image": 11,
"StorageBuffer": 12,
+ "TileImageEXT": 4172,
"CallableDataKHR": 5328,
"CallableDataNV": 5328,
"IncomingCallableDataKHR": 5329,
@@ -269,7 +273,8 @@
"Cube": 3,
"Rect": 4,
"Buffer": 5,
- "SubpassData": 6
+ "SubpassData": 6,
+ "TileImageDataEXT": 4173
}
},
{
@@ -746,6 +751,7 @@
"HitKindKHR": 5333,
"HitKindNV": 5333,
"CurrentRayTimeNV": 5334,
+ "HitTriangleVertexPositionsKHR": 5335,
"IncomingRayFlagsKHR": 5351,
"IncomingRayFlagsNV": 5351,
"RayGeometryIndexKHR": 5352,
@@ -968,6 +974,9 @@
"ShaderViewportIndex": 70,
"UniformDecoration": 71,
"CoreBuiltinsARM": 4165,
+ "TileImageColorReadAccessEXT": 4166,
+ "TileImageDepthReadAccessEXT": 4167,
+ "TileImageStencilReadAccessEXT": 4168,
"FragmentShadingRateKHR": 4422,
"SubgroupBallotKHR": 4423,
"DrawParameters": 4427,
@@ -1050,6 +1059,7 @@
"UniformTexelBufferArrayNonUniformIndexingEXT": 5311,
"StorageTexelBufferArrayNonUniformIndexing": 5312,
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
+ "RayTracingPositionFetchKHR": 5336,
"RayTracingNV": 5340,
"RayTracingMotionBlurNV": 5341,
"VulkanMemoryModel": 5345,
@@ -1070,6 +1080,7 @@
"RayTracingOpacityMicromapEXT": 5381,
"ShaderInvocationReorderNV": 5383,
"BindlessTextureNV": 5390,
+ "RayQueryPositionFetchKHR": 5391,
"SubgroupShuffleINTEL": 5568,
"SubgroupBufferBlockIOINTEL": 5569,
"SubgroupImageBlockIOINTEL": 5570,
@@ -1596,6 +1607,9 @@
"OpPtrEqual": 401,
"OpPtrNotEqual": 402,
"OpPtrDiff": 403,
+ "OpColorAttachmentReadEXT": 4160,
+ "OpDepthAttachmentReadEXT": 4161,
+ "OpStencilAttachmentReadEXT": 4162,
"OpTerminateInvocation": 4416,
"OpSubgroupBallotKHR": 4421,
"OpSubgroupFirstInvocationKHR": 4422,
@@ -1688,6 +1702,7 @@
"OpTraceNV": 5337,
"OpTraceMotionNV": 5338,
"OpTraceRayMotionNV": 5339,
+ "OpRayQueryGetIntersectionTriangleVertexPositionsKHR": 5340,
"OpTypeAccelerationStructureKHR": 5341,
"OpTypeAccelerationStructureNV": 5341,
"OpExecuteCallableNV": 5344,