Merge pull request #226 from clayengine/master
Clay is an internal framework of Tellusim Technologies Inc.
diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml
new file mode 100644
index 0000000..d9c25fa
--- /dev/null
+++ b/.github/workflows/presubmit.yml
@@ -0,0 +1,37 @@
+name: Presubmit
+on: [push, pull_request]
+
+jobs:
+ build:
+ name: Build ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Ubuntu packages
+ if: matrix.os == 'ubuntu-latest'
+ run: sudo apt install -y dos2unix
+ - name: Install macOS packages
+ if: matrix.os == 'macos-latest'
+ run: brew install dos2unix
+ - name: Build
+ run: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=install ..
+ cmake --build . --target install
+ - name: Build spec tools
+ run: |
+ cd tools/buildHeaders
+ mkdir build
+ cd build
+ cmake ..
+ cmake --build . --target install
+ - name: Build headers
+ run: |
+ cd tools/buildHeaders
+ ./bin/makeHeaders
+ - name: Check generated headers
+ run: git diff --exit-code
diff --git a/README.md b/README.md
index b1aa964..8c7039f 100644
--- a/README.md
+++ b/README.md
@@ -140,10 +140,21 @@
This is not required though.
The header-generation project is under the `tools/buildHeaders` directory.
-Use CMake to build the project, in a `build` subdirectory (under `tools/buildHeaders`).
+Use CMake to build and install the project, in a `build` subdirectory (under `tools/buildHeaders`).
There is then a bash script at `bin/makeHeaders` that shows how to use the built
header-generator binary to generate the headers from the JSON grammar.
(Execute `bin/makeHeaders` from the `tools/buildHeaders` directory.)
+Here's a complete example:
+
+```
+cd tools/buildHeaders
+mkdir build
+cd build
+cmake ..
+cmake --build . --target install
+cd ..
+./bin/makeHeaders
+```
Notes:
- this generator is used in a broader context within Khronos to generate the specification,
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index 12a82b7..525c97d 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -132,13 +132,14 @@
<ids type="opcode" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
<ids type="opcode" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
<ids type="opcode" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
+ <ids type="opcode" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
<!-- Opcode enumerants to reserve for future use. To get a block, allocate
multiples of 64 starting at the lowest available point in this
block and add a corresponding <ids> tag immediately above. Make
sure to fill in the vendor attribute, and preferably add a contact
person/address in a comment attribute. -->
<!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
- <ids type="opcode" start="6272" end="65535" comment="Opcode range reservable for future use by vendors"/>
+ <ids type="opcode" start="6400" end="65535" comment="Opcode range reservable for future use by vendors"/>
<!-- End reservations of opcodes -->
@@ -159,13 +160,14 @@
<ids type="enumerant" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
<ids type="enumerant" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
<ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
+ <ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
<!-- Enumerants to reserve for future use. To get a block, allocate
multiples of 64 starting at the lowest available point in this
block and add a corresponding <ids> tag immediately above. Make
sure to fill in the vendor attribute, and preferably add a contact
person/address in a comment attribute. -->
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
- <ids type="enumerant" start="6272" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
+ <ids type="enumerant" start="6400" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
<!-- End reservations of enumerants -->
diff --git a/include/spirv/unified1/OpenCLDebugInfo100.h b/include/spirv/unified1/OpenCLDebugInfo100.h
index 7285bd4..e3847c9 100644
--- a/include/spirv/unified1/OpenCLDebugInfo100.h
+++ b/include/spirv/unified1/OpenCLDebugInfo100.h
@@ -75,6 +75,7 @@
OpenCLDebugInfo100DebugMacroUndef = 33,
OpenCLDebugInfo100DebugImportedEntity = 34,
OpenCLDebugInfo100DebugSource = 35,
+ OpenCLDebugInfo100DebugModuleINTEL = 36,
OpenCLDebugInfo100InstructionsMax = 0x7fffffff
};
diff --git a/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json b/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
index d4cfab2..699fe40 100644
--- a/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
+++ b/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
@@ -395,6 +395,21 @@
{ "kind" : "IdRef", "name" : "'File'" },
{ "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
]
+ },
+ {
+ "opname" : "DebugModuleINTEL",
+ "opcode" : 36,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Name'" },
+ { "kind" : "IdRef", "name" : "'Source'" },
+ { "kind" : "IdRef", "name" : "'Parent'" },
+ { "kind" : "LiteralInteger", "name" : "'Line'" },
+ { "kind" : "IdRef", "name" : "'ConfigurationMacros'" },
+ { "kind" : "IdRef", "name" : "'IncludePath'" },
+ { "kind" : "IdRef", "name" : "'APINotesFile'" },
+ { "kind" : "LiteralInteger", "name" : "'IsDeclaration'" }
+ ],
+ "capability" : "DebugInfoModuleINTEL"
}
],
"operand_kinds" : [
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 04eb87e..6520788 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -2157,7 +2157,7 @@
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitFieldSExtract",
@@ -2170,7 +2170,7 @@
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitFieldUExtract",
@@ -2183,7 +2183,7 @@
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitReverse",
@@ -2194,7 +2194,7 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitCount",
@@ -4754,6 +4754,52 @@
"version" : "None"
},
{
+ "opname" : "OpTraceMotionNV",
+ "class" : "Reserved",
+ "opcode" : 5338,
+ "operands" : [
+
+ { "kind" : "IdRef", "name" : "'Accel'" },
+ { "kind" : "IdRef", "name" : "'Ray Flags'" },
+ { "kind" : "IdRef", "name" : "'Cull Mask'" },
+ { "kind" : "IdRef", "name" : "'SBT Offset'" },
+ { "kind" : "IdRef", "name" : "'SBT Stride'" },
+ { "kind" : "IdRef", "name" : "'Miss Index'" },
+ { "kind" : "IdRef", "name" : "'Ray Origin'" },
+ { "kind" : "IdRef", "name" : "'Ray Tmin'" },
+ { "kind" : "IdRef", "name" : "'Ray Direction'" },
+ { "kind" : "IdRef", "name" : "'Ray Tmax'" },
+ { "kind" : "IdRef", "name" : "'Time'" },
+ { "kind" : "IdRef", "name" : "'PayloadId'" }
+ ],
+ "capabilities" : [ "RayTracingMotionBlurNV" ],
+ "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTraceRayMotionNV",
+ "class" : "Reserved",
+ "opcode" : 5339,
+ "operands" : [
+
+ { "kind" : "IdRef", "name" : "'Accel'" },
+ { "kind" : "IdRef", "name" : "'Ray Flags'" },
+ { "kind" : "IdRef", "name" : "'Cull Mask'" },
+ { "kind" : "IdRef", "name" : "'SBT Offset'" },
+ { "kind" : "IdRef", "name" : "'SBT Stride'" },
+ { "kind" : "IdRef", "name" : "'Miss Index'" },
+ { "kind" : "IdRef", "name" : "'Ray Origin'" },
+ { "kind" : "IdRef", "name" : "'Ray Tmin'" },
+ { "kind" : "IdRef", "name" : "'Ray Direction'" },
+ { "kind" : "IdRef", "name" : "'Ray Tmax'" },
+ { "kind" : "IdRef", "name" : "'Time'" },
+ { "kind" : "IdRef", "name" : "'Payload'" }
+ ],
+ "capabilities" : [ "RayTracingMotionBlurNV" ],
+ "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpTypeAccelerationStructureNV",
"class" : "Reserved",
"opcode" : 5341,
@@ -8689,6 +8735,12 @@
{
"enumerant" : "Const",
"value" : "0x0008"
+ },
+ {
+ "enumerant" : "OptNoneINTEL",
+ "value" : "0x10000",
+ "capabilities" : [ "OptNoneINTEL" ],
+ "version" : "None"
}
]
},
@@ -9445,7 +9497,9 @@
"value" : 39,
"capabilities" : [ "Kernel" ],
"parameters" : [
- { "kind" : "IdRef", "name" : "'Local Size Hint'" }
+ { "kind" : "IdRef", "name" : "'x size hint'" },
+ { "kind" : "IdRef", "name" : "'y size hint'" },
+ { "kind" : "IdRef", "name" : "'z size hint'" }
],
"version" : "1.2"
},
@@ -10433,35 +10487,51 @@
"enumerants" : [
{
"enumerant" : "TRN",
- "value" : 0
+ "value" : 0,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "TRN_ZERO",
- "value" : 1
+ "value" : 1,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "RND",
- "value" : 2
+ "value" : 2,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "RND_ZERO",
- "value" : 3
+ "value" : 3,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "RND_INF",
- "value" : 4
+ "value" : 4,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "RND_MIN_INF",
- "value" : 5
+ "value" : 5,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "RND_CONV",
- "value" : 6
+ "value" : 6,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "RND_CONV_ODD",
- "value" : 7
+ "value" : 7,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
}
]
},
@@ -10489,19 +10559,27 @@
"enumerants" : [
{
"enumerant" : "WRAP",
- "value" : 0
+ "value" : 0,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "SAT",
- "value" : 1
+ "value" : 1,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "SAT_ZERO",
- "value" : 2
+ "value" : 2,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
},
{
"enumerant" : "SAT_SYM",
- "value" : 3
+ "value" : 3,
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
+ "version" : "None"
}
]
},
@@ -12023,6 +12101,13 @@
"version" : "None"
},
{
+ "enumerant" : "CurrentRayTimeNV",
+ "value" : 5334,
+ "capabilities" : [ "RayTracingMotionBlurNV" ],
+ "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "IncomingRayFlagsNV",
"value" : 5351,
"capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
@@ -13055,6 +13140,13 @@
"version" : "None"
},
{
+ "enumerant" : "RayTracingMotionBlurNV",
+ "value" : 5341,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "VulkanMemoryModel",
"value" : 5345,
"version" : "1.5"
@@ -13402,6 +13494,12 @@
"version" : "None"
},
{
+ "enumerant" : "BitInstructions",
+ "value" : 6025,
+ "extensions" : [ "SPV_KHR_bit_instructions" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "AtomicFloat32AddEXT",
"value" : 6033,
"capabilities" : [ "Shader" ],
@@ -13422,11 +13520,23 @@
"version" : "None"
},
{
+ "enumerant" : "OptNoneINTEL",
+ "value" : 6094,
+ "extensions" : [ "SPV_INTEL_optnone" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "AtomicFloat16AddEXT",
"value" : 6095,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_shader_atomic_float16_add" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "DebugInfoModuleINTEL",
+ "value" : 6114,
+ "extensions" : [ "SPV_INTEL_debug_module" ],
+ "version" : "None"
}
]
},
@@ -13497,7 +13607,7 @@
{
"enumerant" : "PackedVectorFormat4x8BitKHR",
"value" : 0,
- "capabilities" : [ "DotProductInput4x8BitPackedKHR" ],
+ "extensions" : [ "SPV_KHR_integer_dot_product" ],
"version" : "None"
}
]
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index f2d8aaa..b2ca3f0 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -651,6 +651,7 @@
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -722,6 +723,7 @@
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
}
public enum FunctionControlMask
@@ -731,6 +733,7 @@
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
}
public enum MemorySemanticsShift
@@ -993,6 +996,7 @@
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
@@ -1049,10 +1053,13 @@
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
}
public enum RayFlagsShift
@@ -1547,6 +1554,8 @@
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 68e9a9a..1443963 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -657,6 +657,7 @@
SpvBuiltInHitTNV = 5332,
SpvBuiltInHitKindKHR = 5333,
SpvBuiltInHitKindNV = 5333,
+ SpvBuiltInCurrentRayTimeNV = 5334,
SpvBuiltInIncomingRayFlagsKHR = 5351,
SpvBuiltInIncomingRayFlagsNV = 5351,
SpvBuiltInRayGeometryIndexKHR = 5352,
@@ -726,6 +727,7 @@
SpvFunctionControlDontInlineShift = 1,
SpvFunctionControlPureShift = 2,
SpvFunctionControlConstShift = 3,
+ SpvFunctionControlOptNoneINTELShift = 16,
SpvFunctionControlMax = 0x7fffffff,
} SpvFunctionControlShift;
@@ -735,6 +737,7 @@
SpvFunctionControlDontInlineMask = 0x00000002,
SpvFunctionControlPureMask = 0x00000004,
SpvFunctionControlConstMask = 0x00000008,
+ SpvFunctionControlOptNoneINTELMask = 0x00010000,
} SpvFunctionControlMask;
typedef enum SpvMemorySemanticsShift_ {
@@ -993,6 +996,7 @@
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
SpvCapabilityRayTracingNV = 5340,
+ SpvCapabilityRayTracingMotionBlurNV = 5341,
SpvCapabilityVulkanMemoryModel = 5345,
SpvCapabilityVulkanMemoryModelKHR = 5345,
SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
@@ -1049,10 +1053,13 @@
SpvCapabilityDotProductInput4x8BitKHR = 6017,
SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
SpvCapabilityDotProductKHR = 6019,
+ SpvCapabilityBitInstructions = 6025,
SpvCapabilityAtomicFloat32AddEXT = 6033,
SpvCapabilityAtomicFloat64AddEXT = 6034,
SpvCapabilityLongConstantCompositeINTEL = 6089,
+ SpvCapabilityOptNoneINTEL = 6094,
SpvCapabilityAtomicFloat16AddEXT = 6095,
+ SpvCapabilityDebugInfoModuleINTEL = 6114,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -1545,6 +1552,8 @@
SpvOpIgnoreIntersectionNV = 5335,
SpvOpTerminateRayNV = 5336,
SpvOpTraceNV = 5337,
+ SpvOpTraceMotionNV = 5338,
+ SpvOpTraceRayMotionNV = 5339,
SpvOpTypeAccelerationStructureKHR = 5341,
SpvOpTypeAccelerationStructureNV = 5341,
SpvOpExecuteCallableNV = 5344,
@@ -2190,6 +2199,8 @@
case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; 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/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 098ab39..5180457 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -653,6 +653,7 @@
BuiltInHitTNV = 5332,
BuiltInHitKindKHR = 5333,
BuiltInHitKindNV = 5333,
+ BuiltInCurrentRayTimeNV = 5334,
BuiltInIncomingRayFlagsKHR = 5351,
BuiltInIncomingRayFlagsNV = 5351,
BuiltInRayGeometryIndexKHR = 5352,
@@ -722,6 +723,7 @@
FunctionControlDontInlineShift = 1,
FunctionControlPureShift = 2,
FunctionControlConstShift = 3,
+ FunctionControlOptNoneINTELShift = 16,
FunctionControlMax = 0x7fffffff,
};
@@ -731,6 +733,7 @@
FunctionControlDontInlineMask = 0x00000002,
FunctionControlPureMask = 0x00000004,
FunctionControlConstMask = 0x00000008,
+ FunctionControlOptNoneINTELMask = 0x00010000,
};
enum MemorySemanticsShift {
@@ -989,6 +992,7 @@
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
CapabilityRayTracingNV = 5340,
+ CapabilityRayTracingMotionBlurNV = 5341,
CapabilityVulkanMemoryModel = 5345,
CapabilityVulkanMemoryModelKHR = 5345,
CapabilityVulkanMemoryModelDeviceScope = 5346,
@@ -1045,10 +1049,13 @@
CapabilityDotProductInput4x8BitKHR = 6017,
CapabilityDotProductInput4x8BitPackedKHR = 6018,
CapabilityDotProductKHR = 6019,
+ CapabilityBitInstructions = 6025,
CapabilityAtomicFloat32AddEXT = 6033,
CapabilityAtomicFloat64AddEXT = 6034,
CapabilityLongConstantCompositeINTEL = 6089,
+ CapabilityOptNoneINTEL = 6094,
CapabilityAtomicFloat16AddEXT = 6095,
+ CapabilityDebugInfoModuleINTEL = 6114,
CapabilityMax = 0x7fffffff,
};
@@ -1541,6 +1548,8 @@
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -2186,6 +2195,8 @@
case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 8bfd57f..51e9024 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -653,6 +653,7 @@
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -722,6 +723,7 @@
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
Max = 0x7fffffff,
};
@@ -731,6 +733,7 @@
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
};
enum class MemorySemanticsShift : unsigned {
@@ -989,6 +992,7 @@
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
@@ -1045,10 +1049,13 @@
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
Max = 0x7fffffff,
};
@@ -1541,6 +1548,8 @@
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -2186,6 +2195,8 @@
case Op::OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
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::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/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index f4f13bc..017b842 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -684,6 +684,7 @@
"HitTNV": 5332,
"HitKindKHR": 5333,
"HitKindNV": 5333,
+ "CurrentRayTimeNV": 5334,
"IncomingRayFlagsKHR": 5351,
"IncomingRayFlagsNV": 5351,
"RayGeometryIndexKHR": 5352,
@@ -734,7 +735,8 @@
"Inline": 0,
"DontInline": 1,
"Pure": 2,
- "Const": 3
+ "Const": 3,
+ "OptNoneINTEL": 16
}
},
{
@@ -976,6 +978,7 @@
"StorageTexelBufferArrayNonUniformIndexing": 5312,
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
"RayTracingNV": 5340,
+ "RayTracingMotionBlurNV": 5341,
"VulkanMemoryModel": 5345,
"VulkanMemoryModelKHR": 5345,
"VulkanMemoryModelDeviceScope": 5346,
@@ -1032,10 +1035,13 @@
"DotProductInput4x8BitKHR": 6017,
"DotProductInput4x8BitPackedKHR": 6018,
"DotProductKHR": 6019,
+ "BitInstructions": 6025,
"AtomicFloat32AddEXT": 6033,
"AtomicFloat64AddEXT": 6034,
"LongConstantCompositeINTEL": 6089,
- "AtomicFloat16AddEXT": 6095
+ "OptNoneINTEL": 6094,
+ "AtomicFloat16AddEXT": 6095,
+ "DebugInfoModuleINTEL": 6114
}
},
{
@@ -1539,6 +1545,8 @@
"OpIgnoreIntersectionNV": 5335,
"OpTerminateRayNV": 5336,
"OpTraceNV": 5337,
+ "OpTraceMotionNV": 5338,
+ "OpTraceRayMotionNV": 5339,
"OpTypeAccelerationStructureKHR": 5341,
"OpTypeAccelerationStructureNV": 5341,
"OpExecuteCallableNV": 5344,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 9f05c99..46665d8 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -625,6 +625,7 @@
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -691,6 +692,7 @@
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
},
FunctionControlMask = {
@@ -699,6 +701,7 @@
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
},
MemorySemanticsShift = {
@@ -951,6 +954,7 @@
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
@@ -1007,10 +1011,13 @@
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
},
RayFlagsShift = {
@@ -1492,6 +1499,8 @@
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index fbef918..a780191 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -625,6 +625,7 @@
'HitTNV' : 5332,
'HitKindKHR' : 5333,
'HitKindNV' : 5333,
+ 'CurrentRayTimeNV' : 5334,
'IncomingRayFlagsKHR' : 5351,
'IncomingRayFlagsNV' : 5351,
'RayGeometryIndexKHR' : 5352,
@@ -691,6 +692,7 @@
'DontInline' : 1,
'Pure' : 2,
'Const' : 3,
+ 'OptNoneINTEL' : 16,
},
'FunctionControlMask' : {
@@ -699,6 +701,7 @@
'DontInline' : 0x00000002,
'Pure' : 0x00000004,
'Const' : 0x00000008,
+ 'OptNoneINTEL' : 0x00010000,
},
'MemorySemanticsShift' : {
@@ -951,6 +954,7 @@
'StorageTexelBufferArrayNonUniformIndexing' : 5312,
'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
'RayTracingNV' : 5340,
+ 'RayTracingMotionBlurNV' : 5341,
'VulkanMemoryModel' : 5345,
'VulkanMemoryModelKHR' : 5345,
'VulkanMemoryModelDeviceScope' : 5346,
@@ -1007,10 +1011,13 @@
'DotProductInput4x8BitKHR' : 6017,
'DotProductInput4x8BitPackedKHR' : 6018,
'DotProductKHR' : 6019,
+ 'BitInstructions' : 6025,
'AtomicFloat32AddEXT' : 6033,
'AtomicFloat64AddEXT' : 6034,
'LongConstantCompositeINTEL' : 6089,
+ 'OptNoneINTEL' : 6094,
'AtomicFloat16AddEXT' : 6095,
+ 'DebugInfoModuleINTEL' : 6114,
},
'RayFlagsShift' : {
@@ -1492,6 +1499,8 @@
'OpIgnoreIntersectionNV' : 5335,
'OpTerminateRayNV' : 5336,
'OpTraceNV' : 5337,
+ 'OpTraceMotionNV' : 5338,
+ 'OpTraceRayMotionNV' : 5339,
'OpTypeAccelerationStructureKHR' : 5341,
'OpTypeAccelerationStructureNV' : 5341,
'OpExecuteCallableNV' : 5344,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 65ea536..b85517a 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -654,6 +654,7 @@
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -725,6 +726,7 @@
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
}
enum FunctionControlMask : uint
@@ -734,6 +736,7 @@
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
}
enum MemorySemanticsShift : uint
@@ -996,6 +999,7 @@
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
@@ -1052,10 +1056,13 @@
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
}
enum RayFlagsShift : uint
@@ -1550,6 +1557,8 @@
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
diff --git a/tools/buildHeaders/bin/makeHeaders b/tools/buildHeaders/bin/makeHeaders
index 0ca0b2f..7b4959e 100755
--- a/tools/buildHeaders/bin/makeHeaders
+++ b/tools/buildHeaders/bin/makeHeaders
@@ -4,4 +4,4 @@
cd ../../include/spirv/unified1
../../../tools/buildHeaders/build/install/bin/buildSpvHeaders -H spirv.core.grammar.json
-dos2unix spirv.* SpirV.* spv.*
+dos2unix spirv.* spv.*