aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2019-10-08 16:45:32 -0700
committerChris Forbes <chrisforbes@google.com>2019-10-08 16:45:32 -0700
commit941fa84c823ca63ef7224ba09367ab42d899f8ce (patch)
tree4319ef8d6885659e2217781832199c857a7f2163
parent2722095f61bb0f6a8d8fe4980c682a3aed0ab42d (diff)
parent842ec90674627ed2ffef609e3cd79d1562eded01 (diff)
downloadSPIRV-Headers-941fa84c823ca63ef7224ba09367ab42d899f8ce.tar.gz
Merge commit '842ec90674627ed2ffef609e3cd79d1562eded01' into goog/master
Bug: b/142349953 Change-Id: Ic02934aeabb80555d53e423201aa7560af5b5ed9
-rw-r--r--BUILD.bazel124
-rw-r--r--README.md50
-rw-r--r--WORKSPACE0
-rw-r--r--include/spirv/spir-v.xml7
-rw-r--r--include/spirv/unified1/spirv.core.grammar.json1032
-rw-r--r--include/spirv/unified1/spirv.cs48
-rw-r--r--include/spirv/unified1/spirv.h49
-rw-r--r--include/spirv/unified1/spirv.hpp49
-rw-r--r--include/spirv/unified1/spirv.hpp1149
-rw-r--r--include/spirv/unified1/spirv.json38
-rw-r--r--include/spirv/unified1/spirv.lua48
-rw-r--r--include/spirv/unified1/spirv.py48
-rw-r--r--include/spirv/unified1/spv.d48
-rw-r--r--tools/buildHeaders/jsonToSpirv.cpp50
-rw-r--r--tools/buildHeaders/jsonToSpirv.h14
15 files changed, 1550 insertions, 104 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
index 0000000..29f43ce
--- /dev/null
+++ b/BUILD.bazel
@@ -0,0 +1,124 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+licenses(["notice"])
+
+exports_files(["LICENSE"])
+
+filegroup(
+ name = "spirv_core_grammar_1.0",
+ srcs = ["include/spirv/1.0/spirv.core.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_glsl_grammar_1.0",
+ srcs = ["include/spirv/1.0/extinst.glsl.std.450.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_opencl_grammar_1.0",
+ srcs = ["include/spirv/1.0/extinst.opencl.std.100.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_core_grammar_1.1",
+ srcs = ["include/spirv/1.1/spirv.core.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_glsl_grammar_1.1",
+ srcs = ["include/spirv/1.1/extinst.glsl.std.450.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_opencl_grammar_1.1",
+ srcs = ["include/spirv/1.1/extinst.opencl.std.100.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_core_grammar_1.2",
+ srcs = ["include/spirv/1.2/spirv.core.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_glsl_grammar_1.2",
+ srcs = ["include/spirv/1.2/extinst.glsl.std.450.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_opencl_grammar_1.2",
+ srcs = ["include/spirv/1.2/extinst.opencl.std.100.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_core_grammar_unified1",
+ srcs = ["include/spirv/unified1/spirv.core.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_glsl_grammar_unified1",
+ srcs = ["include/spirv/unified1/extinst.glsl.std.450.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_opencl_grammar_unified1",
+ srcs = ["include/spirv/unified1/extinst.opencl.std.100.grammar.json"],
+)
+
+filegroup(
+ name = "spirv_xml_registry",
+ srcs = ["include/spirv/spir-v.xml"],
+)
+
+cc_library(
+ name = "spirv_common_headers",
+ hdrs = [
+ "include/spirv/1.0/GLSL.std.450.h",
+ "include/spirv/1.0/OpenCL.std.h",
+ "include/spirv/1.1/GLSL.std.450.h",
+ "include/spirv/1.1/OpenCL.std.h",
+ "include/spirv/1.2/GLSL.std.450.h",
+ "include/spirv/1.2/OpenCL.std.h",
+ "include/spirv/unified1/GLSL.std.450.h",
+ "include/spirv/unified1/OpenCL.std.h",
+ ],
+ includes = ["include"],
+)
+
+cc_library(
+ name = "spirv_c_headers",
+ hdrs = [
+ "include/spirv/1.0/spirv.h",
+ "include/spirv/1.1/spirv.h",
+ "include/spirv/1.2/spirv.h",
+ "include/spirv/unified1/spirv.h",
+ ],
+ includes = ["include"],
+ deps = [":spirv_common_headers"],
+)
+
+cc_library(
+ name = "spirv_cpp_headers",
+ hdrs = [
+ "include/spirv/1.0/spirv.hpp",
+ "include/spirv/1.1/spirv.hpp",
+ "include/spirv/1.2/spirv.hpp",
+ "include/spirv/unified1/spirv.hpp",
+ ],
+ includes = ["include"],
+ deps = [":spirv_common_headers"],
+)
+
+cc_library(
+ name = "spirv_cpp11_headers",
+ hdrs = [
+ "include/spirv/1.0/spirv.hpp11",
+ "include/spirv/1.1/spirv.hpp11",
+ "include/spirv/1.2/spirv.hpp11",
+ "include/spirv/unified1/spirv.hpp11",
+ ],
+ includes = ["include"],
+ deps = [":spirv_common_headers"],
+)
+
diff --git a/README.md b/README.md
index beb1b7e..53c476f 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,7 @@ If you want to install them somewhere else, then use
## Using the headers without installing
+### Using CMake
A CMake-based project can use the headers without installing, as follows:
1. Add an `add_subdirectory` directive to include this source tree.
@@ -69,6 +70,55 @@ A CMake-based project can use the headers without installing, as follows:
See also the [example](example/) subdirectory. But since that example is
*inside* this repostory, it doesn't use and `add_subdirectory` directive.
+### Using Bazel
+A Bazel-based project can use the headers without installing, as follows:
+
+1. Add SPIRV-Headers as a submodule of your project, and add a
+`local_repository` to your `WORKSPACE` file. For example, if you place
+SPIRV-Headers under `external/spirv-headers`, then add the following to your
+`WORKSPACE` file:
+
+```
+local_repository(
+ name = "spirv_headers",
+ path = "external/spirv-headers",
+)
+```
+
+2. Add one of the following to the `deps` attribute of your build target based
+on your needs:
+```
+@spirv_headers//:spirv_c_headers
+@spirv_headers//:spirv_cpp_headers
+@spirv_headers//:spirv_cpp11_headers
+```
+
+For example:
+
+```
+cc_library(
+ name = "project",
+ srcs = [
+ # Path to project sources
+ ],
+ hdrs = [
+ # Path to project headers
+ ],
+ deps = [
+ "@spirv_tools//:spirv_c_headers",
+ # Other dependencies,
+ ],
+)
+```
+
+3. In your C or C++ source code use `#include` directives that explicitly mention
+ the `spirv` path component.
+```
+#include "spirv/unified1/GLSL.std.450.h"
+#include "spirv/unified1/OpenCL.std.h"
+#include "spirv/unified1/spirv.hpp"
+```
+
## Generating the headers from the JSON grammar
This will generally be done by Khronos, for a change to the JSON grammar.
diff --git a/WORKSPACE b/WORKSPACE
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/WORKSPACE
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index 67f6dc5..523460d 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -71,7 +71,8 @@
<id value="19" vendor="Clay" tool="Clay Shader Compiler" comment="Contact info@clayengine.com"/>
<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"/>
- <unused start="22" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+ <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"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -137,8 +138,8 @@
<!-- Reserved loop control bits -->
<ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
- <ids type="LoopControl" start="16" end="18" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
- <ids type="LoopControl" start="19" end="30" comment="Unreserved bits reservable for use by vendors"/>
+ <ids type="LoopControl" start="16" end="19" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
+ <ids type="LoopControl" start="20" 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"/>
</registry>
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 495aff0..45bac52 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -26,15 +26,122 @@
],
"magic_number" : "0x07230203",
"major_version" : 1,
- "minor_version" : 4,
+ "minor_version" : 5,
"revision" : 1,
+ "instruction_printing_class" : [
+ {
+ "tag" : "@exclude"
+ },
+ {
+ "tag" : "Miscellaneous",
+ "heading" : "Miscellaneous Instructions"
+ },
+ {
+ "tag" : "Debug",
+ "heading" : "Debug Instructions"
+ },
+ {
+ "tag" : "Annotation",
+ "heading" : "Annotation Instructions"
+ },
+ {
+ "tag" : "Extension",
+ "heading" : "Extension Instructions"
+ },
+ {
+ "tag" : "Mode-Setting",
+ "heading" : "Mode-Setting Instructions"
+ },
+ {
+ "tag" : "Type-Declaration",
+ "heading" : "Type-Declaration Instructions"
+ },
+ {
+ "tag" : "Constant-Creation",
+ "heading" : "Constant-Creation Instructions"
+ },
+ {
+ "tag" : "Memory",
+ "heading" : "Memory Instructions"
+ },
+ {
+ "tag" : "Function",
+ "heading" : "Function Instructions"
+ },
+ {
+ "tag" : "Image",
+ "heading" : "Image Instructions"
+ },
+ {
+ "tag" : "Conversion",
+ "heading" : "Conversion Instructions"
+ },
+ {
+ "tag" : "Composite",
+ "heading" : "Composite Instructions"
+ },
+ {
+ "tag" : "Arithmetic",
+ "heading" : "Arithmetic Instructions"
+ },
+ {
+ "tag" : "Bit",
+ "heading" : "Bit Instructions"
+ },
+ {
+ "tag" : "Relational_and_Logical",
+ "heading" : "Relational and Logical Instructions"
+ },
+ {
+ "tag" : "Derivative",
+ "heading" : "Derivative Instructions"
+ },
+ {
+ "tag" : "Control-Flow",
+ "heading" : "Control-Flow Instructions"
+ },
+ {
+ "tag" : "Atomic",
+ "heading" : "Atomic Instructions"
+ },
+ {
+ "tag" : "Primitive",
+ "heading" : "Primitive Instructions"
+ },
+ {
+ "tag" : "Barrier",
+ "heading" : "Barrier Instructions"
+ },
+ {
+ "tag" : "Group",
+ "heading" : "Group and Subgroup Instructions"
+ },
+ {
+ "tag" : "Device-Side_Enqueue",
+ "heading" : "Device-Side Enqueue Instructions"
+ },
+ {
+ "tag" : "Pipe",
+ "heading" : "Pipe Instructions"
+ },
+ {
+ "tag" : "Non-Uniform",
+ "heading" : "Non-Uniform Instructions"
+ },
+ {
+ "tag" : "Reserved",
+ "heading" : "Reserved Instructions"
+ }
+ ],
"instructions" : [
{
"opname" : "OpNop",
+ "class" : "Miscellaneous",
"opcode" : 0
},
{
"opname" : "OpUndef",
+ "class" : "Miscellaneous",
"opcode" : 1,
"operands" : [
{ "kind" : "IdResultType" },
@@ -43,6 +150,7 @@
},
{
"opname" : "OpSourceContinued",
+ "class" : "Debug",
"opcode" : 2,
"operands" : [
{ "kind" : "LiteralString", "name" : "'Continued Source'" }
@@ -50,6 +158,7 @@
},
{
"opname" : "OpSource",
+ "class" : "Debug",
"opcode" : 3,
"operands" : [
{ "kind" : "SourceLanguage" },
@@ -60,6 +169,7 @@
},
{
"opname" : "OpSourceExtension",
+ "class" : "Debug",
"opcode" : 4,
"operands" : [
{ "kind" : "LiteralString", "name" : "'Extension'" }
@@ -67,6 +177,7 @@
},
{
"opname" : "OpName",
+ "class" : "Debug",
"opcode" : 5,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
@@ -75,6 +186,7 @@
},
{
"opname" : "OpMemberName",
+ "class" : "Debug",
"opcode" : 6,
"operands" : [
{ "kind" : "IdRef", "name" : "'Type'" },
@@ -84,6 +196,7 @@
},
{
"opname" : "OpString",
+ "class" : "Debug",
"opcode" : 7,
"operands" : [
{ "kind" : "IdResult" },
@@ -92,6 +205,7 @@
},
{
"opname" : "OpLine",
+ "class" : "Debug",
"opcode" : 8,
"operands" : [
{ "kind" : "IdRef", "name" : "'File'" },
@@ -101,6 +215,7 @@
},
{
"opname" : "OpExtension",
+ "class" : "Extension",
"opcode" : 10,
"operands" : [
{ "kind" : "LiteralString", "name" : "'Name'" }
@@ -108,6 +223,7 @@
},
{
"opname" : "OpExtInstImport",
+ "class" : "Extension",
"opcode" : 11,
"operands" : [
{ "kind" : "IdResult" },
@@ -116,6 +232,7 @@
},
{
"opname" : "OpExtInst",
+ "class" : "Extension",
"opcode" : 12,
"operands" : [
{ "kind" : "IdResultType" },
@@ -127,6 +244,7 @@
},
{
"opname" : "OpMemoryModel",
+ "class" : "Mode-Setting",
"opcode" : 14,
"operands" : [
{ "kind" : "AddressingModel" },
@@ -135,6 +253,7 @@
},
{
"opname" : "OpEntryPoint",
+ "class" : "Mode-Setting",
"opcode" : 15,
"operands" : [
{ "kind" : "ExecutionModel" },
@@ -145,6 +264,7 @@
},
{
"opname" : "OpExecutionMode",
+ "class" : "Mode-Setting",
"opcode" : 16,
"operands" : [
{ "kind" : "IdRef", "name" : "'Entry Point'" },
@@ -153,6 +273,7 @@
},
{
"opname" : "OpCapability",
+ "class" : "Mode-Setting",
"opcode" : 17,
"operands" : [
{ "kind" : "Capability", "name" : "'Capability'" }
@@ -160,6 +281,7 @@
},
{
"opname" : "OpTypeVoid",
+ "class" : "Type-Declaration",
"opcode" : 19,
"operands" : [
{ "kind" : "IdResult" }
@@ -167,6 +289,7 @@
},
{
"opname" : "OpTypeBool",
+ "class" : "Type-Declaration",
"opcode" : 20,
"operands" : [
{ "kind" : "IdResult" }
@@ -174,6 +297,7 @@
},
{
"opname" : "OpTypeInt",
+ "class" : "Type-Declaration",
"opcode" : 21,
"operands" : [
{ "kind" : "IdResult" },
@@ -183,6 +307,7 @@
},
{
"opname" : "OpTypeFloat",
+ "class" : "Type-Declaration",
"opcode" : 22,
"operands" : [
{ "kind" : "IdResult" },
@@ -191,6 +316,7 @@
},
{
"opname" : "OpTypeVector",
+ "class" : "Type-Declaration",
"opcode" : 23,
"operands" : [
{ "kind" : "IdResult" },
@@ -200,6 +326,7 @@
},
{
"opname" : "OpTypeMatrix",
+ "class" : "Type-Declaration",
"opcode" : 24,
"operands" : [
{ "kind" : "IdResult" },
@@ -210,6 +337,7 @@
},
{
"opname" : "OpTypeImage",
+ "class" : "Type-Declaration",
"opcode" : 25,
"operands" : [
{ "kind" : "IdResult" },
@@ -225,6 +353,7 @@
},
{
"opname" : "OpTypeSampler",
+ "class" : "Type-Declaration",
"opcode" : 26,
"operands" : [
{ "kind" : "IdResult" }
@@ -232,6 +361,7 @@
},
{
"opname" : "OpTypeSampledImage",
+ "class" : "Type-Declaration",
"opcode" : 27,
"operands" : [
{ "kind" : "IdResult" },
@@ -240,6 +370,7 @@
},
{
"opname" : "OpTypeArray",
+ "class" : "Type-Declaration",
"opcode" : 28,
"operands" : [
{ "kind" : "IdResult" },
@@ -249,6 +380,7 @@
},
{
"opname" : "OpTypeRuntimeArray",
+ "class" : "Type-Declaration",
"opcode" : 29,
"operands" : [
{ "kind" : "IdResult" },
@@ -258,6 +390,7 @@
},
{
"opname" : "OpTypeStruct",
+ "class" : "Type-Declaration",
"opcode" : 30,
"operands" : [
{ "kind" : "IdResult" },
@@ -266,6 +399,7 @@
},
{
"opname" : "OpTypeOpaque",
+ "class" : "Type-Declaration",
"opcode" : 31,
"operands" : [
{ "kind" : "IdResult" },
@@ -275,6 +409,7 @@
},
{
"opname" : "OpTypePointer",
+ "class" : "Type-Declaration",
"opcode" : 32,
"operands" : [
{ "kind" : "IdResult" },
@@ -284,6 +419,7 @@
},
{
"opname" : "OpTypeFunction",
+ "class" : "Type-Declaration",
"opcode" : 33,
"operands" : [
{ "kind" : "IdResult" },
@@ -293,6 +429,7 @@
},
{
"opname" : "OpTypeEvent",
+ "class" : "Type-Declaration",
"opcode" : 34,
"operands" : [
{ "kind" : "IdResult" }
@@ -301,6 +438,7 @@
},
{
"opname" : "OpTypeDeviceEvent",
+ "class" : "Type-Declaration",
"opcode" : 35,
"operands" : [
{ "kind" : "IdResult" }
@@ -309,6 +447,7 @@
},
{
"opname" : "OpTypeReserveId",
+ "class" : "Type-Declaration",
"opcode" : 36,
"operands" : [
{ "kind" : "IdResult" }
@@ -317,6 +456,7 @@
},
{
"opname" : "OpTypeQueue",
+ "class" : "Type-Declaration",
"opcode" : 37,
"operands" : [
{ "kind" : "IdResult" }
@@ -325,6 +465,7 @@
},
{
"opname" : "OpTypePipe",
+ "class" : "Type-Declaration",
"opcode" : 38,
"operands" : [
{ "kind" : "IdResult" },
@@ -334,6 +475,7 @@
},
{
"opname" : "OpTypeForwardPointer",
+ "class" : "Type-Declaration",
"opcode" : 39,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer Type'" },
@@ -341,11 +483,12 @@
],
"capabilities" : [
"Addresses",
- "PhysicalStorageBufferAddressesEXT"
+ "PhysicalStorageBufferAddresses"
]
},
{
"opname" : "OpConstantTrue",
+ "class" : "Constant-Creation",
"opcode" : 41,
"operands" : [
{ "kind" : "IdResultType" },
@@ -354,6 +497,7 @@
},
{
"opname" : "OpConstantFalse",
+ "class" : "Constant-Creation",
"opcode" : 42,
"operands" : [
{ "kind" : "IdResultType" },
@@ -362,6 +506,7 @@
},
{
"opname" : "OpConstant",
+ "class" : "Constant-Creation",
"opcode" : 43,
"operands" : [
{ "kind" : "IdResultType" },
@@ -371,6 +516,7 @@
},
{
"opname" : "OpConstantComposite",
+ "class" : "Constant-Creation",
"opcode" : 44,
"operands" : [
{ "kind" : "IdResultType" },
@@ -380,6 +526,7 @@
},
{
"opname" : "OpConstantSampler",
+ "class" : "Constant-Creation",
"opcode" : 45,
"operands" : [
{ "kind" : "IdResultType" },
@@ -392,6 +539,7 @@
},
{
"opname" : "OpConstantNull",
+ "class" : "Constant-Creation",
"opcode" : 46,
"operands" : [
{ "kind" : "IdResultType" },
@@ -400,6 +548,7 @@
},
{
"opname" : "OpSpecConstantTrue",
+ "class" : "Constant-Creation",
"opcode" : 48,
"operands" : [
{ "kind" : "IdResultType" },
@@ -408,6 +557,7 @@
},
{
"opname" : "OpSpecConstantFalse",
+ "class" : "Constant-Creation",
"opcode" : 49,
"operands" : [
{ "kind" : "IdResultType" },
@@ -416,6 +566,7 @@
},
{
"opname" : "OpSpecConstant",
+ "class" : "Constant-Creation",
"opcode" : 50,
"operands" : [
{ "kind" : "IdResultType" },
@@ -425,6 +576,7 @@
},
{
"opname" : "OpSpecConstantComposite",
+ "class" : "Constant-Creation",
"opcode" : 51,
"operands" : [
{ "kind" : "IdResultType" },
@@ -434,6 +586,7 @@
},
{
"opname" : "OpSpecConstantOp",
+ "class" : "Constant-Creation",
"opcode" : 52,
"operands" : [
{ "kind" : "IdResultType" },
@@ -443,6 +596,7 @@
},
{
"opname" : "OpFunction",
+ "class" : "Function",
"opcode" : 54,
"operands" : [
{ "kind" : "IdResultType" },
@@ -453,6 +607,7 @@
},
{
"opname" : "OpFunctionParameter",
+ "class" : "Function",
"opcode" : 55,
"operands" : [
{ "kind" : "IdResultType" },
@@ -461,10 +616,12 @@
},
{
"opname" : "OpFunctionEnd",
+ "class" : "Function",
"opcode" : 56
},
{
"opname" : "OpFunctionCall",
+ "class" : "Function",
"opcode" : 57,
"operands" : [
{ "kind" : "IdResultType" },
@@ -475,6 +632,7 @@
},
{
"opname" : "OpVariable",
+ "class" : "Memory",
"opcode" : 59,
"operands" : [
{ "kind" : "IdResultType" },
@@ -485,6 +643,7 @@
},
{
"opname" : "OpImageTexelPointer",
+ "class" : "Memory",
"opcode" : 60,
"operands" : [
{ "kind" : "IdResultType" },
@@ -496,6 +655,7 @@
},
{
"opname" : "OpLoad",
+ "class" : "Memory",
"opcode" : 61,
"operands" : [
{ "kind" : "IdResultType" },
@@ -506,6 +666,7 @@
},
{
"opname" : "OpStore",
+ "class" : "Memory",
"opcode" : 62,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
@@ -515,6 +676,7 @@
},
{
"opname" : "OpCopyMemory",
+ "class" : "Memory",
"opcode" : 63,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
@@ -525,6 +687,7 @@
},
{
"opname" : "OpCopyMemorySized",
+ "class" : "Memory",
"opcode" : 64,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
@@ -537,6 +700,7 @@
},
{
"opname" : "OpAccessChain",
+ "class" : "Memory",
"opcode" : 65,
"operands" : [
{ "kind" : "IdResultType" },
@@ -547,6 +711,7 @@
},
{
"opname" : "OpInBoundsAccessChain",
+ "class" : "Memory",
"opcode" : 66,
"operands" : [
{ "kind" : "IdResultType" },
@@ -557,6 +722,7 @@
},
{
"opname" : "OpPtrAccessChain",
+ "class" : "Memory",
"opcode" : 67,
"operands" : [
{ "kind" : "IdResultType" },
@@ -569,11 +735,12 @@
"Addresses",
"VariablePointers",
"VariablePointersStorageBuffer",
- "PhysicalStorageBufferAddressesEXT"
+ "PhysicalStorageBufferAddresses"
]
},
{
"opname" : "OpArrayLength",
+ "class" : "Memory",
"opcode" : 68,
"operands" : [
{ "kind" : "IdResultType" },
@@ -585,6 +752,7 @@
},
{
"opname" : "OpGenericPtrMemSemantics",
+ "class" : "Memory",
"opcode" : 69,
"operands" : [
{ "kind" : "IdResultType" },
@@ -595,6 +763,7 @@
},
{
"opname" : "OpInBoundsPtrAccessChain",
+ "class" : "Memory",
"opcode" : 70,
"operands" : [
{ "kind" : "IdResultType" },
@@ -607,6 +776,7 @@
},
{
"opname" : "OpDecorate",
+ "class" : "Annotation",
"opcode" : 71,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
@@ -615,6 +785,7 @@
},
{
"opname" : "OpMemberDecorate",
+ "class" : "Annotation",
"opcode" : 72,
"operands" : [
{ "kind" : "IdRef", "name" : "'Structure Type'" },
@@ -624,6 +795,7 @@
},
{
"opname" : "OpDecorationGroup",
+ "class" : "Annotation",
"opcode" : 73,
"operands" : [
{ "kind" : "IdResult" }
@@ -631,6 +803,7 @@
},
{
"opname" : "OpGroupDecorate",
+ "class" : "Annotation",
"opcode" : 74,
"operands" : [
{ "kind" : "IdRef", "name" : "'Decoration Group'" },
@@ -639,6 +812,7 @@
},
{
"opname" : "OpGroupMemberDecorate",
+ "class" : "Annotation",
"opcode" : 75,
"operands" : [
{ "kind" : "IdRef", "name" : "'Decoration Group'" },
@@ -647,6 +821,7 @@
},
{
"opname" : "OpVectorExtractDynamic",
+ "class" : "Composite",
"opcode" : 77,
"operands" : [
{ "kind" : "IdResultType" },
@@ -657,6 +832,7 @@
},
{
"opname" : "OpVectorInsertDynamic",
+ "class" : "Composite",
"opcode" : 78,
"operands" : [
{ "kind" : "IdResultType" },
@@ -668,6 +844,7 @@
},
{
"opname" : "OpVectorShuffle",
+ "class" : "Composite",
"opcode" : 79,
"operands" : [
{ "kind" : "IdResultType" },
@@ -679,6 +856,7 @@
},
{
"opname" : "OpCompositeConstruct",
+ "class" : "Composite",
"opcode" : 80,
"operands" : [
{ "kind" : "IdResultType" },
@@ -688,6 +866,7 @@
},
{
"opname" : "OpCompositeExtract",
+ "class" : "Composite",
"opcode" : 81,
"operands" : [
{ "kind" : "IdResultType" },
@@ -698,6 +877,7 @@
},
{
"opname" : "OpCompositeInsert",
+ "class" : "Composite",
"opcode" : 82,
"operands" : [
{ "kind" : "IdResultType" },
@@ -709,6 +889,7 @@
},
{
"opname" : "OpCopyObject",
+ "class" : "Composite",
"opcode" : 83,
"operands" : [
{ "kind" : "IdResultType" },
@@ -718,6 +899,7 @@
},
{
"opname" : "OpTranspose",
+ "class" : "Composite",
"opcode" : 84,
"operands" : [
{ "kind" : "IdResultType" },
@@ -728,6 +910,7 @@
},
{
"opname" : "OpSampledImage",
+ "class" : "Image",
"opcode" : 86,
"operands" : [
{ "kind" : "IdResultType" },
@@ -738,6 +921,7 @@
},
{
"opname" : "OpImageSampleImplicitLod",
+ "class" : "Image",
"opcode" : 87,
"operands" : [
{ "kind" : "IdResultType" },
@@ -750,6 +934,7 @@
},
{
"opname" : "OpImageSampleExplicitLod",
+ "class" : "Image",
"opcode" : 88,
"operands" : [
{ "kind" : "IdResultType" },
@@ -761,6 +946,7 @@
},
{
"opname" : "OpImageSampleDrefImplicitLod",
+ "class" : "Image",
"opcode" : 89,
"operands" : [
{ "kind" : "IdResultType" },
@@ -774,6 +960,7 @@
},
{
"opname" : "OpImageSampleDrefExplicitLod",
+ "class" : "Image",
"opcode" : 90,
"operands" : [
{ "kind" : "IdResultType" },
@@ -787,6 +974,7 @@
},
{
"opname" : "OpImageSampleProjImplicitLod",
+ "class" : "Image",
"opcode" : 91,
"operands" : [
{ "kind" : "IdResultType" },
@@ -799,6 +987,7 @@
},
{
"opname" : "OpImageSampleProjExplicitLod",
+ "class" : "Image",
"opcode" : 92,
"operands" : [
{ "kind" : "IdResultType" },
@@ -811,6 +1000,7 @@
},
{
"opname" : "OpImageSampleProjDrefImplicitLod",
+ "class" : "Image",
"opcode" : 93,
"operands" : [
{ "kind" : "IdResultType" },
@@ -824,6 +1014,7 @@
},
{
"opname" : "OpImageSampleProjDrefExplicitLod",
+ "class" : "Image",
"opcode" : 94,
"operands" : [
{ "kind" : "IdResultType" },
@@ -837,6 +1028,7 @@
},
{
"opname" : "OpImageFetch",
+ "class" : "Image",
"opcode" : 95,
"operands" : [
{ "kind" : "IdResultType" },
@@ -848,6 +1040,7 @@
},
{
"opname" : "OpImageGather",
+ "class" : "Image",
"opcode" : 96,
"operands" : [
{ "kind" : "IdResultType" },
@@ -861,6 +1054,7 @@
},
{
"opname" : "OpImageDrefGather",
+ "class" : "Image",
"opcode" : 97,
"operands" : [
{ "kind" : "IdResultType" },
@@ -874,6 +1068,7 @@
},
{
"opname" : "OpImageRead",
+ "class" : "Image",
"opcode" : 98,
"operands" : [
{ "kind" : "IdResultType" },
@@ -885,6 +1080,7 @@
},
{
"opname" : "OpImageWrite",
+ "class" : "Image",
"opcode" : 99,
"operands" : [
{ "kind" : "IdRef", "name" : "'Image'" },
@@ -895,6 +1091,7 @@
},
{
"opname" : "OpImage",
+ "class" : "Image",
"opcode" : 100,
"operands" : [
{ "kind" : "IdResultType" },
@@ -904,6 +1101,7 @@
},
{
"opname" : "OpImageQueryFormat",
+ "class" : "Image",
"opcode" : 101,
"operands" : [
{ "kind" : "IdResultType" },
@@ -914,6 +1112,7 @@
},
{
"opname" : "OpImageQueryOrder",
+ "class" : "Image",
"opcode" : 102,
"operands" : [
{ "kind" : "IdResultType" },
@@ -924,6 +1123,7 @@
},
{
"opname" : "OpImageQuerySizeLod",
+ "class" : "Image",
"opcode" : 103,
"operands" : [
{ "kind" : "IdResultType" },
@@ -935,6 +1135,7 @@
},
{
"opname" : "OpImageQuerySize",
+ "class" : "Image",
"opcode" : 104,
"operands" : [
{ "kind" : "IdResultType" },
@@ -945,6 +1146,7 @@
},
{
"opname" : "OpImageQueryLod",
+ "class" : "Image",
"opcode" : 105,
"operands" : [
{ "kind" : "IdResultType" },
@@ -956,6 +1158,7 @@
},
{
"opname" : "OpImageQueryLevels",
+ "class" : "Image",
"opcode" : 106,
"operands" : [
{ "kind" : "IdResultType" },
@@ -966,6 +1169,7 @@
},
{
"opname" : "OpImageQuerySamples",
+ "class" : "Image",
"opcode" : 107,
"operands" : [
{ "kind" : "IdResultType" },
@@ -976,6 +1180,7 @@
},
{
"opname" : "OpConvertFToU",
+ "class" : "Conversion",
"opcode" : 109,
"operands" : [
{ "kind" : "IdResultType" },
@@ -985,6 +1190,7 @@
},
{
"opname" : "OpConvertFToS",
+ "class" : "Conversion",
"opcode" : 110,
"operands" : [
{ "kind" : "IdResultType" },
@@ -994,6 +1200,7 @@
},
{
"opname" : "OpConvertSToF",
+ "class" : "Conversion",
"opcode" : 111,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1003,6 +1210,7 @@
},
{
"opname" : "OpConvertUToF",
+ "class" : "Conversion",
"opcode" : 112,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1012,6 +1220,7 @@
},
{
"opname" : "OpUConvert",
+ "class" : "Conversion",
"opcode" : 113,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1021,6 +1230,7 @@
},
{
"opname" : "OpSConvert",
+ "class" : "Conversion",
"opcode" : 114,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1030,6 +1240,7 @@
},
{
"opname" : "OpFConvert",
+ "class" : "Conversion",
"opcode" : 115,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1039,6 +1250,7 @@
},
{
"opname" : "OpQuantizeToF16",
+ "class" : "Conversion",
"opcode" : 116,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1048,6 +1260,7 @@
},
{
"opname" : "OpConvertPtrToU",
+ "class" : "Conversion",
"opcode" : 117,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1056,11 +1269,12 @@
],
"capabilities" : [
"Addresses",
- "PhysicalStorageBufferAddressesEXT"
+ "PhysicalStorageBufferAddresses"
]
},
{
"opname" : "OpSatConvertSToU",
+ "class" : "Conversion",
"opcode" : 118,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1071,6 +1285,7 @@
},
{
"opname" : "OpSatConvertUToS",
+ "class" : "Conversion",
"opcode" : 119,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1081,6 +1296,7 @@
},
{
"opname" : "OpConvertUToPtr",
+ "class" : "Conversion",
"opcode" : 120,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1089,11 +1305,12 @@
],
"capabilities" : [
"Addresses",
- "PhysicalStorageBufferAddressesEXT"
+ "PhysicalStorageBufferAddresses"
]
},
{
"opname" : "OpPtrCastToGeneric",
+ "class" : "Conversion",
"opcode" : 121,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1104,6 +1321,7 @@
},
{
"opname" : "OpGenericCastToPtr",
+ "class" : "Conversion",
"opcode" : 122,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1114,6 +1332,7 @@
},
{
"opname" : "OpGenericCastToPtrExplicit",
+ "class" : "Conversion",
"opcode" : 123,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1125,6 +1344,7 @@
},
{
"opname" : "OpBitcast",
+ "class" : "Conversion",
"opcode" : 124,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1134,6 +1354,7 @@
},
{
"opname" : "OpSNegate",
+ "class" : "Arithmetic",
"opcode" : 126,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1143,6 +1364,7 @@
},
{
"opname" : "OpFNegate",
+ "class" : "Arithmetic",
"opcode" : 127,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1152,6 +1374,7 @@
},
{
"opname" : "OpIAdd",
+ "class" : "Arithmetic",
"opcode" : 128,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1162,6 +1385,7 @@
},
{
"opname" : "OpFAdd",
+ "class" : "Arithmetic",
"opcode" : 129,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1172,6 +1396,7 @@
},
{
"opname" : "OpISub",
+ "class" : "Arithmetic",
"opcode" : 130,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1182,6 +1407,7 @@
},
{
"opname" : "OpFSub",
+ "class" : "Arithmetic",
"opcode" : 131,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1192,6 +1418,7 @@
},
{
"opname" : "OpIMul",
+ "class" : "Arithmetic",
"opcode" : 132,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1202,6 +1429,7 @@
},
{
"opname" : "OpFMul",
+ "class" : "Arithmetic",
"opcode" : 133,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1212,6 +1440,7 @@
},
{
"opname" : "OpUDiv",
+ "class" : "Arithmetic",
"opcode" : 134,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1222,6 +1451,7 @@
},
{
"opname" : "OpSDiv",
+ "class" : "Arithmetic",
"opcode" : 135,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1232,6 +1462,7 @@
},
{
"opname" : "OpFDiv",
+ "class" : "Arithmetic",
"opcode" : 136,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1242,6 +1473,7 @@
},
{
"opname" : "OpUMod",
+ "class" : "Arithmetic",
"opcode" : 137,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1252,6 +1484,7 @@
},
{
"opname" : "OpSRem",
+ "class" : "Arithmetic",
"opcode" : 138,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1262,6 +1495,7 @@
},
{
"opname" : "OpSMod",
+ "class" : "Arithmetic",
"opcode" : 139,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1272,6 +1506,7 @@
},
{
"opname" : "OpFRem",
+ "class" : "Arithmetic",
"opcode" : 140,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1282,6 +1517,7 @@
},
{
"opname" : "OpFMod",
+ "class" : "Arithmetic",
"opcode" : 141,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1292,6 +1528,7 @@
},
{
"opname" : "OpVectorTimesScalar",
+ "class" : "Arithmetic",
"opcode" : 142,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1302,6 +1539,7 @@
},
{
"opname" : "OpMatrixTimesScalar",
+ "class" : "Arithmetic",
"opcode" : 143,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1313,6 +1551,7 @@
},
{
"opname" : "OpVectorTimesMatrix",
+ "class" : "Arithmetic",
"opcode" : 144,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1324,6 +1563,7 @@
},
{
"opname" : "OpMatrixTimesVector",
+ "class" : "Arithmetic",
"opcode" : 145,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1335,6 +1575,7 @@
},
{
"opname" : "OpMatrixTimesMatrix",
+ "class" : "Arithmetic",
"opcode" : 146,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1346,6 +1587,7 @@
},
{
"opname" : "OpOuterProduct",
+ "class" : "Arithmetic",
"opcode" : 147,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1357,6 +1599,7 @@
},
{
"opname" : "OpDot",
+ "class" : "Arithmetic",
"opcode" : 148,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1367,6 +1610,7 @@
},
{
"opname" : "OpIAddCarry",
+ "class" : "Arithmetic",
"opcode" : 149,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1377,6 +1621,7 @@
},
{
"opname" : "OpISubBorrow",
+ "class" : "Arithmetic",
"opcode" : 150,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1387,6 +1632,7 @@
},
{
"opname" : "OpUMulExtended",
+ "class" : "Arithmetic",
"opcode" : 151,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1397,6 +1643,7 @@
},
{
"opname" : "OpSMulExtended",
+ "class" : "Arithmetic",
"opcode" : 152,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1407,6 +1654,7 @@
},
{
"opname" : "OpAny",
+ "class" : "Relational_and_Logical",
"opcode" : 154,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1416,6 +1664,7 @@
},
{
"opname" : "OpAll",
+ "class" : "Relational_and_Logical",
"opcode" : 155,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1425,6 +1674,7 @@
},
{
"opname" : "OpIsNan",
+ "class" : "Relational_and_Logical",
"opcode" : 156,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1434,6 +1684,7 @@
},
{
"opname" : "OpIsInf",
+ "class" : "Relational_and_Logical",
"opcode" : 157,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1443,6 +1694,7 @@
},
{
"opname" : "OpIsFinite",
+ "class" : "Relational_and_Logical",
"opcode" : 158,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1453,6 +1705,7 @@
},
{
"opname" : "OpIsNormal",
+ "class" : "Relational_and_Logical",
"opcode" : 159,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1463,6 +1716,7 @@
},
{
"opname" : "OpSignBitSet",
+ "class" : "Relational_and_Logical",
"opcode" : 160,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1473,6 +1727,7 @@
},
{
"opname" : "OpLessOrGreater",
+ "class" : "Relational_and_Logical",
"opcode" : 161,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1484,6 +1739,7 @@
},
{
"opname" : "OpOrdered",
+ "class" : "Relational_and_Logical",
"opcode" : 162,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1495,6 +1751,7 @@
},
{
"opname" : "OpUnordered",
+ "class" : "Relational_and_Logical",
"opcode" : 163,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1506,6 +1763,7 @@
},
{
"opname" : "OpLogicalEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 164,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1516,6 +1774,7 @@
},
{
"opname" : "OpLogicalNotEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 165,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1526,6 +1785,7 @@
},
{
"opname" : "OpLogicalOr",
+ "class" : "Relational_and_Logical",
"opcode" : 166,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1536,6 +1796,7 @@
},
{
"opname" : "OpLogicalAnd",
+ "class" : "Relational_and_Logical",
"opcode" : 167,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1546,6 +1807,7 @@
},
{
"opname" : "OpLogicalNot",
+ "class" : "Relational_and_Logical",
"opcode" : 168,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1555,6 +1817,7 @@
},
{
"opname" : "OpSelect",
+ "class" : "Relational_and_Logical",
"opcode" : 169,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1566,6 +1829,7 @@
},
{
"opname" : "OpIEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 170,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1576,6 +1840,7 @@
},
{
"opname" : "OpINotEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 171,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1586,6 +1851,7 @@
},
{
"opname" : "OpUGreaterThan",
+ "class" : "Relational_and_Logical",
"opcode" : 172,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1596,6 +1862,7 @@
},
{
"opname" : "OpSGreaterThan",
+ "class" : "Relational_and_Logical",
"opcode" : 173,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1606,6 +1873,7 @@
},
{
"opname" : "OpUGreaterThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 174,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1616,6 +1884,7 @@
},
{
"opname" : "OpSGreaterThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 175,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1626,6 +1895,7 @@
},
{
"opname" : "OpULessThan",
+ "class" : "Relational_and_Logical",
"opcode" : 176,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1636,6 +1906,7 @@
},
{
"opname" : "OpSLessThan",
+ "class" : "Relational_and_Logical",
"opcode" : 177,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1646,6 +1917,7 @@
},
{
"opname" : "OpULessThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 178,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1656,6 +1928,7 @@
},
{
"opname" : "OpSLessThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 179,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1666,6 +1939,7 @@
},
{
"opname" : "OpFOrdEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 180,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1676,6 +1950,7 @@
},
{
"opname" : "OpFUnordEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 181,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1686,6 +1961,7 @@
},
{
"opname" : "OpFOrdNotEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 182,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1696,6 +1972,7 @@
},
{
"opname" : "OpFUnordNotEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 183,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1706,6 +1983,7 @@
},
{
"opname" : "OpFOrdLessThan",
+ "class" : "Relational_and_Logical",
"opcode" : 184,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1716,6 +1994,7 @@
},
{
"opname" : "OpFUnordLessThan",
+ "class" : "Relational_and_Logical",
"opcode" : 185,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1726,6 +2005,7 @@
},
{
"opname" : "OpFOrdGreaterThan",
+ "class" : "Relational_and_Logical",
"opcode" : 186,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1736,6 +2016,7 @@
},
{
"opname" : "OpFUnordGreaterThan",
+ "class" : "Relational_and_Logical",
"opcode" : 187,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1746,6 +2027,7 @@
},
{
"opname" : "OpFOrdLessThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 188,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1756,6 +2038,7 @@
},
{
"opname" : "OpFUnordLessThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 189,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1766,6 +2049,7 @@
},
{
"opname" : "OpFOrdGreaterThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 190,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1776,6 +2060,7 @@
},
{
"opname" : "OpFUnordGreaterThanEqual",
+ "class" : "Relational_and_Logical",
"opcode" : 191,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1786,6 +2071,7 @@
},
{
"opname" : "OpShiftRightLogical",
+ "class" : "Bit",
"opcode" : 194,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1796,6 +2082,7 @@
},
{
"opname" : "OpShiftRightArithmetic",
+ "class" : "Bit",
"opcode" : 195,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1806,6 +2093,7 @@
},
{
"opname" : "OpShiftLeftLogical",
+ "class" : "Bit",
"opcode" : 196,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1816,6 +2104,7 @@
},
{
"opname" : "OpBitwiseOr",
+ "class" : "Bit",
"opcode" : 197,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1826,6 +2115,7 @@
},
{
"opname" : "OpBitwiseXor",
+ "class" : "Bit",
"opcode" : 198,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1836,6 +2126,7 @@
},
{
"opname" : "OpBitwiseAnd",
+ "class" : "Bit",
"opcode" : 199,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1846,6 +2137,7 @@
},
{
"opname" : "OpNot",
+ "class" : "Bit",
"opcode" : 200,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1855,6 +2147,7 @@
},
{
"opname" : "OpBitFieldInsert",
+ "class" : "Bit",
"opcode" : 201,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1868,6 +2161,7 @@
},
{
"opname" : "OpBitFieldSExtract",
+ "class" : "Bit",
"opcode" : 202,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1880,6 +2174,7 @@
},
{
"opname" : "OpBitFieldUExtract",
+ "class" : "Bit",
"opcode" : 203,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1892,6 +2187,7 @@
},
{
"opname" : "OpBitReverse",
+ "class" : "Bit",
"opcode" : 204,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1902,6 +2198,7 @@
},
{
"opname" : "OpBitCount",
+ "class" : "Bit",
"opcode" : 205,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1911,6 +2208,7 @@
},
{
"opname" : "OpDPdx",
+ "class" : "Derivative",
"opcode" : 207,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1921,6 +2219,7 @@
},
{
"opname" : "OpDPdy",
+ "class" : "Derivative",
"opcode" : 208,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1931,6 +2230,7 @@
},
{
"opname" : "OpFwidth",
+ "class" : "Derivative",
"opcode" : 209,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1941,6 +2241,7 @@
},
{
"opname" : "OpDPdxFine",
+ "class" : "Derivative",
"opcode" : 210,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1951,6 +2252,7 @@
},
{
"opname" : "OpDPdyFine",
+ "class" : "Derivative",
"opcode" : 211,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1961,6 +2263,7 @@
},
{
"opname" : "OpFwidthFine",
+ "class" : "Derivative",
"opcode" : 212,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1971,6 +2274,7 @@
},
{
"opname" : "OpDPdxCoarse",
+ "class" : "Derivative",
"opcode" : 213,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1981,6 +2285,7 @@
},
{
"opname" : "OpDPdyCoarse",
+ "class" : "Derivative",
"opcode" : 214,
"operands" : [
{ "kind" : "IdResultType" },
@@ -1991,6 +2296,7 @@
},
{
"opname" : "OpFwidthCoarse",
+ "class" : "Derivative",
"opcode" : 215,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2001,16 +2307,19 @@
},
{
"opname" : "OpEmitVertex",
+ "class" : "Primitive",
"opcode" : 218,
"capabilities" : [ "Geometry" ]
},
{
"opname" : "OpEndPrimitive",
+ "class" : "Primitive",
"opcode" : 219,
"capabilities" : [ "Geometry" ]
},
{
"opname" : "OpEmitStreamVertex",
+ "class" : "Primitive",
"opcode" : 220,
"operands" : [
{ "kind" : "IdRef", "name" : "'Stream'" }
@@ -2019,6 +2328,7 @@
},
{
"opname" : "OpEndStreamPrimitive",
+ "class" : "Primitive",
"opcode" : 221,
"operands" : [
{ "kind" : "IdRef", "name" : "'Stream'" }
@@ -2027,6 +2337,7 @@
},
{
"opname" : "OpControlBarrier",
+ "class" : "Barrier",
"opcode" : 224,
"operands" : [
{ "kind" : "IdScope", "name" : "'Execution'" },
@@ -2036,6 +2347,7 @@
},
{
"opname" : "OpMemoryBarrier",
+ "class" : "Barrier",
"opcode" : 225,
"operands" : [
{ "kind" : "IdScope", "name" : "'Memory'" },
@@ -2044,6 +2356,7 @@
},
{
"opname" : "OpAtomicLoad",
+ "class" : "Atomic",
"opcode" : 227,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2055,6 +2368,7 @@
},
{
"opname" : "OpAtomicStore",
+ "class" : "Atomic",
"opcode" : 228,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
@@ -2065,6 +2379,7 @@
},
{
"opname" : "OpAtomicExchange",
+ "class" : "Atomic",
"opcode" : 229,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2077,6 +2392,7 @@
},
{
"opname" : "OpAtomicCompareExchange",
+ "class" : "Atomic",
"opcode" : 230,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2091,6 +2407,7 @@
},
{
"opname" : "OpAtomicCompareExchangeWeak",
+ "class" : "Atomic",
"opcode" : 231,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2107,6 +2424,7 @@
},
{
"opname" : "OpAtomicIIncrement",
+ "class" : "Atomic",
"opcode" : 232,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2118,6 +2436,7 @@
},
{
"opname" : "OpAtomicIDecrement",
+ "class" : "Atomic",
"opcode" : 233,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2129,6 +2448,7 @@
},
{
"opname" : "OpAtomicIAdd",
+ "class" : "Atomic",
"opcode" : 234,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2141,6 +2461,7 @@
},
{
"opname" : "OpAtomicISub",
+ "class" : "Atomic",
"opcode" : 235,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2153,6 +2474,7 @@
},
{
"opname" : "OpAtomicSMin",
+ "class" : "Atomic",
"opcode" : 236,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2165,6 +2487,7 @@
},
{
"opname" : "OpAtomicUMin",
+ "class" : "Atomic",
"opcode" : 237,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2177,6 +2500,7 @@
},
{
"opname" : "OpAtomicSMax",
+ "class" : "Atomic",
"opcode" : 238,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2189,6 +2513,7 @@
},
{
"opname" : "OpAtomicUMax",
+ "class" : "Atomic",
"opcode" : 239,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2201,6 +2526,7 @@
},
{
"opname" : "OpAtomicAnd",
+ "class" : "Atomic",
"opcode" : 240,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2213,6 +2539,7 @@
},
{
"opname" : "OpAtomicOr",
+ "class" : "Atomic",
"opcode" : 241,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2225,6 +2552,7 @@
},
{
"opname" : "OpAtomicXor",
+ "class" : "Atomic",
"opcode" : 242,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2237,6 +2565,7 @@
},
{
"opname" : "OpPhi",
+ "class" : "Control-Flow",
"opcode" : 245,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2246,6 +2575,7 @@
},
{
"opname" : "OpLoopMerge",
+ "class" : "Control-Flow",
"opcode" : 246,
"operands" : [
{ "kind" : "IdRef", "name" : "'Merge Block'" },
@@ -2255,6 +2585,7 @@
},
{
"opname" : "OpSelectionMerge",
+ "class" : "Control-Flow",
"opcode" : 247,
"operands" : [
{ "kind" : "IdRef", "name" : "'Merge Block'" },
@@ -2263,6 +2594,7 @@
},
{
"opname" : "OpLabel",
+ "class" : "Control-Flow",
"opcode" : 248,
"operands" : [
{ "kind" : "IdResult" }
@@ -2270,6 +2602,7 @@
},
{
"opname" : "OpBranch",
+ "class" : "Control-Flow",
"opcode" : 249,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target Label'" }
@@ -2277,6 +2610,7 @@
},
{
"opname" : "OpBranchConditional",
+ "class" : "Control-Flow",
"opcode" : 250,
"operands" : [
{ "kind" : "IdRef", "name" : "'Condition'" },
@@ -2287,6 +2621,7 @@
},
{
"opname" : "OpSwitch",
+ "class" : "Control-Flow",
"opcode" : 251,
"operands" : [
{ "kind" : "IdRef", "name" : "'Selector'" },
@@ -2296,15 +2631,18 @@
},
{
"opname" : "OpKill",
+ "class" : "Control-Flow",
"opcode" : 252,
"capabilities" : [ "Shader" ]
},
{
"opname" : "OpReturn",
+ "class" : "Control-Flow",
"opcode" : 253
},
{
"opname" : "OpReturnValue",
+ "class" : "Control-Flow",
"opcode" : 254,
"operands" : [
{ "kind" : "IdRef", "name" : "'Value'" }
@@ -2312,10 +2650,12 @@
},
{
"opname" : "OpUnreachable",
+ "class" : "Control-Flow",
"opcode" : 255
},
{
"opname" : "OpLifetimeStart",
+ "class" : "Control-Flow",
"opcode" : 256,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
@@ -2325,6 +2665,7 @@
},
{
"opname" : "OpLifetimeStop",
+ "class" : "Control-Flow",
"opcode" : 257,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
@@ -2334,6 +2675,7 @@
},
{
"opname" : "OpGroupAsyncCopy",
+ "class" : "Group",
"opcode" : 259,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2349,6 +2691,7 @@
},
{
"opname" : "OpGroupWaitEvents",
+ "class" : "Group",
"opcode" : 260,
"operands" : [
{ "kind" : "IdScope", "name" : "'Execution'" },
@@ -2359,6 +2702,7 @@
},
{
"opname" : "OpGroupAll",
+ "class" : "Group",
"opcode" : 261,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2370,6 +2714,7 @@
},
{
"opname" : "OpGroupAny",
+ "class" : "Group",
"opcode" : 262,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2381,6 +2726,7 @@
},
{
"opname" : "OpGroupBroadcast",
+ "class" : "Group",
"opcode" : 263,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2393,6 +2739,7 @@
},
{
"opname" : "OpGroupIAdd",
+ "class" : "Group",
"opcode" : 264,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2405,6 +2752,7 @@
},
{
"opname" : "OpGroupFAdd",
+ "class" : "Group",
"opcode" : 265,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2417,6 +2765,7 @@
},
{
"opname" : "OpGroupFMin",
+ "class" : "Group",
"opcode" : 266,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2429,6 +2778,7 @@
},
{
"opname" : "OpGroupUMin",
+ "class" : "Group",
"opcode" : 267,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2441,6 +2791,7 @@
},
{
"opname" : "OpGroupSMin",
+ "class" : "Group",
"opcode" : 268,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2453,6 +2804,7 @@
},
{
"opname" : "OpGroupFMax",
+ "class" : "Group",
"opcode" : 269,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2465,6 +2817,7 @@
},
{
"opname" : "OpGroupUMax",
+ "class" : "Group",
"opcode" : 270,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2477,6 +2830,7 @@
},
{
"opname" : "OpGroupSMax",
+ "class" : "Group",
"opcode" : 271,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2489,6 +2843,7 @@
},
{
"opname" : "OpReadPipe",
+ "class" : "Pipe",
"opcode" : 274,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2502,6 +2857,7 @@
},
{
"opname" : "OpWritePipe",
+ "class" : "Pipe",
"opcode" : 275,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2515,6 +2871,7 @@
},
{
"opname" : "OpReservedReadPipe",
+ "class" : "Pipe",
"opcode" : 276,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2530,6 +2887,7 @@
},
{
"opname" : "OpReservedWritePipe",
+ "class" : "Pipe",
"opcode" : 277,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2545,6 +2903,7 @@
},
{
"opname" : "OpReserveReadPipePackets",
+ "class" : "Pipe",
"opcode" : 278,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2558,6 +2917,7 @@
},
{
"opname" : "OpReserveWritePipePackets",
+ "class" : "Pipe",
"opcode" : 279,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2571,6 +2931,7 @@
},
{
"opname" : "OpCommitReadPipe",
+ "class" : "Pipe",
"opcode" : 280,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pipe'" },
@@ -2582,6 +2943,7 @@
},
{
"opname" : "OpCommitWritePipe",
+ "class" : "Pipe",
"opcode" : 281,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pipe'" },
@@ -2593,6 +2955,7 @@
},
{
"opname" : "OpIsValidReserveId",
+ "class" : "Pipe",
"opcode" : 282,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2603,6 +2966,7 @@
},
{
"opname" : "OpGetNumPipePackets",
+ "class" : "Pipe",
"opcode" : 283,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2615,6 +2979,7 @@
},
{
"opname" : "OpGetMaxPipePackets",
+ "class" : "Pipe",
"opcode" : 284,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2627,6 +2992,7 @@
},
{
"opname" : "OpGroupReserveReadPipePackets",
+ "class" : "Pipe",
"opcode" : 285,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2641,6 +3007,7 @@
},
{
"opname" : "OpGroupReserveWritePipePackets",
+ "class" : "Pipe",
"opcode" : 286,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2655,6 +3022,7 @@
},
{
"opname" : "OpGroupCommitReadPipe",
+ "class" : "Pipe",
"opcode" : 287,
"operands" : [
{ "kind" : "IdScope", "name" : "'Execution'" },
@@ -2667,6 +3035,7 @@
},
{
"opname" : "OpGroupCommitWritePipe",
+ "class" : "Pipe",
"opcode" : 288,
"operands" : [
{ "kind" : "IdScope", "name" : "'Execution'" },
@@ -2679,6 +3048,7 @@
},
{
"opname" : "OpEnqueueMarker",
+ "class" : "Device-Side_Enqueue",
"opcode" : 291,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2692,6 +3062,7 @@
},
{
"opname" : "OpEnqueueKernel",
+ "class" : "Device-Side_Enqueue",
"opcode" : 292,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2712,6 +3083,7 @@
},
{
"opname" : "OpGetKernelNDrangeSubGroupCount",
+ "class" : "Device-Side_Enqueue",
"opcode" : 293,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2726,6 +3098,7 @@
},
{
"opname" : "OpGetKernelNDrangeMaxSubGroupSize",
+ "class" : "Device-Side_Enqueue",
"opcode" : 294,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2740,6 +3113,7 @@
},
{
"opname" : "OpGetKernelWorkGroupSize",
+ "class" : "Device-Side_Enqueue",
"opcode" : 295,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2753,6 +3127,7 @@
},
{
"opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
+ "class" : "Device-Side_Enqueue",
"opcode" : 296,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2766,6 +3141,7 @@
},
{
"opname" : "OpRetainEvent",
+ "class" : "Device-Side_Enqueue",
"opcode" : 297,
"operands" : [
{ "kind" : "IdRef", "name" : "'Event'" }
@@ -2774,6 +3150,7 @@
},
{
"opname" : "OpReleaseEvent",
+ "class" : "Device-Side_Enqueue",
"opcode" : 298,
"operands" : [
{ "kind" : "IdRef", "name" : "'Event'" }
@@ -2782,6 +3159,7 @@
},
{
"opname" : "OpCreateUserEvent",
+ "class" : "Device-Side_Enqueue",
"opcode" : 299,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2791,6 +3169,7 @@
},
{
"opname" : "OpIsValidEvent",
+ "class" : "Device-Side_Enqueue",
"opcode" : 300,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2801,6 +3180,7 @@
},
{
"opname" : "OpSetUserEventStatus",
+ "class" : "Device-Side_Enqueue",
"opcode" : 301,
"operands" : [
{ "kind" : "IdRef", "name" : "'Event'" },
@@ -2810,6 +3190,7 @@
},
{
"opname" : "OpCaptureEventProfilingInfo",
+ "class" : "Device-Side_Enqueue",
"opcode" : 302,
"operands" : [
{ "kind" : "IdRef", "name" : "'Event'" },
@@ -2820,6 +3201,7 @@
},
{
"opname" : "OpGetDefaultQueue",
+ "class" : "Device-Side_Enqueue",
"opcode" : 303,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2829,6 +3211,7 @@
},
{
"opname" : "OpBuildNDRange",
+ "class" : "Device-Side_Enqueue",
"opcode" : 304,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2841,6 +3224,7 @@
},
{
"opname" : "OpImageSparseSampleImplicitLod",
+ "class" : "Image",
"opcode" : 305,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2853,6 +3237,7 @@
},
{
"opname" : "OpImageSparseSampleExplicitLod",
+ "class" : "Image",
"opcode" : 306,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2865,6 +3250,7 @@
},
{
"opname" : "OpImageSparseSampleDrefImplicitLod",
+ "class" : "Image",
"opcode" : 307,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2878,6 +3264,7 @@
},
{
"opname" : "OpImageSparseSampleDrefExplicitLod",
+ "class" : "Image",
"opcode" : 308,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2891,6 +3278,7 @@
},
{
"opname" : "OpImageSparseSampleProjImplicitLod",
+ "class" : "Image",
"opcode" : 309,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2904,6 +3292,7 @@
},
{
"opname" : "OpImageSparseSampleProjExplicitLod",
+ "class" : "Image",
"opcode" : 310,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2917,6 +3306,7 @@
},
{
"opname" : "OpImageSparseSampleProjDrefImplicitLod",
+ "class" : "Image",
"opcode" : 311,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2931,6 +3321,7 @@
},
{
"opname" : "OpImageSparseSampleProjDrefExplicitLod",
+ "class" : "Image",
"opcode" : 312,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2945,6 +3336,7 @@
},
{
"opname" : "OpImageSparseFetch",
+ "class" : "Image",
"opcode" : 313,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2957,6 +3349,7 @@
},
{
"opname" : "OpImageSparseGather",
+ "class" : "Image",
"opcode" : 314,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2970,6 +3363,7 @@
},
{
"opname" : "OpImageSparseDrefGather",
+ "class" : "Image",
"opcode" : 315,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2983,6 +3377,7 @@
},
{
"opname" : "OpImageSparseTexelsResident",
+ "class" : "Image",
"opcode" : 316,
"operands" : [
{ "kind" : "IdResultType" },
@@ -2993,10 +3388,12 @@
},
{
"opname" : "OpNoLine",
+ "class" : "Debug",
"opcode" : 317
},
{
"opname" : "OpAtomicFlagTestAndSet",
+ "class" : "Atomic",
"opcode" : 318,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3009,6 +3406,7 @@
},
{
"opname" : "OpAtomicFlagClear",
+ "class" : "Atomic",
"opcode" : 319,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
@@ -3019,6 +3417,7 @@
},
{
"opname" : "OpImageSparseRead",
+ "class" : "Image",
"opcode" : 320,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3031,6 +3430,7 @@
},
{
"opname" : "OpSizeOf",
+ "class" : "Miscellaneous",
"opcode" : 321,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3042,6 +3442,7 @@
},
{
"opname" : "OpTypePipeStorage",
+ "class" : "Type-Declaration",
"opcode" : 322,
"operands" : [
{ "kind" : "IdResult" }
@@ -3051,6 +3452,7 @@
},
{
"opname" : "OpConstantPipeStorage",
+ "class" : "Pipe",
"opcode" : 323,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3064,6 +3466,7 @@
},
{
"opname" : "OpCreatePipeFromPipeStorage",
+ "class" : "Pipe",
"opcode" : 324,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3075,6 +3478,7 @@
},
{
"opname" : "OpGetKernelLocalSizeForSubgroupCount",
+ "class" : "Device-Side_Enqueue",
"opcode" : 325,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3090,6 +3494,7 @@
},
{
"opname" : "OpGetKernelMaxNumSubgroups",
+ "class" : "Device-Side_Enqueue",
"opcode" : 326,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3104,6 +3509,7 @@
},
{
"opname" : "OpTypeNamedBarrier",
+ "class" : "Type-Declaration",
"opcode" : 327,
"operands" : [
{ "kind" : "IdResult" }
@@ -3113,6 +3519,7 @@
},
{
"opname" : "OpNamedBarrierInitialize",
+ "class" : "Barrier",
"opcode" : 328,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3124,6 +3531,7 @@
},
{
"opname" : "OpMemoryNamedBarrier",
+ "class" : "Barrier",
"opcode" : 329,
"operands" : [
{ "kind" : "IdRef", "name" : "'Named Barrier'" },
@@ -3135,6 +3543,7 @@
},
{
"opname" : "OpModuleProcessed",
+ "class" : "Debug",
"opcode" : 330,
"operands" : [
{ "kind" : "LiteralString", "name" : "'Process'" }
@@ -3143,6 +3552,7 @@
},
{
"opname" : "OpExecutionModeId",
+ "class" : "Mode-Setting",
"opcode" : 331,
"operands" : [
{ "kind" : "IdRef", "name" : "'Entry Point'" },
@@ -3152,6 +3562,7 @@
},
{
"opname" : "OpDecorateId",
+ "class" : "Annotation",
"opcode" : 332,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
@@ -3162,6 +3573,7 @@
},
{
"opname" : "OpGroupNonUniformElect",
+ "class" : "Non-Uniform",
"opcode" : 333,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3173,6 +3585,7 @@
},
{
"opname" : "OpGroupNonUniformAll",
+ "class" : "Non-Uniform",
"opcode" : 334,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3185,6 +3598,7 @@
},
{
"opname" : "OpGroupNonUniformAny",
+ "class" : "Non-Uniform",
"opcode" : 335,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3197,6 +3611,7 @@
},
{
"opname" : "OpGroupNonUniformAllEqual",
+ "class" : "Non-Uniform",
"opcode" : 336,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3209,6 +3624,7 @@
},
{
"opname" : "OpGroupNonUniformBroadcast",
+ "class" : "Non-Uniform",
"opcode" : 337,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3222,6 +3638,7 @@
},
{
"opname" : "OpGroupNonUniformBroadcastFirst",
+ "class" : "Non-Uniform",
"opcode" : 338,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3234,6 +3651,7 @@
},
{
"opname" : "OpGroupNonUniformBallot",
+ "class" : "Non-Uniform",
"opcode" : 339,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3246,6 +3664,7 @@
},
{
"opname" : "OpGroupNonUniformInverseBallot",
+ "class" : "Non-Uniform",
"opcode" : 340,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3258,6 +3677,7 @@
},
{
"opname" : "OpGroupNonUniformBallotBitExtract",
+ "class" : "Non-Uniform",
"opcode" : 341,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3271,6 +3691,7 @@
},
{
"opname" : "OpGroupNonUniformBallotBitCount",
+ "class" : "Non-Uniform",
"opcode" : 342,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3284,6 +3705,7 @@
},
{
"opname" : "OpGroupNonUniformBallotFindLSB",
+ "class" : "Non-Uniform",
"opcode" : 343,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3296,6 +3718,7 @@
},
{
"opname" : "OpGroupNonUniformBallotFindMSB",
+ "class" : "Non-Uniform",
"opcode" : 344,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3308,6 +3731,7 @@
},
{
"opname" : "OpGroupNonUniformShuffle",
+ "class" : "Non-Uniform",
"opcode" : 345,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3321,6 +3745,7 @@
},
{
"opname" : "OpGroupNonUniformShuffleXor",
+ "class" : "Non-Uniform",
"opcode" : 346,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3334,6 +3759,7 @@
},
{
"opname" : "OpGroupNonUniformShuffleUp",
+ "class" : "Non-Uniform",
"opcode" : 347,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3347,6 +3773,7 @@
},
{
"opname" : "OpGroupNonUniformShuffleDown",
+ "class" : "Non-Uniform",
"opcode" : 348,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3360,6 +3787,7 @@
},
{
"opname" : "OpGroupNonUniformIAdd",
+ "class" : "Non-Uniform",
"opcode" : 349,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3374,6 +3802,7 @@
},
{
"opname" : "OpGroupNonUniformFAdd",
+ "class" : "Non-Uniform",
"opcode" : 350,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3388,6 +3817,7 @@
},
{
"opname" : "OpGroupNonUniformIMul",
+ "class" : "Non-Uniform",
"opcode" : 351,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3402,6 +3832,7 @@
},
{
"opname" : "OpGroupNonUniformFMul",
+ "class" : "Non-Uniform",
"opcode" : 352,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3416,6 +3847,7 @@
},
{
"opname" : "OpGroupNonUniformSMin",
+ "class" : "Non-Uniform",
"opcode" : 353,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3430,6 +3862,7 @@
},
{
"opname" : "OpGroupNonUniformUMin",
+ "class" : "Non-Uniform",
"opcode" : 354,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3444,6 +3877,7 @@
},
{
"opname" : "OpGroupNonUniformFMin",
+ "class" : "Non-Uniform",
"opcode" : 355,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3458,6 +3892,7 @@
},
{
"opname" : "OpGroupNonUniformSMax",
+ "class" : "Non-Uniform",
"opcode" : 356,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3472,6 +3907,7 @@
},
{
"opname" : "OpGroupNonUniformUMax",
+ "class" : "Non-Uniform",
"opcode" : 357,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3486,6 +3922,7 @@
},
{
"opname" : "OpGroupNonUniformFMax",
+ "class" : "Non-Uniform",
"opcode" : 358,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3500,6 +3937,7 @@
},
{
"opname" : "OpGroupNonUniformBitwiseAnd",
+ "class" : "Non-Uniform",
"opcode" : 359,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3514,6 +3952,7 @@
},
{
"opname" : "OpGroupNonUniformBitwiseOr",
+ "class" : "Non-Uniform",
"opcode" : 360,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3528,6 +3967,7 @@
},
{
"opname" : "OpGroupNonUniformBitwiseXor",
+ "class" : "Non-Uniform",
"opcode" : 361,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3542,6 +3982,7 @@
},
{
"opname" : "OpGroupNonUniformLogicalAnd",
+ "class" : "Non-Uniform",
"opcode" : 362,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3556,6 +3997,7 @@
},
{
"opname" : "OpGroupNonUniformLogicalOr",
+ "class" : "Non-Uniform",
"opcode" : 363,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3570,6 +4012,7 @@
},
{
"opname" : "OpGroupNonUniformLogicalXor",
+ "class" : "Non-Uniform",
"opcode" : 364,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3584,6 +4027,7 @@
},
{
"opname" : "OpGroupNonUniformQuadBroadcast",
+ "class" : "Non-Uniform",
"opcode" : 365,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3597,6 +4041,7 @@
},
{
"opname" : "OpGroupNonUniformQuadSwap",
+ "class" : "Non-Uniform",
"opcode" : 366,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3610,6 +4055,7 @@
},
{
"opname" : "OpCopyLogical",
+ "class" : "Composite",
"opcode" : 400,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3620,6 +4066,7 @@
},
{
"opname" : "OpPtrEqual",
+ "class" : "Memory",
"opcode" : 401,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3631,6 +4078,7 @@
},
{
"opname" : "OpPtrNotEqual",
+ "class" : "Memory",
"opcode" : 402,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3642,6 +4090,7 @@
},
{
"opname" : "OpPtrDiff",
+ "class" : "Memory",
"opcode" : 403,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3654,6 +4103,7 @@
},
{
"opname" : "OpSubgroupBallotKHR",
+ "class" : "Group",
"opcode" : 4421,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3666,6 +4116,7 @@
},
{
"opname" : "OpSubgroupFirstInvocationKHR",
+ "class" : "Group",
"opcode" : 4422,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3678,6 +4129,7 @@
},
{
"opname" : "OpSubgroupAllKHR",
+ "class" : "Group",
"opcode" : 4428,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3692,6 +4144,7 @@
},
{
"opname" : "OpSubgroupAnyKHR",
+ "class" : "Group",
"opcode" : 4429,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3706,6 +4159,7 @@
},
{
"opname" : "OpSubgroupAllEqualKHR",
+ "class" : "Group",
"opcode" : 4430,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3720,6 +4174,7 @@
},
{
"opname" : "OpSubgroupReadInvocationKHR",
+ "class" : "Group",
"opcode" : 4432,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3733,6 +4188,7 @@
},
{
"opname" : "OpGroupIAddNonUniformAMD",
+ "class" : "Group",
"opcode" : 5000,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3747,6 +4203,7 @@
},
{
"opname" : "OpGroupFAddNonUniformAMD",
+ "class" : "Group",
"opcode" : 5001,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3761,6 +4218,7 @@
},
{
"opname" : "OpGroupFMinNonUniformAMD",
+ "class" : "Group",
"opcode" : 5002,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3775,6 +4233,7 @@
},
{
"opname" : "OpGroupUMinNonUniformAMD",
+ "class" : "Group",
"opcode" : 5003,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3789,6 +4248,7 @@
},
{
"opname" : "OpGroupSMinNonUniformAMD",
+ "class" : "Group",
"opcode" : 5004,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3803,6 +4263,7 @@
},
{
"opname" : "OpGroupFMaxNonUniformAMD",
+ "class" : "Group",
"opcode" : 5005,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3817,6 +4278,7 @@
},
{
"opname" : "OpGroupUMaxNonUniformAMD",
+ "class" : "Group",
"opcode" : 5006,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3831,6 +4293,7 @@
},
{
"opname" : "OpGroupSMaxNonUniformAMD",
+ "class" : "Group",
"opcode" : 5007,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3845,6 +4308,7 @@
},
{
"opname" : "OpFragmentMaskFetchAMD",
+ "class" : "Reserved",
"opcode" : 5011,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3858,6 +4322,7 @@
},
{
"opname" : "OpFragmentFetchAMD",
+ "class" : "Reserved",
"opcode" : 5012,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3871,7 +4336,21 @@
"version" : "None"
},
{
+ "opname" : "OpReadClockKHR",
+ "class" : "Reserved",
+ "opcode" : 5056,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" }
+ ],
+ "capabilities" : [ "ShaderClockKHR" ],
+ "extensions" : [ "SPV_KHR_shader_clock" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpImageSampleFootprintNV",
+ "class" : "Image",
"opcode" : 5283,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3888,6 +4367,7 @@
},
{
"opname" : "OpGroupNonUniformPartitionNV",
+ "class" : "Non-Uniform",
"opcode" : 5296,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3900,6 +4380,7 @@
},
{
"opname" : "OpWritePackedPrimitiveIndices4x8NV",
+ "class" : "Reserved",
"opcode" : 5299,
"operands" : [
{ "kind" : "IdRef", "name" : "'Index Offset'" },
@@ -3911,6 +4392,7 @@
},
{
"opname" : "OpReportIntersectionNV",
+ "class" : "Reserved",
"opcode" : 5334,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3919,24 +4401,30 @@
{ "kind" : "IdRef", "name" : "'HitKind'" }
],
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"opname" : "OpIgnoreIntersectionNV",
+ "class" : "Reserved",
"opcode" : 5335,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"opname" : "OpTerminateRayNV",
+ "class" : "Reserved",
"opcode" : 5336,
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"opname" : "OpTraceNV",
+ "class" : "Reserved",
"opcode" : 5337,
"operands" : [
@@ -3953,19 +4441,23 @@
{ "kind" : "IdRef", "name" : "'PayloadId'" }
],
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"opname" : "OpTypeAccelerationStructureNV",
+ "class" : "Reserved",
"opcode" : 5341,
"operands" : [
{ "kind" : "IdResult" }
],
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"opname" : "OpExecuteCallableNV",
+ "class" : "Reserved",
"opcode" : 5344,
"operands" : [
@@ -3973,10 +4465,12 @@
{ "kind" : "IdRef", "name" : "'Callable DataId'" }
],
"capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "extensions" : [ "SPV_NV_ray_tracing" ],
+ "version" : "None"
},
{
"opname" : "OpTypeCooperativeMatrixNV",
+ "class" : "Reserved",
"opcode" : 5358,
"operands" : [
{ "kind" : "IdResult" },
@@ -3991,6 +4485,7 @@
},
{
"opname" : "OpCooperativeMatrixLoadNV",
+ "class" : "Reserved",
"opcode" : 5359,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4006,6 +4501,7 @@
},
{
"opname" : "OpCooperativeMatrixStoreNV",
+ "class" : "Reserved",
"opcode" : 5360,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
@@ -4020,6 +4516,7 @@
},
{
"opname" : "OpCooperativeMatrixMulAddNV",
+ "class" : "Reserved",
"opcode" : 5361,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4034,6 +4531,7 @@
},
{
"opname" : "OpCooperativeMatrixLengthNV",
+ "class" : "Reserved",
"opcode" : 5362,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4046,6 +4544,7 @@
},
{
"opname" : "OpBeginInvocationInterlockEXT",
+ "class" : "Reserved",
"opcode" : 5364,
"capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
"extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
@@ -4053,6 +4552,7 @@
},
{
"opname" : "OpEndInvocationInterlockEXT",
+ "class" : "Reserved",
"opcode" : 5365,
"capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
"extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
@@ -4060,6 +4560,7 @@
},
{
"opname" : "OpDemoteToHelperInvocationEXT",
+ "class" : "Reserved",
"opcode" : 5380,
"capabilities" : [ "DemoteToHelperInvocationEXT" ],
"extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
@@ -4067,6 +4568,7 @@
},
{
"opname" : "OpIsHelperInvocationEXT",
+ "class" : "Reserved",
"opcode" : 5381,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4078,6 +4580,7 @@
},
{
"opname" : "OpSubgroupShuffleINTEL",
+ "class" : "Group",
"opcode" : 5571,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4090,6 +4593,7 @@
},
{
"opname" : "OpSubgroupShuffleDownINTEL",
+ "class" : "Group",
"opcode" : 5572,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4103,6 +4607,7 @@
},
{
"opname" : "OpSubgroupShuffleUpINTEL",
+ "class" : "Group",
"opcode" : 5573,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4116,6 +4621,7 @@
},
{
"opname" : "OpSubgroupShuffleXorINTEL",
+ "class" : "Group",
"opcode" : 5574,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4128,6 +4634,7 @@
},
{
"opname" : "OpSubgroupBlockReadINTEL",
+ "class" : "Group",
"opcode" : 5575,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4139,6 +4646,7 @@
},
{
"opname" : "OpSubgroupBlockWriteINTEL",
+ "class" : "Group",
"opcode" : 5576,
"operands" : [
{ "kind" : "IdRef", "name" : "'Ptr'" },
@@ -4149,6 +4657,7 @@
},
{
"opname" : "OpSubgroupImageBlockReadINTEL",
+ "class" : "Group",
"opcode" : 5577,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4161,6 +4670,7 @@
},
{
"opname" : "OpSubgroupImageBlockWriteINTEL",
+ "class" : "Group",
"opcode" : 5578,
"operands" : [
{ "kind" : "IdRef", "name" : "'Image'" },
@@ -4172,6 +4682,7 @@
},
{
"opname" : "OpSubgroupImageMediaBlockReadINTEL",
+ "class" : "Group",
"opcode" : 5580,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4186,6 +4697,7 @@
},
{
"opname" : "OpSubgroupImageMediaBlockWriteINTEL",
+ "class" : "Group",
"opcode" : 5581,
"operands" : [
{ "kind" : "IdRef", "name" : "'Image'" },
@@ -4199,6 +4711,7 @@
},
{
"opname" : "OpUCountLeadingZerosINTEL",
+ "class" : "Reserved",
"opcode" : 5585,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4210,6 +4723,7 @@
},
{
"opname" : "OpUCountTrailingZerosINTEL",
+ "class" : "Reserved",
"opcode" : 5586,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4221,6 +4735,7 @@
},
{
"opname" : "OpAbsISubINTEL",
+ "class" : "Reserved",
"opcode" : 5587,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4233,6 +4748,7 @@
},
{
"opname" : "OpAbsUSubINTEL",
+ "class" : "Reserved",
"opcode" : 5588,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4245,6 +4761,7 @@
},
{
"opname" : "OpIAddSatINTEL",
+ "class" : "Reserved",
"opcode" : 5589,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4257,6 +4774,7 @@
},
{
"opname" : "OpUAddSatINTEL",
+ "class" : "Reserved",
"opcode" : 5590,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4269,6 +4787,7 @@
},
{
"opname" : "OpIAverageINTEL",
+ "class" : "Reserved",
"opcode" : 5591,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4281,6 +4800,7 @@
},
{
"opname" : "OpUAverageINTEL",
+ "class" : "Reserved",
"opcode" : 5592,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4293,6 +4813,7 @@
},
{
"opname" : "OpIAverageRoundedINTEL",
+ "class" : "Reserved",
"opcode" : 5593,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4305,6 +4826,7 @@
},
{
"opname" : "OpUAverageRoundedINTEL",
+ "class" : "Reserved",
"opcode" : 5594,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4317,6 +4839,7 @@
},
{
"opname" : "OpISubSatINTEL",
+ "class" : "Reserved",
"opcode" : 5595,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4329,6 +4852,7 @@
},
{
"opname" : "OpUSubSatINTEL",
+ "class" : "Reserved",
"opcode" : 5596,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4341,6 +4865,7 @@
},
{
"opname" : "OpIMul32x16INTEL",
+ "class" : "Reserved",
"opcode" : 5597,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4353,6 +4878,7 @@
},
{
"opname" : "OpUMul32x16INTEL",
+ "class" : "Reserved",
"opcode" : 5598,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4365,6 +4891,7 @@
},
{
"opname" : "OpDecorateString",
+ "class" : "Annotation",
"opcode" : 5632,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
@@ -4375,6 +4902,7 @@
},
{
"opname" : "OpDecorateStringGOOGLE",
+ "class" : "Annotation",
"opcode" : 5632,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
@@ -4385,6 +4913,7 @@
},
{
"opname" : "OpMemberDecorateString",
+ "class" : "Annotation",
"opcode" : 5633,
"operands" : [
{ "kind" : "IdRef", "name" : "'Struct Type'" },
@@ -4396,6 +4925,7 @@
},
{
"opname" : "OpMemberDecorateStringGOOGLE",
+ "class" : "Annotation",
"opcode" : 5633,
"operands" : [
{ "kind" : "IdRef", "name" : "'Struct Type'" },
@@ -4407,6 +4937,7 @@
},
{
"opname" : "OpVmeImageINTEL",
+ "class" : "@exclude",
"opcode" : 5699,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4419,6 +4950,7 @@
},
{
"opname" : "OpTypeVmeImageINTEL",
+ "class" : "@exclude",
"opcode" : 5700,
"operands" : [
{ "kind" : "IdResult" },
@@ -4429,6 +4961,7 @@
},
{
"opname" : "OpTypeAvcImePayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5701,
"operands" : [
{ "kind" : "IdResult" }
@@ -4438,6 +4971,7 @@
},
{
"opname" : "OpTypeAvcRefPayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5702,
"operands" : [
{ "kind" : "IdResult" }
@@ -4447,6 +4981,7 @@
},
{
"opname" : "OpTypeAvcSicPayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5703,
"operands" : [
{ "kind" : "IdResult" }
@@ -4456,6 +4991,7 @@
},
{
"opname" : "OpTypeAvcMcePayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5704,
"operands" : [
{ "kind" : "IdResult" }
@@ -4465,6 +5001,7 @@
},
{
"opname" : "OpTypeAvcMceResultINTEL",
+ "class" : "@exclude",
"opcode" : 5705,
"operands" : [
{ "kind" : "IdResult" }
@@ -4474,6 +5011,7 @@
},
{
"opname" : "OpTypeAvcImeResultINTEL",
+ "class" : "@exclude",
"opcode" : 5706,
"operands" : [
{ "kind" : "IdResult" }
@@ -4483,6 +5021,7 @@
},
{
"opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
+ "class" : "@exclude",
"opcode" : 5707,
"operands" : [
{ "kind" : "IdResult" }
@@ -4492,6 +5031,7 @@
},
{
"opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
+ "class" : "@exclude",
"opcode" : 5708,
"operands" : [
{ "kind" : "IdResult" }
@@ -4501,6 +5041,7 @@
},
{
"opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
+ "class" : "@exclude",
"opcode" : 5709,
"operands" : [
{ "kind" : "IdResult" }
@@ -4510,6 +5051,7 @@
},
{
"opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
+ "class" : "@exclude",
"opcode" : 5710,
"operands" : [
{ "kind" : "IdResult" }
@@ -4519,6 +5061,7 @@
},
{
"opname" : "OpTypeAvcRefResultINTEL",
+ "class" : "@exclude",
"opcode" : 5711,
"operands" : [
{ "kind" : "IdResult" }
@@ -4528,6 +5071,7 @@
},
{
"opname" : "OpTypeAvcSicResultINTEL",
+ "class" : "@exclude",
"opcode" : 5712,
"operands" : [
{ "kind" : "IdResult" }
@@ -4537,6 +5081,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5713,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4549,6 +5094,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5714,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4561,6 +5107,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5715,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4573,6 +5120,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5716,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4585,6 +5133,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5717,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4597,6 +5146,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5718,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4609,6 +5159,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5719,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4621,6 +5172,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
+ "class" : "@exclude",
"opcode" : 5720,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4633,6 +5185,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
+ "class" : "@exclude",
"opcode" : 5721,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4643,6 +5196,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
+ "class" : "@exclude",
"opcode" : 5722,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4653,6 +5207,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
+ "class" : "@exclude",
"opcode" : 5723,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4663,6 +5218,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
+ "class" : "@exclude",
"opcode" : 5724,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4677,6 +5233,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5725,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4689,6 +5246,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5726,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4699,6 +5257,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5727,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4709,6 +5268,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
+ "class" : "@exclude",
"opcode" : 5728,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4720,6 +5280,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
+ "class" : "@exclude",
"opcode" : 5729,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4732,6 +5293,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
+ "class" : "@exclude",
"opcode" : 5730,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4744,6 +5306,7 @@
},
{
"opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
+ "class" : "@exclude",
"opcode" : 5731,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4757,6 +5320,7 @@
},
{
"opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5732,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4768,6 +5332,7 @@
},
{
"opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
+ "class" : "@exclude",
"opcode" : 5733,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4779,6 +5344,7 @@
},
{
"opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5734,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4790,6 +5356,7 @@
},
{
"opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
+ "class" : "@exclude",
"opcode" : 5735,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4801,6 +5368,7 @@
},
{
"opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5736,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4812,6 +5380,7 @@
},
{
"opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
+ "class" : "@exclude",
"opcode" : 5737,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4823,6 +5392,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
+ "class" : "@exclude",
"opcode" : 5738,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4834,6 +5404,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
+ "class" : "@exclude",
"opcode" : 5739,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4845,6 +5416,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
+ "class" : "@exclude",
"opcode" : 5740,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4856,6 +5428,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
+ "class" : "@exclude",
"opcode" : 5741,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4867,6 +5440,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
+ "class" : "@exclude",
"opcode" : 5742,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4878,6 +5452,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
+ "class" : "@exclude",
"opcode" : 5743,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4889,6 +5464,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
+ "class" : "@exclude",
"opcode" : 5744,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4900,6 +5476,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
+ "class" : "@exclude",
"opcode" : 5745,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4911,6 +5488,7 @@
},
{
"opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
+ "class" : "@exclude",
"opcode" : 5746,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4924,6 +5502,7 @@
},
{
"opname" : "OpSubgroupAvcImeInitializeINTEL",
+ "class" : "@exclude",
"opcode" : 5747,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4937,6 +5516,7 @@
},
{
"opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5748,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4950,6 +5530,7 @@
},
{
"opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5749,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4964,6 +5545,7 @@
},
{
"opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
+ "class" : "@exclude",
"opcode" : 5750,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4976,6 +5558,7 @@
},
{
"opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
+ "class" : "@exclude",
"opcode" : 5751,
"operands" : [
{ "kind" : "IdResultType" },
@@ -4990,6 +5573,7 @@
},
{
"opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5752,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5001,6 +5585,7 @@
},
{
"opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
+ "class" : "@exclude",
"opcode" : 5753,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5013,6 +5598,7 @@
},
{
"opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
+ "class" : "@exclude",
"opcode" : 5754,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5024,6 +5610,7 @@
},
{
"opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
+ "class" : "@exclude",
"opcode" : 5755,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5036,6 +5623,7 @@
},
{
"opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
+ "class" : "@exclude",
"opcode" : 5756,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5048,6 +5636,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5757,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5061,6 +5650,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5758,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5075,6 +5665,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
+ "class" : "@exclude",
"opcode" : 5759,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5089,6 +5680,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
+ "class" : "@exclude",
"opcode" : 5760,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5104,6 +5696,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
+ "class" : "@exclude",
"opcode" : 5761,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5117,6 +5710,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
+ "class" : "@exclude",
"opcode" : 5762,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5131,6 +5725,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
+ "class" : "@exclude",
"opcode" : 5763,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5145,6 +5740,7 @@
},
{
"opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
+ "class" : "@exclude",
"opcode" : 5764,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5160,6 +5756,7 @@
},
{
"opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
+ "class" : "@exclude",
"opcode" : 5765,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5171,6 +5768,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
+ "class" : "@exclude",
"opcode" : 5766,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5182,6 +5780,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
+ "class" : "@exclude",
"opcode" : 5767,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5193,6 +5792,7 @@
},
{
"opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
+ "class" : "@exclude",
"opcode" : 5768,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5204,6 +5804,7 @@
},
{
"opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
+ "class" : "@exclude",
"opcode" : 5769,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5215,6 +5816,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
+ "class" : "@exclude",
"opcode" : 5770,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5227,6 +5829,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
+ "class" : "@exclude",
"opcode" : 5771,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5239,6 +5842,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
+ "class" : "@exclude",
"opcode" : 5772,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5251,6 +5855,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
+ "class" : "@exclude",
"opcode" : 5773,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5264,6 +5869,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
+ "class" : "@exclude",
"opcode" : 5774,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5277,6 +5883,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
+ "class" : "@exclude",
"opcode" : 5775,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5290,6 +5897,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
+ "class" : "@exclude",
"opcode" : 5776,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5302,6 +5910,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
+ "class" : "@exclude",
"opcode" : 5777,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5313,6 +5922,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
+ "class" : "@exclude",
"opcode" : 5778,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5324,6 +5934,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
+ "class" : "@exclude",
"opcode" : 5779,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5335,6 +5946,7 @@
},
{
"opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
+ "class" : "@exclude",
"opcode" : 5780,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5346,6 +5958,7 @@
},
{
"opname" : "OpSubgroupAvcFmeInitializeINTEL",
+ "class" : "@exclude",
"opcode" : 5781,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5363,6 +5976,7 @@
},
{
"opname" : "OpSubgroupAvcBmeInitializeINTEL",
+ "class" : "@exclude",
"opcode" : 5782,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5381,6 +5995,7 @@
},
{
"opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5783,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5392,6 +6007,7 @@
},
{
"opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
+ "class" : "@exclude",
"opcode" : 5784,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5403,6 +6019,7 @@
},
{
"opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
+ "class" : "@exclude",
"opcode" : 5785,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5414,6 +6031,7 @@
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5786,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5427,6 +6045,7 @@
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5787,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5441,6 +6060,7 @@
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5788,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5454,6 +6074,7 @@
},
{
"opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
+ "class" : "@exclude",
"opcode" : 5789,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5468,6 +6089,7 @@
},
{
"opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
+ "class" : "@exclude",
"opcode" : 5790,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5479,6 +6101,7 @@
},
{
"opname" : "OpSubgroupAvcSicInitializeINTEL",
+ "class" : "@exclude",
"opcode" : 5791,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5490,6 +6113,7 @@
},
{
"opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
+ "class" : "@exclude",
"opcode" : 5792,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5506,6 +6130,7 @@
},
{
"opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
+ "class" : "@exclude",
"opcode" : 5793,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5524,6 +6149,7 @@
},
{
"opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
+ "class" : "@exclude",
"opcode" : 5794,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5545,6 +6171,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
+ "class" : "@exclude",
"opcode" : 5795,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5557,6 +6184,7 @@
},
{
"opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
+ "class" : "@exclude",
"opcode" : 5796,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5568,6 +6196,7 @@
},
{
"opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
+ "class" : "@exclude",
"opcode" : 5797,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5580,6 +6209,7 @@
},
{
"opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
+ "class" : "@exclude",
"opcode" : 5798,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5594,6 +6224,7 @@
},
{
"opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
+ "class" : "@exclude",
"opcode" : 5799,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5606,6 +6237,7 @@
},
{
"opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
+ "class" : "@exclude",
"opcode" : 5800,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5617,6 +6249,7 @@
},
{
"opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
+ "class" : "@exclude",
"opcode" : 5801,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5629,6 +6262,7 @@
},
{
"opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
+ "class" : "@exclude",
"opcode" : 5802,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5641,6 +6275,7 @@
},
{
"opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
+ "class" : "@exclude",
"opcode" : 5803,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5653,6 +6288,7 @@
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5804,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5666,6 +6302,7 @@
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5805,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5680,6 +6317,7 @@
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
+ "class" : "@exclude",
"opcode" : 5806,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5693,6 +6331,7 @@
},
{
"opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
+ "class" : "@exclude",
"opcode" : 5807,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5707,6 +6346,7 @@
},
{
"opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
+ "class" : "@exclude",
"opcode" : 5808,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5718,6 +6358,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
+ "class" : "@exclude",
"opcode" : 5809,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5729,6 +6370,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
+ "class" : "@exclude",
"opcode" : 5810,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5740,6 +6382,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
+ "class" : "@exclude",
"opcode" : 5811,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5751,6 +6394,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
+ "class" : "@exclude",
"opcode" : 5812,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5762,6 +6406,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
+ "class" : "@exclude",
"opcode" : 5813,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5773,6 +6418,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
+ "class" : "@exclude",
"opcode" : 5814,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5784,6 +6430,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
+ "class" : "@exclude",
"opcode" : 5815,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5795,6 +6442,7 @@
},
{
"opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
+ "class" : "@exclude",
"opcode" : 5816,
"operands" : [
{ "kind" : "IdResultType" },
@@ -5876,34 +6524,68 @@
]
},
{
+ "enumerant" : "MakeTexelAvailable",
+ "value" : "0x0100",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "parameters" : [
+ { "kind" : "IdScope" }
+ ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "MakeTexelAvailableKHR",
"value" : "0x0100",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "capabilities" : [ "VulkanMemoryModel" ],
"parameters" : [
{ "kind" : "IdScope" }
],
- "version" : "None"
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "MakeTexelVisible",
+ "value" : "0x0200",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "parameters" : [
+ { "kind" : "IdScope" }
+ ],
+ "version" : "1.5"
},
{
"enumerant" : "MakeTexelVisibleKHR",
"value" : "0x0200",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
+ "capabilities" : [ "VulkanMemoryModel" ],
"parameters" : [
{ "kind" : "IdScope" }
],
- "version" : "None"
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "NonPrivateTexel",
+ "value" : "0x0400",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
},
{
"enumerant" : "NonPrivateTexelKHR",
"value" : "0x0400",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "VolatileTexel",
+ "value" : "0x0800",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
},
{
"enumerant" : "VolatileTexelKHR",
"value" : "0x0800",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
},
{
"enumerant" : "SignExtend",
@@ -6122,28 +6804,50 @@
"value" : "0x0800"
},
{
+ "enumerant" : "OutputMemory",
+ "value" : "0x1000",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "OutputMemoryKHR",
"value" : "0x1000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "MakeAvailable",
+ "value" : "0x2000",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
},
{
"enumerant" : "MakeAvailableKHR",
"value" : "0x2000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "MakeVisible",
+ "value" : "0x4000",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
},
{
"enumerant" : "MakeVisibleKHR",
"value" : "0x4000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
},
{
"enumerant" : "Volatile",
"value" : "0x8000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
}
]
},
@@ -6171,13 +6875,32 @@
"value" : "0x0004"
},
{
+ "enumerant" : "MakePointerAvailable",
+ "value" : "0x0008",
+ "parameters" : [
+ { "kind" : "IdScope" }
+ ],
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "MakePointerAvailableKHR",
"value" : "0x0008",
"parameters" : [
{ "kind" : "IdScope" }
],
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "MakePointerVisible",
+ "value" : "0x0010",
+ "parameters" : [
+ { "kind" : "IdScope" }
+ ],
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
},
{
"enumerant" : "MakePointerVisibleKHR",
@@ -6185,14 +6908,22 @@
"parameters" : [
{ "kind" : "IdScope" }
],
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "NonPrivatePointer",
+ "value" : "0x0020",
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
},
{
"enumerant" : "NonPrivatePointerKHR",
"value" : "0x0020",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
}
]
},
@@ -6349,11 +7080,18 @@
"capabilities" : [ "Addresses" ]
},
{
+ "enumerant" : "PhysicalStorageBuffer64",
+ "value" : 5348,
+ "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "PhysicalStorageBuffer64EXT",
"value" : 5348,
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "version" : "None"
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
+ "version" : "1.5"
}
]
},
@@ -6377,10 +7115,17 @@
"capabilities" : [ "Kernel" ]
},
{
+ "enumerant" : "Vulkan",
+ "value" : 3,
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "VulkanKHR",
"value" : 3,
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
+ "version" : "1.5"
}
]
},
@@ -6876,11 +7621,18 @@
"version" : "None"
},
{
+ "enumerant" : "PhysicalStorageBuffer",
+ "value" : 5349,
+ "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "PhysicalStorageBufferEXT",
"value" : 5349,
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "version" : "None"
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
+ "version" : "1.5"
}
]
},
@@ -7861,23 +8613,45 @@
"version" : "None"
},
{
+ "enumerant" : "NonUniform",
+ "value" : 5300,
+ "capabilities" : [ "ShaderNonUniform" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "NonUniformEXT",
"value" : 5300,
- "capabilities" : [ "ShaderNonUniformEXT" ]
+ "capabilities" : [ "ShaderNonUniform" ],
+ "extensions" : [ "SPV_EXT_descriptor_indexing" ],
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "RestrictPointer",
+ "value" : 5355,
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
+ "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
+ "version" : "1.5"
},
{
"enumerant" : "RestrictPointerEXT",
"value" : 5355,
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "AliasedPointer",
+ "value" : 5356,
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
+ "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
+ "version" : "1.5"
},
{
"enumerant" : "AliasedPointerEXT",
"value" : 5356,
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
+ "capabilities" : [ "PhysicalStorageBufferAddresses" ],
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "version" : "None"
+ "version" : "1.5"
},
{
"enumerant" : "CounterBuffer",
@@ -7971,12 +8745,12 @@
{
"enumerant" : "Layer",
"value" : 9,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT" ]
},
{
"enumerant" : "ViewportIndex",
"value" : 10,
- "capabilities" : [ "MultiViewport" ]
+ "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT" ]
},
{
"enumerant" : "TessLevelOuter",
@@ -8569,10 +9343,16 @@
"value" : 4
},
{
+ "enumerant" : "QueueFamily",
+ "value" : 5,
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "QueueFamilyKHR",
"value" : 5,
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModel" ],
+ "version" : "1.5"
}
]
},
@@ -8984,6 +9764,16 @@
"version" : "1.3"
},
{
+ "enumerant" : "ShaderLayer",
+ "value" : 69,
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "ShaderViewportIndex",
+ "value" : 70,
+ "version" : "1.5"
+ },
+ {
"enumerant" : "SubgroupBallotKHR",
"value" : 4423,
"extensions" : [ "SPV_KHR_shader_ballot" ],
@@ -9089,20 +9879,20 @@
"enumerant" : "StorageBuffer8BitAccess",
"value" : 4448,
"extensions" : [ "SPV_KHR_8bit_storage" ],
- "version" : "None"
+ "version" : "1.5"
},
{
"enumerant" : "UniformAndStorageBuffer8BitAccess",
"value" : 4449,
"capabilities" : [ "StorageBuffer8BitAccess" ],
"extensions" : [ "SPV_KHR_8bit_storage" ],
- "version" : "None"
+ "version" : "1.5"
},
{
"enumerant" : "StoragePushConstant8",
"value" : 4450,
"extensions" : [ "SPV_KHR_8bit_storage" ],
- "version" : "None"
+ "version" : "1.5"
},
{
"enumerant" : "DenormPreserve",
@@ -9170,6 +9960,13 @@
"version" : "None"
},
{
+ "enumerant" : "ShaderClockKHR",
+ "value" : 5055,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_shader_clock" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SampleMaskOverrideCoverageNV",
"value" : 5249,
"capabilities" : [ "SampleRateShading" ],
@@ -9271,88 +10068,160 @@
"version" : "None"
},
{
+ "enumerant" : "ShaderNonUniform",
+ "value" : 5301,
+ "capabilities" : [ "Shader" ],
+ "version" : "1.5"
+ },
+ {
"enumerant" : "ShaderNonUniformEXT",
"value" : 5301,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "RuntimeDescriptorArray",
+ "value" : 5302,
+ "capabilities" : [ "Shader" ],
+ "version" : "1.5"
},
{
"enumerant" : "RuntimeDescriptorArrayEXT",
"value" : 5302,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "InputAttachmentArrayDynamicIndexing",
+ "value" : 5303,
+ "capabilities" : [ "InputAttachment" ],
+ "version" : "1.5"
},
{
"enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
"value" : 5303,
"capabilities" : [ "InputAttachment" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
+ "value" : 5304,
+ "capabilities" : [ "SampledBuffer" ],
+ "version" : "1.5"
},
{
"enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
"value" : 5304,
"capabilities" : [ "SampledBuffer" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
+ "value" : 5305,
+ "capabilities" : [ "ImageBuffer" ],
+ "version" : "1.5"
},
{
"enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
"value" : 5305,
"capabilities" : [ "ImageBuffer" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "UniformBufferArrayNonUniformIndexing",
+ "value" : 5306,
+ "capabilities" : [ "ShaderNonUniform" ],
+ "version" : "1.5"
},
{
"enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
"value" : 5306,
- "capabilities" : [ "ShaderNonUniformEXT" ],
+ "capabilities" : [ "ShaderNonUniform" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "SampledImageArrayNonUniformIndexing",
+ "value" : 5307,
+ "capabilities" : [ "ShaderNonUniform" ],
+ "version" : "1.5"
},
{
"enumerant" : "SampledImageArrayNonUniformIndexingEXT",
"value" : 5307,
- "capabilities" : [ "ShaderNonUniformEXT" ],
+ "capabilities" : [ "ShaderNonUniform" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "StorageBufferArrayNonUniformIndexing",
+ "value" : 5308,
+ "capabilities" : [ "ShaderNonUniform" ],
+ "version" : "1.5"
},
{
"enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
"value" : 5308,
- "capabilities" : [ "ShaderNonUniformEXT" ],
+ "capabilities" : [ "ShaderNonUniform" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "StorageImageArrayNonUniformIndexing",
+ "value" : 5309,
+ "capabilities" : [ "ShaderNonUniform" ],
+ "version" : "1.5"
},
{
"enumerant" : "StorageImageArrayNonUniformIndexingEXT",
"value" : 5309,
- "capabilities" : [ "ShaderNonUniformEXT" ],
+ "capabilities" : [ "ShaderNonUniform" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "InputAttachmentArrayNonUniformIndexing",
+ "value" : 5310,
+ "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
+ "version" : "1.5"
},
{
"enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
"value" : 5310,
- "capabilities" : [ "InputAttachment", "ShaderNonUniformEXT" ],
+ "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
+ "value" : 5311,
+ "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
+ "version" : "1.5"
},
{
"enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
"value" : 5311,
- "capabilities" : [ "SampledBuffer", "ShaderNonUniformEXT" ],
+ "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
+ "value" : 5312,
+ "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
+ "version" : "1.5"
},
{
"enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
"value" : 5312,
- "capabilities" : [ "ImageBuffer", "ShaderNonUniformEXT" ],
+ "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
"extensions" : [ "SPV_EXT_descriptor_indexing" ],
- "version" : "None"
+ "version" : "1.5"
},
{
"enumerant" : "RayTracingNV",
@@ -9362,23 +10231,40 @@
"version" : "None"
},
{
+ "enumerant" : "VulkanMemoryModel",
+ "value" : 5345,
+ "version" : "1.5"
+ },
+ {
"enumerant" : "VulkanMemoryModelKHR",
"value" : 5345,
"extensions" : [ "SPV_KHR_vulkan_memory_model" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "VulkanMemoryModelDeviceScope",
+ "value" : 5346,
+ "version" : "1.5"
},
{
"enumerant" : "VulkanMemoryModelDeviceScopeKHR",
"value" : 5346,
"extensions" : [ "SPV_KHR_vulkan_memory_model" ],
- "version" : "None"
+ "version" : "1.5"
+ },
+ {
+ "enumerant" : "PhysicalStorageBufferAddresses",
+ "value" : 5347,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
+ "version" : "1.5"
},
{
"enumerant" : "PhysicalStorageBufferAddressesEXT",
"value" : 5347,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "version" : "None"
+ "version" : "1.5"
},
{
"enumerant" : "ComputeDerivativeGroupLinearNV",
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index 93c631f..705aa59 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -48,7 +48,7 @@ namespace Spv
public static class Specification
{
public const uint MagicNumber = 0x07230203;
- public const uint Version = 0x00010400;
+ public const uint Version = 0x00010500;
public const uint Revision = 1;
public const uint OpCodeMask = 0xffff;
public const uint WordCountShift = 16;
@@ -87,6 +87,7 @@ namespace Spv
Logical = 0,
Physical32 = 1,
Physical64 = 2,
+ PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
}
@@ -95,6 +96,7 @@ namespace Spv
Simple = 0,
GLSL450 = 1,
OpenCL = 2,
+ Vulkan = 3,
VulkanKHR = 3,
}
@@ -179,6 +181,7 @@ namespace Spv
HitAttributeNV = 5339,
IncomingRayPayloadNV = 5342,
ShaderRecordBufferNV = 5343,
+ PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
}
@@ -307,9 +310,13 @@ namespace Spv
ConstOffsets = 5,
Sample = 6,
MinLod = 7,
+ MakeTexelAvailable = 8,
MakeTexelAvailableKHR = 8,
+ MakeTexelVisible = 9,
MakeTexelVisibleKHR = 9,
+ NonPrivateTexel = 10,
NonPrivateTexelKHR = 10,
+ VolatileTexel = 11,
VolatileTexelKHR = 11,
SignExtend = 12,
ZeroExtend = 13,
@@ -326,9 +333,13 @@ namespace Spv
ConstOffsets = 0x00000020,
Sample = 0x00000040,
MinLod = 0x00000080,
+ MakeTexelAvailable = 0x00000100,
MakeTexelAvailableKHR = 0x00000100,
+ MakeTexelVisible = 0x00000200,
MakeTexelVisibleKHR = 0x00000200,
+ NonPrivateTexel = 0x00000400,
NonPrivateTexelKHR = 0x00000400,
+ VolatileTexel = 0x00000800,
VolatileTexelKHR = 0x00000800,
SignExtend = 0x00001000,
ZeroExtend = 0x00002000,
@@ -446,8 +457,11 @@ namespace Spv
PerViewNV = 5272,
PerTaskNV = 5273,
PerVertexNV = 5285,
+ NonUniform = 5300,
NonUniformEXT = 5300,
+ RestrictPointer = 5355,
RestrictPointerEXT = 5355,
+ AliasedPointer = 5356,
AliasedPointerEXT = 5356,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
@@ -631,8 +645,11 @@ namespace Spv
CrossWorkgroupMemory = 9,
AtomicCounterMemory = 10,
ImageMemory = 11,
+ OutputMemory = 12,
OutputMemoryKHR = 12,
+ MakeAvailable = 13,
MakeAvailableKHR = 13,
+ MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
}
@@ -650,8 +667,11 @@ namespace Spv
CrossWorkgroupMemory = 0x00000200,
AtomicCounterMemory = 0x00000400,
ImageMemory = 0x00000800,
+ OutputMemory = 0x00001000,
OutputMemoryKHR = 0x00001000,
+ MakeAvailable = 0x00002000,
MakeAvailableKHR = 0x00002000,
+ MakeVisible = 0x00004000,
MakeVisibleKHR = 0x00004000,
Volatile = 0x00008000,
}
@@ -661,8 +681,11 @@ namespace Spv
Volatile = 0,
Aligned = 1,
Nontemporal = 2,
+ MakePointerAvailable = 3,
MakePointerAvailableKHR = 3,
+ MakePointerVisible = 4,
MakePointerVisibleKHR = 4,
+ NonPrivatePointer = 5,
NonPrivatePointerKHR = 5,
}
@@ -672,8 +695,11 @@ namespace Spv
Volatile = 0x00000001,
Aligned = 0x00000002,
Nontemporal = 0x00000004,
+ MakePointerAvailable = 0x00000008,
MakePointerAvailableKHR = 0x00000008,
+ MakePointerVisible = 0x00000010,
MakePointerVisibleKHR = 0x00000010,
+ NonPrivatePointer = 0x00000020,
NonPrivatePointerKHR = 0x00000020,
}
@@ -684,6 +710,7 @@ namespace Spv
Workgroup = 2,
Subgroup = 3,
Invocation = 4,
+ QueueFamily = 5,
QueueFamilyKHR = 5,
}
@@ -785,6 +812,8 @@ namespace Spv
GroupNonUniformShuffleRelative = 66,
GroupNonUniformClustered = 67,
GroupNonUniformQuad = 68,
+ ShaderLayer = 69,
+ ShaderViewportIndex = 70,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
SubgroupVoteKHR = 4431,
@@ -813,6 +842,7 @@ namespace Spv
FragmentMaskAMD = 5010,
StencilExportEXT = 5013,
ImageReadWriteLodAMD = 5015,
+ ShaderClockKHR = 5055,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -828,21 +858,36 @@ namespace Spv
FragmentDensityEXT = 5291,
ShadingRateNV = 5291,
GroupNonUniformPartitionedNV = 5297,
+ ShaderNonUniform = 5301,
ShaderNonUniformEXT = 5301,
+ RuntimeDescriptorArray = 5302,
RuntimeDescriptorArrayEXT = 5302,
+ InputAttachmentArrayDynamicIndexing = 5303,
InputAttachmentArrayDynamicIndexingEXT = 5303,
+ UniformTexelBufferArrayDynamicIndexing = 5304,
UniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ StorageTexelBufferArrayDynamicIndexing = 5305,
StorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ UniformBufferArrayNonUniformIndexing = 5306,
UniformBufferArrayNonUniformIndexingEXT = 5306,
+ SampledImageArrayNonUniformIndexing = 5307,
SampledImageArrayNonUniformIndexingEXT = 5307,
+ StorageBufferArrayNonUniformIndexing = 5308,
StorageBufferArrayNonUniformIndexingEXT = 5308,
+ StorageImageArrayNonUniformIndexing = 5309,
StorageImageArrayNonUniformIndexingEXT = 5309,
+ InputAttachmentArrayNonUniformIndexing = 5310,
InputAttachmentArrayNonUniformIndexingEXT = 5310,
+ UniformTexelBufferArrayNonUniformIndexing = 5311,
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
+ VulkanMemoryModelDeviceScope = 5346,
VulkanMemoryModelDeviceScopeKHR = 5346,
+ PhysicalStorageBufferAddresses = 5347,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
CooperativeMatrixNV = 5357,
@@ -1223,6 +1268,7 @@ namespace Spv
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 4b6d9dc..1b67617 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -53,7 +53,7 @@
typedef unsigned int SpvId;
-#define SPV_VERSION 0x10400
+#define SPV_VERSION 0x10500
#define SPV_REVISION 1
static const unsigned int SpvMagicNumber = 0x07230203;
@@ -95,6 +95,7 @@ typedef enum SpvAddressingModel_ {
SpvAddressingModelLogical = 0,
SpvAddressingModelPhysical32 = 1,
SpvAddressingModelPhysical64 = 2,
+ SpvAddressingModelPhysicalStorageBuffer64 = 5348,
SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
SpvAddressingModelMax = 0x7fffffff,
} SpvAddressingModel;
@@ -103,6 +104,7 @@ typedef enum SpvMemoryModel_ {
SpvMemoryModelSimple = 0,
SpvMemoryModelGLSL450 = 1,
SpvMemoryModelOpenCL = 2,
+ SpvMemoryModelVulkan = 3,
SpvMemoryModelVulkanKHR = 3,
SpvMemoryModelMax = 0x7fffffff,
} SpvMemoryModel;
@@ -187,6 +189,7 @@ typedef enum SpvStorageClass_ {
SpvStorageClassHitAttributeNV = 5339,
SpvStorageClassIncomingRayPayloadNV = 5342,
SpvStorageClassShaderRecordBufferNV = 5343,
+ SpvStorageClassPhysicalStorageBuffer = 5349,
SpvStorageClassPhysicalStorageBufferEXT = 5349,
SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
@@ -315,9 +318,13 @@ typedef enum SpvImageOperandsShift_ {
SpvImageOperandsConstOffsetsShift = 5,
SpvImageOperandsSampleShift = 6,
SpvImageOperandsMinLodShift = 7,
+ SpvImageOperandsMakeTexelAvailableShift = 8,
SpvImageOperandsMakeTexelAvailableKHRShift = 8,
+ SpvImageOperandsMakeTexelVisibleShift = 9,
SpvImageOperandsMakeTexelVisibleKHRShift = 9,
+ SpvImageOperandsNonPrivateTexelShift = 10,
SpvImageOperandsNonPrivateTexelKHRShift = 10,
+ SpvImageOperandsVolatileTexelShift = 11,
SpvImageOperandsVolatileTexelKHRShift = 11,
SpvImageOperandsSignExtendShift = 12,
SpvImageOperandsZeroExtendShift = 13,
@@ -334,9 +341,13 @@ typedef enum SpvImageOperandsMask_ {
SpvImageOperandsConstOffsetsMask = 0x00000020,
SpvImageOperandsSampleMask = 0x00000040,
SpvImageOperandsMinLodMask = 0x00000080,
+ SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
+ SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
+ SpvImageOperandsNonPrivateTexelMask = 0x00000400,
SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
+ SpvImageOperandsVolatileTexelMask = 0x00000800,
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
SpvImageOperandsSignExtendMask = 0x00001000,
SpvImageOperandsZeroExtendMask = 0x00002000,
@@ -452,8 +463,11 @@ typedef enum SpvDecoration_ {
SpvDecorationPerViewNV = 5272,
SpvDecorationPerTaskNV = 5273,
SpvDecorationPerVertexNV = 5285,
+ SpvDecorationNonUniform = 5300,
SpvDecorationNonUniformEXT = 5300,
+ SpvDecorationRestrictPointer = 5355,
SpvDecorationRestrictPointerEXT = 5355,
+ SpvDecorationAliasedPointer = 5356,
SpvDecorationAliasedPointerEXT = 5356,
SpvDecorationCounterBuffer = 5634,
SpvDecorationHlslCounterBufferGOOGLE = 5634,
@@ -634,8 +648,11 @@ typedef enum SpvMemorySemanticsShift_ {
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
SpvMemorySemanticsAtomicCounterMemoryShift = 10,
SpvMemorySemanticsImageMemoryShift = 11,
+ SpvMemorySemanticsOutputMemoryShift = 12,
SpvMemorySemanticsOutputMemoryKHRShift = 12,
+ SpvMemorySemanticsMakeAvailableShift = 13,
SpvMemorySemanticsMakeAvailableKHRShift = 13,
+ SpvMemorySemanticsMakeVisibleShift = 14,
SpvMemorySemanticsMakeVisibleKHRShift = 14,
SpvMemorySemanticsVolatileShift = 15,
SpvMemorySemanticsMax = 0x7fffffff,
@@ -653,8 +670,11 @@ typedef enum SpvMemorySemanticsMask_ {
SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
SpvMemorySemanticsImageMemoryMask = 0x00000800,
+ SpvMemorySemanticsOutputMemoryMask = 0x00001000,
SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
+ SpvMemorySemanticsMakeAvailableMask = 0x00002000,
SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
+ SpvMemorySemanticsMakeVisibleMask = 0x00004000,
SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
SpvMemorySemanticsVolatileMask = 0x00008000,
} SpvMemorySemanticsMask;
@@ -663,8 +683,11 @@ typedef enum SpvMemoryAccessShift_ {
SpvMemoryAccessVolatileShift = 0,
SpvMemoryAccessAlignedShift = 1,
SpvMemoryAccessNontemporalShift = 2,
+ SpvMemoryAccessMakePointerAvailableShift = 3,
SpvMemoryAccessMakePointerAvailableKHRShift = 3,
+ SpvMemoryAccessMakePointerVisibleShift = 4,
SpvMemoryAccessMakePointerVisibleKHRShift = 4,
+ SpvMemoryAccessNonPrivatePointerShift = 5,
SpvMemoryAccessNonPrivatePointerKHRShift = 5,
SpvMemoryAccessMax = 0x7fffffff,
} SpvMemoryAccessShift;
@@ -674,8 +697,11 @@ typedef enum SpvMemoryAccessMask_ {
SpvMemoryAccessVolatileMask = 0x00000001,
SpvMemoryAccessAlignedMask = 0x00000002,
SpvMemoryAccessNontemporalMask = 0x00000004,
+ SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
+ SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
+ SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
} SpvMemoryAccessMask;
@@ -685,6 +711,7 @@ typedef enum SpvScope_ {
SpvScopeWorkgroup = 2,
SpvScopeSubgroup = 3,
SpvScopeInvocation = 4,
+ SpvScopeQueueFamily = 5,
SpvScopeQueueFamilyKHR = 5,
SpvScopeMax = 0x7fffffff,
} SpvScope;
@@ -785,6 +812,8 @@ typedef enum SpvCapability_ {
SpvCapabilityGroupNonUniformShuffleRelative = 66,
SpvCapabilityGroupNonUniformClustered = 67,
SpvCapabilityGroupNonUniformQuad = 68,
+ SpvCapabilityShaderLayer = 69,
+ SpvCapabilityShaderViewportIndex = 70,
SpvCapabilitySubgroupBallotKHR = 4423,
SpvCapabilityDrawParameters = 4427,
SpvCapabilitySubgroupVoteKHR = 4431,
@@ -813,6 +842,7 @@ typedef enum SpvCapability_ {
SpvCapabilityFragmentMaskAMD = 5010,
SpvCapabilityStencilExportEXT = 5013,
SpvCapabilityImageReadWriteLodAMD = 5015,
+ SpvCapabilityShaderClockKHR = 5055,
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
SpvCapabilityGeometryShaderPassthroughNV = 5251,
SpvCapabilityShaderViewportIndexLayerEXT = 5254,
@@ -828,21 +858,36 @@ typedef enum SpvCapability_ {
SpvCapabilityFragmentDensityEXT = 5291,
SpvCapabilityShadingRateNV = 5291,
SpvCapabilityGroupNonUniformPartitionedNV = 5297,
+ SpvCapabilityShaderNonUniform = 5301,
SpvCapabilityShaderNonUniformEXT = 5301,
+ SpvCapabilityRuntimeDescriptorArray = 5302,
SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
+ SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
+ SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
+ SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
+ SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
+ SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
+ SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
+ SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
SpvCapabilityRayTracingNV = 5340,
+ SpvCapabilityVulkanMemoryModel = 5345,
SpvCapabilityVulkanMemoryModelKHR = 5345,
+ SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
+ SpvCapabilityPhysicalStorageBufferAddresses = 5347,
SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
SpvCapabilityCooperativeMatrixNV = 5357,
@@ -1223,6 +1268,7 @@ typedef enum SpvOp_ {
SpvOpGroupSMaxNonUniformAMD = 5007,
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
+ SpvOpReadClockKHR = 5056,
SpvOpImageSampleFootprintNV = 5283,
SpvOpGroupNonUniformPartitionNV = 5296,
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
@@ -1755,6 +1801,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 50cc20d..f5cbda1 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -49,7 +49,7 @@ namespace spv {
typedef unsigned int Id;
-#define SPV_VERSION 0x10400
+#define SPV_VERSION 0x10500
#define SPV_REVISION 1
static const unsigned int MagicNumber = 0x07230203;
@@ -91,6 +91,7 @@ enum AddressingModel {
AddressingModelLogical = 0,
AddressingModelPhysical32 = 1,
AddressingModelPhysical64 = 2,
+ AddressingModelPhysicalStorageBuffer64 = 5348,
AddressingModelPhysicalStorageBuffer64EXT = 5348,
AddressingModelMax = 0x7fffffff,
};
@@ -99,6 +100,7 @@ enum MemoryModel {
MemoryModelSimple = 0,
MemoryModelGLSL450 = 1,
MemoryModelOpenCL = 2,
+ MemoryModelVulkan = 3,
MemoryModelVulkanKHR = 3,
MemoryModelMax = 0x7fffffff,
};
@@ -183,6 +185,7 @@ enum StorageClass {
StorageClassHitAttributeNV = 5339,
StorageClassIncomingRayPayloadNV = 5342,
StorageClassShaderRecordBufferNV = 5343,
+ StorageClassPhysicalStorageBuffer = 5349,
StorageClassPhysicalStorageBufferEXT = 5349,
StorageClassMax = 0x7fffffff,
};
@@ -311,9 +314,13 @@ enum ImageOperandsShift {
ImageOperandsConstOffsetsShift = 5,
ImageOperandsSampleShift = 6,
ImageOperandsMinLodShift = 7,
+ ImageOperandsMakeTexelAvailableShift = 8,
ImageOperandsMakeTexelAvailableKHRShift = 8,
+ ImageOperandsMakeTexelVisibleShift = 9,
ImageOperandsMakeTexelVisibleKHRShift = 9,
+ ImageOperandsNonPrivateTexelShift = 10,
ImageOperandsNonPrivateTexelKHRShift = 10,
+ ImageOperandsVolatileTexelShift = 11,
ImageOperandsVolatileTexelKHRShift = 11,
ImageOperandsSignExtendShift = 12,
ImageOperandsZeroExtendShift = 13,
@@ -330,9 +337,13 @@ enum ImageOperandsMask {
ImageOperandsConstOffsetsMask = 0x00000020,
ImageOperandsSampleMask = 0x00000040,
ImageOperandsMinLodMask = 0x00000080,
+ ImageOperandsMakeTexelAvailableMask = 0x00000100,
ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
+ ImageOperandsMakeTexelVisibleMask = 0x00000200,
ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
+ ImageOperandsNonPrivateTexelMask = 0x00000400,
ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
+ ImageOperandsVolatileTexelMask = 0x00000800,
ImageOperandsVolatileTexelKHRMask = 0x00000800,
ImageOperandsSignExtendMask = 0x00001000,
ImageOperandsZeroExtendMask = 0x00002000,
@@ -448,8 +459,11 @@ enum Decoration {
DecorationPerViewNV = 5272,
DecorationPerTaskNV = 5273,
DecorationPerVertexNV = 5285,
+ DecorationNonUniform = 5300,
DecorationNonUniformEXT = 5300,
+ DecorationRestrictPointer = 5355,
DecorationRestrictPointerEXT = 5355,
+ DecorationAliasedPointer = 5356,
DecorationAliasedPointerEXT = 5356,
DecorationCounterBuffer = 5634,
DecorationHlslCounterBufferGOOGLE = 5634,
@@ -630,8 +644,11 @@ enum MemorySemanticsShift {
MemorySemanticsCrossWorkgroupMemoryShift = 9,
MemorySemanticsAtomicCounterMemoryShift = 10,
MemorySemanticsImageMemoryShift = 11,
+ MemorySemanticsOutputMemoryShift = 12,
MemorySemanticsOutputMemoryKHRShift = 12,
+ MemorySemanticsMakeAvailableShift = 13,
MemorySemanticsMakeAvailableKHRShift = 13,
+ MemorySemanticsMakeVisibleShift = 14,
MemorySemanticsMakeVisibleKHRShift = 14,
MemorySemanticsVolatileShift = 15,
MemorySemanticsMax = 0x7fffffff,
@@ -649,8 +666,11 @@ enum MemorySemanticsMask {
MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
MemorySemanticsImageMemoryMask = 0x00000800,
+ MemorySemanticsOutputMemoryMask = 0x00001000,
MemorySemanticsOutputMemoryKHRMask = 0x00001000,
+ MemorySemanticsMakeAvailableMask = 0x00002000,
MemorySemanticsMakeAvailableKHRMask = 0x00002000,
+ MemorySemanticsMakeVisibleMask = 0x00004000,
MemorySemanticsMakeVisibleKHRMask = 0x00004000,
MemorySemanticsVolatileMask = 0x00008000,
};
@@ -659,8 +679,11 @@ enum MemoryAccessShift {
MemoryAccessVolatileShift = 0,
MemoryAccessAlignedShift = 1,
MemoryAccessNontemporalShift = 2,
+ MemoryAccessMakePointerAvailableShift = 3,
MemoryAccessMakePointerAvailableKHRShift = 3,
+ MemoryAccessMakePointerVisibleShift = 4,
MemoryAccessMakePointerVisibleKHRShift = 4,
+ MemoryAccessNonPrivatePointerShift = 5,
MemoryAccessNonPrivatePointerKHRShift = 5,
MemoryAccessMax = 0x7fffffff,
};
@@ -670,8 +693,11 @@ enum MemoryAccessMask {
MemoryAccessVolatileMask = 0x00000001,
MemoryAccessAlignedMask = 0x00000002,
MemoryAccessNontemporalMask = 0x00000004,
+ MemoryAccessMakePointerAvailableMask = 0x00000008,
MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
+ MemoryAccessMakePointerVisibleMask = 0x00000010,
MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
+ MemoryAccessNonPrivatePointerMask = 0x00000020,
MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
};
@@ -681,6 +707,7 @@ enum Scope {
ScopeWorkgroup = 2,
ScopeSubgroup = 3,
ScopeInvocation = 4,
+ ScopeQueueFamily = 5,
ScopeQueueFamilyKHR = 5,
ScopeMax = 0x7fffffff,
};
@@ -781,6 +808,8 @@ enum Capability {
CapabilityGroupNonUniformShuffleRelative = 66,
CapabilityGroupNonUniformClustered = 67,
CapabilityGroupNonUniformQuad = 68,
+ CapabilityShaderLayer = 69,
+ CapabilityShaderViewportIndex = 70,
CapabilitySubgroupBallotKHR = 4423,
CapabilityDrawParameters = 4427,
CapabilitySubgroupVoteKHR = 4431,
@@ -809,6 +838,7 @@ enum Capability {
CapabilityFragmentMaskAMD = 5010,
CapabilityStencilExportEXT = 5013,
CapabilityImageReadWriteLodAMD = 5015,
+ CapabilityShaderClockKHR = 5055,
CapabilitySampleMaskOverrideCoverageNV = 5249,
CapabilityGeometryShaderPassthroughNV = 5251,
CapabilityShaderViewportIndexLayerEXT = 5254,
@@ -824,21 +854,36 @@ enum Capability {
CapabilityFragmentDensityEXT = 5291,
CapabilityShadingRateNV = 5291,
CapabilityGroupNonUniformPartitionedNV = 5297,
+ CapabilityShaderNonUniform = 5301,
CapabilityShaderNonUniformEXT = 5301,
+ CapabilityRuntimeDescriptorArray = 5302,
CapabilityRuntimeDescriptorArrayEXT = 5302,
+ CapabilityInputAttachmentArrayDynamicIndexing = 5303,
CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
+ CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ CapabilityUniformBufferArrayNonUniformIndexing = 5306,
CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
+ CapabilitySampledImageArrayNonUniformIndexing = 5307,
CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
+ CapabilityStorageBufferArrayNonUniformIndexing = 5308,
CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
+ CapabilityStorageImageArrayNonUniformIndexing = 5309,
CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
+ CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
+ CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
CapabilityRayTracingNV = 5340,
+ CapabilityVulkanMemoryModel = 5345,
CapabilityVulkanMemoryModelKHR = 5345,
+ CapabilityVulkanMemoryModelDeviceScope = 5346,
CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
+ CapabilityPhysicalStorageBufferAddresses = 5347,
CapabilityPhysicalStorageBufferAddressesEXT = 5347,
CapabilityComputeDerivativeGroupLinearNV = 5350,
CapabilityCooperativeMatrixNV = 5357,
@@ -1219,6 +1264,7 @@ enum Op {
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
@@ -1751,6 +1797,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 257f77c..00c7b18 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -49,7 +49,7 @@ namespace spv {
typedef unsigned int Id;
-#define SPV_VERSION 0x10400
+#define SPV_VERSION 0x10500
#define SPV_REVISION 1
static const unsigned int MagicNumber = 0x07230203;
@@ -91,6 +91,7 @@ enum class AddressingModel : unsigned {
Logical = 0,
Physical32 = 1,
Physical64 = 2,
+ PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
Max = 0x7fffffff,
};
@@ -99,6 +100,7 @@ enum class MemoryModel : unsigned {
Simple = 0,
GLSL450 = 1,
OpenCL = 2,
+ Vulkan = 3,
VulkanKHR = 3,
Max = 0x7fffffff,
};
@@ -183,6 +185,7 @@ enum class StorageClass : unsigned {
HitAttributeNV = 5339,
IncomingRayPayloadNV = 5342,
ShaderRecordBufferNV = 5343,
+ PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
Max = 0x7fffffff,
};
@@ -311,9 +314,13 @@ enum class ImageOperandsShift : unsigned {
ConstOffsets = 5,
Sample = 6,
MinLod = 7,
+ MakeTexelAvailable = 8,
MakeTexelAvailableKHR = 8,
+ MakeTexelVisible = 9,
MakeTexelVisibleKHR = 9,
+ NonPrivateTexel = 10,
NonPrivateTexelKHR = 10,
+ VolatileTexel = 11,
VolatileTexelKHR = 11,
SignExtend = 12,
ZeroExtend = 13,
@@ -330,9 +337,13 @@ enum class ImageOperandsMask : unsigned {
ConstOffsets = 0x00000020,
Sample = 0x00000040,
MinLod = 0x00000080,
+ MakeTexelAvailable = 0x00000100,
MakeTexelAvailableKHR = 0x00000100,
+ MakeTexelVisible = 0x00000200,
MakeTexelVisibleKHR = 0x00000200,
+ NonPrivateTexel = 0x00000400,
NonPrivateTexelKHR = 0x00000400,
+ VolatileTexel = 0x00000800,
VolatileTexelKHR = 0x00000800,
SignExtend = 0x00001000,
ZeroExtend = 0x00002000,
@@ -448,8 +459,11 @@ enum class Decoration : unsigned {
PerViewNV = 5272,
PerTaskNV = 5273,
PerVertexNV = 5285,
+ NonUniform = 5300,
NonUniformEXT = 5300,
+ RestrictPointer = 5355,
RestrictPointerEXT = 5355,
+ AliasedPointer = 5356,
AliasedPointerEXT = 5356,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
@@ -630,8 +644,11 @@ enum class MemorySemanticsShift : unsigned {
CrossWorkgroupMemory = 9,
AtomicCounterMemory = 10,
ImageMemory = 11,
+ OutputMemory = 12,
OutputMemoryKHR = 12,
+ MakeAvailable = 13,
MakeAvailableKHR = 13,
+ MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
Max = 0x7fffffff,
@@ -649,8 +666,11 @@ enum class MemorySemanticsMask : unsigned {
CrossWorkgroupMemory = 0x00000200,
AtomicCounterMemory = 0x00000400,
ImageMemory = 0x00000800,
+ OutputMemory = 0x00001000,
OutputMemoryKHR = 0x00001000,
+ MakeAvailable = 0x00002000,
MakeAvailableKHR = 0x00002000,
+ MakeVisible = 0x00004000,
MakeVisibleKHR = 0x00004000,
Volatile = 0x00008000,
};
@@ -659,8 +679,11 @@ enum class MemoryAccessShift : unsigned {
Volatile = 0,
Aligned = 1,
Nontemporal = 2,
+ MakePointerAvailable = 3,
MakePointerAvailableKHR = 3,
+ MakePointerVisible = 4,
MakePointerVisibleKHR = 4,
+ NonPrivatePointer = 5,
NonPrivatePointerKHR = 5,
Max = 0x7fffffff,
};
@@ -670,8 +693,11 @@ enum class MemoryAccessMask : unsigned {
Volatile = 0x00000001,
Aligned = 0x00000002,
Nontemporal = 0x00000004,
+ MakePointerAvailable = 0x00000008,
MakePointerAvailableKHR = 0x00000008,
+ MakePointerVisible = 0x00000010,
MakePointerVisibleKHR = 0x00000010,
+ NonPrivatePointer = 0x00000020,
NonPrivatePointerKHR = 0x00000020,
};
@@ -681,6 +707,7 @@ enum class Scope : unsigned {
Workgroup = 2,
Subgroup = 3,
Invocation = 4,
+ QueueFamily = 5,
QueueFamilyKHR = 5,
Max = 0x7fffffff,
};
@@ -781,6 +808,8 @@ enum class Capability : unsigned {
GroupNonUniformShuffleRelative = 66,
GroupNonUniformClustered = 67,
GroupNonUniformQuad = 68,
+ ShaderLayer = 69,
+ ShaderViewportIndex = 70,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
SubgroupVoteKHR = 4431,
@@ -809,6 +838,7 @@ enum class Capability : unsigned {
FragmentMaskAMD = 5010,
StencilExportEXT = 5013,
ImageReadWriteLodAMD = 5015,
+ ShaderClockKHR = 5055,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -824,21 +854,36 @@ enum class Capability : unsigned {
FragmentDensityEXT = 5291,
ShadingRateNV = 5291,
GroupNonUniformPartitionedNV = 5297,
+ ShaderNonUniform = 5301,
ShaderNonUniformEXT = 5301,
+ RuntimeDescriptorArray = 5302,
RuntimeDescriptorArrayEXT = 5302,
+ InputAttachmentArrayDynamicIndexing = 5303,
InputAttachmentArrayDynamicIndexingEXT = 5303,
+ UniformTexelBufferArrayDynamicIndexing = 5304,
UniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ StorageTexelBufferArrayDynamicIndexing = 5305,
StorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ UniformBufferArrayNonUniformIndexing = 5306,
UniformBufferArrayNonUniformIndexingEXT = 5306,
+ SampledImageArrayNonUniformIndexing = 5307,
SampledImageArrayNonUniformIndexingEXT = 5307,
+ StorageBufferArrayNonUniformIndexing = 5308,
StorageBufferArrayNonUniformIndexingEXT = 5308,
+ StorageImageArrayNonUniformIndexing = 5309,
StorageImageArrayNonUniformIndexingEXT = 5309,
+ InputAttachmentArrayNonUniformIndexing = 5310,
InputAttachmentArrayNonUniformIndexingEXT = 5310,
+ UniformTexelBufferArrayNonUniformIndexing = 5311,
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
+ VulkanMemoryModelDeviceScope = 5346,
VulkanMemoryModelDeviceScopeKHR = 5346,
+ PhysicalStorageBufferAddresses = 5347,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
CooperativeMatrixNV = 5357,
@@ -1219,6 +1264,7 @@ enum class Op : unsigned {
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
@@ -1751,6 +1797,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
case Op::OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 4ddb573..b08a1a5 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -54,7 +54,7 @@
]
],
"MagicNumber": 119734787,
- "Version": 66560,
+ "Version": 66816,
"Revision": 1,
"OpCodeMask": 65535,
"WordCountShift": 16
@@ -104,6 +104,7 @@
"Logical": 0,
"Physical32": 1,
"Physical64": 2,
+ "PhysicalStorageBuffer64": 5348,
"PhysicalStorageBuffer64EXT": 5348
}
},
@@ -115,6 +116,7 @@
"Simple": 0,
"GLSL450": 1,
"OpenCL": 2,
+ "Vulkan": 3,
"VulkanKHR": 3
}
},
@@ -205,6 +207,7 @@
"HitAttributeNV": 5339,
"IncomingRayPayloadNV": 5342,
"ShaderRecordBufferNV": 5343,
+ "PhysicalStorageBuffer": 5349,
"PhysicalStorageBufferEXT": 5349
}
},
@@ -354,9 +357,13 @@
"ConstOffsets": 5,
"Sample": 6,
"MinLod": 7,
+ "MakeTexelAvailable": 8,
"MakeTexelAvailableKHR": 8,
+ "MakeTexelVisible": 9,
"MakeTexelVisibleKHR": 9,
+ "NonPrivateTexel": 10,
"NonPrivateTexelKHR": 10,
+ "VolatileTexel": 11,
"VolatileTexelKHR": 11,
"SignExtend": 12,
"ZeroExtend": 13
@@ -482,8 +489,11 @@
"PerViewNV": 5272,
"PerTaskNV": 5273,
"PerVertexNV": 5285,
+ "NonUniform": 5300,
"NonUniformEXT": 5300,
+ "RestrictPointer": 5355,
"RestrictPointerEXT": 5355,
+ "AliasedPointer": 5356,
"AliasedPointerEXT": 5356,
"CounterBuffer": 5634,
"HlslCounterBufferGOOGLE": 5634,
@@ -652,8 +662,11 @@
"CrossWorkgroupMemory": 9,
"AtomicCounterMemory": 10,
"ImageMemory": 11,
+ "OutputMemory": 12,
"OutputMemoryKHR": 12,
+ "MakeAvailable": 13,
"MakeAvailableKHR": 13,
+ "MakeVisible": 14,
"MakeVisibleKHR": 14,
"Volatile": 15
}
@@ -666,8 +679,11 @@
"Volatile": 0,
"Aligned": 1,
"Nontemporal": 2,
+ "MakePointerAvailable": 3,
"MakePointerAvailableKHR": 3,
+ "MakePointerVisible": 4,
"MakePointerVisibleKHR": 4,
+ "NonPrivatePointer": 5,
"NonPrivatePointerKHR": 5
}
},
@@ -681,6 +697,7 @@
"Workgroup": 2,
"Subgroup": 3,
"Invocation": 4,
+ "QueueFamily": 5,
"QueueFamilyKHR": 5
}
},
@@ -788,6 +805,8 @@
"GroupNonUniformShuffleRelative": 66,
"GroupNonUniformClustered": 67,
"GroupNonUniformQuad": 68,
+ "ShaderLayer": 69,
+ "ShaderViewportIndex": 70,
"SubgroupBallotKHR": 4423,
"DrawParameters": 4427,
"SubgroupVoteKHR": 4431,
@@ -816,6 +835,7 @@
"FragmentMaskAMD": 5010,
"StencilExportEXT": 5013,
"ImageReadWriteLodAMD": 5015,
+ "ShaderClockKHR": 5055,
"SampleMaskOverrideCoverageNV": 5249,
"GeometryShaderPassthroughNV": 5251,
"ShaderViewportIndexLayerEXT": 5254,
@@ -831,21 +851,36 @@
"FragmentDensityEXT": 5291,
"ShadingRateNV": 5291,
"GroupNonUniformPartitionedNV": 5297,
+ "ShaderNonUniform": 5301,
"ShaderNonUniformEXT": 5301,
+ "RuntimeDescriptorArray": 5302,
"RuntimeDescriptorArrayEXT": 5302,
+ "InputAttachmentArrayDynamicIndexing": 5303,
"InputAttachmentArrayDynamicIndexingEXT": 5303,
+ "UniformTexelBufferArrayDynamicIndexing": 5304,
"UniformTexelBufferArrayDynamicIndexingEXT": 5304,
+ "StorageTexelBufferArrayDynamicIndexing": 5305,
"StorageTexelBufferArrayDynamicIndexingEXT": 5305,
+ "UniformBufferArrayNonUniformIndexing": 5306,
"UniformBufferArrayNonUniformIndexingEXT": 5306,
+ "SampledImageArrayNonUniformIndexing": 5307,
"SampledImageArrayNonUniformIndexingEXT": 5307,
+ "StorageBufferArrayNonUniformIndexing": 5308,
"StorageBufferArrayNonUniformIndexingEXT": 5308,
+ "StorageImageArrayNonUniformIndexing": 5309,
"StorageImageArrayNonUniformIndexingEXT": 5309,
+ "InputAttachmentArrayNonUniformIndexing": 5310,
"InputAttachmentArrayNonUniformIndexingEXT": 5310,
+ "UniformTexelBufferArrayNonUniformIndexing": 5311,
"UniformTexelBufferArrayNonUniformIndexingEXT": 5311,
+ "StorageTexelBufferArrayNonUniformIndexing": 5312,
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
"RayTracingNV": 5340,
+ "VulkanMemoryModel": 5345,
"VulkanMemoryModelKHR": 5345,
+ "VulkanMemoryModelDeviceScope": 5346,
"VulkanMemoryModelDeviceScopeKHR": 5346,
+ "PhysicalStorageBufferAddresses": 5347,
"PhysicalStorageBufferAddressesEXT": 5347,
"ComputeDerivativeGroupLinearNV": 5350,
"CooperativeMatrixNV": 5357,
@@ -1229,6 +1264,7 @@
"OpGroupSMaxNonUniformAMD": 5007,
"OpFragmentMaskFetchAMD": 5011,
"OpFragmentFetchAMD": 5012,
+ "OpReadClockKHR": 5056,
"OpImageSampleFootprintNV": 5283,
"OpGroupNonUniformPartitionNV": 5296,
"OpWritePackedPrimitiveIndices4x8NV": 5299,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 4ce4de8..27385db 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -44,7 +44,7 @@
spv = {
MagicNumber = 0x07230203,
- Version = 0x00010400,
+ Version = 0x00010500,
Revision = 1,
OpCodeMask = 0xffff,
WordCountShift = 16,
@@ -80,6 +80,7 @@ spv = {
Logical = 0,
Physical32 = 1,
Physical64 = 2,
+ PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
},
@@ -87,6 +88,7 @@ spv = {
Simple = 0,
GLSL450 = 1,
OpenCL = 2,
+ Vulkan = 3,
VulkanKHR = 3,
},
@@ -169,6 +171,7 @@ spv = {
HitAttributeNV = 5339,
IncomingRayPayloadNV = 5342,
ShaderRecordBufferNV = 5343,
+ PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
},
@@ -290,9 +293,13 @@ spv = {
ConstOffsets = 5,
Sample = 6,
MinLod = 7,
+ MakeTexelAvailable = 8,
MakeTexelAvailableKHR = 8,
+ MakeTexelVisible = 9,
MakeTexelVisibleKHR = 9,
+ NonPrivateTexel = 10,
NonPrivateTexelKHR = 10,
+ VolatileTexel = 11,
VolatileTexelKHR = 11,
SignExtend = 12,
ZeroExtend = 13,
@@ -308,9 +315,13 @@ spv = {
ConstOffsets = 0x00000020,
Sample = 0x00000040,
MinLod = 0x00000080,
+ MakeTexelAvailable = 0x00000100,
MakeTexelAvailableKHR = 0x00000100,
+ MakeTexelVisible = 0x00000200,
MakeTexelVisibleKHR = 0x00000200,
+ NonPrivateTexel = 0x00000400,
NonPrivateTexelKHR = 0x00000400,
+ VolatileTexel = 0x00000800,
VolatileTexelKHR = 0x00000800,
SignExtend = 0x00001000,
ZeroExtend = 0x00002000,
@@ -421,8 +432,11 @@ spv = {
PerViewNV = 5272,
PerTaskNV = 5273,
PerVertexNV = 5285,
+ NonUniform = 5300,
NonUniformEXT = 5300,
+ RestrictPointer = 5355,
RestrictPointerEXT = 5355,
+ AliasedPointer = 5356,
AliasedPointerEXT = 5356,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
@@ -598,8 +612,11 @@ spv = {
CrossWorkgroupMemory = 9,
AtomicCounterMemory = 10,
ImageMemory = 11,
+ OutputMemory = 12,
OutputMemoryKHR = 12,
+ MakeAvailable = 13,
MakeAvailableKHR = 13,
+ MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
},
@@ -616,8 +633,11 @@ spv = {
CrossWorkgroupMemory = 0x00000200,
AtomicCounterMemory = 0x00000400,
ImageMemory = 0x00000800,
+ OutputMemory = 0x00001000,
OutputMemoryKHR = 0x00001000,
+ MakeAvailable = 0x00002000,
MakeAvailableKHR = 0x00002000,
+ MakeVisible = 0x00004000,
MakeVisibleKHR = 0x00004000,
Volatile = 0x00008000,
},
@@ -626,8 +646,11 @@ spv = {
Volatile = 0,
Aligned = 1,
Nontemporal = 2,
+ MakePointerAvailable = 3,
MakePointerAvailableKHR = 3,
+ MakePointerVisible = 4,
MakePointerVisibleKHR = 4,
+ NonPrivatePointer = 5,
NonPrivatePointerKHR = 5,
},
@@ -636,8 +659,11 @@ spv = {
Volatile = 0x00000001,
Aligned = 0x00000002,
Nontemporal = 0x00000004,
+ MakePointerAvailable = 0x00000008,
MakePointerAvailableKHR = 0x00000008,
+ MakePointerVisible = 0x00000010,
MakePointerVisibleKHR = 0x00000010,
+ NonPrivatePointer = 0x00000020,
NonPrivatePointerKHR = 0x00000020,
},
@@ -647,6 +673,7 @@ spv = {
Workgroup = 2,
Subgroup = 3,
Invocation = 4,
+ QueueFamily = 5,
QueueFamilyKHR = 5,
},
@@ -743,6 +770,8 @@ spv = {
GroupNonUniformShuffleRelative = 66,
GroupNonUniformClustered = 67,
GroupNonUniformQuad = 68,
+ ShaderLayer = 69,
+ ShaderViewportIndex = 70,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
SubgroupVoteKHR = 4431,
@@ -771,6 +800,7 @@ spv = {
FragmentMaskAMD = 5010,
StencilExportEXT = 5013,
ImageReadWriteLodAMD = 5015,
+ ShaderClockKHR = 5055,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -786,21 +816,36 @@ spv = {
FragmentDensityEXT = 5291,
ShadingRateNV = 5291,
GroupNonUniformPartitionedNV = 5297,
+ ShaderNonUniform = 5301,
ShaderNonUniformEXT = 5301,
+ RuntimeDescriptorArray = 5302,
RuntimeDescriptorArrayEXT = 5302,
+ InputAttachmentArrayDynamicIndexing = 5303,
InputAttachmentArrayDynamicIndexingEXT = 5303,
+ UniformTexelBufferArrayDynamicIndexing = 5304,
UniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ StorageTexelBufferArrayDynamicIndexing = 5305,
StorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ UniformBufferArrayNonUniformIndexing = 5306,
UniformBufferArrayNonUniformIndexingEXT = 5306,
+ SampledImageArrayNonUniformIndexing = 5307,
SampledImageArrayNonUniformIndexingEXT = 5307,
+ StorageBufferArrayNonUniformIndexing = 5308,
StorageBufferArrayNonUniformIndexingEXT = 5308,
+ StorageImageArrayNonUniformIndexing = 5309,
StorageImageArrayNonUniformIndexingEXT = 5309,
+ InputAttachmentArrayNonUniformIndexing = 5310,
InputAttachmentArrayNonUniformIndexingEXT = 5310,
+ UniformTexelBufferArrayNonUniformIndexing = 5311,
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
+ VulkanMemoryModelDeviceScope = 5346,
VulkanMemoryModelDeviceScopeKHR = 5346,
+ PhysicalStorageBufferAddresses = 5347,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
CooperativeMatrixNV = 5357,
@@ -1180,6 +1225,7 @@ spv = {
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index d42fbe0..6968e7b 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -44,7 +44,7 @@
spv = {
'MagicNumber' : 0x07230203,
- 'Version' : 0x00010400,
+ 'Version' : 0x00010500,
'Revision' : 1,
'OpCodeMask' : 0xffff,
'WordCountShift' : 16,
@@ -80,6 +80,7 @@ spv = {
'Logical' : 0,
'Physical32' : 1,
'Physical64' : 2,
+ 'PhysicalStorageBuffer64' : 5348,
'PhysicalStorageBuffer64EXT' : 5348,
},
@@ -87,6 +88,7 @@ spv = {
'Simple' : 0,
'GLSL450' : 1,
'OpenCL' : 2,
+ 'Vulkan' : 3,
'VulkanKHR' : 3,
},
@@ -169,6 +171,7 @@ spv = {
'HitAttributeNV' : 5339,
'IncomingRayPayloadNV' : 5342,
'ShaderRecordBufferNV' : 5343,
+ 'PhysicalStorageBuffer' : 5349,
'PhysicalStorageBufferEXT' : 5349,
},
@@ -290,9 +293,13 @@ spv = {
'ConstOffsets' : 5,
'Sample' : 6,
'MinLod' : 7,
+ 'MakeTexelAvailable' : 8,
'MakeTexelAvailableKHR' : 8,
+ 'MakeTexelVisible' : 9,
'MakeTexelVisibleKHR' : 9,
+ 'NonPrivateTexel' : 10,
'NonPrivateTexelKHR' : 10,
+ 'VolatileTexel' : 11,
'VolatileTexelKHR' : 11,
'SignExtend' : 12,
'ZeroExtend' : 13,
@@ -308,9 +315,13 @@ spv = {
'ConstOffsets' : 0x00000020,
'Sample' : 0x00000040,
'MinLod' : 0x00000080,
+ 'MakeTexelAvailable' : 0x00000100,
'MakeTexelAvailableKHR' : 0x00000100,
+ 'MakeTexelVisible' : 0x00000200,
'MakeTexelVisibleKHR' : 0x00000200,
+ 'NonPrivateTexel' : 0x00000400,
'NonPrivateTexelKHR' : 0x00000400,
+ 'VolatileTexel' : 0x00000800,
'VolatileTexelKHR' : 0x00000800,
'SignExtend' : 0x00001000,
'ZeroExtend' : 0x00002000,
@@ -421,8 +432,11 @@ spv = {
'PerViewNV' : 5272,
'PerTaskNV' : 5273,
'PerVertexNV' : 5285,
+ 'NonUniform' : 5300,
'NonUniformEXT' : 5300,
+ 'RestrictPointer' : 5355,
'RestrictPointerEXT' : 5355,
+ 'AliasedPointer' : 5356,
'AliasedPointerEXT' : 5356,
'CounterBuffer' : 5634,
'HlslCounterBufferGOOGLE' : 5634,
@@ -598,8 +612,11 @@ spv = {
'CrossWorkgroupMemory' : 9,
'AtomicCounterMemory' : 10,
'ImageMemory' : 11,
+ 'OutputMemory' : 12,
'OutputMemoryKHR' : 12,
+ 'MakeAvailable' : 13,
'MakeAvailableKHR' : 13,
+ 'MakeVisible' : 14,
'MakeVisibleKHR' : 14,
'Volatile' : 15,
},
@@ -616,8 +633,11 @@ spv = {
'CrossWorkgroupMemory' : 0x00000200,
'AtomicCounterMemory' : 0x00000400,
'ImageMemory' : 0x00000800,
+ 'OutputMemory' : 0x00001000,
'OutputMemoryKHR' : 0x00001000,
+ 'MakeAvailable' : 0x00002000,
'MakeAvailableKHR' : 0x00002000,
+ 'MakeVisible' : 0x00004000,
'MakeVisibleKHR' : 0x00004000,
'Volatile' : 0x00008000,
},
@@ -626,8 +646,11 @@ spv = {
'Volatile' : 0,
'Aligned' : 1,
'Nontemporal' : 2,
+ 'MakePointerAvailable' : 3,
'MakePointerAvailableKHR' : 3,
+ 'MakePointerVisible' : 4,
'MakePointerVisibleKHR' : 4,
+ 'NonPrivatePointer' : 5,
'NonPrivatePointerKHR' : 5,
},
@@ -636,8 +659,11 @@ spv = {
'Volatile' : 0x00000001,
'Aligned' : 0x00000002,
'Nontemporal' : 0x00000004,
+ 'MakePointerAvailable' : 0x00000008,
'MakePointerAvailableKHR' : 0x00000008,
+ 'MakePointerVisible' : 0x00000010,
'MakePointerVisibleKHR' : 0x00000010,
+ 'NonPrivatePointer' : 0x00000020,
'NonPrivatePointerKHR' : 0x00000020,
},
@@ -647,6 +673,7 @@ spv = {
'Workgroup' : 2,
'Subgroup' : 3,
'Invocation' : 4,
+ 'QueueFamily' : 5,
'QueueFamilyKHR' : 5,
},
@@ -743,6 +770,8 @@ spv = {
'GroupNonUniformShuffleRelative' : 66,
'GroupNonUniformClustered' : 67,
'GroupNonUniformQuad' : 68,
+ 'ShaderLayer' : 69,
+ 'ShaderViewportIndex' : 70,
'SubgroupBallotKHR' : 4423,
'DrawParameters' : 4427,
'SubgroupVoteKHR' : 4431,
@@ -771,6 +800,7 @@ spv = {
'FragmentMaskAMD' : 5010,
'StencilExportEXT' : 5013,
'ImageReadWriteLodAMD' : 5015,
+ 'ShaderClockKHR' : 5055,
'SampleMaskOverrideCoverageNV' : 5249,
'GeometryShaderPassthroughNV' : 5251,
'ShaderViewportIndexLayerEXT' : 5254,
@@ -786,21 +816,36 @@ spv = {
'FragmentDensityEXT' : 5291,
'ShadingRateNV' : 5291,
'GroupNonUniformPartitionedNV' : 5297,
+ 'ShaderNonUniform' : 5301,
'ShaderNonUniformEXT' : 5301,
+ 'RuntimeDescriptorArray' : 5302,
'RuntimeDescriptorArrayEXT' : 5302,
+ 'InputAttachmentArrayDynamicIndexing' : 5303,
'InputAttachmentArrayDynamicIndexingEXT' : 5303,
+ 'UniformTexelBufferArrayDynamicIndexing' : 5304,
'UniformTexelBufferArrayDynamicIndexingEXT' : 5304,
+ 'StorageTexelBufferArrayDynamicIndexing' : 5305,
'StorageTexelBufferArrayDynamicIndexingEXT' : 5305,
+ 'UniformBufferArrayNonUniformIndexing' : 5306,
'UniformBufferArrayNonUniformIndexingEXT' : 5306,
+ 'SampledImageArrayNonUniformIndexing' : 5307,
'SampledImageArrayNonUniformIndexingEXT' : 5307,
+ 'StorageBufferArrayNonUniformIndexing' : 5308,
'StorageBufferArrayNonUniformIndexingEXT' : 5308,
+ 'StorageImageArrayNonUniformIndexing' : 5309,
'StorageImageArrayNonUniformIndexingEXT' : 5309,
+ 'InputAttachmentArrayNonUniformIndexing' : 5310,
'InputAttachmentArrayNonUniformIndexingEXT' : 5310,
+ 'UniformTexelBufferArrayNonUniformIndexing' : 5311,
'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311,
+ 'StorageTexelBufferArrayNonUniformIndexing' : 5312,
'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
'RayTracingNV' : 5340,
+ 'VulkanMemoryModel' : 5345,
'VulkanMemoryModelKHR' : 5345,
+ 'VulkanMemoryModelDeviceScope' : 5346,
'VulkanMemoryModelDeviceScopeKHR' : 5346,
+ 'PhysicalStorageBufferAddresses' : 5347,
'PhysicalStorageBufferAddressesEXT' : 5347,
'ComputeDerivativeGroupLinearNV' : 5350,
'CooperativeMatrixNV' : 5357,
@@ -1180,6 +1225,7 @@ spv = {
'OpGroupSMaxNonUniformAMD' : 5007,
'OpFragmentMaskFetchAMD' : 5011,
'OpFragmentFetchAMD' : 5012,
+ 'OpReadClockKHR' : 5056,
'OpImageSampleFootprintNV' : 5283,
'OpGroupNonUniformPartitionNV' : 5296,
'OpWritePackedPrimitiveIndices4x8NV' : 5299,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index a8dbd00..ec5a161 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -51,7 +51,7 @@
module spv;
enum uint MagicNumber = 0x07230203;
-enum uint Version = 0x00010400;
+enum uint Version = 0x00010500;
enum uint Revision = 1;
enum uint OpCodeMask = 0xffff;
enum uint WordCountShift = 16;
@@ -90,6 +90,7 @@ enum AddressingModel : uint
Logical = 0,
Physical32 = 1,
Physical64 = 2,
+ PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
}
@@ -98,6 +99,7 @@ enum MemoryModel : uint
Simple = 0,
GLSL450 = 1,
OpenCL = 2,
+ Vulkan = 3,
VulkanKHR = 3,
}
@@ -182,6 +184,7 @@ enum StorageClass : uint
HitAttributeNV = 5339,
IncomingRayPayloadNV = 5342,
ShaderRecordBufferNV = 5343,
+ PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
}
@@ -310,9 +313,13 @@ enum ImageOperandsShift : uint
ConstOffsets = 5,
Sample = 6,
MinLod = 7,
+ MakeTexelAvailable = 8,
MakeTexelAvailableKHR = 8,
+ MakeTexelVisible = 9,
MakeTexelVisibleKHR = 9,
+ NonPrivateTexel = 10,
NonPrivateTexelKHR = 10,
+ VolatileTexel = 11,
VolatileTexelKHR = 11,
SignExtend = 12,
ZeroExtend = 13,
@@ -329,9 +336,13 @@ enum ImageOperandsMask : uint
ConstOffsets = 0x00000020,
Sample = 0x00000040,
MinLod = 0x00000080,
+ MakeTexelAvailable = 0x00000100,
MakeTexelAvailableKHR = 0x00000100,
+ MakeTexelVisible = 0x00000200,
MakeTexelVisibleKHR = 0x00000200,
+ NonPrivateTexel = 0x00000400,
NonPrivateTexelKHR = 0x00000400,
+ VolatileTexel = 0x00000800,
VolatileTexelKHR = 0x00000800,
SignExtend = 0x00001000,
ZeroExtend = 0x00002000,
@@ -449,8 +460,11 @@ enum Decoration : uint
PerViewNV = 5272,
PerTaskNV = 5273,
PerVertexNV = 5285,
+ NonUniform = 5300,
NonUniformEXT = 5300,
+ RestrictPointer = 5355,
RestrictPointerEXT = 5355,
+ AliasedPointer = 5356,
AliasedPointerEXT = 5356,
CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
@@ -634,8 +648,11 @@ enum MemorySemanticsShift : uint
CrossWorkgroupMemory = 9,
AtomicCounterMemory = 10,
ImageMemory = 11,
+ OutputMemory = 12,
OutputMemoryKHR = 12,
+ MakeAvailable = 13,
MakeAvailableKHR = 13,
+ MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
}
@@ -653,8 +670,11 @@ enum MemorySemanticsMask : uint
CrossWorkgroupMemory = 0x00000200,
AtomicCounterMemory = 0x00000400,
ImageMemory = 0x00000800,
+ OutputMemory = 0x00001000,
OutputMemoryKHR = 0x00001000,
+ MakeAvailable = 0x00002000,
MakeAvailableKHR = 0x00002000,
+ MakeVisible = 0x00004000,
MakeVisibleKHR = 0x00004000,
Volatile = 0x00008000,
}
@@ -664,8 +684,11 @@ enum MemoryAccessShift : uint
Volatile = 0,
Aligned = 1,
Nontemporal = 2,
+ MakePointerAvailable = 3,
MakePointerAvailableKHR = 3,
+ MakePointerVisible = 4,
MakePointerVisibleKHR = 4,
+ NonPrivatePointer = 5,
NonPrivatePointerKHR = 5,
}
@@ -675,8 +698,11 @@ enum MemoryAccessMask : uint
Volatile = 0x00000001,
Aligned = 0x00000002,
Nontemporal = 0x00000004,
+ MakePointerAvailable = 0x00000008,
MakePointerAvailableKHR = 0x00000008,
+ MakePointerVisible = 0x00000010,
MakePointerVisibleKHR = 0x00000010,
+ NonPrivatePointer = 0x00000020,
NonPrivatePointerKHR = 0x00000020,
}
@@ -687,6 +713,7 @@ enum Scope : uint
Workgroup = 2,
Subgroup = 3,
Invocation = 4,
+ QueueFamily = 5,
QueueFamilyKHR = 5,
}
@@ -788,6 +815,8 @@ enum Capability : uint
GroupNonUniformShuffleRelative = 66,
GroupNonUniformClustered = 67,
GroupNonUniformQuad = 68,
+ ShaderLayer = 69,
+ ShaderViewportIndex = 70,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
SubgroupVoteKHR = 4431,
@@ -816,6 +845,7 @@ enum Capability : uint
FragmentMaskAMD = 5010,
StencilExportEXT = 5013,
ImageReadWriteLodAMD = 5015,
+ ShaderClockKHR = 5055,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -831,21 +861,36 @@ enum Capability : uint
FragmentDensityEXT = 5291,
ShadingRateNV = 5291,
GroupNonUniformPartitionedNV = 5297,
+ ShaderNonUniform = 5301,
ShaderNonUniformEXT = 5301,
+ RuntimeDescriptorArray = 5302,
RuntimeDescriptorArrayEXT = 5302,
+ InputAttachmentArrayDynamicIndexing = 5303,
InputAttachmentArrayDynamicIndexingEXT = 5303,
+ UniformTexelBufferArrayDynamicIndexing = 5304,
UniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ StorageTexelBufferArrayDynamicIndexing = 5305,
StorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ UniformBufferArrayNonUniformIndexing = 5306,
UniformBufferArrayNonUniformIndexingEXT = 5306,
+ SampledImageArrayNonUniformIndexing = 5307,
SampledImageArrayNonUniformIndexingEXT = 5307,
+ StorageBufferArrayNonUniformIndexing = 5308,
StorageBufferArrayNonUniformIndexingEXT = 5308,
+ StorageImageArrayNonUniformIndexing = 5309,
StorageImageArrayNonUniformIndexingEXT = 5309,
+ InputAttachmentArrayNonUniformIndexing = 5310,
InputAttachmentArrayNonUniformIndexingEXT = 5310,
+ UniformTexelBufferArrayNonUniformIndexing = 5311,
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
RayTracingNV = 5340,
+ VulkanMemoryModel = 5345,
VulkanMemoryModelKHR = 5345,
+ VulkanMemoryModelDeviceScope = 5346,
VulkanMemoryModelDeviceScopeKHR = 5346,
+ PhysicalStorageBufferAddresses = 5347,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
CooperativeMatrixNV = 5357,
@@ -1226,6 +1271,7 @@ enum Op : uint
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
diff --git a/tools/buildHeaders/jsonToSpirv.cpp b/tools/buildHeaders/jsonToSpirv.cpp
index e6cab48..2190bd3 100644
--- a/tools/buildHeaders/jsonToSpirv.cpp
+++ b/tools/buildHeaders/jsonToSpirv.cpp
@@ -27,6 +27,7 @@
#include <algorithm>
#include <iostream>
#include <unordered_map>
+#include <unordered_set>
#include <utility>
#include <fstream>
@@ -40,6 +41,10 @@ namespace spv {
// parameterization information.
InstructionValues InstructionDesc;
+// The ordered list (in printing order) of printing classes
+// (specification subsections).
+PrintingClasses InstructionPrintingClasses;
+
// Note: There is no entry for OperandOpcode. Use InstructionDesc instead.
EnumDefinition OperandClassParams[OperandOpcode];
EnumValues SourceLanguageParams;
@@ -229,20 +234,6 @@ unsigned int NumberStringToBit(const std::string& str)
return bit;
}
-bool ExcludeInstruction(unsigned op, bool buildingHeaders)
-{
- // Some instructions in the grammar don't need to be reflected
- // in the specification.
-
- if (buildingHeaders)
- return false;
-
- if (op >= 5699 /* OpVmeImageINTEL */ && op <= 5816 /* OpSubgroupAvcSicGetInterRawSadsINTEL */)
- return true;
-
- return false;
-}
-
void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
{
// only do this once.
@@ -298,11 +289,36 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
return result;
};
+ // set up the printing classes
+ std::unordered_set<std::string> tags; // short-lived local for error checking below
+ const Json::Value printingClasses = root["instruction_printing_class"];
+ for (const auto& printingClass : printingClasses) {
+ if (printingClass["tag"].asString().size() > 0)
+ tags.insert(printingClass["tag"].asString()); // just for error checking
+ else
+ std::cerr << "Error: each instruction_printing_class requires a non-empty \"tag\"" << std::endl;
+ if (buildingHeaders || printingClass["tag"].asString() != "@exclude") {
+ InstructionPrintingClasses.push_back({printingClass["tag"].asString(),
+ printingClass["heading"].asString()});
+ }
+ }
+
+ // process the instructions
const Json::Value insts = root["instructions"];
for (const auto& inst : insts) {
- const unsigned int opcode = inst["opcode"].asUInt();
- if (ExcludeInstruction(opcode, buildingHeaders))
+ const auto printingClass = inst["class"].asString();
+ if (printingClass.size() == 0) {
+ std::cerr << "Error: " << inst["opname"].asString()
+ << " requires a non-empty printing \"class\" tag" << std::endl;
+ }
+ if (!buildingHeaders && printingClass == "@exclude")
continue;
+ if (tags.find(printingClass) == tags.end()) {
+ std::cerr << "Error: " << inst["opname"].asString()
+ << " requires a \"class\" declared as a \"tag\" in \"instruction printing_class\""
+ << std::endl;
+ }
+ const auto opcode = inst["opcode"].asUInt();
const std::string name = inst["opname"].asString();
EnumCaps caps = getCaps(inst);
std::string version = inst["version"].asString();
@@ -324,7 +340,7 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
std::move(EnumValue(opcode, name,
std::move(caps), std::move(version), std::move(lastVersion), std::move(exts),
std::move(operands))),
- defTypeId, defResultId);
+ printingClass, defTypeId, defResultId);
}
// Specific additional context-dependent operands
diff --git a/tools/buildHeaders/jsonToSpirv.h b/tools/buildHeaders/jsonToSpirv.h
index beec01c..0764de3 100644
--- a/tools/buildHeaders/jsonToSpirv.h
+++ b/tools/buildHeaders/jsonToSpirv.h
@@ -89,6 +89,13 @@ enum OperandClass {
OperandCount
};
+// For direct representation of the JSON grammar "instruction_printing_class".
+struct PrintingClass {
+ std::string tag;
+ std::string heading;
+};
+using PrintingClasses = std::vector<PrintingClass>;
+
// Any specific enum can have a set of capabilities that allow it:
typedef std::vector<std::string> EnumCaps;
@@ -238,10 +245,10 @@ public:
// per OperandParameters above.
class InstructionValue : public EnumValue {
public:
- InstructionValue(EnumValue&& e, bool has_type, bool has_result)
+ InstructionValue(EnumValue&& e, const std::string& printClass, bool has_type, bool has_result)
: EnumValue(std::move(e)),
+ printingClass(printClass),
opDesc("TBD"),
- opClass(0),
typePresent(has_type),
resultPresent(has_result),
alias(this) { }
@@ -257,8 +264,8 @@ public:
const InstructionValue& getAlias() const { return *alias; }
bool isAlias() const { return alias != this; }
+ std::string printingClass;
const char* opDesc;
- int opClass;
protected:
int typePresent : 1;
@@ -270,6 +277,7 @@ using InstructionValues = EnumValuesContainer<InstructionValue>;
// Parameterization info for all instructions.
extern InstructionValues InstructionDesc;
+extern PrintingClasses InstructionPrintingClasses;
// These hold definitions of the enumerants used for operands.
// This is indexed by OperandClass, but not including OperandOpcode.