Clay is an internal framework of Tellusim Technologies Inc.
--- /dev/null
+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
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,
<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 -->
<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 -->
OpenCLDebugInfo100DebugMacroUndef = 33,
OpenCLDebugInfo100DebugImportedEntity = 34,
OpenCLDebugInfo100DebugSource = 35,
+ OpenCLDebugInfo100DebugModuleINTEL = 36,
OpenCLDebugInfo100InstructionsMax = 0x7fffffff
};
{ "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" : [
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitFieldSExtract",
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitFieldUExtract",
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitReverse",
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader", "BitInstructions" ]
},
{
"opname" : "OpBitCount",
"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,
{
"enumerant" : "Const",
"value" : "0x0008"
+ },
+ {
+ "enumerant" : "OptNoneINTEL",
+ "value" : "0x10000",
+ "capabilities" : [ "OptNoneINTEL" ],
+ "version" : "None"
}
]
},
"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"
},
"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"
}
]
},
"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"
}
]
},
"version" : "None"
},
{
+ "enumerant" : "CurrentRayTimeNV",
+ "value" : 5334,
+ "capabilities" : [ "RayTracingMotionBlurNV" ],
+ "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "IncomingRayFlagsNV",
"value" : 5351,
"capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
"version" : "None"
},
{
+ "enumerant" : "RayTracingMotionBlurNV",
+ "value" : 5341,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "VulkanMemoryModel",
"value" : 5345,
"version" : "1.5"
"version" : "None"
},
{
+ "enumerant" : "BitInstructions",
+ "value" : 6025,
+ "extensions" : [ "SPV_KHR_bit_instructions" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "AtomicFloat32AddEXT",
"value" : 6033,
"capabilities" : [ "Shader" ],
"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"
}
]
},
{
"enumerant" : "PackedVectorFormat4x8BitKHR",
"value" : 0,
- "capabilities" : [ "DotProductInput4x8BitPackedKHR" ],
+ "extensions" : [ "SPV_KHR_integer_dot_product" ],
"version" : "None"
}
]
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
}
public enum FunctionControlMask
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
}
public enum MemorySemanticsShift
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
}
public enum RayFlagsShift
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
SpvBuiltInHitTNV = 5332,
SpvBuiltInHitKindKHR = 5333,
SpvBuiltInHitKindNV = 5333,
+ SpvBuiltInCurrentRayTimeNV = 5334,
SpvBuiltInIncomingRayFlagsKHR = 5351,
SpvBuiltInIncomingRayFlagsNV = 5351,
SpvBuiltInRayGeometryIndexKHR = 5352,
SpvFunctionControlDontInlineShift = 1,
SpvFunctionControlPureShift = 2,
SpvFunctionControlConstShift = 3,
+ SpvFunctionControlOptNoneINTELShift = 16,
SpvFunctionControlMax = 0x7fffffff,
} SpvFunctionControlShift;
SpvFunctionControlDontInlineMask = 0x00000002,
SpvFunctionControlPureMask = 0x00000004,
SpvFunctionControlConstMask = 0x00000008,
+ SpvFunctionControlOptNoneINTELMask = 0x00010000,
} SpvFunctionControlMask;
typedef enum SpvMemorySemanticsShift_ {
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
SpvCapabilityRayTracingNV = 5340,
+ SpvCapabilityRayTracingMotionBlurNV = 5341,
SpvCapabilityVulkanMemoryModel = 5345,
SpvCapabilityVulkanMemoryModelKHR = 5345,
SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
SpvCapabilityDotProductInput4x8BitKHR = 6017,
SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
SpvCapabilityDotProductKHR = 6019,
+ SpvCapabilityBitInstructions = 6025,
SpvCapabilityAtomicFloat32AddEXT = 6033,
SpvCapabilityAtomicFloat64AddEXT = 6034,
SpvCapabilityLongConstantCompositeINTEL = 6089,
+ SpvCapabilityOptNoneINTEL = 6094,
SpvCapabilityAtomicFloat16AddEXT = 6095,
+ SpvCapabilityDebugInfoModuleINTEL = 6114,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
SpvOpIgnoreIntersectionNV = 5335,
SpvOpTerminateRayNV = 5336,
SpvOpTraceNV = 5337,
+ SpvOpTraceMotionNV = 5338,
+ SpvOpTraceRayMotionNV = 5339,
SpvOpTypeAccelerationStructureKHR = 5341,
SpvOpTypeAccelerationStructureNV = 5341,
SpvOpExecuteCallableNV = 5344,
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;
BuiltInHitTNV = 5332,
BuiltInHitKindKHR = 5333,
BuiltInHitKindNV = 5333,
+ BuiltInCurrentRayTimeNV = 5334,
BuiltInIncomingRayFlagsKHR = 5351,
BuiltInIncomingRayFlagsNV = 5351,
BuiltInRayGeometryIndexKHR = 5352,
FunctionControlDontInlineShift = 1,
FunctionControlPureShift = 2,
FunctionControlConstShift = 3,
+ FunctionControlOptNoneINTELShift = 16,
FunctionControlMax = 0x7fffffff,
};
FunctionControlDontInlineMask = 0x00000002,
FunctionControlPureMask = 0x00000004,
FunctionControlConstMask = 0x00000008,
+ FunctionControlOptNoneINTELMask = 0x00010000,
};
enum MemorySemanticsShift {
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
CapabilityRayTracingNV = 5340,
+ CapabilityRayTracingMotionBlurNV = 5341,
CapabilityVulkanMemoryModel = 5345,
CapabilityVulkanMemoryModelKHR = 5345,
CapabilityVulkanMemoryModelDeviceScope = 5346,
CapabilityDotProductInput4x8BitKHR = 6017,
CapabilityDotProductInput4x8BitPackedKHR = 6018,
CapabilityDotProductKHR = 6019,
+ CapabilityBitInstructions = 6025,
CapabilityAtomicFloat32AddEXT = 6033,
CapabilityAtomicFloat64AddEXT = 6034,
CapabilityLongConstantCompositeINTEL = 6089,
+ CapabilityOptNoneINTEL = 6094,
CapabilityAtomicFloat16AddEXT = 6095,
+ CapabilityDebugInfoModuleINTEL = 6114,
CapabilityMax = 0x7fffffff,
};
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
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;
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
Max = 0x7fffffff,
};
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
};
enum class MemorySemanticsShift : unsigned {
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
Max = 0x7fffffff,
};
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
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;
"HitTNV": 5332,
"HitKindKHR": 5333,
"HitKindNV": 5333,
+ "CurrentRayTimeNV": 5334,
"IncomingRayFlagsKHR": 5351,
"IncomingRayFlagsNV": 5351,
"RayGeometryIndexKHR": 5352,
"Inline": 0,
"DontInline": 1,
"Pure": 2,
- "Const": 3
+ "Const": 3,
+ "OptNoneINTEL": 16
}
},
{
"StorageTexelBufferArrayNonUniformIndexing": 5312,
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
"RayTracingNV": 5340,
+ "RayTracingMotionBlurNV": 5341,
"VulkanMemoryModel": 5345,
"VulkanMemoryModelKHR": 5345,
"VulkanMemoryModelDeviceScope": 5346,
"DotProductInput4x8BitKHR": 6017,
"DotProductInput4x8BitPackedKHR": 6018,
"DotProductKHR": 6019,
+ "BitInstructions": 6025,
"AtomicFloat32AddEXT": 6033,
"AtomicFloat64AddEXT": 6034,
"LongConstantCompositeINTEL": 6089,
- "AtomicFloat16AddEXT": 6095
+ "OptNoneINTEL": 6094,
+ "AtomicFloat16AddEXT": 6095,
+ "DebugInfoModuleINTEL": 6114
}
},
{
"OpIgnoreIntersectionNV": 5335,
"OpTerminateRayNV": 5336,
"OpTraceNV": 5337,
+ "OpTraceMotionNV": 5338,
+ "OpTraceRayMotionNV": 5339,
"OpTypeAccelerationStructureKHR": 5341,
"OpTypeAccelerationStructureNV": 5341,
"OpExecuteCallableNV": 5344,
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
},
FunctionControlMask = {
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
},
MemorySemanticsShift = {
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
},
RayFlagsShift = {
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
'HitTNV' : 5332,
'HitKindKHR' : 5333,
'HitKindNV' : 5333,
+ 'CurrentRayTimeNV' : 5334,
'IncomingRayFlagsKHR' : 5351,
'IncomingRayFlagsNV' : 5351,
'RayGeometryIndexKHR' : 5352,
'DontInline' : 1,
'Pure' : 2,
'Const' : 3,
+ 'OptNoneINTEL' : 16,
},
'FunctionControlMask' : {
'DontInline' : 0x00000002,
'Pure' : 0x00000004,
'Const' : 0x00000008,
+ 'OptNoneINTEL' : 0x00010000,
},
'MemorySemanticsShift' : {
'StorageTexelBufferArrayNonUniformIndexing' : 5312,
'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
'RayTracingNV' : 5340,
+ 'RayTracingMotionBlurNV' : 5341,
'VulkanMemoryModel' : 5345,
'VulkanMemoryModelKHR' : 5345,
'VulkanMemoryModelDeviceScope' : 5346,
'DotProductInput4x8BitKHR' : 6017,
'DotProductInput4x8BitPackedKHR' : 6018,
'DotProductKHR' : 6019,
+ 'BitInstructions' : 6025,
'AtomicFloat32AddEXT' : 6033,
'AtomicFloat64AddEXT' : 6034,
'LongConstantCompositeINTEL' : 6089,
+ 'OptNoneINTEL' : 6094,
'AtomicFloat16AddEXT' : 6095,
+ 'DebugInfoModuleINTEL' : 6114,
},
'RayFlagsShift' : {
'OpIgnoreIntersectionNV' : 5335,
'OpTerminateRayNV' : 5336,
'OpTraceNV' : 5337,
+ 'OpTraceMotionNV' : 5338,
+ 'OpTraceRayMotionNV' : 5339,
'OpTypeAccelerationStructureKHR' : 5341,
'OpTypeAccelerationStructureNV' : 5341,
'OpExecuteCallableNV' : 5344,
HitTNV = 5332,
HitKindKHR = 5333,
HitKindNV = 5333,
+ CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
DontInline = 1,
Pure = 2,
Const = 3,
+ OptNoneINTEL = 16,
}
enum FunctionControlMask : uint
DontInline = 0x00000002,
Pure = 0x00000004,
Const = 0x00000008,
+ OptNoneINTEL = 0x00010000,
}
enum MemorySemanticsShift : uint
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScope = 5346,
DotProductInput4x8BitKHR = 6017,
DotProductInput4x8BitPackedKHR = 6018,
DotProductKHR = 6019,
+ BitInstructions = 6025,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
+ OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
+ DebugInfoModuleINTEL = 6114,
}
enum RayFlagsShift : uint
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
cd ../../include/spirv/unified1
../../../tools/buildHeaders/build/install/bin/buildSpvHeaders -H spirv.core.grammar.json
-dos2unix spirv.* SpirV.* spv.*
+dos2unix spirv.* spv.*