Merge changes Icf7b69da,I2c88ee38
* changes:
Update SPIR-V Headers to 979924c8b
Squashed 'third_party/SPIRV-Headers/' changes from f8bf11a02..979924c8b
diff --git a/third_party/SPIRV-Headers/README.md b/third_party/SPIRV-Headers/README.md
index 2ea3dc5..b1aa964 100644
--- a/third_party/SPIRV-Headers/README.md
+++ b/third_party/SPIRV-Headers/README.md
@@ -23,15 +23,28 @@
the SPIR-V Working Group will push new commits onto master, updating
the files under [include](include).
-The SPIR-V XML registry file is updated by Khronos whenever a new enum range is allocated.
+[The SPIR-V XML registry file](include/spirv/spir-v.xml)
+is updated by Khronos whenever a new enum range is allocated.
Pull requests can be made to
- request allocation of new enum ranges in the XML registry file
+- register a new magic number for a SPIR-V generator
- reserve specific tokens in the JSON grammar
+### Registering a SPIR-V Generator Magic Number
+
+Tools that generate SPIR-V should use a magic number in the SPIR-V to help identify the
+generator.
+
+Care should be taken to follow existing precedent in populating the details of reserved tokens.
+This includes:
+- keeping generator numbers in numeric order
+- filling out all the existing fields
+
### Reserving tokens in the JSON grammar
-Care should be taken to follow existing precedent in populating the details of reserved tokens. This includes:
+Care should be taken to follow existing precedent in populating the details of reserved tokens.
+This includes:
- pointing to what extension has more information, when possible
- keeping enumerants in numeric order
- when there are aliases, listing the preferred spelling first
diff --git a/third_party/SPIRV-Headers/example/CMakeLists.txt b/third_party/SPIRV-Headers/example/CMakeLists.txt
index dff65d9..8b22f60 100644
--- a/third_party/SPIRV-Headers/example/CMakeLists.txt
+++ b/third_party/SPIRV-Headers/example/CMakeLists.txt
@@ -2,8 +2,3 @@
${CMAKE_CURRENT_SOURCE_DIR}/example.cpp)
target_include_directories(SPIRV-Headers-example
PRIVATE ${SPIRV-Headers_SOURCE_DIR}/include)
-
-add_library(SPIRV-Headers-example-1.1
- ${CMAKE_CURRENT_SOURCE_DIR}/example-1.1.cpp)
-target_include_directories(SPIRV-Headers-example-1.1
- PRIVATE ${SPIRV-Headers_SOURCE_DIR}/include)
diff --git a/third_party/SPIRV-Headers/example/example-1.1.cpp b/third_party/SPIRV-Headers/example/example-1.1.cpp
deleted file mode 100644
index 989d35c..0000000
--- a/third_party/SPIRV-Headers/example/example-1.1.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2016 The Khronos Group Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and/or associated documentation files (the
-// "Materials"), to deal in the Materials without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Materials, and to
-// permit persons to whom the Materials are furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Materials.
-//
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-// https://www.khronos.org/registry/
-//
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-
-// Use the SPIR-V 1.1 core instruction set, but with 1.0 versions
-// of the GLSL and OpenCL extended instruction sets.
-#include <spirv/1.0/GLSL.std.450.h>
-#include <spirv/1.0/OpenCL.std.h>
-#include <spirv/1.1/spirv.hpp>
-
-namespace {
-
-const GLSLstd450 kSin = GLSLstd450Sin;
-const OpenCLLIB::Entrypoints kNative_cos = OpenCLLIB::Native_cos;
-const spv::Op kNop = spv::OpNop;
-
-// This instruction is new in SPIR-V 1.1.
-const spv::Op kNamedBarrierInit = spv::OpNamedBarrierInitialize;
-
-} // anonymous namespace
diff --git a/third_party/SPIRV-Headers/example/example.cpp b/third_party/SPIRV-Headers/example/example.cpp
index 222c101..d79b62f 100644
--- a/third_party/SPIRV-Headers/example/example.cpp
+++ b/third_party/SPIRV-Headers/example/example.cpp
@@ -24,9 +24,9 @@
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-#include <spirv/1.0/GLSL.std.450.h>
-#include <spirv/1.0/OpenCL.std.h>
-#include <spirv/1.0/spirv.hpp>
+#include <spirv/unified1/GLSL.std.450.h>
+#include <spirv/unified1/OpenCL.std.h>
+#include <spirv/unified1/spirv.hpp>
namespace {
diff --git a/third_party/SPIRV-Headers/include/spirv/spir-v.xml b/third_party/SPIRV-Headers/include/spirv/spir-v.xml
index 2fac9c5..6925ac1 100644
--- a/third_party/SPIRV-Headers/include/spirv/spir-v.xml
+++ b/third_party/SPIRV-Headers/include/spirv/spir-v.xml
@@ -72,7 +72,8 @@
<id value="20" vendor="W3C WebGPU Group" tool="WHLSL Shader Translator" comment="https://github.com/gpuweb/WHLSL"/>
<id value="21" vendor="Google" tool="Clspv" comment="Contact David Neto, dneto@google.com"/>
<id value="22" vendor="Google" tool="MLIR SPIR-V Serializer" comment="Contact Lei Zhang, antiagainst@google.com"/>
- <unused start="23" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+ <id value="23" vendor="Google" tool="Tint Compiler" comment="Contact David Neto, dneto@google.com"/>
+ <unused start="24" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -143,4 +144,22 @@
<ids type="LoopControl" start="23" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
+
+ <!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
+ <!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
+ Each vendor determines the use of values in their own ranges.
+ Vendors are not required to disclose those uses. If the use of a
+ value is included in an extension that is adopted by a Khronos
+ extension or specification, then that value's use may be permanently
+ fixed as if originally reserved in a Khronos range.
+ The SPIR Working Group strongly recommends:
+ - Each value is used for only one purpose.
+ - All values in a range should be used before allocating a new range.
+ -->
+
+ <!-- Reserved FP fast math mode bits -->
+ <ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
+ <ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
+ <ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
+
</registry>
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json
index 824ae4b..2044192 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json
@@ -27,7 +27,7 @@
"magic_number" : "0x07230203",
"major_version" : 1,
"minor_version" : 5,
- "revision" : 1,
+ "revision" : 3,
"instruction_printing_class" : [
{
"tag" : "@exclude"
@@ -4102,6 +4102,16 @@
"version" : "1.4"
},
{
+ "opname" : "OpTerminateInvocation",
+ "class" : "Control-Flow",
+ "opcode" : 4416,
+ "extensions" : [
+ "SPV_KHR_terminate_invocation"
+ ],
+ "capabilities" : [ "Shader" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpSubgroupBallotKHR",
"class" : "Group",
"opcode" : 4421,
@@ -4187,6 +4197,142 @@
"version" : "None"
},
{
+ "opname" : "OpTypeRayQueryProvisionalKHR",
+ "class" : "Reserved",
+ "opcode" : 4472,
+ "operands" : [
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryInitializeKHR",
+ "class" : "Reserved",
+ "opcode" : 4473,
+ "operands" : [
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Accel'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayFlags'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'CullMask'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayOrigin'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayTMin'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayDirection'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayTMax'"
+ }
+
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryTerminateKHR",
+ "class" : "Reserved",
+ "opcode" : 4474,
+ "operands" : [
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGenerateIntersectionKHR",
+ "class" : "Reserved",
+ "opcode" : 4475,
+ "operands" : [
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'HitT'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryConfirmIntersectionKHR",
+ "class" : "Reserved",
+ "opcode" : 4476,
+ "operands" : [
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryProceedKHR",
+ "class" : "Reserved",
+ "opcode" : 4477,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionTypeKHR",
+ "class" : "Reserved",
+ "opcode" : 4479,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpGroupIAddNonUniformAMD",
"class" : "Group",
"opcode" : 5000,
@@ -4517,463 +4663,6 @@
"version" : "None"
},
{
- "opname" : "OpTypeRayQueryProvisionalKHR",
- "class" : "Reserved",
- "opcode" : 4472,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryInitializeKHR",
- "class" : "Reserved",
- "opcode" : 4473,
- "operands" : [
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Accel'"
- },
- {
- "kind" : "IdRef",
- "name" : "'RayFlags'"
- },
- {
- "kind" : "IdRef",
- "name" : "'CullMask'"
- },
- {
- "kind" : "IdRef",
- "name" : "'RayOrigin'"
- },
- {
- "kind" : "IdRef",
- "name" : "'RayTMin'"
- },
- {
- "kind" : "IdRef",
- "name" : "'RayDirection'"
- },
- {
- "kind" : "IdRef",
- "name" : "'RayTMax'"
- }
-
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryTerminateKHR",
- "class" : "Reserved",
- "opcode" : 4474,
- "operands" : [
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGenerateIntersectionKHR",
- "class" : "Reserved",
- "opcode" : 4475,
- "operands" : [
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'HitT'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryConfirmIntersectionKHR",
- "class" : "Reserved",
- "opcode" : 4476,
- "operands" : [
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryProceedKHR",
- "class" : "Reserved",
- "opcode" : 4477,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionTypeKHR",
- "class" : "Reserved",
- "opcode" : 4479,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetRayTMinKHR",
- "class" : "Reserved",
- "opcode" : 6016,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetRayFlagsKHR",
- "class" : "Reserved",
- "opcode" : 6017,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionTKHR",
- "class" : "Reserved",
- "opcode" : 6018,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
- "class" : "Reserved",
- "opcode" : 6019,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
- "class" : "Reserved",
- "opcode" : 6020,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
- "class" : "Reserved",
- "opcode" : 6021,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
- "class" : "Reserved",
- "opcode" : 6022,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
- "class" : "Reserved",
- "opcode" : 6023,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
- "class" : "Reserved",
- "opcode" : 6024,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
- "class" : "Reserved",
- "opcode" : 6025,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
- "class" : "Reserved",
- "opcode" : 6026,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
- "class" : "Reserved",
- "opcode" : 6027,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
- "class" : "Reserved",
- "opcode" : 6028,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetWorldRayDirectionKHR",
- "class" : "Reserved",
- "opcode" : 6029,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
-
- {
- "opname" : "OpRayQueryGetWorldRayOriginKHR",
- "class" : "Reserved",
- "opcode" : 6030,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
- "class" : "Reserved",
- "opcode" : 6031,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
- "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
- "class" : "Reserved",
- "opcode" : 6032,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- {
- "kind" : "IdRef",
- "name" : "'RayQuery'"
- },
- {
- "kind" : "IdRef",
- "name" : "'Intersection'"
- }
- ],
- "capabilities" : [ "RayQueryProvisionalKHR" ],
- "extensions" : [ "SPV_KHR_ray_query" ],
- "version" : "None"
- },
- {
"opname" : "OpExecuteCallableNV",
"class" : "Reserved",
"opcode" : 5344,
@@ -5421,6 +5110,32 @@
"version" : "None"
},
{
+ "opname" : "OpFunctionPointerINTEL",
+ "class" : "@exclude",
+ "opcode" : 5600,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Function'" }
+ ],
+ "capabilities" : [ "FunctionPointersINTEL" ],
+ "extensions" : [ "SPV_INTEL_function_pointers" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFunctionPointerCallINTEL",
+ "class" : "@exclude",
+ "opcode" : 5601,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1'" }
+ ],
+ "capabilities" : [ "FunctionPointersINTEL" ],
+ "extensions" : [ "SPV_INTEL_function_pointers" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpDecorateString",
"class" : "Annotation",
"opcode" : 5632,
@@ -6982,6 +6697,395 @@
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
+ },
+ {
+ "opname" : "OpLoopControlINTEL",
+ "class" : "Reserved",
+ "opcode" : 5887,
+ "operands" : [
+ { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Loop Control Parameters'" }
+ ],
+ "capabilities" : [ "UnstructuredLoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpReadPipeBlockingINTEL",
+ "class" : "Pipe",
+ "opcode" : 5946,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Packet Size'" },
+ { "kind" : "IdRef", "name" : "'Packet Alignment'" }
+ ],
+ "capabilities" : [ "BlockingPipesINTEL" ],
+ "extensions" : [ "SPV_INTEL_blocking_pipes" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpWritePipeBlockingINTEL",
+ "class" : "Pipe",
+ "opcode" : 5947,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Packet Size'" },
+ { "kind" : "IdRef", "name" : "'Packet Alignment'" }
+ ],
+ "capabilities" : [ "BlockingPipesINTEL" ],
+ "extensions" : [ "SPV_INTEL_blocking_pipes" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFPGARegINTEL",
+ "class" : "Reserved",
+ "opcode" : 5949,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Result'" },
+ { "kind" : "IdRef", "name" : "'Input'" }
+ ],
+ "capabilities" : [ "FPGARegINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_reg" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetRayTMinKHR",
+ "class" : "Reserved",
+ "opcode" : 6016,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetRayFlagsKHR",
+ "class" : "Reserved",
+ "opcode" : 6017,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionTKHR",
+ "class" : "Reserved",
+ "opcode" : 6018,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
+ "class" : "Reserved",
+ "opcode" : 6019,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
+ "class" : "Reserved",
+ "opcode" : 6020,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
+ "class" : "Reserved",
+ "opcode" : 6021,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
+ "class" : "Reserved",
+ "opcode" : 6022,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
+ "class" : "Reserved",
+ "opcode" : 6023,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
+ "class" : "Reserved",
+ "opcode" : 6024,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
+ "class" : "Reserved",
+ "opcode" : 6025,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
+ "class" : "Reserved",
+ "opcode" : 6026,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
+ "class" : "Reserved",
+ "opcode" : 6027,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
+ "class" : "Reserved",
+ "opcode" : 6028,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetWorldRayDirectionKHR",
+ "class" : "Reserved",
+ "opcode" : 6029,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetWorldRayOriginKHR",
+ "class" : "Reserved",
+ "opcode" : 6030,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
+ "class" : "Reserved",
+ "opcode" : 6031,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
+ "class" : "Reserved",
+ "opcode" : 6032,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "extensions" : [ "SPV_KHR_ray_query" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpAtomicFAddEXT",
+ "class" : "Atomic",
+ "opcode" : 6035,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
+ { "kind" : "IdRef", "name" : "'Value'" }
+ ],
+ "capabilities" : [ "AtomicFloat32AddEXT", "AtomicFloat64AddEXT" ],
+ "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
+ "version" : "None"
}
],
"operand_kinds" : [
@@ -7251,6 +7355,76 @@
{ "kind" : "LiteralInteger" }
],
"version" : "1.4"
+ },
+ {
+ "enumerant" : "InitiationIntervalINTEL",
+ "value" : "0x10000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxConcurrencyINTEL",
+ "value" : "0x20000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "DependencyArrayINTEL",
+ "value" : "0x40000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PipelineEnableINTEL",
+ "value" : "0x80000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "LoopCoalesceINTEL",
+ "value" : "0x100000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxInterleavingINTEL",
+ "value" : "0x200000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "SpeculatedIterationsINTEL",
+ "value" : "0x400000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
}
]
},
@@ -7480,57 +7654,68 @@
{
"enumerant" : "NoneKHR",
"value" : "0x0000",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "OpaqueKHR",
"value" : "0x0001",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "NoOpaqueKHR",
"value" : "0x0002",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "TerminateOnFirstHitKHR",
"value" : "0x0004",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "SkipClosestHitShaderKHR",
"value" : "0x0008",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "CullBackFacingTrianglesKHR",
"value" : "0x0010",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "CullFrontFacingTrianglesKHR",
"value" : "0x0020",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "CullOpaqueKHR",
"value" : "0x0040",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "CullNoOpaqueKHR",
"value" : "0x0080",
- "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "SkipTrianglesKHR",
"value" : "0x0100",
- "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
+ "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "SkipAABBsKHR",
"value" : "0x0200",
- "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
+ "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
+ "version" : "None"
}
]
},
@@ -8135,6 +8320,45 @@
"capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
"extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "MaxWorkgroupSizeINTEL",
+ "value" : 5893,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'max_x_size'" },
+ { "kind" : "LiteralInteger", "name" : "'max_y_size'" },
+ { "kind" : "LiteralInteger", "name" : "'max_z_size'" }
+ ],
+ "capabilities" : [ "KernelAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxWorkDimINTEL",
+ "value" : 5894,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'max_dimensions'" }
+ ],
+ "capabilities" : [ "KernelAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NoGlobalOffsetINTEL",
+ "value" : 5895,
+ "capabilities" : [ "KernelAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NumSIMDWorkitemsINTEL",
+ "value" : 5896,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'vector_width'" }
+ ],
+ "capabilities" : [ "FPGAKernelAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "version" : "None"
}
]
},
@@ -8303,6 +8527,13 @@
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
"capabilities" : [ "PhysicalStorageBufferAddresses" ],
"version" : "1.5"
+ },
+ {
+ "enumerant" : "CodeSectionINTEL",
+ "value" : 5605,
+ "extensions" : [ "SPV_INTEL_function_pointers" ],
+ "capabilities" : [ "FunctionPointersINTEL" ],
+ "version" : "None"
}
]
},
@@ -9324,6 +9555,13 @@
"version" : "1.5"
},
{
+ "enumerant" : "ReferencedIndirectlyINTEL",
+ "value" : 5602,
+ "capabilities" : [ "IndirectReferencesINTEL" ],
+ "extensions" : [ "SPV_INTEL_function_pointers" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "CounterBuffer",
"value" : 5634,
"parameters" : [
@@ -9365,6 +9603,115 @@
],
"extensions" : [ "SPV_GOOGLE_user_type" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "RegisterINTEL",
+ "value" : 5825,
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MemoryINTEL",
+ "value" : 5826,
+ "parameters" : [
+ { "kind" : "LiteralString", "name" : "'Memory Type'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NumbanksINTEL",
+ "value" : 5827,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Banks'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "BankwidthINTEL",
+ "value" : 5828,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Bank Width'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxPrivateCopiesINTEL",
+ "value" : 5829,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Maximum Copies'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "SinglepumpINTEL",
+ "value" : 5830,
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "DoublepumpINTEL",
+ "value" : 5831,
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxReplicatesINTEL",
+ "value" : 5832,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Maximum Replicates'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "SimpleDualPortINTEL",
+ "value" : 5833,
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MergeINTEL",
+ "value" : 5834,
+ "parameters" : [
+ { "kind" : "LiteralString", "name" : "'Merge Key'" },
+ { "kind" : "LiteralString", "name" : "'Merge Type'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "BankBitsINTEL",
+ "value" : 5835,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Bank Bits'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ForcePow2DepthINTEL",
+ "value" : 5836,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Force Key'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
}
]
},
@@ -10132,7 +10479,8 @@
{
"enumerant" : "ShaderCallKHR",
"value" : 6,
- "capabilities" : [ "RayTracingProvisionalKHR" ]
+ "capabilities" : [ "RayTracingProvisionalKHR" ],
+ "version" : "None"
}
]
},
@@ -11147,6 +11495,18 @@
"version" : "None"
},
{
+ "enumerant" : "FunctionPointersINTEL",
+ "value" : 5603,
+ "extensions" : [ "SPV_INTEL_function_pointers" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "IndirectReferencesINTEL",
+ "value" : 5604,
+ "extensions" : [ "SPV_INTEL_function_pointers" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SubgroupAvcMotionEstimationINTEL",
"value" : 5696,
"extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
@@ -11163,6 +11523,62 @@
"value" : 5698,
"extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "FPGAMemoryAttributesINTEL",
+ "value" : 5824,
+ "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "UnstructuredLoopControlsINTEL",
+ "value" : 5886,
+ "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGALoopControlsINTEL",
+ "value" : 5888,
+ "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "KernelAttributesINTEL",
+ "value" : 5892,
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGAKernelAttributesINTEL",
+ "value" : 5897,
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "BlockingPipesINTEL",
+ "value" : 5945,
+ "extensions" : [ "SPV_INTEL_blocking_pipes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGARegINTEL",
+ "value" : 5948,
+ "extensions" : [ "SPV_INTEL_fpga_reg" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "AtomicFloat32AddEXT",
+ "value" : 6033,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "AtomicFloat64AddEXT",
+ "value" : 6034,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
+ "version" : "None"
}
]
},
@@ -11173,12 +11589,14 @@
{
"enumerant" : "RayQueryCandidateIntersectionKHR",
"value" : 0,
- "capabilities" : [ "RayQueryProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "RayQueryCommittedIntersectionKHR",
"value" : 1,
- "capabilities" : [ "RayQueryProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "version" : "None"
}
]
},
@@ -11189,17 +11607,20 @@
{
"enumerant" : "RayQueryCommittedIntersectionNoneKHR",
"value" : 0,
- "capabilities" : [ "RayQueryProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
"value" : 1,
- "capabilities" : [ "RayQueryProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
"value" : 2,
- "capabilities" : [ "RayQueryProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "version" : "None"
}
]
},
@@ -11210,12 +11631,14 @@
{
"enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
"value" : 0,
- "capabilities" : [ "RayQueryProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "version" : "None"
},
{
"enumerant" : "RayQueryCandidateIntersectionAABBKHR",
"value" : 1,
- "capabilities" : [ "RayQueryProvisionalKHR" ]
+ "capabilities" : [ "RayQueryProvisionalKHR" ],
+ "version" : "None"
}
]
},
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.cs b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.cs
index c5ddff9..ce11768 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.cs
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.cs
@@ -49,7 +49,7 @@
{
public const uint MagicNumber = 0x07230203;
public const uint Version = 0x00010500;
- public const uint Revision = 1;
+ public const uint Revision = 3;
public const uint OpCodeMask = 0xffff;
public const uint WordCountShift = 16;
@@ -164,6 +164,10 @@
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
+ MaxWorkgroupSizeINTEL = 5893,
+ MaxWorkDimINTEL = 5894,
+ NoGlobalOffsetINTEL = 5895,
+ NumSIMDWorkitemsINTEL = 5896,
}
public enum StorageClass
@@ -195,6 +199,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ CodeSectionINTEL = 5605,
}
public enum Dim
@@ -475,11 +480,24 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
+ RegisterINTEL = 5825,
+ MemoryINTEL = 5826,
+ NumbanksINTEL = 5827,
+ BankwidthINTEL = 5828,
+ MaxPrivateCopiesINTEL = 5829,
+ SinglepumpINTEL = 5830,
+ DoublepumpINTEL = 5831,
+ MaxReplicatesINTEL = 5832,
+ SimpleDualPortINTEL = 5833,
+ MergeINTEL = 5834,
+ BankBitsINTEL = 5835,
+ ForcePow2DepthINTEL = 5836,
}
public enum BuiltIn
@@ -627,6 +645,13 @@
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
+ InitiationIntervalINTEL = 16,
+ MaxConcurrencyINTEL = 17,
+ DependencyArrayINTEL = 18,
+ PipelineEnableINTEL = 19,
+ LoopCoalesceINTEL = 20,
+ MaxInterleavingINTEL = 21,
+ SpeculatedIterationsINTEL = 22,
}
public enum LoopControlMask
@@ -641,6 +666,13 @@
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
+ InitiationIntervalINTEL = 0x00010000,
+ MaxConcurrencyINTEL = 0x00020000,
+ DependencyArrayINTEL = 0x00040000,
+ PipelineEnableINTEL = 0x00080000,
+ LoopCoalesceINTEL = 0x00100000,
+ MaxInterleavingINTEL = 0x00200000,
+ SpeculatedIterationsINTEL = 0x00400000,
}
public enum FunctionControlShift
@@ -932,9 +964,20 @@
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
+ FunctionPointersINTEL = 5603,
+ IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
+ FPGAMemoryAttributesINTEL = 5824,
+ UnstructuredLoopControlsINTEL = 5886,
+ FPGALoopControlsINTEL = 5888,
+ KernelAttributesINTEL = 5892,
+ FPGAKernelAttributesINTEL = 5897,
+ BlockingPipesINTEL = 5945,
+ FPGARegINTEL = 5948,
+ AtomicFloat32AddEXT = 6033,
+ AtomicFloat64AddEXT = 6034,
}
public enum RayFlagsShift
@@ -1331,6 +1374,7 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1403,6 +1447,8 @@
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
+ OpFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
@@ -1525,6 +1571,10 @@
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpLoopControlINTEL = 5887,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
@@ -1542,6 +1592,7 @@
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
}
}
}
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.h b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.h
index 92b34c3..1e999f2 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.h
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.h
@@ -54,11 +54,11 @@
typedef unsigned int SpvId;
#define SPV_VERSION 0x10500
-#define SPV_REVISION 1
+#define SPV_REVISION 3
static const unsigned int SpvMagicNumber = 0x07230203;
static const unsigned int SpvVersion = 0x00010500;
-static const unsigned int SpvRevision = 1;
+static const unsigned int SpvRevision = 3;
static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16;
@@ -172,6 +172,10 @@
SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+ SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
+ SpvExecutionModeMaxWorkDimINTEL = 5894,
+ SpvExecutionModeNoGlobalOffsetINTEL = 5895,
+ SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
@@ -203,6 +207,7 @@
SpvStorageClassShaderRecordBufferNV = 5343,
SpvStorageClassPhysicalStorageBuffer = 5349,
SpvStorageClassPhysicalStorageBufferEXT = 5349,
+ SpvStorageClassCodeSectionINTEL = 5605,
SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
@@ -481,11 +486,24 @@
SpvDecorationRestrictPointerEXT = 5355,
SpvDecorationAliasedPointer = 5356,
SpvDecorationAliasedPointerEXT = 5356,
+ SpvDecorationReferencedIndirectlyINTEL = 5602,
SpvDecorationCounterBuffer = 5634,
SpvDecorationHlslCounterBufferGOOGLE = 5634,
SpvDecorationHlslSemanticGOOGLE = 5635,
SpvDecorationUserSemantic = 5635,
SpvDecorationUserTypeGOOGLE = 5636,
+ SpvDecorationRegisterINTEL = 5825,
+ SpvDecorationMemoryINTEL = 5826,
+ SpvDecorationNumbanksINTEL = 5827,
+ SpvDecorationBankwidthINTEL = 5828,
+ SpvDecorationMaxPrivateCopiesINTEL = 5829,
+ SpvDecorationSinglepumpINTEL = 5830,
+ SpvDecorationDoublepumpINTEL = 5831,
+ SpvDecorationMaxReplicatesINTEL = 5832,
+ SpvDecorationSimpleDualPortINTEL = 5833,
+ SpvDecorationMergeINTEL = 5834,
+ SpvDecorationBankBitsINTEL = 5835,
+ SpvDecorationForcePow2DepthINTEL = 5836,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
@@ -632,6 +650,13 @@
SpvLoopControlIterationMultipleShift = 6,
SpvLoopControlPeelCountShift = 7,
SpvLoopControlPartialCountShift = 8,
+ SpvLoopControlInitiationIntervalINTELShift = 16,
+ SpvLoopControlMaxConcurrencyINTELShift = 17,
+ SpvLoopControlDependencyArrayINTELShift = 18,
+ SpvLoopControlPipelineEnableINTELShift = 19,
+ SpvLoopControlLoopCoalesceINTELShift = 20,
+ SpvLoopControlMaxInterleavingINTELShift = 21,
+ SpvLoopControlSpeculatedIterationsINTELShift = 22,
SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
@@ -646,6 +671,13 @@
SpvLoopControlIterationMultipleMask = 0x00000040,
SpvLoopControlPeelCountMask = 0x00000080,
SpvLoopControlPartialCountMask = 0x00000100,
+ SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
+ SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
+ SpvLoopControlDependencyArrayINTELMask = 0x00040000,
+ SpvLoopControlPipelineEnableINTELMask = 0x00080000,
+ SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
+ SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
+ SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
} SpvLoopControlMask;
typedef enum SpvFunctionControlShift_ {
@@ -932,9 +964,20 @@
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
SpvCapabilityIntegerFunctions2INTEL = 5584,
+ SpvCapabilityFunctionPointersINTEL = 5603,
+ SpvCapabilityIndirectReferencesINTEL = 5604,
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+ SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
+ SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
+ SpvCapabilityFPGALoopControlsINTEL = 5888,
+ SpvCapabilityKernelAttributesINTEL = 5892,
+ SpvCapabilityFPGAKernelAttributesINTEL = 5897,
+ SpvCapabilityBlockingPipesINTEL = 5945,
+ SpvCapabilityFPGARegINTEL = 5948,
+ SpvCapabilityAtomicFloat32AddEXT = 6033,
+ SpvCapabilityAtomicFloat64AddEXT = 6034,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -1330,6 +1373,7 @@
SpvOpPtrEqual = 401,
SpvOpPtrNotEqual = 402,
SpvOpPtrDiff = 403,
+ SpvOpTerminateInvocation = 4416,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
SpvOpSubgroupAllKHR = 4428,
@@ -1402,6 +1446,8 @@
SpvOpUSubSatINTEL = 5596,
SpvOpIMul32x16INTEL = 5597,
SpvOpUMul32x16INTEL = 5598,
+ SpvOpFunctionPointerINTEL = 5600,
+ SpvOpFunctionPointerCallINTEL = 5601,
SpvOpDecorateString = 5632,
SpvOpDecorateStringGOOGLE = 5632,
SpvOpMemberDecorateString = 5633,
@@ -1524,6 +1570,10 @@
SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ SpvOpLoopControlINTEL = 5887,
+ SpvOpReadPipeBlockingINTEL = 5946,
+ SpvOpWritePipeBlockingINTEL = 5947,
+ SpvOpFPGARegINTEL = 5949,
SpvOpRayQueryGetRayTMinKHR = 6016,
SpvOpRayQueryGetRayFlagsKHR = 6017,
SpvOpRayQueryGetIntersectionTKHR = 6018,
@@ -1541,6 +1591,7 @@
SpvOpRayQueryGetWorldRayOriginKHR = 6030,
SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ SpvOpAtomicFAddEXT = 6035,
SpvOpMax = 0x7fffffff,
} SpvOp;
@@ -1895,10 +1946,18 @@
case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
+ case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
+ case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
+ case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
@@ -1918,30 +1977,6 @@
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
- case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
- case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
- case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
@@ -1976,6 +2011,8 @@
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2096,6 +2133,28 @@
case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+ case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp
index 9f98683..489cb75 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp
@@ -50,11 +50,11 @@
typedef unsigned int Id;
#define SPV_VERSION 0x10500
-#define SPV_REVISION 1
+#define SPV_REVISION 3
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 1;
+static const unsigned int Revision = 3;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -168,6 +168,10 @@
ExecutionModeSampleInterlockUnorderedEXT = 5369,
ExecutionModeShadingRateInterlockOrderedEXT = 5370,
ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+ ExecutionModeMaxWorkgroupSizeINTEL = 5893,
+ ExecutionModeMaxWorkDimINTEL = 5894,
+ ExecutionModeNoGlobalOffsetINTEL = 5895,
+ ExecutionModeNumSIMDWorkitemsINTEL = 5896,
ExecutionModeMax = 0x7fffffff,
};
@@ -199,6 +203,7 @@
StorageClassShaderRecordBufferNV = 5343,
StorageClassPhysicalStorageBuffer = 5349,
StorageClassPhysicalStorageBufferEXT = 5349,
+ StorageClassCodeSectionINTEL = 5605,
StorageClassMax = 0x7fffffff,
};
@@ -477,11 +482,24 @@
DecorationRestrictPointerEXT = 5355,
DecorationAliasedPointer = 5356,
DecorationAliasedPointerEXT = 5356,
+ DecorationReferencedIndirectlyINTEL = 5602,
DecorationCounterBuffer = 5634,
DecorationHlslCounterBufferGOOGLE = 5634,
DecorationHlslSemanticGOOGLE = 5635,
DecorationUserSemantic = 5635,
DecorationUserTypeGOOGLE = 5636,
+ DecorationRegisterINTEL = 5825,
+ DecorationMemoryINTEL = 5826,
+ DecorationNumbanksINTEL = 5827,
+ DecorationBankwidthINTEL = 5828,
+ DecorationMaxPrivateCopiesINTEL = 5829,
+ DecorationSinglepumpINTEL = 5830,
+ DecorationDoublepumpINTEL = 5831,
+ DecorationMaxReplicatesINTEL = 5832,
+ DecorationSimpleDualPortINTEL = 5833,
+ DecorationMergeINTEL = 5834,
+ DecorationBankBitsINTEL = 5835,
+ DecorationForcePow2DepthINTEL = 5836,
DecorationMax = 0x7fffffff,
};
@@ -628,6 +646,13 @@
LoopControlIterationMultipleShift = 6,
LoopControlPeelCountShift = 7,
LoopControlPartialCountShift = 8,
+ LoopControlInitiationIntervalINTELShift = 16,
+ LoopControlMaxConcurrencyINTELShift = 17,
+ LoopControlDependencyArrayINTELShift = 18,
+ LoopControlPipelineEnableINTELShift = 19,
+ LoopControlLoopCoalesceINTELShift = 20,
+ LoopControlMaxInterleavingINTELShift = 21,
+ LoopControlSpeculatedIterationsINTELShift = 22,
LoopControlMax = 0x7fffffff,
};
@@ -642,6 +667,13 @@
LoopControlIterationMultipleMask = 0x00000040,
LoopControlPeelCountMask = 0x00000080,
LoopControlPartialCountMask = 0x00000100,
+ LoopControlInitiationIntervalINTELMask = 0x00010000,
+ LoopControlMaxConcurrencyINTELMask = 0x00020000,
+ LoopControlDependencyArrayINTELMask = 0x00040000,
+ LoopControlPipelineEnableINTELMask = 0x00080000,
+ LoopControlLoopCoalesceINTELMask = 0x00100000,
+ LoopControlMaxInterleavingINTELMask = 0x00200000,
+ LoopControlSpeculatedIterationsINTELMask = 0x00400000,
};
enum FunctionControlShift {
@@ -928,9 +960,20 @@
CapabilitySubgroupImageBlockIOINTEL = 5570,
CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
CapabilityIntegerFunctions2INTEL = 5584,
+ CapabilityFunctionPointersINTEL = 5603,
+ CapabilityIndirectReferencesINTEL = 5604,
CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+ CapabilityFPGAMemoryAttributesINTEL = 5824,
+ CapabilityUnstructuredLoopControlsINTEL = 5886,
+ CapabilityFPGALoopControlsINTEL = 5888,
+ CapabilityKernelAttributesINTEL = 5892,
+ CapabilityFPGAKernelAttributesINTEL = 5897,
+ CapabilityBlockingPipesINTEL = 5945,
+ CapabilityFPGARegINTEL = 5948,
+ CapabilityAtomicFloat32AddEXT = 6033,
+ CapabilityAtomicFloat64AddEXT = 6034,
CapabilityMax = 0x7fffffff,
};
@@ -1326,6 +1369,7 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1398,6 +1442,8 @@
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
+ OpFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
@@ -1520,6 +1566,10 @@
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpLoopControlINTEL = 5887,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
@@ -1537,6 +1587,7 @@
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
OpMax = 0x7fffffff,
};
@@ -1891,10 +1942,18 @@
case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
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 OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
@@ -1914,30 +1973,6 @@
case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
- case OpTypeRayQueryProvisionalKHR: *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;
- case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
@@ -1972,6 +2007,8 @@
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2092,6 +2129,28 @@
case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp11 b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp11
index 406ba19..8ab4131 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp11
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.hpp11
@@ -50,11 +50,11 @@
typedef unsigned int Id;
#define SPV_VERSION 0x10500
-#define SPV_REVISION 1
+#define SPV_REVISION 3
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 1;
+static const unsigned int Revision = 3;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -168,6 +168,10 @@
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
+ MaxWorkgroupSizeINTEL = 5893,
+ MaxWorkDimINTEL = 5894,
+ NoGlobalOffsetINTEL = 5895,
+ NumSIMDWorkitemsINTEL = 5896,
Max = 0x7fffffff,
};
@@ -199,6 +203,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ CodeSectionINTEL = 5605,
Max = 0x7fffffff,
};
@@ -477,11 +482,24 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
+ RegisterINTEL = 5825,
+ MemoryINTEL = 5826,
+ NumbanksINTEL = 5827,
+ BankwidthINTEL = 5828,
+ MaxPrivateCopiesINTEL = 5829,
+ SinglepumpINTEL = 5830,
+ DoublepumpINTEL = 5831,
+ MaxReplicatesINTEL = 5832,
+ SimpleDualPortINTEL = 5833,
+ MergeINTEL = 5834,
+ BankBitsINTEL = 5835,
+ ForcePow2DepthINTEL = 5836,
Max = 0x7fffffff,
};
@@ -628,6 +646,13 @@
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
+ InitiationIntervalINTEL = 16,
+ MaxConcurrencyINTEL = 17,
+ DependencyArrayINTEL = 18,
+ PipelineEnableINTEL = 19,
+ LoopCoalesceINTEL = 20,
+ MaxInterleavingINTEL = 21,
+ SpeculatedIterationsINTEL = 22,
Max = 0x7fffffff,
};
@@ -642,6 +667,13 @@
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
+ InitiationIntervalINTEL = 0x00010000,
+ MaxConcurrencyINTEL = 0x00020000,
+ DependencyArrayINTEL = 0x00040000,
+ PipelineEnableINTEL = 0x00080000,
+ LoopCoalesceINTEL = 0x00100000,
+ MaxInterleavingINTEL = 0x00200000,
+ SpeculatedIterationsINTEL = 0x00400000,
};
enum class FunctionControlShift : unsigned {
@@ -928,9 +960,20 @@
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
+ FunctionPointersINTEL = 5603,
+ IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
+ FPGAMemoryAttributesINTEL = 5824,
+ UnstructuredLoopControlsINTEL = 5886,
+ FPGALoopControlsINTEL = 5888,
+ KernelAttributesINTEL = 5892,
+ FPGAKernelAttributesINTEL = 5897,
+ BlockingPipesINTEL = 5945,
+ FPGARegINTEL = 5948,
+ AtomicFloat32AddEXT = 6033,
+ AtomicFloat64AddEXT = 6034,
Max = 0x7fffffff,
};
@@ -1326,6 +1369,7 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1398,6 +1442,8 @@
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
+ OpFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
@@ -1520,6 +1566,10 @@
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpLoopControlINTEL = 5887,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
@@ -1537,6 +1587,7 @@
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
Max = 0x7fffffff,
};
@@ -1891,10 +1942,18 @@
case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
+ case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
+ case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
+ case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
@@ -1914,30 +1973,6 @@
case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
- case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
- case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
- case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
@@ -1972,6 +2007,8 @@
case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
@@ -2092,6 +2129,28 @@
case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+ case Op::OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.json b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.json
index d372beb..1db1cd6 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.json
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.json
@@ -55,7 +55,7 @@
],
"MagicNumber": 119734787,
"Version": 66816,
- "Revision": 1,
+ "Revision": 3,
"OpCodeMask": 65535,
"WordCountShift": 16
},
@@ -186,7 +186,11 @@
"SampleInterlockOrderedEXT": 5368,
"SampleInterlockUnorderedEXT": 5369,
"ShadingRateInterlockOrderedEXT": 5370,
- "ShadingRateInterlockUnorderedEXT": 5371
+ "ShadingRateInterlockUnorderedEXT": 5371,
+ "MaxWorkgroupSizeINTEL": 5893,
+ "MaxWorkDimINTEL": 5894,
+ "NoGlobalOffsetINTEL": 5895,
+ "NumSIMDWorkitemsINTEL": 5896
}
},
{
@@ -220,7 +224,8 @@
"ShaderRecordBufferKHR": 5343,
"ShaderRecordBufferNV": 5343,
"PhysicalStorageBuffer": 5349,
- "PhysicalStorageBufferEXT": 5349
+ "PhysicalStorageBufferEXT": 5349,
+ "CodeSectionINTEL": 5605
}
},
{
@@ -507,11 +512,24 @@
"RestrictPointerEXT": 5355,
"AliasedPointer": 5356,
"AliasedPointerEXT": 5356,
+ "ReferencedIndirectlyINTEL": 5602,
"CounterBuffer": 5634,
"HlslCounterBufferGOOGLE": 5634,
"HlslSemanticGOOGLE": 5635,
"UserSemantic": 5635,
- "UserTypeGOOGLE": 5636
+ "UserTypeGOOGLE": 5636,
+ "RegisterINTEL": 5825,
+ "MemoryINTEL": 5826,
+ "NumbanksINTEL": 5827,
+ "BankwidthINTEL": 5828,
+ "MaxPrivateCopiesINTEL": 5829,
+ "SinglepumpINTEL": 5830,
+ "DoublepumpINTEL": 5831,
+ "MaxReplicatesINTEL": 5832,
+ "SimpleDualPortINTEL": 5833,
+ "MergeINTEL": 5834,
+ "BankBitsINTEL": 5835,
+ "ForcePow2DepthINTEL": 5836
}
},
{
@@ -660,7 +678,14 @@
"MaxIterations": 5,
"IterationMultiple": 6,
"PeelCount": 7,
- "PartialCount": 8
+ "PartialCount": 8,
+ "InitiationIntervalINTEL": 16,
+ "MaxConcurrencyINTEL": 17,
+ "DependencyArrayINTEL": 18,
+ "PipelineEnableINTEL": 19,
+ "LoopCoalesceINTEL": 20,
+ "MaxInterleavingINTEL": 21,
+ "SpeculatedIterationsINTEL": 22
}
},
{
@@ -925,9 +950,20 @@
"SubgroupImageBlockIOINTEL": 5570,
"SubgroupImageMediaBlockIOINTEL": 5579,
"IntegerFunctions2INTEL": 5584,
+ "FunctionPointersINTEL": 5603,
+ "IndirectReferencesINTEL": 5604,
"SubgroupAvcMotionEstimationINTEL": 5696,
"SubgroupAvcMotionEstimationIntraINTEL": 5697,
- "SubgroupAvcMotionEstimationChromaINTEL": 5698
+ "SubgroupAvcMotionEstimationChromaINTEL": 5698,
+ "FPGAMemoryAttributesINTEL": 5824,
+ "UnstructuredLoopControlsINTEL": 5886,
+ "FPGALoopControlsINTEL": 5888,
+ "KernelAttributesINTEL": 5892,
+ "FPGAKernelAttributesINTEL": 5897,
+ "BlockingPipesINTEL": 5945,
+ "FPGARegINTEL": 5948,
+ "AtomicFloat32AddEXT": 6033,
+ "AtomicFloat64AddEXT": 6034
}
},
{
@@ -1324,6 +1360,7 @@
"OpPtrEqual": 401,
"OpPtrNotEqual": 402,
"OpPtrDiff": 403,
+ "OpTerminateInvocation": 4416,
"OpSubgroupBallotKHR": 4421,
"OpSubgroupFirstInvocationKHR": 4422,
"OpSubgroupAllKHR": 4428,
@@ -1396,6 +1433,8 @@
"OpUSubSatINTEL": 5596,
"OpIMul32x16INTEL": 5597,
"OpUMul32x16INTEL": 5598,
+ "OpFunctionPointerINTEL": 5600,
+ "OpFunctionPointerCallINTEL": 5601,
"OpDecorateString": 5632,
"OpDecorateStringGOOGLE": 5632,
"OpMemberDecorateString": 5633,
@@ -1518,6 +1557,10 @@
"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": 5814,
"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": 5815,
"OpSubgroupAvcSicGetInterRawSadsINTEL": 5816,
+ "OpLoopControlINTEL": 5887,
+ "OpReadPipeBlockingINTEL": 5946,
+ "OpWritePipeBlockingINTEL": 5947,
+ "OpFPGARegINTEL": 5949,
"OpRayQueryGetRayTMinKHR": 6016,
"OpRayQueryGetRayFlagsKHR": 6017,
"OpRayQueryGetIntersectionTKHR": 6018,
@@ -1534,7 +1577,8 @@
"OpRayQueryGetWorldRayDirectionKHR": 6029,
"OpRayQueryGetWorldRayOriginKHR": 6030,
"OpRayQueryGetIntersectionObjectToWorldKHR": 6031,
- "OpRayQueryGetIntersectionWorldToObjectKHR": 6032
+ "OpRayQueryGetIntersectionWorldToObjectKHR": 6032,
+ "OpAtomicFAddEXT": 6035
}
}
]
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.lua b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.lua
index 3774a95..7002ed9 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.lua
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.lua
@@ -45,7 +45,7 @@
spv = {
MagicNumber = 0x07230203,
Version = 0x00010500,
- Revision = 1,
+ Revision = 3,
OpCodeMask = 0xffff,
WordCountShift = 16,
@@ -155,6 +155,10 @@
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
+ MaxWorkgroupSizeINTEL = 5893,
+ MaxWorkDimINTEL = 5894,
+ NoGlobalOffsetINTEL = 5895,
+ NumSIMDWorkitemsINTEL = 5896,
},
StorageClass = {
@@ -185,6 +189,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ CodeSectionINTEL = 5605,
},
Dim = {
@@ -450,11 +455,24 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
+ RegisterINTEL = 5825,
+ MemoryINTEL = 5826,
+ NumbanksINTEL = 5827,
+ BankwidthINTEL = 5828,
+ MaxPrivateCopiesINTEL = 5829,
+ SinglepumpINTEL = 5830,
+ DoublepumpINTEL = 5831,
+ MaxReplicatesINTEL = 5832,
+ SimpleDualPortINTEL = 5833,
+ MergeINTEL = 5834,
+ BankBitsINTEL = 5835,
+ ForcePow2DepthINTEL = 5836,
},
BuiltIn = {
@@ -598,6 +616,13 @@
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
+ InitiationIntervalINTEL = 16,
+ MaxConcurrencyINTEL = 17,
+ DependencyArrayINTEL = 18,
+ PipelineEnableINTEL = 19,
+ LoopCoalesceINTEL = 20,
+ MaxInterleavingINTEL = 21,
+ SpeculatedIterationsINTEL = 22,
},
LoopControlMask = {
@@ -611,6 +636,13 @@
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
+ InitiationIntervalINTEL = 0x00010000,
+ MaxConcurrencyINTEL = 0x00020000,
+ DependencyArrayINTEL = 0x00040000,
+ PipelineEnableINTEL = 0x00080000,
+ LoopCoalesceINTEL = 0x00100000,
+ MaxInterleavingINTEL = 0x00200000,
+ SpeculatedIterationsINTEL = 0x00400000,
},
FunctionControlShift = {
@@ -890,9 +922,20 @@
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
+ FunctionPointersINTEL = 5603,
+ IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
+ FPGAMemoryAttributesINTEL = 5824,
+ UnstructuredLoopControlsINTEL = 5886,
+ FPGALoopControlsINTEL = 5888,
+ KernelAttributesINTEL = 5892,
+ FPGAKernelAttributesINTEL = 5897,
+ BlockingPipesINTEL = 5945,
+ FPGARegINTEL = 5948,
+ AtomicFloat32AddEXT = 6033,
+ AtomicFloat64AddEXT = 6034,
},
RayFlagsShift = {
@@ -1283,6 +1326,7 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1355,6 +1399,8 @@
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
+ OpFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
@@ -1477,6 +1523,10 @@
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpLoopControlINTEL = 5887,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
@@ -1494,6 +1544,7 @@
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
},
}
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.py b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.py
index a7344aa..b2e469d 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spirv.py
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spirv.py
@@ -45,7 +45,7 @@
spv = {
'MagicNumber' : 0x07230203,
'Version' : 0x00010500,
- 'Revision' : 1,
+ 'Revision' : 3,
'OpCodeMask' : 0xffff,
'WordCountShift' : 16,
@@ -155,6 +155,10 @@
'SampleInterlockUnorderedEXT' : 5369,
'ShadingRateInterlockOrderedEXT' : 5370,
'ShadingRateInterlockUnorderedEXT' : 5371,
+ 'MaxWorkgroupSizeINTEL' : 5893,
+ 'MaxWorkDimINTEL' : 5894,
+ 'NoGlobalOffsetINTEL' : 5895,
+ 'NumSIMDWorkitemsINTEL' : 5896,
},
'StorageClass' : {
@@ -185,6 +189,7 @@
'ShaderRecordBufferNV' : 5343,
'PhysicalStorageBuffer' : 5349,
'PhysicalStorageBufferEXT' : 5349,
+ 'CodeSectionINTEL' : 5605,
},
'Dim' : {
@@ -450,11 +455,24 @@
'RestrictPointerEXT' : 5355,
'AliasedPointer' : 5356,
'AliasedPointerEXT' : 5356,
+ 'ReferencedIndirectlyINTEL' : 5602,
'CounterBuffer' : 5634,
'HlslCounterBufferGOOGLE' : 5634,
'HlslSemanticGOOGLE' : 5635,
'UserSemantic' : 5635,
'UserTypeGOOGLE' : 5636,
+ 'RegisterINTEL' : 5825,
+ 'MemoryINTEL' : 5826,
+ 'NumbanksINTEL' : 5827,
+ 'BankwidthINTEL' : 5828,
+ 'MaxPrivateCopiesINTEL' : 5829,
+ 'SinglepumpINTEL' : 5830,
+ 'DoublepumpINTEL' : 5831,
+ 'MaxReplicatesINTEL' : 5832,
+ 'SimpleDualPortINTEL' : 5833,
+ 'MergeINTEL' : 5834,
+ 'BankBitsINTEL' : 5835,
+ 'ForcePow2DepthINTEL' : 5836,
},
'BuiltIn' : {
@@ -598,6 +616,13 @@
'IterationMultiple' : 6,
'PeelCount' : 7,
'PartialCount' : 8,
+ 'InitiationIntervalINTEL' : 16,
+ 'MaxConcurrencyINTEL' : 17,
+ 'DependencyArrayINTEL' : 18,
+ 'PipelineEnableINTEL' : 19,
+ 'LoopCoalesceINTEL' : 20,
+ 'MaxInterleavingINTEL' : 21,
+ 'SpeculatedIterationsINTEL' : 22,
},
'LoopControlMask' : {
@@ -611,6 +636,13 @@
'IterationMultiple' : 0x00000040,
'PeelCount' : 0x00000080,
'PartialCount' : 0x00000100,
+ 'InitiationIntervalINTEL' : 0x00010000,
+ 'MaxConcurrencyINTEL' : 0x00020000,
+ 'DependencyArrayINTEL' : 0x00040000,
+ 'PipelineEnableINTEL' : 0x00080000,
+ 'LoopCoalesceINTEL' : 0x00100000,
+ 'MaxInterleavingINTEL' : 0x00200000,
+ 'SpeculatedIterationsINTEL' : 0x00400000,
},
'FunctionControlShift' : {
@@ -890,9 +922,20 @@
'SubgroupImageBlockIOINTEL' : 5570,
'SubgroupImageMediaBlockIOINTEL' : 5579,
'IntegerFunctions2INTEL' : 5584,
+ 'FunctionPointersINTEL' : 5603,
+ 'IndirectReferencesINTEL' : 5604,
'SubgroupAvcMotionEstimationINTEL' : 5696,
'SubgroupAvcMotionEstimationIntraINTEL' : 5697,
'SubgroupAvcMotionEstimationChromaINTEL' : 5698,
+ 'FPGAMemoryAttributesINTEL' : 5824,
+ 'UnstructuredLoopControlsINTEL' : 5886,
+ 'FPGALoopControlsINTEL' : 5888,
+ 'KernelAttributesINTEL' : 5892,
+ 'FPGAKernelAttributesINTEL' : 5897,
+ 'BlockingPipesINTEL' : 5945,
+ 'FPGARegINTEL' : 5948,
+ 'AtomicFloat32AddEXT' : 6033,
+ 'AtomicFloat64AddEXT' : 6034,
},
'RayFlagsShift' : {
@@ -1283,6 +1326,7 @@
'OpPtrEqual' : 401,
'OpPtrNotEqual' : 402,
'OpPtrDiff' : 403,
+ 'OpTerminateInvocation' : 4416,
'OpSubgroupBallotKHR' : 4421,
'OpSubgroupFirstInvocationKHR' : 4422,
'OpSubgroupAllKHR' : 4428,
@@ -1355,6 +1399,8 @@
'OpUSubSatINTEL' : 5596,
'OpIMul32x16INTEL' : 5597,
'OpUMul32x16INTEL' : 5598,
+ 'OpFunctionPointerINTEL' : 5600,
+ 'OpFunctionPointerCallINTEL' : 5601,
'OpDecorateString' : 5632,
'OpDecorateStringGOOGLE' : 5632,
'OpMemberDecorateString' : 5633,
@@ -1477,6 +1523,10 @@
'OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL' : 5814,
'OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL' : 5815,
'OpSubgroupAvcSicGetInterRawSadsINTEL' : 5816,
+ 'OpLoopControlINTEL' : 5887,
+ 'OpReadPipeBlockingINTEL' : 5946,
+ 'OpWritePipeBlockingINTEL' : 5947,
+ 'OpFPGARegINTEL' : 5949,
'OpRayQueryGetRayTMinKHR' : 6016,
'OpRayQueryGetRayFlagsKHR' : 6017,
'OpRayQueryGetIntersectionTKHR' : 6018,
@@ -1494,6 +1544,7 @@
'OpRayQueryGetWorldRayOriginKHR' : 6030,
'OpRayQueryGetIntersectionObjectToWorldKHR' : 6031,
'OpRayQueryGetIntersectionWorldToObjectKHR' : 6032,
+ 'OpAtomicFAddEXT' : 6035,
},
}
diff --git a/third_party/SPIRV-Headers/include/spirv/unified1/spv.d b/third_party/SPIRV-Headers/include/spirv/unified1/spv.d
index 2c76658..3a1c6b1 100644
--- a/third_party/SPIRV-Headers/include/spirv/unified1/spv.d
+++ b/third_party/SPIRV-Headers/include/spirv/unified1/spv.d
@@ -52,7 +52,7 @@
enum uint MagicNumber = 0x07230203;
enum uint Version = 0x00010500;
-enum uint Revision = 1;
+enum uint Revision = 3;
enum uint OpCodeMask = 0xffff;
enum uint WordCountShift = 16;
@@ -167,6 +167,10 @@
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
+ MaxWorkgroupSizeINTEL = 5893,
+ MaxWorkDimINTEL = 5894,
+ NoGlobalOffsetINTEL = 5895,
+ NumSIMDWorkitemsINTEL = 5896,
}
enum StorageClass : uint
@@ -198,6 +202,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ CodeSectionINTEL = 5605,
}
enum Dim : uint
@@ -478,11 +483,24 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ ReferencedIndirectlyINTEL = 5602,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
UserSemantic = 5635,
UserTypeGOOGLE = 5636,
+ RegisterINTEL = 5825,
+ MemoryINTEL = 5826,
+ NumbanksINTEL = 5827,
+ BankwidthINTEL = 5828,
+ MaxPrivateCopiesINTEL = 5829,
+ SinglepumpINTEL = 5830,
+ DoublepumpINTEL = 5831,
+ MaxReplicatesINTEL = 5832,
+ SimpleDualPortINTEL = 5833,
+ MergeINTEL = 5834,
+ BankBitsINTEL = 5835,
+ ForcePow2DepthINTEL = 5836,
}
enum BuiltIn : uint
@@ -630,6 +648,13 @@
IterationMultiple = 6,
PeelCount = 7,
PartialCount = 8,
+ InitiationIntervalINTEL = 16,
+ MaxConcurrencyINTEL = 17,
+ DependencyArrayINTEL = 18,
+ PipelineEnableINTEL = 19,
+ LoopCoalesceINTEL = 20,
+ MaxInterleavingINTEL = 21,
+ SpeculatedIterationsINTEL = 22,
}
enum LoopControlMask : uint
@@ -644,6 +669,13 @@
IterationMultiple = 0x00000040,
PeelCount = 0x00000080,
PartialCount = 0x00000100,
+ InitiationIntervalINTEL = 0x00010000,
+ MaxConcurrencyINTEL = 0x00020000,
+ DependencyArrayINTEL = 0x00040000,
+ PipelineEnableINTEL = 0x00080000,
+ LoopCoalesceINTEL = 0x00100000,
+ MaxInterleavingINTEL = 0x00200000,
+ SpeculatedIterationsINTEL = 0x00400000,
}
enum FunctionControlShift : uint
@@ -935,9 +967,20 @@
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
IntegerFunctions2INTEL = 5584,
+ FunctionPointersINTEL = 5603,
+ IndirectReferencesINTEL = 5604,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
+ FPGAMemoryAttributesINTEL = 5824,
+ UnstructuredLoopControlsINTEL = 5886,
+ FPGALoopControlsINTEL = 5888,
+ KernelAttributesINTEL = 5892,
+ FPGAKernelAttributesINTEL = 5897,
+ BlockingPipesINTEL = 5945,
+ FPGARegINTEL = 5948,
+ AtomicFloat32AddEXT = 6033,
+ AtomicFloat64AddEXT = 6034,
}
enum RayFlagsShift : uint
@@ -1334,6 +1377,7 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1406,6 +1450,8 @@
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
+ OpFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
@@ -1528,6 +1574,10 @@
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpLoopControlINTEL = 5887,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
OpRayQueryGetRayTMinKHR = 6016,
OpRayQueryGetRayFlagsKHR = 6017,
OpRayQueryGetIntersectionTKHR = 6018,
@@ -1545,6 +1595,7 @@
OpRayQueryGetWorldRayOriginKHR = 6030,
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
}
diff --git a/third_party/SPIRV-Headers/tools/buildHeaders/header.cpp b/third_party/SPIRV-Headers/tools/buildHeaders/header.cpp
index 7e8f668..aad94f7 100644
--- a/third_party/SPIRV-Headers/tools/buildHeaders/header.cpp
+++ b/third_party/SPIRV-Headers/tools/buildHeaders/header.cpp
@@ -70,8 +70,8 @@
static const int DocMagicNumber = 0x07230203;
static const int DocVersion = 0x00010500;
- static const int DocRevision = 1;
- #define DocRevisionString "1"
+ static const int DocRevision = 3;
+ #define DocRevisionString "3"
static const std::string DocCopyright;
static const std::string DocComment1;
static const std::string DocComment2;
diff --git a/third_party/SPIRV-Headers/tools/buildHeaders/jsonToSpirv.h b/third_party/SPIRV-Headers/tools/buildHeaders/jsonToSpirv.h
index 9a5eafd..732eed5 100644
--- a/third_party/SPIRV-Headers/tools/buildHeaders/jsonToSpirv.h
+++ b/third_party/SPIRV-Headers/tools/buildHeaders/jsonToSpirv.h
@@ -80,7 +80,7 @@
OperandMemorySemantics,
OperandMemoryOperands,
OperandScope,
- OperandGroupOperation,
+ OperandGroupOperation,
OperandKernelEnqueueFlags,
OperandKernelProfilingInfo,
OperandCapability,