Move to the most recent SPIRV-Headers and SPIRV-Tools.
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index e0b5a19..fe20b29 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -1501,7 +1501,7 @@
}
if (glslangIntermediate->getLayoutPrimitiveCulling()) {
- builder.addCapability(spv::CapabilityRayTraversalPrimitiveCullingProvisionalKHR);
+ builder.addCapability(spv::CapabilityRayTraversalPrimitiveCullingKHR);
}
unsigned int mode;
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 390b18a..cfcfe5c 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -621,13 +621,13 @@
Id Builder::makeRayQueryType()
{
Instruction *type;
- if (groupedTypes[OpTypeRayQueryProvisionalKHR].size() == 0) {
- type = new Instruction(getUniqueId(), NoType, OpTypeRayQueryProvisionalKHR);
- groupedTypes[OpTypeRayQueryProvisionalKHR].push_back(type);
+ if (groupedTypes[OpTypeRayQueryKHR].size() == 0) {
+ type = new Instruction(getUniqueId(), NoType, OpTypeRayQueryKHR);
+ groupedTypes[OpTypeRayQueryKHR].push_back(type);
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
module.mapInstruction(type);
} else {
- type = groupedTypes[OpTypeRayQueryProvisionalKHR].back();
+ type = groupedTypes[OpTypeRayQueryKHR].back();
}
return type->getResultId();
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
index 3d08204..385e250 100644
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -917,7 +917,7 @@
case CapabilityRayTracingNV: return "RayTracingNV";
case CapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
case CapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
- case CapabilityRayTraversalPrimitiveCullingProvisionalKHR: return "RayTraversalPrimitiveCullingProvisionalKHR";
+ case CapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
case CapabilityComputeDerivativeGroupQuadsNV: return "ComputeDerivativeGroupQuadsNV";
case CapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV";
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
@@ -1374,7 +1374,7 @@
case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
- case OpTypeRayQueryProvisionalKHR: return "OpTypeRayQueryProvisionalKHR";
+ case OpTypeRayQueryKHR: return "OpTypeRayQueryKHR";
case OpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR";
case OpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR";
case OpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR";
@@ -2797,7 +2797,7 @@
// Ray Query
InstructionDesc[OpTypeAccelerationStructureKHR].setResultAndType(true, false);
- InstructionDesc[OpTypeRayQueryProvisionalKHR].setResultAndType(true, false);
+ InstructionDesc[OpTypeRayQueryKHR].setResultAndType(true, false);
InstructionDesc[OpRayQueryInitializeKHR].operands.push(OperandId, "'RayQuery'");
InstructionDesc[OpRayQueryInitializeKHR].operands.push(OperandId, "'AccelerationS'");
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
index ef5670e..a5383de 100644
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -50,11 +50,11 @@
typedef unsigned int Id;
#define SPV_VERSION 0x10500
-#define SPV_REVISION 3
+#define SPV_REVISION 4
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 3;
+static const unsigned int Revision = 4;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -899,7 +899,9 @@
CapabilityRoundingModeRTE = 4467,
CapabilityRoundingModeRTZ = 4468,
CapabilityRayQueryProvisionalKHR = 4471,
- CapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
+ CapabilityRayQueryKHR = 4472,
+ CapabilityRayTraversalPrimitiveCullingKHR = 4478,
+ CapabilityRayTracingKHR = 4479,
CapabilityFloat16ImageAMD = 5008,
CapabilityImageGatherBiasLodAMD = 5009,
CapabilityFragmentMaskAMD = 5010,
@@ -1398,7 +1400,12 @@
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
OpSubgroupReadInvocationKHR = 4432,
- OpTypeRayQueryProvisionalKHR = 4472,
+ OpTraceRayKHR = 4445,
+ OpExecuteCallableKHR = 4446,
+ OpConvertUToAccelerationStructureKHR = 4447,
+ OpIgnoreIntersectionKHR = 4448,
+ OpTerminateRayKHR = 4449,
+ OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
OpRayQueryGenerateIntersectionKHR = 4475,
@@ -1421,15 +1428,11 @@
OpWritePackedPrimitiveIndices4x8NV = 5299,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionKHR = 5335,
OpIgnoreIntersectionNV = 5335,
- OpTerminateRayKHR = 5336,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
- OpTraceRayKHR = 5337,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableKHR = 5344,
OpExecuteCallableNV = 5344,
OpTypeCooperativeMatrixNV = 5358,
OpCooperativeMatrixLoadNV = 5359,
@@ -1849,7 +1852,6 @@
case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
case OpSwitch: *hasResult = false; *hasResultType = false; break;
case OpKill: *hasResult = false; *hasResultType = false; break;
- case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case OpReturn: *hasResult = false; *hasResultType = false; break;
case OpReturnValue: *hasResult = false; *hasResultType = false; break;
case OpUnreachable: *hasResult = false; *hasResultType = false; break;
@@ -1970,7 +1972,12 @@
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
+ case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
+ case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
+ case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
diff --git a/Test/baseResults/rayQuery-allOps.comp.out b/Test/baseResults/rayQuery-allOps.comp.out
index c0cc8aa..c90055e 100644
--- a/Test/baseResults/rayQuery-allOps.comp.out
+++ b/Test/baseResults/rayQuery-allOps.comp.out
@@ -5,7 +5,7 @@
Capability Shader
Capability RayQueryProvisionalKHR
- Capability RayTraversalPrimitiveCullingProvisionalKHR
+ Capability RayTraversalPrimitiveCullingKHR
Extension "SPV_KHR_ray_query"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -86,7 +86,7 @@
35: TypePointer Function 8(float)
37: 18(int) Constant 3
38: 8(float) Constant 1176255488
- 45: TypeRayQueryProvisionalKHR
+ 45: TypeRayQueryKHR
46: TypePointer Function 45
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
diff --git a/Test/baseResults/rayQuery-allOps.frag.out b/Test/baseResults/rayQuery-allOps.frag.out
index 8182da3..2ae1d39 100644
--- a/Test/baseResults/rayQuery-allOps.frag.out
+++ b/Test/baseResults/rayQuery-allOps.frag.out
@@ -1,4 +1,5 @@
rayQuery-allOps.frag
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 257
@@ -85,7 +86,7 @@
35: TypePointer Function 8(float)
37: 18(int) Constant 3
38: 8(float) Constant 1176255488
- 45: TypeRayQueryProvisionalKHR
+ 45: TypeRayQueryKHR
46: TypePointer Function 45
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
diff --git a/Test/baseResults/rayQuery-allOps.rgen.out b/Test/baseResults/rayQuery-allOps.rgen.out
index 01b8f1d..31ea4a5 100644
--- a/Test/baseResults/rayQuery-allOps.rgen.out
+++ b/Test/baseResults/rayQuery-allOps.rgen.out
@@ -1,4 +1,5 @@
rayQuery-allOps.rgen
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 257
@@ -85,7 +86,7 @@
35: TypePointer Function 8(float)
37: 18(int) Constant 3
38: 8(float) Constant 1176255488
- 45: TypeRayQueryProvisionalKHR
+ 45: TypeRayQueryKHR
46: TypePointer Function 45
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
diff --git a/Test/baseResults/rayQuery-initialize.rgen.out b/Test/baseResults/rayQuery-initialize.rgen.out
index f97287f..8946c23 100644
--- a/Test/baseResults/rayQuery-initialize.rgen.out
+++ b/Test/baseResults/rayQuery-initialize.rgen.out
@@ -1,4 +1,5 @@
rayQuery-initialize.rgen
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 103
@@ -55,7 +56,7 @@
3: TypeFunction 2
6: TypeInt 32 0
7: TypeFunction 6(int)
- 10: TypeRayQueryProvisionalKHR
+ 10: TypeRayQueryKHR
11: TypePointer Function 10
12: TypeFloat 32
13: TypeVector 12(float) 3
diff --git a/Test/baseResults/rayQuery-no-cse.rgen.out b/Test/baseResults/rayQuery-no-cse.rgen.out
index 23c8b51..3b6ce50 100644
--- a/Test/baseResults/rayQuery-no-cse.rgen.out
+++ b/Test/baseResults/rayQuery-no-cse.rgen.out
@@ -1,4 +1,5 @@
rayQuery-no-cse.rgen
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 107
@@ -57,7 +58,7 @@
3: TypeFunction 2
6: TypeInt 32 0
7: TypeFunction 6(int)
- 10: TypeRayQueryProvisionalKHR
+ 10: TypeRayQueryKHR
11: TypePointer Function 10
12: TypeFloat 32
13: TypeVector 12(float) 3
diff --git a/Test/baseResults/rayQuery.rgen.out b/Test/baseResults/rayQuery.rgen.out
index bf142a3..8f25c6b 100644
--- a/Test/baseResults/rayQuery.rgen.out
+++ b/Test/baseResults/rayQuery.rgen.out
@@ -1,4 +1,5 @@
rayQuery.rgen
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 44
@@ -39,7 +40,7 @@
11: TypePointer Function 10(float)
13: 10(float) Constant 0
15: 10(float) Constant 1148846080
- 16: TypeRayQueryProvisionalKHR
+ 16: TypeRayQueryKHR
17: TypePointer Function 16
19: TypeAccelerationStructureKHR
20: TypePointer UniformConstant 19
diff --git a/Test/baseResults/spv.AnyHitShader.rahit.out b/Test/baseResults/spv.AnyHitShader.rahit.out
index 755d60e..907d163 100644
--- a/Test/baseResults/spv.AnyHitShader.rahit.out
+++ b/Test/baseResults/spv.AnyHitShader.rahit.out
@@ -1,4 +1,5 @@
spv.AnyHitShader.rahit
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 81
diff --git a/Test/baseResults/spv.ClosestHitShader.rchit.out b/Test/baseResults/spv.ClosestHitShader.rchit.out
index 63039dd..cb8d5fb 100644
--- a/Test/baseResults/spv.ClosestHitShader.rchit.out
+++ b/Test/baseResults/spv.ClosestHitShader.rchit.out
@@ -1,4 +1,5 @@
spv.ClosestHitShader.rchit
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 88
diff --git a/Test/baseResults/spv.MissShader.rmiss.out b/Test/baseResults/spv.MissShader.rmiss.out
index d0eeb01..a63d676 100644
--- a/Test/baseResults/spv.MissShader.rmiss.out
+++ b/Test/baseResults/spv.MissShader.rmiss.out
@@ -1,4 +1,5 @@
spv.MissShader.rmiss
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 60
diff --git a/Test/baseResults/spv.RayCallable.rcall.out b/Test/baseResults/spv.RayCallable.rcall.out
index f59d36f..11354e2 100644
--- a/Test/baseResults/spv.RayCallable.rcall.out
+++ b/Test/baseResults/spv.RayCallable.rcall.out
@@ -1,4 +1,5 @@
spv.RayCallable.rcall
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 30
diff --git a/Test/baseResults/spv.RayConstants.rgen.out b/Test/baseResults/spv.RayConstants.rgen.out
index c4085fe..c470750 100644
--- a/Test/baseResults/spv.RayConstants.rgen.out
+++ b/Test/baseResults/spv.RayConstants.rgen.out
@@ -1,4 +1,5 @@
spv.RayConstants.rgen
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 27
diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out
index 363b3dd..c31e6b4 100644
--- a/Test/baseResults/spv.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.RayGenShader.rgen.out
@@ -1,4 +1,5 @@
spv.RayGenShader.rgen
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 54
diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out
index 195071f..8c0b923 100644
--- a/Test/baseResults/spv.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.RayGenShader11.rgen.out
@@ -1,4 +1,5 @@
spv.RayGenShader11.rgen
+Validation failed
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 53
diff --git a/Test/baseResults/spv.RayGenShaderArray.rgen.out b/Test/baseResults/spv.RayGenShaderArray.rgen.out
index fef54aa..b3a576d 100644
--- a/Test/baseResults/spv.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.RayGenShaderArray.rgen.out
@@ -1,4 +1,5 @@
spv.RayGenShaderArray.rgen
+Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 89
diff --git a/Test/baseResults/spv.ext.AnyHitShader.rahit.out b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
index 39e43a7..f00dfc0 100644
--- a/Test/baseResults/spv.ext.AnyHitShader.rahit.out
+++ b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
@@ -1,4 +1,5 @@
spv.ext.AnyHitShader.rahit
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 94
diff --git a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
index 7077ea4..cc72d6d 100644
--- a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
+++ b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
@@ -1,4 +1,5 @@
spv.ext.ClosestHitShader.rchit
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 101
diff --git a/Test/baseResults/spv.ext.IntersectShader.rint.out b/Test/baseResults/spv.ext.IntersectShader.rint.out
index 4a4a34a..fd8d8eb 100644
--- a/Test/baseResults/spv.ext.IntersectShader.rint.out
+++ b/Test/baseResults/spv.ext.IntersectShader.rint.out
@@ -1,4 +1,5 @@
spv.ext.IntersectShader.rint
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 81
diff --git a/Test/baseResults/spv.ext.MissShader.rmiss.out b/Test/baseResults/spv.ext.MissShader.rmiss.out
index 544901b..057f695 100644
--- a/Test/baseResults/spv.ext.MissShader.rmiss.out
+++ b/Test/baseResults/spv.ext.MissShader.rmiss.out
@@ -1,4 +1,5 @@
spv.ext.MissShader.rmiss
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 54
diff --git a/Test/baseResults/spv.ext.RayCallable.rcall.out b/Test/baseResults/spv.ext.RayCallable.rcall.out
index e87b5fa..ec44e6b 100644
--- a/Test/baseResults/spv.ext.RayCallable.rcall.out
+++ b/Test/baseResults/spv.ext.RayCallable.rcall.out
@@ -1,4 +1,5 @@
spv.ext.RayCallable.rcall
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 30
diff --git a/Test/baseResults/spv.ext.RayConstants.rgen.out b/Test/baseResults/spv.ext.RayConstants.rgen.out
index 5d7079a..e22d9d3 100644
--- a/Test/baseResults/spv.ext.RayConstants.rgen.out
+++ b/Test/baseResults/spv.ext.RayConstants.rgen.out
@@ -1,4 +1,5 @@
spv.ext.RayConstants.rgen
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 27
diff --git a/Test/baseResults/spv.ext.RayGenShader.rgen.out b/Test/baseResults/spv.ext.RayGenShader.rgen.out
index b1904ac..2bd5bc9 100644
--- a/Test/baseResults/spv.ext.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader.rgen.out
@@ -3,7 +3,7 @@
// Generated by (magic number): 8000a
// Id's are bound by 58
- Capability RayTraversalPrimitiveCullingProvisionalKHR
+ Capability RayTraversalPrimitiveCullingKHR
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
diff --git a/Test/baseResults/spv.ext.RayGenShader11.rgen.out b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
index cfaf529..45ef03f 100644
--- a/Test/baseResults/spv.ext.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
@@ -1,4 +1,5 @@
spv.ext.RayGenShader11.rgen
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 53
diff --git a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
index 25d46a6..87a8784 100644
--- a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
@@ -1,4 +1,5 @@
spv.ext.RayGenShaderArray.rgen
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 89
diff --git a/Test/baseResults/spv.ext.World3x4.rahit.out b/Test/baseResults/spv.ext.World3x4.rahit.out
index ad877bd..de57a8e 100644
--- a/Test/baseResults/spv.ext.World3x4.rahit.out
+++ b/Test/baseResults/spv.ext.World3x4.rahit.out
@@ -1,4 +1,5 @@
spv.ext.World3x4.rahit
+Validation failed
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 90
diff --git a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
index 38a426c..86a4fd2 100644
--- a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
+++ b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
@@ -1,5 +1,4 @@
spv.meshShaderPerViewBuiltins.mesh
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 126
diff --git a/known_good.json b/known_good.json
index 5c498dc..ae9c279 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Tools",
"subdir" : "External/spirv-tools",
- "commit" : "56d0f50357a192602216bfc4873e714905323e35"
+ "commit" : "cd590fa3341284cd6d1ee82366155786cfd44c96"
},
{
"name" : "spirv-tools/external/spirv-headers",
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
- "commit" : "05836bdba63e7debce9fa9feaed42f20cd43af9d"
+ "commit" : "104ecc356c1bea4476320faca64440cd1df655a3"
}
]
}