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" } ] }