blob: fcbe7140b32d03c4be1600acad0bb91a6a1f36c5 [file] [log] [blame]
diff --git a/BUILD.bazel b/BUILD.bazel
index c898ade..25634d9 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -81,6 +81,11 @@ filegroup(
srcs = ["include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json"],
)
+filegroup(
+ name = "spirv_ext_inst_nonsemantic_vkspreflection_grammar_unified1",
+ srcs = ["include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json"],
+)
+
filegroup(
name = "spirv_ext_inst_nonsemantic_debugprintf_grammar_unified1",
srcs = ["include/spirv/unified1/extinst.nonsemantic.debugprintf.grammar.json"],
@@ -128,6 +133,7 @@ cc_library(
"include/spirv/unified1/GLSL.std.450.h",
"include/spirv/unified1/NonSemanticClspvReflection.h",
"include/spirv/unified1/NonSemanticDebugPrintf.h",
+ "include/spirv/unified1/NonSemanticVkspReflection.h",
"include/spirv/unified1/OpenCL.std.h",
],
includes = ["include"],
diff --git a/BUILD.gn b/BUILD.gn
index be3f43b..c15c56e 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -35,6 +35,7 @@ source_set("spv_headers") {
"include/spirv/unified1/GLSL.std.450.h",
"include/spirv/unified1/NonSemanticClspvReflection.h",
"include/spirv/unified1/NonSemanticDebugPrintf.h",
+ "include/spirv/unified1/NonSemanticVkspReflection.h",
"include/spirv/unified1/OpenCL.std.h",
"include/spirv/unified1/spirv.h",
"include/spirv/unified1/spirv.hpp",
diff --git a/include/spirv/unified1/NonSemanticVkspReflection.h b/include/spirv/unified1/NonSemanticVkspReflection.h
new file mode 100644
index 0000000..7d73015
--- /dev/null
+++ b/include/spirv/unified1/NonSemanticVkspReflection.h
@@ -0,0 +1,57 @@
+// Copyright (c) 2020 The Khronos Group Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and/or associated documentation files (the
+// "Materials"), to deal in the Materials without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Materials, and to
+// permit persons to whom the Materials are furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Materials.
+//
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
+// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
+// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
+// https://www.khronos.org/registry/
+//
+// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+//
+
+#ifndef SPIRV_UNIFIED1_NonSemanticVkspReflection_H_
+#define SPIRV_UNIFIED1_NonSemanticVkspReflection_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum {
+ NonSemanticVkspReflectionRevision = 1,
+ NonSemanticVkspReflectionRevision_BitWidthPadding = 0x7fffffff
+};
+
+enum NonSemanticVkspReflectionInstructions {
+ NonSemanticVkspReflectionConfiguration = 1,
+ NonSemanticVkspReflectionStartCounter = 2,
+ NonSemanticVkspReflectionStopCounter = 3,
+ NonSemanticVkspReflectionPushConstants = 4,
+ NonSemanticVkspReflectionSpecializationMapEntry = 5,
+ NonSemanticVkspReflectionDescriptorSetsBuffer = 6,
+ NonSemanticVkspReflectionDescriptorSetsImage = 7,
+ NonSemanticVkspReflectionDescriptorSetsSampler = 8,
+ NonSemanticVkspReflectionInstructionsMax = 0x7fffffff
+};
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // SPIRV_UNIFIED1_NonSemanticVkspReflection_H_
diff --git a/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json b/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
new file mode 100644
index 0000000..bee1bea
--- /dev/null
+++ b/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
@@ -0,0 +1,135 @@
+{
+ "revision" : 1,
+ "instructions" : [
+ {
+ "opname" : "Configuration",
+ "opcode" : 1,
+ "operands" : [
+ {"kind" : "LiteralString", "name" : "enabledExtensionNames" },
+ {"kind" : "LiteralInteger", "name" : "specializationInfoDataSize" },
+ {"kind" : "LiteralString", "name" : "specializationInfoData" },
+ {"kind" : "LiteralString", "name" : "shaderName" },
+ {"kind" : "LiteralString", "name" : "EntryPoint" },
+ {"kind" : "LiteralInteger", "name" : "groupCountX" },
+ {"kind" : "LiteralInteger", "name" : "groupCountY" },
+ {"kind" : "LiteralInteger", "name" : "groupCountZ" }
+ ]
+ },
+ {
+ "opname" : "StartCounter",
+ "opcode" : 2,
+ "operands" : [
+ {"kind" : "LiteralString", "name" : "name" }
+ ]
+ },
+ {
+ "opname" : "StopCounter",
+ "opcode" : 3,
+ "operands" : [
+ {"kind" : "IdRef", "name" : "counter" }
+ ]
+ },
+ {
+ "opname" : "PushConstants",
+ "opcode" : 4,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "offset" },
+ { "kind" : "LiteralInteger", "name" : "size" },
+ { "kind" : "LiteralString", "name" : "pValues" },
+ { "kind" : "LiteralInteger", "name" : "stageFlags" }
+ ]
+ },
+ {
+ "opname" : "SpecializationMapEntry",
+ "opcode" : 5,
+ "operands" : [
+ {"kind" : "LiteralInteger", "name" : "constantID" },
+ {"kind" : "LiteralInteger", "name" : "offset" },
+ {"kind" : "LiteralInteger", "name" : "size" }
+ ]
+ },
+ {
+ "opname" : "DescriptorSetBuffer",
+ "opcode" : 6,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "ds" },
+ { "kind" : "LiteralInteger", "name" : "binding" },
+ { "kind" : "LiteralInteger", "name" : "type" },
+ { "kind" : "LiteralInteger", "name" : "flags" },
+ { "kind" : "LiteralInteger", "name" : "queueFamilyIndexCount" },
+ { "kind" : "LiteralInteger", "name" : "sharingMode" },
+ { "kind" : "LiteralInteger", "name" : "size" },
+ { "kind" : "LiteralInteger", "name" : "usage" },
+ { "kind" : "LiteralInteger", "name" : "range" },
+ { "kind" : "LiteralInteger", "name" : "offset" },
+ { "kind" : "LiteralInteger", "name" : "memorySize" },
+ { "kind" : "LiteralInteger", "name" : "memoryType" },
+ { "kind" : "LiteralInteger", "name" : "bindOffset" }
+ ]
+ },
+ {
+ "opname" : "DescriptorSetImage",
+ "opcode" : 7,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "ds" },
+ { "kind" : "LiteralInteger", "name" : "binding" },
+ { "kind" : "LiteralInteger", "name" : "type" },
+ { "kind" : "LiteralInteger", "name" : "imageLayout"},
+ { "kind" : "LiteralInteger", "name" : "imageFlags"},
+ { "kind" : "LiteralInteger", "name" : "imageType"},
+ { "kind" : "LiteralInteger", "name" : "imageformat"},
+ { "kind" : "LiteralInteger", "name" : "width"},
+ { "kind" : "LiteralInteger", "name" : "height"},
+ { "kind" : "LiteralInteger", "name" : "depth"},
+ { "kind" : "LiteralInteger", "name" : "mipLevels"},
+ { "kind" : "LiteralInteger", "name" : "arrayLayers"},
+ { "kind" : "LiteralInteger", "name" : "samples"},
+ { "kind" : "LiteralInteger", "name" : "tiling"},
+ { "kind" : "LiteralInteger", "name" : "usage"},
+ { "kind" : "LiteralInteger", "name" : "sharingMode"},
+ { "kind" : "LiteralInteger", "name" : "queueFamilyIndexCount"},
+ { "kind" : "LiteralInteger", "name" : "initialLayout"},
+ { "kind" : "LiteralInteger", "name" : "aspectMask"},
+ { "kind" : "LiteralInteger", "name" : "baseMipLevel"},
+ { "kind" : "LiteralInteger", "name" : "levelCount"},
+ { "kind" : "LiteralInteger", "name" : "baseArrayLayer"},
+ { "kind" : "LiteralInteger", "name" : "layerCount"},
+ { "kind" : "LiteralInteger", "name" : "viewFlags"},
+ { "kind" : "LiteralInteger", "name" : "viewType"},
+ { "kind" : "LiteralInteger", "name" : "viewFormat"},
+ { "kind" : "LiteralInteger", "name" : "component_a"},
+ { "kind" : "LiteralInteger", "name" : "component_b"},
+ { "kind" : "LiteralInteger", "name" : "component_g"},
+ { "kind" : "LiteralInteger", "name" : "component_r"},
+ { "kind" : "LiteralInteger", "name" : "memorySize" },
+ { "kind" : "LiteralInteger", "name" : "memoryType" },
+ { "kind" : "LiteralInteger", "name" : "bindOffset"}
+ ]
+ },
+ {
+ "opname" : "DescriptorSetSampler",
+ "opcode" : 8,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "ds" },
+ { "kind" : "LiteralInteger", "name" : "binding" },
+ { "kind" : "LiteralInteger", "name" : "type" },
+ { "kind" : "LiteralInteger", "name" : "flags"},
+ { "kind" : "LiteralInteger", "name" : "magFilter"},
+ { "kind" : "LiteralInteger", "name" : "minFilter"},
+ { "kind" : "LiteralInteger", "name" : "mipmapMode"},
+ { "kind" : "LiteralInteger", "name" : "addressModeU"},
+ { "kind" : "LiteralInteger", "name" : "addressModeV"},
+ { "kind" : "LiteralInteger", "name" : "addressModeW"},
+ { "kind" : "LiteralFloat", "name" : "mipLodBias"},
+ { "kind" : "LiteralInteger", "name" : "anisotropyEnable"},
+ { "kind" : "LiteralFloat", "name" : "maxAnisotropy"},
+ { "kind" : "LiteralInteger", "name" : "compareEnable"},
+ { "kind" : "LiteralInteger", "name" : "compareOp"},
+ { "kind" : "LiteralFloat", "name" : "minLod"},
+ { "kind" : "LiteralFloat", "name" : "maxLod"},
+ { "kind" : "LiteralInteger", "name" : "borderColor"},
+ { "kind" : "LiteralInteger", "name" : "unnormalizedCoordinates"}
+ ]
+ }
+ ]
+}
diff --git a/tools/buildHeaders/bin/makeExtinstHeaders.py b/tools/buildHeaders/bin/makeExtinstHeaders.py
index 8852d19..96ce008 100755
--- a/tools/buildHeaders/bin/makeExtinstHeaders.py
+++ b/tools/buildHeaders/bin/makeExtinstHeaders.py
@@ -27,3 +27,4 @@ mk_extinst('AMD_shader_trinary_minmax', 'extinst.spv-amd-shader-trinary-minmax.g
mk_extinst('NonSemanticDebugPrintf', 'extinst.nonsemantic.debugprintf.grammar.json')
mk_extinst('NonSemanticClspvReflection', 'extinst.nonsemantic.clspvreflection.grammar.json')
mk_extinst('NonSemanticDebugBreak', 'extinst.nonsemantic.debugbreak.grammar.json')
+mk_extinst('NonSemanticVkspReflection', 'extinst.nonsemantic.vkspreflection.grammar.json')