Skip to content

Commit f48f8ee

Browse files
committed
2 parents 730800f + 69155b2 commit f48f8ee

File tree

13 files changed

+147
-55
lines changed

13 files changed

+147
-55
lines changed

.github/workflows/presubmit.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
name: Presubmit
22
on: [push, pull_request]
33

4+
permissions:
5+
contents: read
6+
47
jobs:
58
build:
69
name: Build ${{ matrix.os }}

include/spirv/spir-v.xml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
<id value="29" vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, [email protected]"/>
8383
<id value="30" vendor="SpvGenTwo community" tool="SpvGenTwo SPIR-V IR Tools" comment="https://github.com/rAzoR8/SpvGenTwo"/>
8484
<id value="31" vendor="Google" tool="Skia SkSL" comment="Contact Ethan Nicholas, [email protected]"/>
85-
<id value="32" vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/>
85+
<id value="32" vendor="TornadoVM" tool="Beehive SPIRV Toolkit" comment="https://github.com/beehive-lab/beehive-spirv-toolkit"/>
8686
<id value="33" vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
8787
<id value="34" vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout [email protected], Repo https://github.com/rayanht/SPIRVSmith"/>
8888
<id value="35" vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers [email protected], Repo https://github.com/Hugobros3/shady"/>
@@ -141,14 +141,16 @@
141141
<ids type="opcode" start="6144" end="6271" vendor="Intel" comment="Contact [email protected]"/>
142142
<ids type="opcode" start="6272" end="6399" vendor="Huawei" comment="Contact [email protected]"/>
143143
<ids type="opcode" start="6400" end="6463" vendor="Intel" comment="Contact [email protected]"/>
144-
<ids type="opcode" start="6464" end="6527" vendor="Codeplay" comment="Contact [email protected]"/>
144+
<ids type="opcode" start="6464" end="6527" vendor="N/A" comment="Blank range to keep alignment with non-opcodes"/>
145+
<ids type="opcode" start="6528" end="6591" vendor="Codeplay" comment="Contact [email protected]"/>
146+
<ids type="opcode" start="6592" end="6655" vendor="Saarland University" comment="Contact [email protected]"/>
145147
<!-- Opcode enumerants to reserve for future use. To get a block, allocate
146148
multiples of 64 starting at the lowest available point in this
147149
block and add a corresponding <ids> tag immediately above. Make
148150
sure to fill in the vendor attribute, and preferably add a contact
149151
person/address in a comment attribute. -->
150152
<!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
151-
<ids type="opcode" start="6528" end="65535" comment="Opcode range reservable for future use by vendors"/>
153+
<ids type="opcode" start="6656" end="65535" comment="Opcode range reservable for future use by vendors"/>
152154
<!-- End reservations of opcodes -->
153155

154156

@@ -173,13 +175,14 @@
173175
<ids type="enumerant" start="6400" end="6463" vendor="Intel" comment="Contact [email protected]"/>
174176
<ids type="enumerant" start="6464" end="6527" vendor="Mikkosoft Productions" comment="Contact Mikko Rasa, [email protected]"/>
175177
<ids type="enumerant" start="6528" end="6591" vendor="Codeplay" comment="Contact [email protected]"/>
178+
<ids type="enumerant" start="6592" end="6655" vendor="Saarland University" comment="Contact [email protected]"/>
176179
<!-- Enumerants to reserve for future use. To get a block, allocate
177180
multiples of 64 starting at the lowest available point in this
178181
block and add a corresponding <ids> tag immediately above. Make
179182
sure to fill in the vendor attribute, and preferably add a contact
180183
person/address in a comment attribute. -->
181184
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
182-
<ids type="enumerant" start="6592" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
185+
<ids type="enumerant" start="6656" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
183186
<!-- End reservations of enumerants -->
184187

185188

include/spirv/unified1/spirv.bf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -722,6 +722,7 @@ namespace Spv
722722
HitKindKHR = 5333,
723723
HitKindNV = 5333,
724724
CurrentRayTimeNV = 5334,
725+
HitTriangleVertexPositionsKHR = 5335,
725726
IncomingRayFlagsKHR = 5351,
726727
IncomingRayFlagsNV = 5351,
727728
RayGeometryIndexKHR = 5352,
@@ -1084,6 +1085,7 @@ namespace Spv
10841085
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
10851086
StorageTexelBufferArrayNonUniformIndexing = 5312,
10861087
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1088+
RayTracingPositionFetchKHR = 5336,
10871089
RayTracingNV = 5340,
10881090
RayTracingMotionBlurNV = 5341,
10891091
VulkanMemoryModel = 5345,
@@ -1104,6 +1106,7 @@ namespace Spv
11041106
RayTracingOpacityMicromapEXT = 5381,
11051107
ShaderInvocationReorderNV = 5383,
11061108
BindlessTextureNV = 5390,
1109+
RayQueryPositionFetchKHR = 5391,
11071110
SubgroupShuffleINTEL = 5568,
11081111
SubgroupBufferBlockIOINTEL = 5569,
11091112
SubgroupImageBlockIOINTEL = 5570,
@@ -1717,6 +1720,7 @@ namespace Spv
17171720
OpTraceNV = 5337,
17181721
OpTraceMotionNV = 5338,
17191722
OpTraceRayMotionNV = 5339,
1723+
OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
17201724
OpTypeAccelerationStructureKHR = 5341,
17211725
OpTypeAccelerationStructureNV = 5341,
17221726
OpExecuteCallableNV = 5344,

include/spirv/unified1/spirv.core.grammar.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5483,6 +5483,25 @@
54835483
"extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
54845484
"version" : "None"
54855485
},
5486+
{
5487+
"opname" : "OpRayQueryGetIntersectionTriangleVertexPositionsKHR",
5488+
"class" : "Reserved",
5489+
"opcode" : 5340,
5490+
"operands" : [
5491+
{ "kind" : "IdResultType" },
5492+
{ "kind" : "IdResult" },
5493+
{
5494+
"kind" : "IdRef",
5495+
"name" : "'RayQuery'"
5496+
},
5497+
{
5498+
"kind" : "IdRef",
5499+
"name" : "'Intersection'"
5500+
}
5501+
],
5502+
"capabilities" : [ "RayQueryPositionFetchKHR" ],
5503+
"version" : "None"
5504+
},
54865505
{
54875506
"opname" : "OpTypeAccelerationStructureNV",
54885507
"class" : "Reserved",
@@ -13541,6 +13560,12 @@
1354113560
"extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
1354213561
"version" : "None"
1354313562
},
13563+
{
13564+
"enumerant" : "HitTriangleVertexPositionsKHR",
13565+
"value" : 5335,
13566+
"capabilities" : [ "RayTracingPositionFetchKHR" ],
13567+
"version" : "None"
13568+
},
1354413569
{
1354513570
"enumerant" : "IncomingRayFlagsNV",
1354613571
"value" : 5351,
@@ -14631,6 +14656,13 @@
1463114656
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
1463214657
"version" : "1.5"
1463314658
},
14659+
{
14660+
"enumerant" : "RayTracingPositionFetchKHR",
14661+
"value" : 5336,
14662+
"capabilities" : [ "Shader" ],
14663+
"extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ],
14664+
"version" : "None"
14665+
},
1463414666
{
1463514667
"enumerant" : "RayTracingNV",
1463614668
"value" : 5340,
@@ -14762,6 +14794,13 @@
1476214794
"extensions" : [ "SPV_NV_bindless_texture" ],
1476314795
"version" : "None"
1476414796
},
14797+
{
14798+
"enumerant" : "RayQueryPositionFetchKHR",
14799+
"value" : 5391,
14800+
"capabilities" : [ "Shader" ],
14801+
"extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ],
14802+
"version" : "None"
14803+
},
1476514804
{
1476614805
"enumerant" : "SubgroupShuffleINTEL",
1476714806
"value" : 5568,

include/spirv/unified1/spirv.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,7 @@ public enum BuiltIn
721721
HitKindKHR = 5333,
722722
HitKindNV = 5333,
723723
CurrentRayTimeNV = 5334,
724+
HitTriangleVertexPositionsKHR = 5335,
724725
IncomingRayFlagsKHR = 5351,
725726
IncomingRayFlagsNV = 5351,
726727
RayGeometryIndexKHR = 5352,
@@ -1083,6 +1084,7 @@ public enum Capability
10831084
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
10841085
StorageTexelBufferArrayNonUniformIndexing = 5312,
10851086
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1087+
RayTracingPositionFetchKHR = 5336,
10861088
RayTracingNV = 5340,
10871089
RayTracingMotionBlurNV = 5341,
10881090
VulkanMemoryModel = 5345,
@@ -1103,6 +1105,7 @@ public enum Capability
11031105
RayTracingOpacityMicromapEXT = 5381,
11041106
ShaderInvocationReorderNV = 5383,
11051107
BindlessTextureNV = 5390,
1108+
RayQueryPositionFetchKHR = 5391,
11061109
SubgroupShuffleINTEL = 5568,
11071110
SubgroupBufferBlockIOINTEL = 5569,
11081111
SubgroupImageBlockIOINTEL = 5570,
@@ -1716,6 +1719,7 @@ public enum Op
17161719
OpTraceNV = 5337,
17171720
OpTraceMotionNV = 5338,
17181721
OpTraceRayMotionNV = 5339,
1722+
OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
17191723
OpTypeAccelerationStructureKHR = 5341,
17201724
OpTypeAccelerationStructureNV = 5341,
17211725
OpExecuteCallableNV = 5344,

include/spirv/unified1/spirv.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -727,6 +727,7 @@ typedef enum SpvBuiltIn_ {
727727
SpvBuiltInHitKindKHR = 5333,
728728
SpvBuiltInHitKindNV = 5333,
729729
SpvBuiltInCurrentRayTimeNV = 5334,
730+
SpvBuiltInHitTriangleVertexPositionsKHR = 5335,
730731
SpvBuiltInIncomingRayFlagsKHR = 5351,
731732
SpvBuiltInIncomingRayFlagsNV = 5351,
732733
SpvBuiltInRayGeometryIndexKHR = 5352,
@@ -1083,6 +1084,7 @@ typedef enum SpvCapability_ {
10831084
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
10841085
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
10851086
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1087+
SpvCapabilityRayTracingPositionFetchKHR = 5336,
10861088
SpvCapabilityRayTracingNV = 5340,
10871089
SpvCapabilityRayTracingMotionBlurNV = 5341,
10881090
SpvCapabilityVulkanMemoryModel = 5345,
@@ -1103,6 +1105,7 @@ typedef enum SpvCapability_ {
11031105
SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
11041106
SpvCapabilityShaderInvocationReorderNV = 5383,
11051107
SpvCapabilityBindlessTextureNV = 5390,
1108+
SpvCapabilityRayQueryPositionFetchKHR = 5391,
11061109
SpvCapabilitySubgroupShuffleINTEL = 5568,
11071110
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
11081111
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1714,6 +1717,7 @@ typedef enum SpvOp_ {
17141717
SpvOpTraceNV = 5337,
17151718
SpvOpTraceMotionNV = 5338,
17161719
SpvOpTraceRayMotionNV = 5339,
1720+
SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
17171721
SpvOpTypeAccelerationStructureKHR = 5341,
17181722
SpvOpTypeAccelerationStructureNV = 5341,
17191723
SpvOpExecuteCallableNV = 5344,
@@ -2430,6 +2434,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
24302434
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
24312435
case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
24322436
case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2437+
case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
24332438
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
24342439
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
24352440
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;

include/spirv/unified1/spirv.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,7 @@ enum BuiltIn {
723723
BuiltInHitKindKHR = 5333,
724724
BuiltInHitKindNV = 5333,
725725
BuiltInCurrentRayTimeNV = 5334,
726+
BuiltInHitTriangleVertexPositionsKHR = 5335,
726727
BuiltInIncomingRayFlagsKHR = 5351,
727728
BuiltInIncomingRayFlagsNV = 5351,
728729
BuiltInRayGeometryIndexKHR = 5352,
@@ -1079,6 +1080,7 @@ enum Capability {
10791080
CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
10801081
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
10811082
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1083+
CapabilityRayTracingPositionFetchKHR = 5336,
10821084
CapabilityRayTracingNV = 5340,
10831085
CapabilityRayTracingMotionBlurNV = 5341,
10841086
CapabilityVulkanMemoryModel = 5345,
@@ -1099,6 +1101,7 @@ enum Capability {
10991101
CapabilityRayTracingOpacityMicromapEXT = 5381,
11001102
CapabilityShaderInvocationReorderNV = 5383,
11011103
CapabilityBindlessTextureNV = 5390,
1104+
CapabilityRayQueryPositionFetchKHR = 5391,
11021105
CapabilitySubgroupShuffleINTEL = 5568,
11031106
CapabilitySubgroupBufferBlockIOINTEL = 5569,
11041107
CapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1710,6 +1713,7 @@ enum Op {
17101713
OpTraceNV = 5337,
17111714
OpTraceMotionNV = 5338,
17121715
OpTraceRayMotionNV = 5339,
1716+
OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
17131717
OpTypeAccelerationStructureKHR = 5341,
17141718
OpTypeAccelerationStructureNV = 5341,
17151719
OpExecuteCallableNV = 5344,
@@ -2426,6 +2430,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
24262430
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
24272431
case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
24282432
case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2433+
case OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
24292434
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
24302435
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
24312436
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;

0 commit comments

Comments
 (0)