aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-04-28 20:21:45 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-04-28 20:21:45 +0000
commitae2aa8da0fcb76bcc9c717ebbcd1899b1f846922 (patch)
treeee23328ebf0a66b35bd49913b95cbffeb9c9d535
parent59d6b86c325f0d23c906273a5ee1168e96ca0df9 (diff)
parent93474b8b1e381924a3f35c047b911400bbe7d65a (diff)
downloadspirv-headers-android10-android13-mainline-tzdata-release.tar.gz
Change-Id: I88b66cfe93a56d3a2763f31d354cad4cad6c41ba
-rw-r--r--.gitignore1
-rw-r--r--CMakeLists.txt77
-rw-r--r--CODE_OF_CONDUCT.md1
-rw-r--r--OWNERS5
-rw-r--r--README.md10
-rw-r--r--cmake/Config.cmake.in4
-rw-r--r--include/spirv/1.0/spirv.cs993
-rw-r--r--include/spirv/1.1/spirv.cs1015
-rw-r--r--include/spirv/1.2/spirv.cs1021
-rwxr-xr-x[-rw-r--r--]include/spirv/1.2/spirv.py0
-rw-r--r--include/spirv/spir-v.xml34
-rw-r--r--include/spirv/unified1/OpenCL.std.h188
-rwxr-xr-x[-rw-r--r--]include/spirv/unified1/spirv.core.grammar.json2607
-rw-r--r--include/spirv/unified1/spirv.cs1393
-rw-r--r--include/spirv/unified1/spirv.h816
-rw-r--r--include/spirv/unified1/spirv.hpp814
-rw-r--r--include/spirv/unified1/spirv.hpp11814
-rw-r--r--include/spirv/unified1/spirv.json289
-rw-r--r--include/spirv/unified1/spirv.lua281
-rwxr-xr-x[-rw-r--r--]include/spirv/unified1/spirv.py281
-rw-r--r--include/spirv/unified1/spv.d1395
-rwxr-xr-x[-rw-r--r--]tools/buildHeaders/CMakeLists.txt0
-rwxr-xr-xtools/buildHeaders/bin/makeHeaders2
-rwxr-xr-x[-rw-r--r--]tools/buildHeaders/header.cpp170
-rwxr-xr-x[-rw-r--r--]tools/buildHeaders/header.h14
-rwxr-xr-x[-rw-r--r--]tools/buildHeaders/jsonToSpirv.cpp33
-rwxr-xr-x[-rw-r--r--]tools/buildHeaders/jsonToSpirv.h36
-rwxr-xr-x[-rw-r--r--]tools/buildHeaders/main.cpp20
28 files changed, 470 insertions, 11844 deletions
diff --git a/.gitignore b/.gitignore
index f33592c..9bcdd5a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,2 @@
build
out
-.DS_Store
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fd0196..2488baf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,8 +28,8 @@
# The SPIR-V headers from the SPIR-V Registry
# https://www.khronos.org/registry/spir-v/
#
-cmake_minimum_required(VERSION 3.0)
-project(SPIRV-Headers VERSION 1.4.1)
+cmake_minimum_required(VERSION 2.8.11)
+project(SPIRV-Headers)
# There are two ways to use this project.
#
@@ -44,72 +44,17 @@ project(SPIRV-Headers VERSION 1.4.1)
# 2. cmake ..
# 3. cmake --build . --target install
+file(GLOB_RECURSE HEADER_FILES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ include/spirv/*)
+foreach(HEADER_FILE ${HEADER_FILES})
+ get_filename_component(HEADER_INSTALL_DIR ${HEADER_FILE} PATH)
+ install(FILES ${HEADER_FILE} DESTINATION ${HEADER_INSTALL_DIR})
+endforeach()
+
# legacy
add_custom_target(install-headers
COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv
$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/include/spirv)
-option(SPIRV_HEADERS_SKIP_EXAMPLES "Skip building examples"
- ${SPIRV_HEADERS_SKIP_EXAMPLES})
-if(NOT ${SPIRV_HEADERS_SKIP_EXAMPLES})
- set(SPIRV_HEADERS_ENABLE_EXAMPLES ON)
-endif()
-if (SPIRV_HEADERS_ENABLE_EXAMPLES)
- message(STATUS "Building SPIRV-Header examples")
- add_subdirectory(example)
-endif()
-
-include(GNUInstallDirs)
-add_library(${PROJECT_NAME} INTERFACE)
-target_include_directories(${PROJECT_NAME} INTERFACE
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-)
-
-# Installation
-
-set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
-
-set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-
-set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
-set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
-set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
-set(namespace "${PROJECT_NAME}::")
-
-include(CMakePackageConfigHelpers)
-write_basic_package_version_file(
- "${version_config}"
- COMPATIBILITY SameMajorVersion
-)
-
-configure_package_config_file(
- "cmake/Config.cmake.in"
- "${project_config}"
- INSTALL_DESTINATION "${config_install_dir}"
-)
-
-install(
- TARGETS ${PROJECT_NAME}
- EXPORT "${TARGETS_EXPORT_NAME}"
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-)
-
-install(
- DIRECTORY include/spirv
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-)
-
-install(
- FILES "${project_config}" "${version_config}"
- DESTINATION "${config_install_dir}"
-)
-
-install(
- EXPORT "${TARGETS_EXPORT_NAME}"
- NAMESPACE "${namespace}"
- DESTINATION "${config_install_dir}"
-)
-
+add_subdirectory(example)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index a11610b..0000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1 +0,0 @@
-A reminder that this issue tracker is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct (https://www.khronos.org/developers/code-of-conduct), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil.
diff --git a/OWNERS b/OWNERS
index ddcceee..33f4446 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,2 +1,3 @@
-dneto@google.com
-jessehall@google.com
+# Default code reviewers picked from top 3 or more developers.
+# Please update this list if you find better candidates.
+include platform/frameworks/rs:/OWNERS
diff --git a/README.md b/README.md
index beb1b7e..846b20d 100644
--- a/README.md
+++ b/README.md
@@ -25,18 +25,10 @@ the files under [include](include).
The SPIR-V XML registry file is updated by Khronos whenever a new enum range is allocated.
-Pull requests can be made to
+Pull requests can be made to
- request allocation of new enum ranges in the XML registry file
- reserve specific tokens in the JSON grammar
-### Reserving tokens in the JSON grammar
-
-Care should be taken to follow existing precedent in populating the details of reserved tokens. This includes:
-- pointing to what extension has more information, when possible
-- keeping enumerants in numeric order
-- when there are aliases, listing the preferred spelling first
-- adding the statement `"version" : "None"`
-
## How to install the headers
```
diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
deleted file mode 100644
index 38bbde7..0000000
--- a/cmake/Config.cmake.in
+++ /dev/null
@@ -1,4 +0,0 @@
-@PACKAGE_INIT@
-
-include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
-check_required_components("@PROJECT_NAME@")
diff --git a/include/spirv/1.0/spirv.cs b/include/spirv/1.0/spirv.cs
deleted file mode 100644
index de325cc..0000000
--- a/include/spirv/1.0/spirv.cs
+++ /dev/null
@@ -1,993 +0,0 @@
-// Copyright (c) 2014-2018 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.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#
-//
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace, e.g.: Spv.Specification.SourceLanguage.GLSL
-//
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive. The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-namespace Spv
-{
-
- public static class Specification
- {
- public const uint MagicNumber = 0x07230203;
- public const uint Version = 0x00010000;
- public const uint Revision = 12;
- public const uint OpCodeMask = 0xffff;
- public const uint WordCountShift = 16;
-
- public enum SourceLanguage
- {
- Unknown = 0,
- ESSL = 1,
- GLSL = 2,
- OpenCL_C = 3,
- OpenCL_CPP = 4,
- HLSL = 5,
- }
-
- public enum ExecutionModel
- {
- Vertex = 0,
- TessellationControl = 1,
- TessellationEvaluation = 2,
- Geometry = 3,
- Fragment = 4,
- GLCompute = 5,
- Kernel = 6,
- }
-
- public enum AddressingModel
- {
- Logical = 0,
- Physical32 = 1,
- Physical64 = 2,
- }
-
- public enum MemoryModel
- {
- Simple = 0,
- GLSL450 = 1,
- OpenCL = 2,
- }
-
- public enum ExecutionMode
- {
- Invocations = 0,
- SpacingEqual = 1,
- SpacingFractionalEven = 2,
- SpacingFractionalOdd = 3,
- VertexOrderCw = 4,
- VertexOrderCcw = 5,
- PixelCenterInteger = 6,
- OriginUpperLeft = 7,
- OriginLowerLeft = 8,
- EarlyFragmentTests = 9,
- PointMode = 10,
- Xfb = 11,
- DepthReplacing = 12,
- DepthGreater = 14,
- DepthLess = 15,
- DepthUnchanged = 16,
- LocalSize = 17,
- LocalSizeHint = 18,
- InputPoints = 19,
- InputLines = 20,
- InputLinesAdjacency = 21,
- Triangles = 22,
- InputTrianglesAdjacency = 23,
- Quads = 24,
- Isolines = 25,
- OutputVertices = 26,
- OutputPoints = 27,
- OutputLineStrip = 28,
- OutputTriangleStrip = 29,
- VecTypeHint = 30,
- ContractionOff = 31,
- PostDepthCoverage = 4446,
- StencilRefReplacingEXT = 5027,
- }
-
- public enum StorageClass
- {
- UniformConstant = 0,
- Input = 1,
- Uniform = 2,
- Output = 3,
- Workgroup = 4,
- CrossWorkgroup = 5,
- Private = 6,
- Function = 7,
- Generic = 8,
- PushConstant = 9,
- AtomicCounter = 10,
- Image = 11,
- StorageBuffer = 12,
- }
-
- public enum Dim
- {
- Dim1D = 0,
- Dim2D = 1,
- Dim3D = 2,
- Cube = 3,
- Rect = 4,
- Buffer = 5,
- SubpassData = 6,
- }
-
- public enum SamplerAddressingMode
- {
- None = 0,
- ClampToEdge = 1,
- Clamp = 2,
- Repeat = 3,
- RepeatMirrored = 4,
- }
-
- public enum SamplerFilterMode
- {
- Nearest = 0,
- Linear = 1,
- }
-
- public enum ImageFormat
- {
- Unknown = 0,
- Rgba32f = 1,
- Rgba16f = 2,
- R32f = 3,
- Rgba8 = 4,
- Rgba8Snorm = 5,
- Rg32f = 6,
- Rg16f = 7,
- R11fG11fB10f = 8,
- R16f = 9,
- Rgba16 = 10,
- Rgb10A2 = 11,
- Rg16 = 12,
- Rg8 = 13,
- R16 = 14,
- R8 = 15,
- Rgba16Snorm = 16,
- Rg16Snorm = 17,
- Rg8Snorm = 18,
- R16Snorm = 19,
- R8Snorm = 20,
- Rgba32i = 21,
- Rgba16i = 22,
- Rgba8i = 23,
- R32i = 24,
- Rg32i = 25,
- Rg16i = 26,
- Rg8i = 27,
- R16i = 28,
- R8i = 29,
- Rgba32ui = 30,
- Rgba16ui = 31,
- Rgba8ui = 32,
- R32ui = 33,
- Rgb10a2ui = 34,
- Rg32ui = 35,
- Rg16ui = 36,
- Rg8ui = 37,
- R16ui = 38,
- R8ui = 39,
- }
-
- public enum ImageChannelOrder
- {
- R = 0,
- A = 1,
- RG = 2,
- RA = 3,
- RGB = 4,
- RGBA = 5,
- BGRA = 6,
- ARGB = 7,
- Intensity = 8,
- Luminance = 9,
- Rx = 10,
- RGx = 11,
- RGBx = 12,
- Depth = 13,
- DepthStencil = 14,
- sRGB = 15,
- sRGBx = 16,
- sRGBA = 17,
- sBGRA = 18,
- ABGR = 19,
- }
-
- public enum ImageChannelDataType
- {
- SnormInt8 = 0,
- SnormInt16 = 1,
- UnormInt8 = 2,
- UnormInt16 = 3,
- UnormShort565 = 4,
- UnormShort555 = 5,
- UnormInt101010 = 6,
- SignedInt8 = 7,
- SignedInt16 = 8,
- SignedInt32 = 9,
- UnsignedInt8 = 10,
- UnsignedInt16 = 11,
- UnsignedInt32 = 12,
- HalfFloat = 13,
- Float = 14,
- UnormInt24 = 15,
- UnormInt101010_2 = 16,
- }
-
- public enum ImageOperandsShift
- {
- Bias = 0,
- Lod = 1,
- Grad = 2,
- ConstOffset = 3,
- Offset = 4,
- ConstOffsets = 5,
- Sample = 6,
- MinLod = 7,
- }
-
- public enum ImageOperandsMask
- {
- MaskNone = 0,
- Bias = 0x00000001,
- Lod = 0x00000002,
- Grad = 0x00000004,
- ConstOffset = 0x00000008,
- Offset = 0x00000010,
- ConstOffsets = 0x00000020,
- Sample = 0x00000040,
- MinLod = 0x00000080,
- }
-
- public enum FPFastMathModeShift
- {
- NotNaN = 0,
- NotInf = 1,
- NSZ = 2,
- AllowRecip = 3,
- Fast = 4,
- }
-
- public enum FPFastMathModeMask
- {
- MaskNone = 0,
- NotNaN = 0x00000001,
- NotInf = 0x00000002,
- NSZ = 0x00000004,
- AllowRecip = 0x00000008,
- Fast = 0x00000010,
- }
-
- public enum FPRoundingMode
- {
- RTE = 0,
- RTZ = 1,
- RTP = 2,
- RTN = 3,
- }
-
- public enum LinkageType
- {
- Export = 0,
- Import = 1,
- }
-
- public enum AccessQualifier
- {
- ReadOnly = 0,
- WriteOnly = 1,
- ReadWrite = 2,
- }
-
- public enum FunctionParameterAttribute
- {
- Zext = 0,
- Sext = 1,
- ByVal = 2,
- Sret = 3,
- NoAlias = 4,
- NoCapture = 5,
- NoWrite = 6,
- NoReadWrite = 7,
- }
-
- public enum Decoration
- {
- RelaxedPrecision = 0,
- SpecId = 1,
- Block = 2,
- BufferBlock = 3,
- RowMajor = 4,
- ColMajor = 5,
- ArrayStride = 6,
- MatrixStride = 7,
- GLSLShared = 8,
- GLSLPacked = 9,
- CPacked = 10,
- BuiltIn = 11,
- NoPerspective = 13,
- Flat = 14,
- Patch = 15,
- Centroid = 16,
- Sample = 17,
- Invariant = 18,
- Restrict = 19,
- Aliased = 20,
- Volatile = 21,
- Constant = 22,
- Coherent = 23,
- NonWritable = 24,
- NonReadable = 25,
- Uniform = 26,
- SaturatedConversion = 28,
- Stream = 29,
- Location = 30,
- Component = 31,
- Index = 32,
- Binding = 33,
- DescriptorSet = 34,
- Offset = 35,
- XfbBuffer = 36,
- XfbStride = 37,
- FuncParamAttr = 38,
- FPRoundingMode = 39,
- FPFastMathMode = 40,
- LinkageAttributes = 41,
- NoContraction = 42,
- InputAttachmentIndex = 43,
- Alignment = 44,
- ExplicitInterpAMD = 4999,
- OverrideCoverageNV = 5248,
- PassthroughNV = 5250,
- ViewportRelativeNV = 5252,
- SecondaryViewportRelativeNV = 5256,
- HlslCounterBufferGOOGLE = 5634,
- HlslSemanticGOOGLE = 5635,
- }
-
- public enum BuiltIn
- {
- Position = 0,
- PointSize = 1,
- ClipDistance = 3,
- CullDistance = 4,
- VertexId = 5,
- InstanceId = 6,
- PrimitiveId = 7,
- InvocationId = 8,
- Layer = 9,
- ViewportIndex = 10,
- TessLevelOuter = 11,
- TessLevelInner = 12,
- TessCoord = 13,
- PatchVertices = 14,
- FragCoord = 15,
- PointCoord = 16,
- FrontFacing = 17,
- SampleId = 18,
- SamplePosition = 19,
- SampleMask = 20,
- FragDepth = 22,
- HelperInvocation = 23,
- NumWorkgroups = 24,
- WorkgroupSize = 25,
- WorkgroupId = 26,
- LocalInvocationId = 27,
- GlobalInvocationId = 28,
- LocalInvocationIndex = 29,
- WorkDim = 30,
- GlobalSize = 31,
- EnqueuedWorkgroupSize = 32,
- GlobalOffset = 33,
- GlobalLinearId = 34,
- SubgroupSize = 36,
- SubgroupMaxSize = 37,
- NumSubgroups = 38,
- NumEnqueuedSubgroups = 39,
- SubgroupId = 40,
- SubgroupLocalInvocationId = 41,
- VertexIndex = 42,
- InstanceIndex = 43,
- SubgroupEqMaskKHR = 4416,
- SubgroupGeMaskKHR = 4417,
- SubgroupGtMaskKHR = 4418,
- SubgroupLeMaskKHR = 4419,
- SubgroupLtMaskKHR = 4420,
- BaseVertex = 4424,
- BaseInstance = 4425,
- DrawIndex = 4426,
- DeviceIndex = 4438,
- ViewIndex = 4440,
- BaryCoordNoPerspAMD = 4992,
- BaryCoordNoPerspCentroidAMD = 4993,
- BaryCoordNoPerspSampleAMD = 4994,
- BaryCoordSmoothAMD = 4995,
- BaryCoordSmoothCentroidAMD = 4996,
- BaryCoordSmoothSampleAMD = 4997,
- BaryCoordPullModelAMD = 4998,
- FragStencilRefEXT = 5014,
- ViewportMaskNV = 5253,
- SecondaryPositionNV = 5257,
- SecondaryViewportMaskNV = 5258,
- PositionPerViewNV = 5261,
- ViewportMaskPerViewNV = 5262,
- }
-
- public enum SelectionControlShift
- {
- Flatten = 0,
- DontFlatten = 1,
- }
-
- public enum SelectionControlMask
- {
- MaskNone = 0,
- Flatten = 0x00000001,
- DontFlatten = 0x00000002,
- }
-
- public enum LoopControlShift
- {
- Unroll = 0,
- DontUnroll = 1,
- }
-
- public enum LoopControlMask
- {
- MaskNone = 0,
- Unroll = 0x00000001,
- DontUnroll = 0x00000002,
- }
-
- public enum FunctionControlShift
- {
- Inline = 0,
- DontInline = 1,
- Pure = 2,
- Const = 3,
- }
-
- public enum FunctionControlMask
- {
- MaskNone = 0,
- Inline = 0x00000001,
- DontInline = 0x00000002,
- Pure = 0x00000004,
- Const = 0x00000008,
- }
-
- public enum MemorySemanticsShift
- {
- Acquire = 1,
- Release = 2,
- AcquireRelease = 3,
- SequentiallyConsistent = 4,
- UniformMemory = 6,
- SubgroupMemory = 7,
- WorkgroupMemory = 8,
- CrossWorkgroupMemory = 9,
- AtomicCounterMemory = 10,
- ImageMemory = 11,
- }
-
- public enum MemorySemanticsMask
- {
- MaskNone = 0,
- Acquire = 0x00000002,
- Release = 0x00000004,
- AcquireRelease = 0x00000008,
- SequentiallyConsistent = 0x00000010,
- UniformMemory = 0x00000040,
- SubgroupMemory = 0x00000080,
- WorkgroupMemory = 0x00000100,
- CrossWorkgroupMemory = 0x00000200,
- AtomicCounterMemory = 0x00000400,
- ImageMemory = 0x00000800,
- }
-
- public enum MemoryAccessShift
- {
- Volatile = 0,
- Aligned = 1,
- Nontemporal = 2,
- }
-
- public enum MemoryAccessMask
- {
- MaskNone = 0,
- Volatile = 0x00000001,
- Aligned = 0x00000002,
- Nontemporal = 0x00000004,
- }
-
- public enum Scope
- {
- CrossDevice = 0,
- Device = 1,
- Workgroup = 2,
- Subgroup = 3,
- Invocation = 4,
- }
-
- public enum GroupOperation
- {
- Reduce = 0,
- InclusiveScan = 1,
- ExclusiveScan = 2,
- }
-
- public enum KernelEnqueueFlags
- {
- NoWait = 0,
- WaitKernel = 1,
- WaitWorkGroup = 2,
- }
-
- public enum KernelProfilingInfoShift
- {
- CmdExecTime = 0,
- }
-
- public enum KernelProfilingInfoMask
- {
- MaskNone = 0,
- CmdExecTime = 0x00000001,
- }
-
- public enum Capability
- {
- Matrix = 0,
- Shader = 1,
- Geometry = 2,
- Tessellation = 3,
- Addresses = 4,
- Linkage = 5,
- Kernel = 6,
- Vector16 = 7,
- Float16Buffer = 8,
- Float16 = 9,
- Float64 = 10,
- Int64 = 11,
- Int64Atomics = 12,
- ImageBasic = 13,
- ImageReadWrite = 14,
- ImageMipmap = 15,
- Pipes = 17,
- Groups = 18,
- DeviceEnqueue = 19,
- LiteralSampler = 20,
- AtomicStorage = 21,
- Int16 = 22,
- TessellationPointSize = 23,
- GeometryPointSize = 24,
- ImageGatherExtended = 25,
- StorageImageMultisample = 27,
- UniformBufferArrayDynamicIndexing = 28,
- SampledImageArrayDynamicIndexing = 29,
- StorageBufferArrayDynamicIndexing = 30,
- StorageImageArrayDynamicIndexing = 31,
- ClipDistance = 32,
- CullDistance = 33,
- ImageCubeArray = 34,
- SampleRateShading = 35,
- ImageRect = 36,
- SampledRect = 37,
- GenericPointer = 38,
- Int8 = 39,
- InputAttachment = 40,
- SparseResidency = 41,
- MinLod = 42,
- Sampled1D = 43,
- Image1D = 44,
- SampledCubeArray = 45,
- SampledBuffer = 46,
- ImageBuffer = 47,
- ImageMSArray = 48,
- StorageImageExtendedFormats = 49,
- ImageQuery = 50,
- DerivativeControl = 51,
- InterpolationFunction = 52,
- TransformFeedback = 53,
- GeometryStreams = 54,
- StorageImageReadWithoutFormat = 55,
- StorageImageWriteWithoutFormat = 56,
- MultiViewport = 57,
- SubgroupBallotKHR = 4423,
- DrawParameters = 4427,
- SubgroupVoteKHR = 4431,
- StorageBuffer16BitAccess = 4433,
- StorageUniformBufferBlock16 = 4433,
- StorageUniform16 = 4434,
- UniformAndStorageBuffer16BitAccess = 4434,
- StoragePushConstant16 = 4435,
- StorageInputOutput16 = 4436,
- DeviceGroup = 4437,
- MultiView = 4439,
- VariablePointersStorageBuffer = 4441,
- VariablePointers = 4442,
- AtomicStorageOps = 4445,
- SampleMaskPostDepthCoverage = 4447,
- ImageGatherBiasLodAMD = 5009,
- FragmentMaskAMD = 5010,
- StencilExportEXT = 5013,
- ImageReadWriteLodAMD = 5015,
- SampleMaskOverrideCoverageNV = 5249,
- GeometryShaderPassthroughNV = 5251,
- ShaderViewportIndexLayerEXT = 5254,
- ShaderViewportIndexLayerNV = 5254,
- ShaderViewportMaskNV = 5255,
- ShaderStereoViewNV = 5259,
- PerViewAttributesNV = 5260,
- SubgroupShuffleINTEL = 5568,
- SubgroupBufferBlockIOINTEL = 5569,
- SubgroupImageBlockIOINTEL = 5570,
- }
-
- public enum Op
- {
- OpNop = 0,
- OpUndef = 1,
- OpSourceContinued = 2,
- OpSource = 3,
- OpSourceExtension = 4,
- OpName = 5,
- OpMemberName = 6,
- OpString = 7,
- OpLine = 8,
- OpExtension = 10,
- OpExtInstImport = 11,
- OpExtInst = 12,
- OpMemoryModel = 14,
- OpEntryPoint = 15,
- OpExecutionMode = 16,
- OpCapability = 17,
- OpTypeVoid = 19,
- OpTypeBool = 20,
- OpTypeInt = 21,
- OpTypeFloat = 22,
- OpTypeVector = 23,
- OpTypeMatrix = 24,
- OpTypeImage = 25,
- OpTypeSampler = 26,
- OpTypeSampledImage = 27,
- OpTypeArray = 28,
- OpTypeRuntimeArray = 29,
- OpTypeStruct = 30,
- OpTypeOpaque = 31,
- OpTypePointer = 32,
- OpTypeFunction = 33,
- OpTypeEvent = 34,
- OpTypeDeviceEvent = 35,
- OpTypeReserveId = 36,
- OpTypeQueue = 37,
- OpTypePipe = 38,
- OpTypeForwardPointer = 39,
- OpConstantTrue = 41,
- OpConstantFalse = 42,
- OpConstant = 43,
- OpConstantComposite = 44,
- OpConstantSampler = 45,
- OpConstantNull = 46,
- OpSpecConstantTrue = 48,
- OpSpecConstantFalse = 49,
- OpSpecConstant = 50,
- OpSpecConstantComposite = 51,
- OpSpecConstantOp = 52,
- OpFunction = 54,
- OpFunctionParameter = 55,
- OpFunctionEnd = 56,
- OpFunctionCall = 57,
- OpVariable = 59,
- OpImageTexelPointer = 60,
- OpLoad = 61,
- OpStore = 62,
- OpCopyMemory = 63,
- OpCopyMemorySized = 64,
- OpAccessChain = 65,
- OpInBoundsAccessChain = 66,
- OpPtrAccessChain = 67,
- OpArrayLength = 68,
- OpGenericPtrMemSemantics = 69,
- OpInBoundsPtrAccessChain = 70,
- OpDecorate = 71,
- OpMemberDecorate = 72,
- OpDecorationGroup = 73,
- OpGroupDecorate = 74,
- OpGroupMemberDecorate = 75,
- OpVectorExtractDynamic = 77,
- OpVectorInsertDynamic = 78,
- OpVectorShuffle = 79,
- OpCompositeConstruct = 80,
- OpCompositeExtract = 81,
- OpCompositeInsert = 82,
- OpCopyObject = 83,
- OpTranspose = 84,
- OpSampledImage = 86,
- OpImageSampleImplicitLod = 87,
- OpImageSampleExplicitLod = 88,
- OpImageSampleDrefImplicitLod = 89,
- OpImageSampleDrefExplicitLod = 90,
- OpImageSampleProjImplicitLod = 91,
- OpImageSampleProjExplicitLod = 92,
- OpImageSampleProjDrefImplicitLod = 93,
- OpImageSampleProjDrefExplicitLod = 94,
- OpImageFetch = 95,
- OpImageGather = 96,
- OpImageDrefGather = 97,
- OpImageRead = 98,
- OpImageWrite = 99,
- OpImage = 100,
- OpImageQueryFormat = 101,
- OpImageQueryOrder = 102,
- OpImageQuerySizeLod = 103,
- OpImageQuerySize = 104,
- OpImageQueryLod = 105,
- OpImageQueryLevels = 106,
- OpImageQuerySamples = 107,
- OpConvertFToU = 109,
- OpConvertFToS = 110,
- OpConvertSToF = 111,
- OpConvertUToF = 112,
- OpUConvert = 113,
- OpSConvert = 114,
- OpFConvert = 115,
- OpQuantizeToF16 = 116,
- OpConvertPtrToU = 117,
- OpSatConvertSToU = 118,
- OpSatConvertUToS = 119,
- OpConvertUToPtr = 120,
- OpPtrCastToGeneric = 121,
- OpGenericCastToPtr = 122,
- OpGenericCastToPtrExplicit = 123,
- OpBitcast = 124,
- OpSNegate = 126,
- OpFNegate = 127,
- OpIAdd = 128,
- OpFAdd = 129,
- OpISub = 130,
- OpFSub = 131,
- OpIMul = 132,
- OpFMul = 133,
- OpUDiv = 134,
- OpSDiv = 135,
- OpFDiv = 136,
- OpUMod = 137,
- OpSRem = 138,
- OpSMod = 139,
- OpFRem = 140,
- OpFMod = 141,
- OpVectorTimesScalar = 142,
- OpMatrixTimesScalar = 143,
- OpVectorTimesMatrix = 144,
- OpMatrixTimesVector = 145,
- OpMatrixTimesMatrix = 146,
- OpOuterProduct = 147,
- OpDot = 148,
- OpIAddCarry = 149,
- OpISubBorrow = 150,
- OpUMulExtended = 151,
- OpSMulExtended = 152,
- OpAny = 154,
- OpAll = 155,
- OpIsNan = 156,
- OpIsInf = 157,
- OpIsFinite = 158,
- OpIsNormal = 159,
- OpSignBitSet = 160,
- OpLessOrGreater = 161,
- OpOrdered = 162,
- OpUnordered = 163,
- OpLogicalEqual = 164,
- OpLogicalNotEqual = 165,
- OpLogicalOr = 166,
- OpLogicalAnd = 167,
- OpLogicalNot = 168,
- OpSelect = 169,
- OpIEqual = 170,
- OpINotEqual = 171,
- OpUGreaterThan = 172,
- OpSGreaterThan = 173,
- OpUGreaterThanEqual = 174,
- OpSGreaterThanEqual = 175,
- OpULessThan = 176,
- OpSLessThan = 177,
- OpULessThanEqual = 178,
- OpSLessThanEqual = 179,
- OpFOrdEqual = 180,
- OpFUnordEqual = 181,
- OpFOrdNotEqual = 182,
- OpFUnordNotEqual = 183,
- OpFOrdLessThan = 184,
- OpFUnordLessThan = 185,
- OpFOrdGreaterThan = 186,
- OpFUnordGreaterThan = 187,
- OpFOrdLessThanEqual = 188,
- OpFUnordLessThanEqual = 189,
- OpFOrdGreaterThanEqual = 190,
- OpFUnordGreaterThanEqual = 191,
- OpShiftRightLogical = 194,
- OpShiftRightArithmetic = 195,
- OpShiftLeftLogical = 196,
- OpBitwiseOr = 197,
- OpBitwiseXor = 198,
- OpBitwiseAnd = 199,
- OpNot = 200,
- OpBitFieldInsert = 201,
- OpBitFieldSExtract = 202,
- OpBitFieldUExtract = 203,
- OpBitReverse = 204,
- OpBitCount = 205,
- OpDPdx = 207,
- OpDPdy = 208,
- OpFwidth = 209,
- OpDPdxFine = 210,
- OpDPdyFine = 211,
- OpFwidthFine = 212,
- OpDPdxCoarse = 213,
- OpDPdyCoarse = 214,
- OpFwidthCoarse = 215,
- OpEmitVertex = 218,
- OpEndPrimitive = 219,
- OpEmitStreamVertex = 220,
- OpEndStreamPrimitive = 221,
- OpControlBarrier = 224,
- OpMemoryBarrier = 225,
- OpAtomicLoad = 227,
- OpAtomicStore = 228,
- OpAtomicExchange = 229,
- OpAtomicCompareExchange = 230,
- OpAtomicCompareExchangeWeak = 231,
- OpAtomicIIncrement = 232,
- OpAtomicIDecrement = 233,
- OpAtomicIAdd = 234,
- OpAtomicISub = 235,
- OpAtomicSMin = 236,
- OpAtomicUMin = 237,
- OpAtomicSMax = 238,
- OpAtomicUMax = 239,
- OpAtomicAnd = 240,
- OpAtomicOr = 241,
- OpAtomicXor = 242,
- OpPhi = 245,
- OpLoopMerge = 246,
- OpSelectionMerge = 247,
- OpLabel = 248,
- OpBranch = 249,
- OpBranchConditional = 250,
- OpSwitch = 251,
- OpKill = 252,
- OpReturn = 253,
- OpReturnValue = 254,
- OpUnreachable = 255,
- OpLifetimeStart = 256,
- OpLifetimeStop = 257,
- OpGroupAsyncCopy = 259,
- OpGroupWaitEvents = 260,
- OpGroupAll = 261,
- OpGroupAny = 262,
- OpGroupBroadcast = 263,
- OpGroupIAdd = 264,
- OpGroupFAdd = 265,
- OpGroupFMin = 266,
- OpGroupUMin = 267,
- OpGroupSMin = 268,
- OpGroupFMax = 269,
- OpGroupUMax = 270,
- OpGroupSMax = 271,
- OpReadPipe = 274,
- OpWritePipe = 275,
- OpReservedReadPipe = 276,
- OpReservedWritePipe = 277,
- OpReserveReadPipePackets = 278,
- OpReserveWritePipePackets = 279,
- OpCommitReadPipe = 280,
- OpCommitWritePipe = 281,
- OpIsValidReserveId = 282,
- OpGetNumPipePackets = 283,
- OpGetMaxPipePackets = 284,
- OpGroupReserveReadPipePackets = 285,
- OpGroupReserveWritePipePackets = 286,
- OpGroupCommitReadPipe = 287,
- OpGroupCommitWritePipe = 288,
- OpEnqueueMarker = 291,
- OpEnqueueKernel = 292,
- OpGetKernelNDrangeSubGroupCount = 293,
- OpGetKernelNDrangeMaxSubGroupSize = 294,
- OpGetKernelWorkGroupSize = 295,
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,
- OpRetainEvent = 297,
- OpReleaseEvent = 298,
- OpCreateUserEvent = 299,
- OpIsValidEvent = 300,
- OpSetUserEventStatus = 301,
- OpCaptureEventProfilingInfo = 302,
- OpGetDefaultQueue = 303,
- OpBuildNDRange = 304,
- OpImageSparseSampleImplicitLod = 305,
- OpImageSparseSampleExplicitLod = 306,
- OpImageSparseSampleDrefImplicitLod = 307,
- OpImageSparseSampleDrefExplicitLod = 308,
- OpImageSparseSampleProjImplicitLod = 309,
- OpImageSparseSampleProjExplicitLod = 310,
- OpImageSparseSampleProjDrefImplicitLod = 311,
- OpImageSparseSampleProjDrefExplicitLod = 312,
- OpImageSparseFetch = 313,
- OpImageSparseGather = 314,
- OpImageSparseDrefGather = 315,
- OpImageSparseTexelsResident = 316,
- OpNoLine = 317,
- OpAtomicFlagTestAndSet = 318,
- OpAtomicFlagClear = 319,
- OpImageSparseRead = 320,
- OpDecorateId = 332,
- OpSubgroupBallotKHR = 4421,
- OpSubgroupFirstInvocationKHR = 4422,
- OpSubgroupAllKHR = 4428,
- OpSubgroupAnyKHR = 4429,
- OpSubgroupAllEqualKHR = 4430,
- OpSubgroupReadInvocationKHR = 4432,
- OpGroupIAddNonUniformAMD = 5000,
- OpGroupFAddNonUniformAMD = 5001,
- OpGroupFMinNonUniformAMD = 5002,
- OpGroupUMinNonUniformAMD = 5003,
- OpGroupSMinNonUniformAMD = 5004,
- OpGroupFMaxNonUniformAMD = 5005,
- OpGroupUMaxNonUniformAMD = 5006,
- OpGroupSMaxNonUniformAMD = 5007,
- OpFragmentMaskFetchAMD = 5011,
- OpFragmentFetchAMD = 5012,
- OpSubgroupShuffleINTEL = 5571,
- OpSubgroupShuffleDownINTEL = 5572,
- OpSubgroupShuffleUpINTEL = 5573,
- OpSubgroupShuffleXorINTEL = 5574,
- OpSubgroupBlockReadINTEL = 5575,
- OpSubgroupBlockWriteINTEL = 5576,
- OpSubgroupImageBlockReadINTEL = 5577,
- OpSubgroupImageBlockWriteINTEL = 5578,
- OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateStringGOOGLE = 5633,
- }
- }
-}
-
diff --git a/include/spirv/1.1/spirv.cs b/include/spirv/1.1/spirv.cs
deleted file mode 100644
index 99194e5..0000000
--- a/include/spirv/1.1/spirv.cs
+++ /dev/null
@@ -1,1015 +0,0 @@
-// Copyright (c) 2014-2018 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.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#
-//
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace, e.g.: Spv.Specification.SourceLanguage.GLSL
-//
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive. The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-namespace Spv
-{
-
- public static class Specification
- {
- public const uint MagicNumber = 0x07230203;
- public const uint Version = 0x00010100;
- public const uint Revision = 8;
- public const uint OpCodeMask = 0xffff;
- public const uint WordCountShift = 16;
-
- public enum SourceLanguage
- {
- Unknown = 0,
- ESSL = 1,
- GLSL = 2,
- OpenCL_C = 3,
- OpenCL_CPP = 4,
- HLSL = 5,
- }
-
- public enum ExecutionModel
- {
- Vertex = 0,
- TessellationControl = 1,
- TessellationEvaluation = 2,
- Geometry = 3,
- Fragment = 4,
- GLCompute = 5,
- Kernel = 6,
- }
-
- public enum AddressingModel
- {
- Logical = 0,
- Physical32 = 1,
- Physical64 = 2,
- }
-
- public enum MemoryModel
- {
- Simple = 0,
- GLSL450 = 1,
- OpenCL = 2,
- }
-
- public enum ExecutionMode
- {
- Invocations = 0,
- SpacingEqual = 1,
- SpacingFractionalEven = 2,
- SpacingFractionalOdd = 3,
- VertexOrderCw = 4,
- VertexOrderCcw = 5,
- PixelCenterInteger = 6,
- OriginUpperLeft = 7,
- OriginLowerLeft = 8,
- EarlyFragmentTests = 9,
- PointMode = 10,
- Xfb = 11,
- DepthReplacing = 12,
- DepthGreater = 14,
- DepthLess = 15,
- DepthUnchanged = 16,
- LocalSize = 17,
- LocalSizeHint = 18,
- InputPoints = 19,
- InputLines = 20,
- InputLinesAdjacency = 21,
- Triangles = 22,
- InputTrianglesAdjacency = 23,
- Quads = 24,
- Isolines = 25,
- OutputVertices = 26,
- OutputPoints = 27,
- OutputLineStrip = 28,
- OutputTriangleStrip = 29,
- VecTypeHint = 30,
- ContractionOff = 31,
- Initializer = 33,
- Finalizer = 34,
- SubgroupSize = 35,
- SubgroupsPerWorkgroup = 36,
- PostDepthCoverage = 4446,
- StencilRefReplacingEXT = 5027,
- }
-
- public enum StorageClass
- {
- UniformConstant = 0,
- Input = 1,
- Uniform = 2,
- Output = 3,
- Workgroup = 4,
- CrossWorkgroup = 5,
- Private = 6,
- Function = 7,
- Generic = 8,
- PushConstant = 9,
- AtomicCounter = 10,
- Image = 11,
- StorageBuffer = 12,
- }
-
- public enum Dim
- {
- Dim1D = 0,
- Dim2D = 1,
- Dim3D = 2,
- Cube = 3,
- Rect = 4,
- Buffer = 5,
- SubpassData = 6,
- }
-
- public enum SamplerAddressingMode
- {
- None = 0,
- ClampToEdge = 1,
- Clamp = 2,
- Repeat = 3,
- RepeatMirrored = 4,
- }
-
- public enum SamplerFilterMode
- {
- Nearest = 0,
- Linear = 1,
- }
-
- public enum ImageFormat
- {
- Unknown = 0,
- Rgba32f = 1,
- Rgba16f = 2,
- R32f = 3,
- Rgba8 = 4,
- Rgba8Snorm = 5,
- Rg32f = 6,
- Rg16f = 7,
- R11fG11fB10f = 8,
- R16f = 9,
- Rgba16 = 10,
- Rgb10A2 = 11,
- Rg16 = 12,
- Rg8 = 13,
- R16 = 14,
- R8 = 15,
- Rgba16Snorm = 16,
- Rg16Snorm = 17,
- Rg8Snorm = 18,
- R16Snorm = 19,
- R8Snorm = 20,
- Rgba32i = 21,
- Rgba16i = 22,
- Rgba8i = 23,
- R32i = 24,
- Rg32i = 25,
- Rg16i = 26,
- Rg8i = 27,
- R16i = 28,
- R8i = 29,
- Rgba32ui = 30,
- Rgba16ui = 31,
- Rgba8ui = 32,
- R32ui = 33,
- Rgb10a2ui = 34,
- Rg32ui = 35,
- Rg16ui = 36,
- Rg8ui = 37,
- R16ui = 38,
- R8ui = 39,
- }
-
- public enum ImageChannelOrder
- {
- R = 0,
- A = 1,
- RG = 2,
- RA = 3,
- RGB = 4,
- RGBA = 5,
- BGRA = 6,
- ARGB = 7,
- Intensity = 8,
- Luminance = 9,
- Rx = 10,
- RGx = 11,
- RGBx = 12,
- Depth = 13,
- DepthStencil = 14,
- sRGB = 15,
- sRGBx = 16,
- sRGBA = 17,
- sBGRA = 18,
- ABGR = 19,
- }
-
- public enum ImageChannelDataType
- {
- SnormInt8 = 0,
- SnormInt16 = 1,
- UnormInt8 = 2,
- UnormInt16 = 3,
- UnormShort565 = 4,
- UnormShort555 = 5,
- UnormInt101010 = 6,
- SignedInt8 = 7,
- SignedInt16 = 8,
- SignedInt32 = 9,
- UnsignedInt8 = 10,
- UnsignedInt16 = 11,
- UnsignedInt32 = 12,
- HalfFloat = 13,
- Float = 14,
- UnormInt24 = 15,
- UnormInt101010_2 = 16,
- }
-
- public enum ImageOperandsShift
- {
- Bias = 0,
- Lod = 1,
- Grad = 2,
- ConstOffset = 3,
- Offset = 4,
- ConstOffsets = 5,
- Sample = 6,
- MinLod = 7,
- }
-
- public enum ImageOperandsMask
- {
- MaskNone = 0,
- Bias = 0x00000001,
- Lod = 0x00000002,
- Grad = 0x00000004,
- ConstOffset = 0x00000008,
- Offset = 0x00000010,
- ConstOffsets = 0x00000020,
- Sample = 0x00000040,
- MinLod = 0x00000080,
- }
-
- public enum FPFastMathModeShift
- {
- NotNaN = 0,
- NotInf = 1,
- NSZ = 2,
- AllowRecip = 3,
- Fast = 4,
- }
-
- public enum FPFastMathModeMask
- {
- MaskNone = 0,
- NotNaN = 0x00000001,
- NotInf = 0x00000002,
- NSZ = 0x00000004,
- AllowRecip = 0x00000008,
- Fast = 0x00000010,
- }
-
- public enum FPRoundingMode
- {
- RTE = 0,
- RTZ = 1,
- RTP = 2,
- RTN = 3,
- }
-
- public enum LinkageType
- {
- Export = 0,
- Import = 1,
- }
-
- public enum AccessQualifier
- {
- ReadOnly = 0,
- WriteOnly = 1,
- ReadWrite = 2,
- }
-
- public enum FunctionParameterAttribute
- {
- Zext = 0,
- Sext = 1,
- ByVal = 2,
- Sret = 3,
- NoAlias = 4,
- NoCapture = 5,
- NoWrite = 6,
- NoReadWrite = 7,
- }
-
- public enum Decoration
- {
- RelaxedPrecision = 0,
- SpecId = 1,
- Block = 2,
- BufferBlock = 3,
- RowMajor = 4,
- ColMajor = 5,
- ArrayStride = 6,
- MatrixStride = 7,
- GLSLShared = 8,
- GLSLPacked = 9,
- CPacked = 10,
- BuiltIn = 11,
- NoPerspective = 13,
- Flat = 14,
- Patch = 15,
- Centroid = 16,
- Sample = 17,
- Invariant = 18,
- Restrict = 19,
- Aliased = 20,
- Volatile = 21,
- Constant = 22,
- Coherent = 23,
- NonWritable = 24,
- NonReadable = 25,
- Uniform = 26,
- SaturatedConversion = 28,
- Stream = 29,
- Location = 30,
- Component = 31,
- Index = 32,
- Binding = 33,
- DescriptorSet = 34,
- Offset = 35,
- XfbBuffer = 36,
- XfbStride = 37,
- FuncParamAttr = 38,
- FPRoundingMode = 39,
- FPFastMathMode = 40,
- LinkageAttributes = 41,
- NoContraction = 42,
- InputAttachmentIndex = 43,
- Alignment = 44,
- MaxByteOffset = 45,
- ExplicitInterpAMD = 4999,
- OverrideCoverageNV = 5248,
- PassthroughNV = 5250,
- ViewportRelativeNV = 5252,
- SecondaryViewportRelativeNV = 5256,
- HlslCounterBufferGOOGLE = 5634,
- HlslSemanticGOOGLE = 5635,
- }
-
- public enum BuiltIn
- {
- Position = 0,
- PointSize = 1,
- ClipDistance = 3,
- CullDistance = 4,
- VertexId = 5,
- InstanceId = 6,
- PrimitiveId = 7,
- InvocationId = 8,
- Layer = 9,
- ViewportIndex = 10,
- TessLevelOuter = 11,
- TessLevelInner = 12,
- TessCoord = 13,
- PatchVertices = 14,
- FragCoord = 15,
- PointCoord = 16,
- FrontFacing = 17,
- SampleId = 18,
- SamplePosition = 19,
- SampleMask = 20,
- FragDepth = 22,
- HelperInvocation = 23,
- NumWorkgroups = 24,
- WorkgroupSize = 25,
- WorkgroupId = 26,
- LocalInvocationId = 27,
- GlobalInvocationId = 28,
- LocalInvocationIndex = 29,
- WorkDim = 30,
- GlobalSize = 31,
- EnqueuedWorkgroupSize = 32,
- GlobalOffset = 33,
- GlobalLinearId = 34,
- SubgroupSize = 36,
- SubgroupMaxSize = 37,
- NumSubgroups = 38,
- NumEnqueuedSubgroups = 39,
- SubgroupId = 40,
- SubgroupLocalInvocationId = 41,
- VertexIndex = 42,
- InstanceIndex = 43,
- SubgroupEqMaskKHR = 4416,
- SubgroupGeMaskKHR = 4417,
- SubgroupGtMaskKHR = 4418,
- SubgroupLeMaskKHR = 4419,
- SubgroupLtMaskKHR = 4420,
- BaseVertex = 4424,
- BaseInstance = 4425,
- DrawIndex = 4426,
- DeviceIndex = 4438,
- ViewIndex = 4440,
- BaryCoordNoPerspAMD = 4992,
- BaryCoordNoPerspCentroidAMD = 4993,
- BaryCoordNoPerspSampleAMD = 4994,
- BaryCoordSmoothAMD = 4995,
- BaryCoordSmoothCentroidAMD = 4996,
- BaryCoordSmoothSampleAMD = 4997,
- BaryCoordPullModelAMD = 4998,
- FragStencilRefEXT = 5014,
- ViewportMaskNV = 5253,
- SecondaryPositionNV = 5257,
- SecondaryViewportMaskNV = 5258,
- PositionPerViewNV = 5261,
- ViewportMaskPerViewNV = 5262,
- }
-
- public enum SelectionControlShift
- {
- Flatten = 0,
- DontFlatten = 1,
- }
-
- public enum SelectionControlMask
- {
- MaskNone = 0,
- Flatten = 0x00000001,
- DontFlatten = 0x00000002,
- }
-
- public enum LoopControlShift
- {
- Unroll = 0,
- DontUnroll = 1,
- DependencyInfinite = 2,
- DependencyLength = 3,
- }
-
- public enum LoopControlMask
- {
- MaskNone = 0,
- Unroll = 0x00000001,
- DontUnroll = 0x00000002,
- DependencyInfinite = 0x00000004,
- DependencyLength = 0x00000008,
- }
-
- public enum FunctionControlShift
- {
- Inline = 0,
- DontInline = 1,
- Pure = 2,
- Const = 3,
- }
-
- public enum FunctionControlMask
- {
- MaskNone = 0,
- Inline = 0x00000001,
- DontInline = 0x00000002,
- Pure = 0x00000004,
- Const = 0x00000008,
- }
-
- public enum MemorySemanticsShift
- {
- Acquire = 1,
- Release = 2,
- AcquireRelease = 3,
- SequentiallyConsistent = 4,
- UniformMemory = 6,
- SubgroupMemory = 7,
- WorkgroupMemory = 8,
- CrossWorkgroupMemory = 9,
- AtomicCounterMemory = 10,
- ImageMemory = 11,
- }
-
- public enum MemorySemanticsMask
- {
- MaskNone = 0,
- Acquire = 0x00000002,
- Release = 0x00000004,
- AcquireRelease = 0x00000008,
- SequentiallyConsistent = 0x00000010,
- UniformMemory = 0x00000040,
- SubgroupMemory = 0x00000080,
- WorkgroupMemory = 0x00000100,
- CrossWorkgroupMemory = 0x00000200,
- AtomicCounterMemory = 0x00000400,
- ImageMemory = 0x00000800,
- }
-
- public enum MemoryAccessShift
- {
- Volatile = 0,
- Aligned = 1,
- Nontemporal = 2,
- }
-
- public enum MemoryAccessMask
- {
- MaskNone = 0,
- Volatile = 0x00000001,
- Aligned = 0x00000002,
- Nontemporal = 0x00000004,
- }
-
- public enum Scope
- {
- CrossDevice = 0,
- Device = 1,
- Workgroup = 2,
- Subgroup = 3,
- Invocation = 4,
- }
-
- public enum GroupOperation
- {
- Reduce = 0,
- InclusiveScan = 1,
- ExclusiveScan = 2,
- }
-
- public enum KernelEnqueueFlags
- {
- NoWait = 0,
- WaitKernel = 1,
- WaitWorkGroup = 2,
- }
-
- public enum KernelProfilingInfoShift
- {
- CmdExecTime = 0,
- }
-
- public enum KernelProfilingInfoMask
- {
- MaskNone = 0,
- CmdExecTime = 0x00000001,
- }
-
- public enum Capability
- {
- Matrix = 0,
- Shader = 1,
- Geometry = 2,
- Tessellation = 3,
- Addresses = 4,
- Linkage = 5,
- Kernel = 6,
- Vector16 = 7,
- Float16Buffer = 8,
- Float16 = 9,
- Float64 = 10,
- Int64 = 11,
- Int64Atomics = 12,
- ImageBasic = 13,
- ImageReadWrite = 14,
- ImageMipmap = 15,
- Pipes = 17,
- Groups = 18,
- DeviceEnqueue = 19,
- LiteralSampler = 20,
- AtomicStorage = 21,
- Int16 = 22,
- TessellationPointSize = 23,
- GeometryPointSize = 24,
- ImageGatherExtended = 25,
- StorageImageMultisample = 27,
- UniformBufferArrayDynamicIndexing = 28,
- SampledImageArrayDynamicIndexing = 29,
- StorageBufferArrayDynamicIndexing = 30,
- StorageImageArrayDynamicIndexing = 31,
- ClipDistance = 32,
- CullDistance = 33,
- ImageCubeArray = 34,
- SampleRateShading = 35,
- ImageRect = 36,
- SampledRect = 37,
- GenericPointer = 38,
- Int8 = 39,
- InputAttachment = 40,
- SparseResidency = 41,
- MinLod = 42,
- Sampled1D = 43,
- Image1D = 44,
- SampledCubeArray = 45,
- SampledBuffer = 46,
- ImageBuffer = 47,
- ImageMSArray = 48,
- StorageImageExtendedFormats = 49,
- ImageQuery = 50,
- DerivativeControl = 51,
- InterpolationFunction = 52,
- TransformFeedback = 53,
- GeometryStreams = 54,
- StorageImageReadWithoutFormat = 55,
- StorageImageWriteWithoutFormat = 56,
- MultiViewport = 57,
- SubgroupDispatch = 58,
- NamedBarrier = 59,
- PipeStorage = 60,
- SubgroupBallotKHR = 4423,
- DrawParameters = 4427,
- SubgroupVoteKHR = 4431,
- StorageBuffer16BitAccess = 4433,
- StorageUniformBufferBlock16 = 4433,
- StorageUniform16 = 4434,
- UniformAndStorageBuffer16BitAccess = 4434,
- StoragePushConstant16 = 4435,
- StorageInputOutput16 = 4436,
- DeviceGroup = 4437,
- MultiView = 4439,
- VariablePointersStorageBuffer = 4441,
- VariablePointers = 4442,
- AtomicStorageOps = 4445,
- SampleMaskPostDepthCoverage = 4447,
- ImageGatherBiasLodAMD = 5009,
- FragmentMaskAMD = 5010,
- StencilExportEXT = 5013,
- ImageReadWriteLodAMD = 5015,
- SampleMaskOverrideCoverageNV = 5249,
- GeometryShaderPassthroughNV = 5251,
- ShaderViewportIndexLayerEXT = 5254,
- ShaderViewportIndexLayerNV = 5254,
- ShaderViewportMaskNV = 5255,
- ShaderStereoViewNV = 5259,
- PerViewAttributesNV = 5260,
- SubgroupShuffleINTEL = 5568,
- SubgroupBufferBlockIOINTEL = 5569,
- SubgroupImageBlockIOINTEL = 5570,
- }
-
- public enum Op
- {
- OpNop = 0,
- OpUndef = 1,
- OpSourceContinued = 2,
- OpSource = 3,
- OpSourceExtension = 4,
- OpName = 5,
- OpMemberName = 6,
- OpString = 7,
- OpLine = 8,
- OpExtension = 10,
- OpExtInstImport = 11,
- OpExtInst = 12,
- OpMemoryModel = 14,
- OpEntryPoint = 15,
- OpExecutionMode = 16,
- OpCapability = 17,
- OpTypeVoid = 19,
- OpTypeBool = 20,
- OpTypeInt = 21,
- OpTypeFloat = 22,
- OpTypeVector = 23,
- OpTypeMatrix = 24,
- OpTypeImage = 25,
- OpTypeSampler = 26,
- OpTypeSampledImage = 27,
- OpTypeArray = 28,
- OpTypeRuntimeArray = 29,
- OpTypeStruct = 30,
- OpTypeOpaque = 31,
- OpTypePointer = 32,
- OpTypeFunction = 33,
- OpTypeEvent = 34,
- OpTypeDeviceEvent = 35,
- OpTypeReserveId = 36,
- OpTypeQueue = 37,
- OpTypePipe = 38,
- OpTypeForwardPointer = 39,
- OpConstantTrue = 41,
- OpConstantFalse = 42,
- OpConstant = 43,
- OpConstantComposite = 44,
- OpConstantSampler = 45,
- OpConstantNull = 46,
- OpSpecConstantTrue = 48,
- OpSpecConstantFalse = 49,
- OpSpecConstant = 50,
- OpSpecConstantComposite = 51,
- OpSpecConstantOp = 52,
- OpFunction = 54,
- OpFunctionParameter = 55,
- OpFunctionEnd = 56,
- OpFunctionCall = 57,
- OpVariable = 59,
- OpImageTexelPointer = 60,
- OpLoad = 61,
- OpStore = 62,
- OpCopyMemory = 63,
- OpCopyMemorySized = 64,
- OpAccessChain = 65,
- OpInBoundsAccessChain = 66,
- OpPtrAccessChain = 67,
- OpArrayLength = 68,
- OpGenericPtrMemSemantics = 69,
- OpInBoundsPtrAccessChain = 70,
- OpDecorate = 71,
- OpMemberDecorate = 72,
- OpDecorationGroup = 73,
- OpGroupDecorate = 74,
- OpGroupMemberDecorate = 75,
- OpVectorExtractDynamic = 77,
- OpVectorInsertDynamic = 78,
- OpVectorShuffle = 79,
- OpCompositeConstruct = 80,
- OpCompositeExtract = 81,
- OpCompositeInsert = 82,
- OpCopyObject = 83,
- OpTranspose = 84,
- OpSampledImage = 86,
- OpImageSampleImplicitLod = 87,
- OpImageSampleExplicitLod = 88,
- OpImageSampleDrefImplicitLod = 89,
- OpImageSampleDrefExplicitLod = 90,
- OpImageSampleProjImplicitLod = 91,
- OpImageSampleProjExplicitLod = 92,
- OpImageSampleProjDrefImplicitLod = 93,
- OpImageSampleProjDrefExplicitLod = 94,
- OpImageFetch = 95,
- OpImageGather = 96,
- OpImageDrefGather = 97,
- OpImageRead = 98,
- OpImageWrite = 99,
- OpImage = 100,
- OpImageQueryFormat = 101,
- OpImageQueryOrder = 102,
- OpImageQuerySizeLod = 103,
- OpImageQuerySize = 104,
- OpImageQueryLod = 105,
- OpImageQueryLevels = 106,
- OpImageQuerySamples = 107,
- OpConvertFToU = 109,
- OpConvertFToS = 110,
- OpConvertSToF = 111,
- OpConvertUToF = 112,
- OpUConvert = 113,
- OpSConvert = 114,
- OpFConvert = 115,
- OpQuantizeToF16 = 116,
- OpConvertPtrToU = 117,
- OpSatConvertSToU = 118,
- OpSatConvertUToS = 119,
- OpConvertUToPtr = 120,
- OpPtrCastToGeneric = 121,
- OpGenericCastToPtr = 122,
- OpGenericCastToPtrExplicit = 123,
- OpBitcast = 124,
- OpSNegate = 126,
- OpFNegate = 127,
- OpIAdd = 128,
- OpFAdd = 129,
- OpISub = 130,
- OpFSub = 131,
- OpIMul = 132,
- OpFMul = 133,
- OpUDiv = 134,
- OpSDiv = 135,
- OpFDiv = 136,
- OpUMod = 137,
- OpSRem = 138,
- OpSMod = 139,
- OpFRem = 140,
- OpFMod = 141,
- OpVectorTimesScalar = 142,
- OpMatrixTimesScalar = 143,
- OpVectorTimesMatrix = 144,
- OpMatrixTimesVector = 145,
- OpMatrixTimesMatrix = 146,
- OpOuterProduct = 147,
- OpDot = 148,
- OpIAddCarry = 149,
- OpISubBorrow = 150,
- OpUMulExtended = 151,
- OpSMulExtended = 152,
- OpAny = 154,
- OpAll = 155,
- OpIsNan = 156,
- OpIsInf = 157,
- OpIsFinite = 158,
- OpIsNormal = 159,
- OpSignBitSet = 160,
- OpLessOrGreater = 161,
- OpOrdered = 162,
- OpUnordered = 163,
- OpLogicalEqual = 164,
- OpLogicalNotEqual = 165,
- OpLogicalOr = 166,
- OpLogicalAnd = 167,
- OpLogicalNot = 168,
- OpSelect = 169,
- OpIEqual = 170,
- OpINotEqual = 171,
- OpUGreaterThan = 172,
- OpSGreaterThan = 173,
- OpUGreaterThanEqual = 174,
- OpSGreaterThanEqual = 175,
- OpULessThan = 176,
- OpSLessThan = 177,
- OpULessThanEqual = 178,
- OpSLessThanEqual = 179,
- OpFOrdEqual = 180,
- OpFUnordEqual = 181,
- OpFOrdNotEqual = 182,
- OpFUnordNotEqual = 183,
- OpFOrdLessThan = 184,
- OpFUnordLessThan = 185,
- OpFOrdGreaterThan = 186,
- OpFUnordGreaterThan = 187,
- OpFOrdLessThanEqual = 188,
- OpFUnordLessThanEqual = 189,
- OpFOrdGreaterThanEqual = 190,
- OpFUnordGreaterThanEqual = 191,
- OpShiftRightLogical = 194,
- OpShiftRightArithmetic = 195,
- OpShiftLeftLogical = 196,
- OpBitwiseOr = 197,
- OpBitwiseXor = 198,
- OpBitwiseAnd = 199,
- OpNot = 200,
- OpBitFieldInsert = 201,
- OpBitFieldSExtract = 202,
- OpBitFieldUExtract = 203,
- OpBitReverse = 204,
- OpBitCount = 205,
- OpDPdx = 207,
- OpDPdy = 208,
- OpFwidth = 209,
- OpDPdxFine = 210,
- OpDPdyFine = 211,
- OpFwidthFine = 212,
- OpDPdxCoarse = 213,
- OpDPdyCoarse = 214,
- OpFwidthCoarse = 215,
- OpEmitVertex = 218,
- OpEndPrimitive = 219,
- OpEmitStreamVertex = 220,
- OpEndStreamPrimitive = 221,
- OpControlBarrier = 224,
- OpMemoryBarrier = 225,
- OpAtomicLoad = 227,
- OpAtomicStore = 228,
- OpAtomicExchange = 229,
- OpAtomicCompareExchange = 230,
- OpAtomicCompareExchangeWeak = 231,
- OpAtomicIIncrement = 232,
- OpAtomicIDecrement = 233,
- OpAtomicIAdd = 234,
- OpAtomicISub = 235,
- OpAtomicSMin = 236,
- OpAtomicUMin = 237,
- OpAtomicSMax = 238,
- OpAtomicUMax = 239,
- OpAtomicAnd = 240,
- OpAtomicOr = 241,
- OpAtomicXor = 242,
- OpPhi = 245,
- OpLoopMerge = 246,
- OpSelectionMerge = 247,
- OpLabel = 248,
- OpBranch = 249,
- OpBranchConditional = 250,
- OpSwitch = 251,
- OpKill = 252,
- OpReturn = 253,
- OpReturnValue = 254,
- OpUnreachable = 255,
- OpLifetimeStart = 256,
- OpLifetimeStop = 257,
- OpGroupAsyncCopy = 259,
- OpGroupWaitEvents = 260,
- OpGroupAll = 261,
- OpGroupAny = 262,
- OpGroupBroadcast = 263,
- OpGroupIAdd = 264,
- OpGroupFAdd = 265,
- OpGroupFMin = 266,
- OpGroupUMin = 267,
- OpGroupSMin = 268,
- OpGroupFMax = 269,
- OpGroupUMax = 270,
- OpGroupSMax = 271,
- OpReadPipe = 274,
- OpWritePipe = 275,
- OpReservedReadPipe = 276,
- OpReservedWritePipe = 277,
- OpReserveReadPipePackets = 278,
- OpReserveWritePipePackets = 279,
- OpCommitReadPipe = 280,
- OpCommitWritePipe = 281,
- OpIsValidReserveId = 282,
- OpGetNumPipePackets = 283,
- OpGetMaxPipePackets = 284,
- OpGroupReserveReadPipePackets = 285,
- OpGroupReserveWritePipePackets = 286,
- OpGroupCommitReadPipe = 287,
- OpGroupCommitWritePipe = 288,
- OpEnqueueMarker = 291,
- OpEnqueueKernel = 292,
- OpGetKernelNDrangeSubGroupCount = 293,
- OpGetKernelNDrangeMaxSubGroupSize = 294,
- OpGetKernelWorkGroupSize = 295,
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,
- OpRetainEvent = 297,
- OpReleaseEvent = 298,
- OpCreateUserEvent = 299,
- OpIsValidEvent = 300,
- OpSetUserEventStatus = 301,
- OpCaptureEventProfilingInfo = 302,
- OpGetDefaultQueue = 303,
- OpBuildNDRange = 304,
- OpImageSparseSampleImplicitLod = 305,
- OpImageSparseSampleExplicitLod = 306,
- OpImageSparseSampleDrefImplicitLod = 307,
- OpImageSparseSampleDrefExplicitLod = 308,
- OpImageSparseSampleProjImplicitLod = 309,
- OpImageSparseSampleProjExplicitLod = 310,
- OpImageSparseSampleProjDrefImplicitLod = 311,
- OpImageSparseSampleProjDrefExplicitLod = 312,
- OpImageSparseFetch = 313,
- OpImageSparseGather = 314,
- OpImageSparseDrefGather = 315,
- OpImageSparseTexelsResident = 316,
- OpNoLine = 317,
- OpAtomicFlagTestAndSet = 318,
- OpAtomicFlagClear = 319,
- OpImageSparseRead = 320,
- OpSizeOf = 321,
- OpTypePipeStorage = 322,
- OpConstantPipeStorage = 323,
- OpCreatePipeFromPipeStorage = 324,
- OpGetKernelLocalSizeForSubgroupCount = 325,
- OpGetKernelMaxNumSubgroups = 326,
- OpTypeNamedBarrier = 327,
- OpNamedBarrierInitialize = 328,
- OpMemoryNamedBarrier = 329,
- OpModuleProcessed = 330,
- OpDecorateId = 332,
- OpSubgroupBallotKHR = 4421,
- OpSubgroupFirstInvocationKHR = 4422,
- OpSubgroupAllKHR = 4428,
- OpSubgroupAnyKHR = 4429,
- OpSubgroupAllEqualKHR = 4430,
- OpSubgroupReadInvocationKHR = 4432,
- OpGroupIAddNonUniformAMD = 5000,
- OpGroupFAddNonUniformAMD = 5001,
- OpGroupFMinNonUniformAMD = 5002,
- OpGroupUMinNonUniformAMD = 5003,
- OpGroupSMinNonUniformAMD = 5004,
- OpGroupFMaxNonUniformAMD = 5005,
- OpGroupUMaxNonUniformAMD = 5006,
- OpGroupSMaxNonUniformAMD = 5007,
- OpFragmentMaskFetchAMD = 5011,
- OpFragmentFetchAMD = 5012,
- OpSubgroupShuffleINTEL = 5571,
- OpSubgroupShuffleDownINTEL = 5572,
- OpSubgroupShuffleUpINTEL = 5573,
- OpSubgroupShuffleXorINTEL = 5574,
- OpSubgroupBlockReadINTEL = 5575,
- OpSubgroupBlockWriteINTEL = 5576,
- OpSubgroupImageBlockReadINTEL = 5577,
- OpSubgroupImageBlockWriteINTEL = 5578,
- OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateStringGOOGLE = 5633,
- }
- }
-}
-
diff --git a/include/spirv/1.2/spirv.cs b/include/spirv/1.2/spirv.cs
deleted file mode 100644
index 493303d..0000000
--- a/include/spirv/1.2/spirv.cs
+++ /dev/null
@@ -1,1021 +0,0 @@
-// Copyright (c) 2014-2018 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.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#
-//
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace, e.g.: Spv.Specification.SourceLanguage.GLSL
-//
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive. The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-namespace Spv
-{
-
- public static class Specification
- {
- public const uint MagicNumber = 0x07230203;
- public const uint Version = 0x00010200;
- public const uint Revision = 2;
- public const uint OpCodeMask = 0xffff;
- public const uint WordCountShift = 16;
-
- public enum SourceLanguage
- {
- Unknown = 0,
- ESSL = 1,
- GLSL = 2,
- OpenCL_C = 3,
- OpenCL_CPP = 4,
- HLSL = 5,
- }
-
- public enum ExecutionModel
- {
- Vertex = 0,
- TessellationControl = 1,
- TessellationEvaluation = 2,
- Geometry = 3,
- Fragment = 4,
- GLCompute = 5,
- Kernel = 6,
- }
-
- public enum AddressingModel
- {
- Logical = 0,
- Physical32 = 1,
- Physical64 = 2,
- }
-
- public enum MemoryModel
- {
- Simple = 0,
- GLSL450 = 1,
- OpenCL = 2,
- }
-
- public enum ExecutionMode
- {
- Invocations = 0,
- SpacingEqual = 1,
- SpacingFractionalEven = 2,
- SpacingFractionalOdd = 3,
- VertexOrderCw = 4,
- VertexOrderCcw = 5,
- PixelCenterInteger = 6,
- OriginUpperLeft = 7,
- OriginLowerLeft = 8,
- EarlyFragmentTests = 9,
- PointMode = 10,
- Xfb = 11,
- DepthReplacing = 12,
- DepthGreater = 14,
- DepthLess = 15,
- DepthUnchanged = 16,
- LocalSize = 17,
- LocalSizeHint = 18,
- InputPoints = 19,
- InputLines = 20,
- InputLinesAdjacency = 21,
- Triangles = 22,
- InputTrianglesAdjacency = 23,
- Quads = 24,
- Isolines = 25,
- OutputVertices = 26,
- OutputPoints = 27,
- OutputLineStrip = 28,
- OutputTriangleStrip = 29,
- VecTypeHint = 30,
- ContractionOff = 31,
- Initializer = 33,
- Finalizer = 34,
- SubgroupSize = 35,
- SubgroupsPerWorkgroup = 36,
- SubgroupsPerWorkgroupId = 37,
- LocalSizeId = 38,
- LocalSizeHintId = 39,
- PostDepthCoverage = 4446,
- StencilRefReplacingEXT = 5027,
- }
-
- public enum StorageClass
- {
- UniformConstant = 0,
- Input = 1,
- Uniform = 2,
- Output = 3,
- Workgroup = 4,
- CrossWorkgroup = 5,
- Private = 6,
- Function = 7,
- Generic = 8,
- PushConstant = 9,
- AtomicCounter = 10,
- Image = 11,
- StorageBuffer = 12,
- }
-
- public enum Dim
- {
- Dim1D = 0,
- Dim2D = 1,
- Dim3D = 2,
- Cube = 3,
- Rect = 4,
- Buffer = 5,
- SubpassData = 6,
- }
-
- public enum SamplerAddressingMode
- {
- None = 0,
- ClampToEdge = 1,
- Clamp = 2,
- Repeat = 3,
- RepeatMirrored = 4,
- }
-
- public enum SamplerFilterMode
- {
- Nearest = 0,
- Linear = 1,
- }
-
- public enum ImageFormat
- {
- Unknown = 0,
- Rgba32f = 1,
- Rgba16f = 2,
- R32f = 3,
- Rgba8 = 4,
- Rgba8Snorm = 5,
- Rg32f = 6,
- Rg16f = 7,
- R11fG11fB10f = 8,
- R16f = 9,
- Rgba16 = 10,
- Rgb10A2 = 11,
- Rg16 = 12,
- Rg8 = 13,
- R16 = 14,
- R8 = 15,
- Rgba16Snorm = 16,
- Rg16Snorm = 17,
- Rg8Snorm = 18,
- R16Snorm = 19,
- R8Snorm = 20,
- Rgba32i = 21,
- Rgba16i = 22,
- Rgba8i = 23,
- R32i = 24,
- Rg32i = 25,
- Rg16i = 26,
- Rg8i = 27,
- R16i = 28,
- R8i = 29,
- Rgba32ui = 30,
- Rgba16ui = 31,
- Rgba8ui = 32,
- R32ui = 33,
- Rgb10a2ui = 34,
- Rg32ui = 35,
- Rg16ui = 36,
- Rg8ui = 37,
- R16ui = 38,
- R8ui = 39,
- }
-
- public enum ImageChannelOrder
- {
- R = 0,
- A = 1,
- RG = 2,
- RA = 3,
- RGB = 4,
- RGBA = 5,
- BGRA = 6,
- ARGB = 7,
- Intensity = 8,
- Luminance = 9,
- Rx = 10,
- RGx = 11,
- RGBx = 12,
- Depth = 13,
- DepthStencil = 14,
- sRGB = 15,
- sRGBx = 16,
- sRGBA = 17,
- sBGRA = 18,
- ABGR = 19,
- }
-
- public enum ImageChannelDataType
- {
- SnormInt8 = 0,
- SnormInt16 = 1,
- UnormInt8 = 2,
- UnormInt16 = 3,
- UnormShort565 = 4,
- UnormShort555 = 5,
- UnormInt101010 = 6,
- SignedInt8 = 7,
- SignedInt16 = 8,
- SignedInt32 = 9,
- UnsignedInt8 = 10,
- UnsignedInt16 = 11,
- UnsignedInt32 = 12,
- HalfFloat = 13,
- Float = 14,
- UnormInt24 = 15,
- UnormInt101010_2 = 16,
- }
-
- public enum ImageOperandsShift
- {
- Bias = 0,
- Lod = 1,
- Grad = 2,
- ConstOffset = 3,
- Offset = 4,
- ConstOffsets = 5,
- Sample = 6,
- MinLod = 7,
- }
-
- public enum ImageOperandsMask
- {
- MaskNone = 0,
- Bias = 0x00000001,
- Lod = 0x00000002,
- Grad = 0x00000004,
- ConstOffset = 0x00000008,
- Offset = 0x00000010,
- ConstOffsets = 0x00000020,
- Sample = 0x00000040,
- MinLod = 0x00000080,
- }
-
- public enum FPFastMathModeShift
- {
- NotNaN = 0,
- NotInf = 1,
- NSZ = 2,
- AllowRecip = 3,
- Fast = 4,
- }
-
- public enum FPFastMathModeMask
- {
- MaskNone = 0,
- NotNaN = 0x00000001,
- NotInf = 0x00000002,
- NSZ = 0x00000004,
- AllowRecip = 0x00000008,
- Fast = 0x00000010,
- }
-
- public enum FPRoundingMode
- {
- RTE = 0,
- RTZ = 1,
- RTP = 2,
- RTN = 3,
- }
-
- public enum LinkageType
- {
- Export = 0,
- Import = 1,
- }
-
- public enum AccessQualifier
- {
- ReadOnly = 0,
- WriteOnly = 1,
- ReadWrite = 2,
- }
-
- public enum FunctionParameterAttribute
- {
- Zext = 0,
- Sext = 1,
- ByVal = 2,
- Sret = 3,
- NoAlias = 4,
- NoCapture = 5,
- NoWrite = 6,
- NoReadWrite = 7,
- }
-
- public enum Decoration
- {
- RelaxedPrecision = 0,
- SpecId = 1,
- Block = 2,
- BufferBlock = 3,
- RowMajor = 4,
- ColMajor = 5,
- ArrayStride = 6,
- MatrixStride = 7,
- GLSLShared = 8,
- GLSLPacked = 9,
- CPacked = 10,
- BuiltIn = 11,
- NoPerspective = 13,
- Flat = 14,
- Patch = 15,
- Centroid = 16,
- Sample = 17,
- Invariant = 18,
- Restrict = 19,
- Aliased = 20,
- Volatile = 21,
- Constant = 22,
- Coherent = 23,
- NonWritable = 24,
- NonReadable = 25,
- Uniform = 26,
- SaturatedConversion = 28,
- Stream = 29,
- Location = 30,
- Component = 31,
- Index = 32,
- Binding = 33,
- DescriptorSet = 34,
- Offset = 35,
- XfbBuffer = 36,
- XfbStride = 37,
- FuncParamAttr = 38,
- FPRoundingMode = 39,
- FPFastMathMode = 40,
- LinkageAttributes = 41,
- NoContraction = 42,
- InputAttachmentIndex = 43,
- Alignment = 44,
- MaxByteOffset = 45,
- AlignmentId = 46,
- MaxByteOffsetId = 47,
- ExplicitInterpAMD = 4999,
- OverrideCoverageNV = 5248,
- PassthroughNV = 5250,
- ViewportRelativeNV = 5252,
- SecondaryViewportRelativeNV = 5256,
- HlslCounterBufferGOOGLE = 5634,
- HlslSemanticGOOGLE = 5635,
- }
-
- public enum BuiltIn
- {
- Position = 0,
- PointSize = 1,
- ClipDistance = 3,
- CullDistance = 4,
- VertexId = 5,
- InstanceId = 6,
- PrimitiveId = 7,
- InvocationId = 8,
- Layer = 9,
- ViewportIndex = 10,
- TessLevelOuter = 11,
- TessLevelInner = 12,
- TessCoord = 13,
- PatchVertices = 14,
- FragCoord = 15,
- PointCoord = 16,
- FrontFacing = 17,
- SampleId = 18,
- SamplePosition = 19,
- SampleMask = 20,
- FragDepth = 22,
- HelperInvocation = 23,
- NumWorkgroups = 24,
- WorkgroupSize = 25,
- WorkgroupId = 26,
- LocalInvocationId = 27,
- GlobalInvocationId = 28,
- LocalInvocationIndex = 29,
- WorkDim = 30,
- GlobalSize = 31,
- EnqueuedWorkgroupSize = 32,
- GlobalOffset = 33,
- GlobalLinearId = 34,
- SubgroupSize = 36,
- SubgroupMaxSize = 37,
- NumSubgroups = 38,
- NumEnqueuedSubgroups = 39,
- SubgroupId = 40,
- SubgroupLocalInvocationId = 41,
- VertexIndex = 42,
- InstanceIndex = 43,
- SubgroupEqMaskKHR = 4416,
- SubgroupGeMaskKHR = 4417,
- SubgroupGtMaskKHR = 4418,
- SubgroupLeMaskKHR = 4419,
- SubgroupLtMaskKHR = 4420,
- BaseVertex = 4424,
- BaseInstance = 4425,
- DrawIndex = 4426,
- DeviceIndex = 4438,
- ViewIndex = 4440,
- BaryCoordNoPerspAMD = 4992,
- BaryCoordNoPerspCentroidAMD = 4993,
- BaryCoordNoPerspSampleAMD = 4994,
- BaryCoordSmoothAMD = 4995,
- BaryCoordSmoothCentroidAMD = 4996,
- BaryCoordSmoothSampleAMD = 4997,
- BaryCoordPullModelAMD = 4998,
- FragStencilRefEXT = 5014,
- ViewportMaskNV = 5253,
- SecondaryPositionNV = 5257,
- SecondaryViewportMaskNV = 5258,
- PositionPerViewNV = 5261,
- ViewportMaskPerViewNV = 5262,
- }
-
- public enum SelectionControlShift
- {
- Flatten = 0,
- DontFlatten = 1,
- }
-
- public enum SelectionControlMask
- {
- MaskNone = 0,
- Flatten = 0x00000001,
- DontFlatten = 0x00000002,
- }
-
- public enum LoopControlShift
- {
- Unroll = 0,
- DontUnroll = 1,
- DependencyInfinite = 2,
- DependencyLength = 3,
- }
-
- public enum LoopControlMask
- {
- MaskNone = 0,
- Unroll = 0x00000001,
- DontUnroll = 0x00000002,
- DependencyInfinite = 0x00000004,
- DependencyLength = 0x00000008,
- }
-
- public enum FunctionControlShift
- {
- Inline = 0,
- DontInline = 1,
- Pure = 2,
- Const = 3,
- }
-
- public enum FunctionControlMask
- {
- MaskNone = 0,
- Inline = 0x00000001,
- DontInline = 0x00000002,
- Pure = 0x00000004,
- Const = 0x00000008,
- }
-
- public enum MemorySemanticsShift
- {
- Acquire = 1,
- Release = 2,
- AcquireRelease = 3,
- SequentiallyConsistent = 4,
- UniformMemory = 6,
- SubgroupMemory = 7,
- WorkgroupMemory = 8,
- CrossWorkgroupMemory = 9,
- AtomicCounterMemory = 10,
- ImageMemory = 11,
- }
-
- public enum MemorySemanticsMask
- {
- MaskNone = 0,
- Acquire = 0x00000002,
- Release = 0x00000004,
- AcquireRelease = 0x00000008,
- SequentiallyConsistent = 0x00000010,
- UniformMemory = 0x00000040,
- SubgroupMemory = 0x00000080,
- WorkgroupMemory = 0x00000100,
- CrossWorkgroupMemory = 0x00000200,
- AtomicCounterMemory = 0x00000400,
- ImageMemory = 0x00000800,
- }
-
- public enum MemoryAccessShift
- {
- Volatile = 0,
- Aligned = 1,
- Nontemporal = 2,
- }
-
- public enum MemoryAccessMask
- {
- MaskNone = 0,
- Volatile = 0x00000001,
- Aligned = 0x00000002,
- Nontemporal = 0x00000004,
- }
-
- public enum Scope
- {
- CrossDevice = 0,
- Device = 1,
- Workgroup = 2,
- Subgroup = 3,
- Invocation = 4,
- }
-
- public enum GroupOperation
- {
- Reduce = 0,
- InclusiveScan = 1,
- ExclusiveScan = 2,
- }
-
- public enum KernelEnqueueFlags
- {
- NoWait = 0,
- WaitKernel = 1,
- WaitWorkGroup = 2,
- }
-
- public enum KernelProfilingInfoShift
- {
- CmdExecTime = 0,
- }
-
- public enum KernelProfilingInfoMask
- {
- MaskNone = 0,
- CmdExecTime = 0x00000001,
- }
-
- public enum Capability
- {
- Matrix = 0,
- Shader = 1,
- Geometry = 2,
- Tessellation = 3,
- Addresses = 4,
- Linkage = 5,
- Kernel = 6,
- Vector16 = 7,
- Float16Buffer = 8,
- Float16 = 9,
- Float64 = 10,
- Int64 = 11,
- Int64Atomics = 12,
- ImageBasic = 13,
- ImageReadWrite = 14,
- ImageMipmap = 15,
- Pipes = 17,
- Groups = 18,
- DeviceEnqueue = 19,
- LiteralSampler = 20,
- AtomicStorage = 21,
- Int16 = 22,
- TessellationPointSize = 23,
- GeometryPointSize = 24,
- ImageGatherExtended = 25,
- StorageImageMultisample = 27,
- UniformBufferArrayDynamicIndexing = 28,
- SampledImageArrayDynamicIndexing = 29,
- StorageBufferArrayDynamicIndexing = 30,
- StorageImageArrayDynamicIndexing = 31,
- ClipDistance = 32,
- CullDistance = 33,
- ImageCubeArray = 34,
- SampleRateShading = 35,
- ImageRect = 36,
- SampledRect = 37,
- GenericPointer = 38,
- Int8 = 39,
- InputAttachment = 40,
- SparseResidency = 41,
- MinLod = 42,
- Sampled1D = 43,
- Image1D = 44,
- SampledCubeArray = 45,
- SampledBuffer = 46,
- ImageBuffer = 47,
- ImageMSArray = 48,
- StorageImageExtendedFormats = 49,
- ImageQuery = 50,
- DerivativeControl = 51,
- InterpolationFunction = 52,
- TransformFeedback = 53,
- GeometryStreams = 54,
- StorageImageReadWithoutFormat = 55,
- StorageImageWriteWithoutFormat = 56,
- MultiViewport = 57,
- SubgroupDispatch = 58,
- NamedBarrier = 59,
- PipeStorage = 60,
- SubgroupBallotKHR = 4423,
- DrawParameters = 4427,
- SubgroupVoteKHR = 4431,
- StorageBuffer16BitAccess = 4433,
- StorageUniformBufferBlock16 = 4433,
- StorageUniform16 = 4434,
- UniformAndStorageBuffer16BitAccess = 4434,
- StoragePushConstant16 = 4435,
- StorageInputOutput16 = 4436,
- DeviceGroup = 4437,
- MultiView = 4439,
- VariablePointersStorageBuffer = 4441,
- VariablePointers = 4442,
- AtomicStorageOps = 4445,
- SampleMaskPostDepthCoverage = 4447,
- ImageGatherBiasLodAMD = 5009,
- FragmentMaskAMD = 5010,
- StencilExportEXT = 5013,
- ImageReadWriteLodAMD = 5015,
- SampleMaskOverrideCoverageNV = 5249,
- GeometryShaderPassthroughNV = 5251,
- ShaderViewportIndexLayerEXT = 5254,
- ShaderViewportIndexLayerNV = 5254,
- ShaderViewportMaskNV = 5255,
- ShaderStereoViewNV = 5259,
- PerViewAttributesNV = 5260,
- SubgroupShuffleINTEL = 5568,
- SubgroupBufferBlockIOINTEL = 5569,
- SubgroupImageBlockIOINTEL = 5570,
- }
-
- public enum Op
- {
- OpNop = 0,
- OpUndef = 1,
- OpSourceContinued = 2,
- OpSource = 3,
- OpSourceExtension = 4,
- OpName = 5,
- OpMemberName = 6,
- OpString = 7,
- OpLine = 8,
- OpExtension = 10,
- OpExtInstImport = 11,
- OpExtInst = 12,
- OpMemoryModel = 14,
- OpEntryPoint = 15,
- OpExecutionMode = 16,
- OpCapability = 17,
- OpTypeVoid = 19,
- OpTypeBool = 20,
- OpTypeInt = 21,
- OpTypeFloat = 22,
- OpTypeVector = 23,
- OpTypeMatrix = 24,
- OpTypeImage = 25,
- OpTypeSampler = 26,
- OpTypeSampledImage = 27,
- OpTypeArray = 28,
- OpTypeRuntimeArray = 29,
- OpTypeStruct = 30,
- OpTypeOpaque = 31,
- OpTypePointer = 32,
- OpTypeFunction = 33,
- OpTypeEvent = 34,
- OpTypeDeviceEvent = 35,
- OpTypeReserveId = 36,
- OpTypeQueue = 37,
- OpTypePipe = 38,
- OpTypeForwardPointer = 39,
- OpConstantTrue = 41,
- OpConstantFalse = 42,
- OpConstant = 43,
- OpConstantComposite = 44,
- OpConstantSampler = 45,
- OpConstantNull = 46,
- OpSpecConstantTrue = 48,
- OpSpecConstantFalse = 49,
- OpSpecConstant = 50,
- OpSpecConstantComposite = 51,
- OpSpecConstantOp = 52,
- OpFunction = 54,
- OpFunctionParameter = 55,
- OpFunctionEnd = 56,
- OpFunctionCall = 57,
- OpVariable = 59,
- OpImageTexelPointer = 60,
- OpLoad = 61,
- OpStore = 62,
- OpCopyMemory = 63,
- OpCopyMemorySized = 64,
- OpAccessChain = 65,
- OpInBoundsAccessChain = 66,
- OpPtrAccessChain = 67,
- OpArrayLength = 68,
- OpGenericPtrMemSemantics = 69,
- OpInBoundsPtrAccessChain = 70,
- OpDecorate = 71,
- OpMemberDecorate = 72,
- OpDecorationGroup = 73,
- OpGroupDecorate = 74,
- OpGroupMemberDecorate = 75,
- OpVectorExtractDynamic = 77,
- OpVectorInsertDynamic = 78,
- OpVectorShuffle = 79,
- OpCompositeConstruct = 80,
- OpCompositeExtract = 81,
- OpCompositeInsert = 82,
- OpCopyObject = 83,
- OpTranspose = 84,
- OpSampledImage = 86,
- OpImageSampleImplicitLod = 87,
- OpImageSampleExplicitLod = 88,
- OpImageSampleDrefImplicitLod = 89,
- OpImageSampleDrefExplicitLod = 90,
- OpImageSampleProjImplicitLod = 91,
- OpImageSampleProjExplicitLod = 92,
- OpImageSampleProjDrefImplicitLod = 93,
- OpImageSampleProjDrefExplicitLod = 94,
- OpImageFetch = 95,
- OpImageGather = 96,
- OpImageDrefGather = 97,
- OpImageRead = 98,
- OpImageWrite = 99,
- OpImage = 100,
- OpImageQueryFormat = 101,
- OpImageQueryOrder = 102,
- OpImageQuerySizeLod = 103,
- OpImageQuerySize = 104,
- OpImageQueryLod = 105,
- OpImageQueryLevels = 106,
- OpImageQuerySamples = 107,
- OpConvertFToU = 109,
- OpConvertFToS = 110,
- OpConvertSToF = 111,
- OpConvertUToF = 112,
- OpUConvert = 113,
- OpSConvert = 114,
- OpFConvert = 115,
- OpQuantizeToF16 = 116,
- OpConvertPtrToU = 117,
- OpSatConvertSToU = 118,
- OpSatConvertUToS = 119,
- OpConvertUToPtr = 120,
- OpPtrCastToGeneric = 121,
- OpGenericCastToPtr = 122,
- OpGenericCastToPtrExplicit = 123,
- OpBitcast = 124,
- OpSNegate = 126,
- OpFNegate = 127,
- OpIAdd = 128,
- OpFAdd = 129,
- OpISub = 130,
- OpFSub = 131,
- OpIMul = 132,
- OpFMul = 133,
- OpUDiv = 134,
- OpSDiv = 135,
- OpFDiv = 136,
- OpUMod = 137,
- OpSRem = 138,
- OpSMod = 139,
- OpFRem = 140,
- OpFMod = 141,
- OpVectorTimesScalar = 142,
- OpMatrixTimesScalar = 143,
- OpVectorTimesMatrix = 144,
- OpMatrixTimesVector = 145,
- OpMatrixTimesMatrix = 146,
- OpOuterProduct = 147,
- OpDot = 148,
- OpIAddCarry = 149,
- OpISubBorrow = 150,
- OpUMulExtended = 151,
- OpSMulExtended = 152,
- OpAny = 154,
- OpAll = 155,
- OpIsNan = 156,
- OpIsInf = 157,
- OpIsFinite = 158,
- OpIsNormal = 159,
- OpSignBitSet = 160,
- OpLessOrGreater = 161,
- OpOrdered = 162,
- OpUnordered = 163,
- OpLogicalEqual = 164,
- OpLogicalNotEqual = 165,
- OpLogicalOr = 166,
- OpLogicalAnd = 167,
- OpLogicalNot = 168,
- OpSelect = 169,
- OpIEqual = 170,
- OpINotEqual = 171,
- OpUGreaterThan = 172,
- OpSGreaterThan = 173,
- OpUGreaterThanEqual = 174,
- OpSGreaterThanEqual = 175,
- OpULessThan = 176,
- OpSLessThan = 177,
- OpULessThanEqual = 178,
- OpSLessThanEqual = 179,
- OpFOrdEqual = 180,
- OpFUnordEqual = 181,
- OpFOrdNotEqual = 182,
- OpFUnordNotEqual = 183,
- OpFOrdLessThan = 184,
- OpFUnordLessThan = 185,
- OpFOrdGreaterThan = 186,
- OpFUnordGreaterThan = 187,
- OpFOrdLessThanEqual = 188,
- OpFUnordLessThanEqual = 189,
- OpFOrdGreaterThanEqual = 190,
- OpFUnordGreaterThanEqual = 191,
- OpShiftRightLogical = 194,
- OpShiftRightArithmetic = 195,
- OpShiftLeftLogical = 196,
- OpBitwiseOr = 197,
- OpBitwiseXor = 198,
- OpBitwiseAnd = 199,
- OpNot = 200,
- OpBitFieldInsert = 201,
- OpBitFieldSExtract = 202,
- OpBitFieldUExtract = 203,
- OpBitReverse = 204,
- OpBitCount = 205,
- OpDPdx = 207,
- OpDPdy = 208,
- OpFwidth = 209,
- OpDPdxFine = 210,
- OpDPdyFine = 211,
- OpFwidthFine = 212,
- OpDPdxCoarse = 213,
- OpDPdyCoarse = 214,
- OpFwidthCoarse = 215,
- OpEmitVertex = 218,
- OpEndPrimitive = 219,
- OpEmitStreamVertex = 220,
- OpEndStreamPrimitive = 221,
- OpControlBarrier = 224,
- OpMemoryBarrier = 225,
- OpAtomicLoad = 227,
- OpAtomicStore = 228,
- OpAtomicExchange = 229,
- OpAtomicCompareExchange = 230,
- OpAtomicCompareExchangeWeak = 231,
- OpAtomicIIncrement = 232,
- OpAtomicIDecrement = 233,
- OpAtomicIAdd = 234,
- OpAtomicISub = 235,
- OpAtomicSMin = 236,
- OpAtomicUMin = 237,
- OpAtomicSMax = 238,
- OpAtomicUMax = 239,
- OpAtomicAnd = 240,
- OpAtomicOr = 241,
- OpAtomicXor = 242,
- OpPhi = 245,
- OpLoopMerge = 246,
- OpSelectionMerge = 247,
- OpLabel = 248,
- OpBranch = 249,
- OpBranchConditional = 250,
- OpSwitch = 251,
- OpKill = 252,
- OpReturn = 253,
- OpReturnValue = 254,
- OpUnreachable = 255,
- OpLifetimeStart = 256,
- OpLifetimeStop = 257,
- OpGroupAsyncCopy = 259,
- OpGroupWaitEvents = 260,
- OpGroupAll = 261,
- OpGroupAny = 262,
- OpGroupBroadcast = 263,
- OpGroupIAdd = 264,
- OpGroupFAdd = 265,
- OpGroupFMin = 266,
- OpGroupUMin = 267,
- OpGroupSMin = 268,
- OpGroupFMax = 269,
- OpGroupUMax = 270,
- OpGroupSMax = 271,
- OpReadPipe = 274,
- OpWritePipe = 275,
- OpReservedReadPipe = 276,
- OpReservedWritePipe = 277,
- OpReserveReadPipePackets = 278,
- OpReserveWritePipePackets = 279,
- OpCommitReadPipe = 280,
- OpCommitWritePipe = 281,
- OpIsValidReserveId = 282,
- OpGetNumPipePackets = 283,
- OpGetMaxPipePackets = 284,
- OpGroupReserveReadPipePackets = 285,
- OpGroupReserveWritePipePackets = 286,
- OpGroupCommitReadPipe = 287,
- OpGroupCommitWritePipe = 288,
- OpEnqueueMarker = 291,
- OpEnqueueKernel = 292,
- OpGetKernelNDrangeSubGroupCount = 293,
- OpGetKernelNDrangeMaxSubGroupSize = 294,
- OpGetKernelWorkGroupSize = 295,
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,
- OpRetainEvent = 297,
- OpReleaseEvent = 298,
- OpCreateUserEvent = 299,
- OpIsValidEvent = 300,
- OpSetUserEventStatus = 301,
- OpCaptureEventProfilingInfo = 302,
- OpGetDefaultQueue = 303,
- OpBuildNDRange = 304,
- OpImageSparseSampleImplicitLod = 305,
- OpImageSparseSampleExplicitLod = 306,
- OpImageSparseSampleDrefImplicitLod = 307,
- OpImageSparseSampleDrefExplicitLod = 308,
- OpImageSparseSampleProjImplicitLod = 309,
- OpImageSparseSampleProjExplicitLod = 310,
- OpImageSparseSampleProjDrefImplicitLod = 311,
- OpImageSparseSampleProjDrefExplicitLod = 312,
- OpImageSparseFetch = 313,
- OpImageSparseGather = 314,
- OpImageSparseDrefGather = 315,
- OpImageSparseTexelsResident = 316,
- OpNoLine = 317,
- OpAtomicFlagTestAndSet = 318,
- OpAtomicFlagClear = 319,
- OpImageSparseRead = 320,
- OpSizeOf = 321,
- OpTypePipeStorage = 322,
- OpConstantPipeStorage = 323,
- OpCreatePipeFromPipeStorage = 324,
- OpGetKernelLocalSizeForSubgroupCount = 325,
- OpGetKernelMaxNumSubgroups = 326,
- OpTypeNamedBarrier = 327,
- OpNamedBarrierInitialize = 328,
- OpMemoryNamedBarrier = 329,
- OpModuleProcessed = 330,
- OpExecutionModeId = 331,
- OpDecorateId = 332,
- OpSubgroupBallotKHR = 4421,
- OpSubgroupFirstInvocationKHR = 4422,
- OpSubgroupAllKHR = 4428,
- OpSubgroupAnyKHR = 4429,
- OpSubgroupAllEqualKHR = 4430,
- OpSubgroupReadInvocationKHR = 4432,
- OpGroupIAddNonUniformAMD = 5000,
- OpGroupFAddNonUniformAMD = 5001,
- OpGroupFMinNonUniformAMD = 5002,
- OpGroupUMinNonUniformAMD = 5003,
- OpGroupSMinNonUniformAMD = 5004,
- OpGroupFMaxNonUniformAMD = 5005,
- OpGroupUMaxNonUniformAMD = 5006,
- OpGroupSMaxNonUniformAMD = 5007,
- OpFragmentMaskFetchAMD = 5011,
- OpFragmentFetchAMD = 5012,
- OpSubgroupShuffleINTEL = 5571,
- OpSubgroupShuffleDownINTEL = 5572,
- OpSubgroupShuffleUpINTEL = 5573,
- OpSubgroupShuffleXorINTEL = 5574,
- OpSubgroupBlockReadINTEL = 5575,
- OpSubgroupBlockWriteINTEL = 5576,
- OpSubgroupImageBlockReadINTEL = 5577,
- OpSubgroupImageBlockWriteINTEL = 5578,
- OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateStringGOOGLE = 5633,
- }
- }
-}
-
diff --git a/include/spirv/1.2/spirv.py b/include/spirv/1.2/spirv.py
index cefee4d..cefee4d 100644..100755
--- a/include/spirv/1.2/spirv.py
+++ b/include/spirv/1.2/spirv.py
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index 523460d..b05bfa7 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -52,7 +52,7 @@
<id value="0" vendor="Khronos" comment="Reserved by Khronos"/>
<id value="1" vendor="LunarG" comment="Contact TBD"/>
<id value="2" vendor="Valve" comment="Contact TBD"/>
- <id value="3" vendor="Codeplay" comment="Contact Victor Lomuller, victor@codeplay.com"/>
+ <id value="3" vendor="Codeplay" comment="Contact Neil Henning, neil@codeplay.com"/>
<id value="4" vendor="NVIDIA" comment="Contact Kerch Holt, kholt@nvidia.com"/>
<id value="5" vendor="ARM" comment="Contact Alexander Galazin, alexander.galazin@arm.com"/>
<id value="6" vendor="Khronos" tool="LLVM/SPIR-V Translator" comment="Contact Yaxun (Sam) Liu, yaxun.liu@amd.com"/>
@@ -69,10 +69,7 @@
<id value="17" vendor="Khronos" tool="SPIR-V Tools Linker" comment="Contact David Neto, dneto@google.com"/>
<id value="18" vendor="Wine" tool="VKD3D Shader Compiler" comment="Contact wine-devel@winehq.org"/>
<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"/>
- <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"/>
+ <unused start="20" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -101,7 +98,7 @@
<ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/>
<ids type="opcode" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
<ids type="opcode" start="4160" end="4415" vendor="ARM"/>
- <ids type="opcode" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
+ <ids type="opcode" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil@codeplay.com"/>
<ids type="opcode" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
<ids type="opcode" start="4992" end="5247" vendor="AMD"/>
<ids type="opcode" start="5248" end="5503" vendor="NVIDIA"/>
@@ -109,8 +106,6 @@
<ids type="opcode" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
<ids type="opcode" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
<ids type="opcode" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
- <ids type="opcode" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
- <ids type="opcode" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
<!-- Opcodes & enumerants reservable for future use. To get a block, allocate
multiples of 64 starting at the lowest available point in this
block and add a corresponding <ids> tag immediately above. Make
@@ -119,27 +114,6 @@
<!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
- <ids type="opcode" start="6016" end="4294967295" comment="Opcode range reservable for future use by vendors"/>
-
-
- <!-- SECTION: SPIR-V Loop Control Bit Reservations -->
- <!-- Reserve ranges of bits in the loop control bitfield.
-
- Each vendor determines the use of values in their own ranges.
- Vendors are not required to disclose those uses. If the use of a
- value is included in an extension that is adopted by a Khronos
- extension or specification, then that value's use may be permanently
- fixed as if originally reserved in a Khronos range.
-
- The SPIR Working Group strongly recommends:
- - Each value is used for only one purpose.
- - All values in a range should be used before allocating a new range.
- -->
-
- <!-- Reserved 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="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"/>
+ <ids type="opcode" start="5824" end="4294967295" comment="Opcode range reservable for future use by vendors"/>
</registry>
diff --git a/include/spirv/unified1/OpenCL.std.h b/include/spirv/unified1/OpenCL.std.h
index 2745e30..fe759e1 100644
--- a/include/spirv/unified1/OpenCL.std.h
+++ b/include/spirv/unified1/OpenCL.std.h
@@ -1,5 +1,5 @@
/*
-** Copyright (c) 2015-2019 The Khronos Group Inc.
+** Copyright (c) 2015-2017 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"),
@@ -27,7 +27,6 @@
#ifndef OPENCLstd_H
#define OPENCLstd_H
-#ifdef __cplusplus
namespace OpenCLLIB {
enum Entrypoints {
@@ -213,189 +212,4 @@ enum Entrypoints {
} // end namespace OpenCLLIB
-#else
-
-enum OpenCLstd_Entrypoints {
-
- // Section 2.1: Math extended instructions
- OpenCLstd_Acos = 0,
- OpenCLstd_Acosh = 1,
- OpenCLstd_Acospi = 2,
- OpenCLstd_Asin = 3,
- OpenCLstd_Asinh = 4,
- OpenCLstd_Asinpi = 5,
- OpenCLstd_Atan = 6,
- OpenCLstd_Atan2 = 7,
- OpenCLstd_Atanh = 8,
- OpenCLstd_Atanpi = 9,
- OpenCLstd_Atan2pi = 10,
- OpenCLstd_Cbrt = 11,
- OpenCLstd_Ceil = 12,
- OpenCLstd_Copysign = 13,
- OpenCLstd_Cos = 14,
- OpenCLstd_Cosh = 15,
- OpenCLstd_Cospi = 16,
- OpenCLstd_Erfc = 17,
- OpenCLstd_Erf = 18,
- OpenCLstd_Exp = 19,
- OpenCLstd_Exp2 = 20,
- OpenCLstd_Exp10 = 21,
- OpenCLstd_Expm1 = 22,
- OpenCLstd_Fabs = 23,
- OpenCLstd_Fdim = 24,
- OpenCLstd_Floor = 25,
- OpenCLstd_Fma = 26,
- OpenCLstd_Fmax = 27,
- OpenCLstd_Fmin = 28,
- OpenCLstd_Fmod = 29,
- OpenCLstd_Fract = 30,
- OpenCLstd_Frexp = 31,
- OpenCLstd_Hypot = 32,
- OpenCLstd_Ilogb = 33,
- OpenCLstd_Ldexp = 34,
- OpenCLstd_Lgamma = 35,
- OpenCLstd_Lgamma_r = 36,
- OpenCLstd_Log = 37,
- OpenCLstd_Log2 = 38,
- OpenCLstd_Log10 = 39,
- OpenCLstd_Log1p = 40,
- OpenCLstd_Logb = 41,
- OpenCLstd_Mad = 42,
- OpenCLstd_Maxmag = 43,
- OpenCLstd_Minmag = 44,
- OpenCLstd_Modf = 45,
- OpenCLstd_Nan = 46,
- OpenCLstd_Nextafter = 47,
- OpenCLstd_Pow = 48,
- OpenCLstd_Pown = 49,
- OpenCLstd_Powr = 50,
- OpenCLstd_Remainder = 51,
- OpenCLstd_Remquo = 52,
- OpenCLstd_Rint = 53,
- OpenCLstd_Rootn = 54,
- OpenCLstd_Round = 55,
- OpenCLstd_Rsqrt = 56,
- OpenCLstd_Sin = 57,
- OpenCLstd_Sincos = 58,
- OpenCLstd_Sinh = 59,
- OpenCLstd_Sinpi = 60,
- OpenCLstd_Sqrt = 61,
- OpenCLstd_Tan = 62,
- OpenCLstd_Tanh = 63,
- OpenCLstd_Tanpi = 64,
- OpenCLstd_Tgamma = 65,
- OpenCLstd_Trunc = 66,
- OpenCLstd_Half_cos = 67,
- OpenCLstd_Half_divide = 68,
- OpenCLstd_Half_exp = 69,
- OpenCLstd_Half_exp2 = 70,
- OpenCLstd_Half_exp10 = 71,
- OpenCLstd_Half_log = 72,
- OpenCLstd_Half_log2 = 73,
- OpenCLstd_Half_log10 = 74,
- OpenCLstd_Half_powr = 75,
- OpenCLstd_Half_recip = 76,
- OpenCLstd_Half_rsqrt = 77,
- OpenCLstd_Half_sin = 78,
- OpenCLstd_Half_sqrt = 79,
- OpenCLstd_Half_tan = 80,
- OpenCLstd_Native_cos = 81,
- OpenCLstd_Native_divide = 82,
- OpenCLstd_Native_exp = 83,
- OpenCLstd_Native_exp2 = 84,
- OpenCLstd_Native_exp10 = 85,
- OpenCLstd_Native_log = 86,
- OpenCLstd_Native_log2 = 87,
- OpenCLstd_Native_log10 = 88,
- OpenCLstd_Native_powr = 89,
- OpenCLstd_Native_recip = 90,
- OpenCLstd_Native_rsqrt = 91,
- OpenCLstd_Native_sin = 92,
- OpenCLstd_Native_sqrt = 93,
- OpenCLstd_Native_tan = 94,
-
- // Section 2.2: Integer instructions
- OpenCLstd_SAbs = 141,
- OpenCLstd_SAbs_diff = 142,
- OpenCLstd_SAdd_sat = 143,
- OpenCLstd_UAdd_sat = 144,
- OpenCLstd_SHadd = 145,
- OpenCLstd_UHadd = 146,
- OpenCLstd_SRhadd = 147,
- OpenCLstd_URhadd = 148,
- OpenCLstd_SClamp = 149,
- OpenCLstd_UClamp = 150,
- OpenCLstd_Clz = 151,
- OpenCLstd_Ctz = 152,
- OpenCLstd_SMad_hi = 153,
- OpenCLstd_UMad_sat = 154,
- OpenCLstd_SMad_sat = 155,
- OpenCLstd_SMax = 156,
- OpenCLstd_UMax = 157,
- OpenCLstd_SMin = 158,
- OpenCLstd_UMin = 159,
- OpenCLstd_SMul_hi = 160,
- OpenCLstd_Rotate = 161,
- OpenCLstd_SSub_sat = 162,
- OpenCLstd_USub_sat = 163,
- OpenCLstd_U_Upsample = 164,
- OpenCLstd_S_Upsample = 165,
- OpenCLstd_Popcount = 166,
- OpenCLstd_SMad24 = 167,
- OpenCLstd_UMad24 = 168,
- OpenCLstd_SMul24 = 169,
- OpenCLstd_UMul24 = 170,
- OpenCLstd_UAbs = 201,
- OpenCLstd_UAbs_diff = 202,
- OpenCLstd_UMul_hi = 203,
- OpenCLstd_UMad_hi = 204,
-
- // Section 2.3: Common instructions
- OpenCLstd_FClamp = 95,
- OpenCLstd_Degrees = 96,
- OpenCLstd_FMax_common = 97,
- OpenCLstd_FMin_common = 98,
- OpenCLstd_Mix = 99,
- OpenCLstd_Radians = 100,
- OpenCLstd_Step = 101,
- OpenCLstd_Smoothstep = 102,
- OpenCLstd_Sign = 103,
-
- // Section 2.4: Geometric instructions
- OpenCLstd_Cross = 104,
- OpenCLstd_Distance = 105,
- OpenCLstd_Length = 106,
- OpenCLstd_Normalize = 107,
- OpenCLstd_Fast_distance = 108,
- OpenCLstd_Fast_length = 109,
- OpenCLstd_Fast_normalize = 110,
-
- // Section 2.5: Relational instructions
- OpenCLstd_Bitselect = 186,
- OpenCLstd_Select = 187,
-
- // Section 2.6: Vector Data Load and Store instructions
- OpenCLstd_Vloadn = 171,
- OpenCLstd_Vstoren = 172,
- OpenCLstd_Vload_half = 173,
- OpenCLstd_Vload_halfn = 174,
- OpenCLstd_Vstore_half = 175,
- OpenCLstd_Vstore_half_r = 176,
- OpenCLstd_Vstore_halfn = 177,
- OpenCLstd_Vstore_halfn_r = 178,
- OpenCLstd_Vloada_halfn = 179,
- OpenCLstd_Vstorea_halfn = 180,
- OpenCLstd_Vstorea_halfn_r = 181,
-
- // Section 2.7: Miscellaneous Vector instructions
- OpenCLstd_Shuffle = 182,
- OpenCLstd_Shuffle2 = 183,
-
- // Section 2.8: Misc instructions
- OpenCLstd_Printf = 184,
- OpenCLstd_Prefetch = 185,
-};
-
-#endif
-
#endif // #ifndef OPENCLstd_H
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 495aff0..034e3ab 100644..100755
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -26,7 +26,7 @@
],
"magic_number" : "0x07230203",
"major_version" : 1,
- "minor_version" : 4,
+ "minor_version" : 3,
"revision" : 1,
"instructions" : [
{
@@ -339,10 +339,7 @@
{ "kind" : "IdRef", "name" : "'Pointer Type'" },
{ "kind" : "StorageClass" }
],
- "capabilities" : [
- "Addresses",
- "PhysicalStorageBufferAddressesEXT"
- ]
+ "capabilities" : [ "Addresses" ]
},
{
"opname" : "OpConstantTrue",
@@ -519,7 +516,6 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
{ "kind" : "IdRef", "name" : "'Source'" },
- { "kind" : "MemoryAccess", "quantifier" : "?" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
]
},
@@ -530,7 +526,6 @@
{ "kind" : "IdRef", "name" : "'Target'" },
{ "kind" : "IdRef", "name" : "'Source'" },
{ "kind" : "IdRef", "name" : "'Size'" },
- { "kind" : "MemoryAccess", "quantifier" : "?" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
],
"capabilities" : [ "Addresses" ]
@@ -568,8 +563,7 @@
"capabilities" : [
"Addresses",
"VariablePointers",
- "VariablePointersStorageBuffer",
- "PhysicalStorageBufferAddressesEXT"
+ "VariablePointersStorageBuffer"
]
},
{
@@ -1054,10 +1048,7 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" }
],
- "capabilities" : [
- "Addresses",
- "PhysicalStorageBufferAddressesEXT"
- ]
+ "capabilities" : [ "Addresses" ]
},
{
"opname" : "OpSatConvertSToU",
@@ -1087,10 +1078,7 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Integer Value'" }
],
- "capabilities" : [
- "Addresses",
- "PhysicalStorageBufferAddressesEXT"
- ]
+ "capabilities" : [ "Addresses" ]
},
{
"opname" : "OpPtrCastToGeneric",
@@ -2049,7 +2037,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
]
},
@@ -2058,7 +2046,7 @@
"opcode" : 228,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2070,7 +2058,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2082,7 +2070,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Equal'" },
{ "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
{ "kind" : "IdRef", "name" : "'Value'" },
@@ -2096,14 +2084,13 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Equal'" },
{ "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'Comparator'" }
],
- "capabilities" : [ "Kernel" ],
- "lastVersion" : "1.3"
+ "capabilities" : [ "Kernel" ]
},
{
"opname" : "OpAtomicIIncrement",
@@ -2112,7 +2099,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
]
},
@@ -2123,7 +2110,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
]
},
@@ -2134,7 +2121,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2146,7 +2133,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2158,7 +2145,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2170,7 +2157,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2182,7 +2169,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2194,7 +2181,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2206,7 +2193,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2218,7 +2205,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -2230,7 +2217,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
]
@@ -3002,7 +2989,7 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
],
"capabilities" : [ "Kernel" ]
@@ -3012,7 +2999,7 @@
"opcode" : 319,
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdScope", "name" : "'Memory'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
],
"capabilities" : [ "Kernel" ]
@@ -3369,7 +3356,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3383,7 +3370,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3397,7 +3384,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3411,7 +3398,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3425,7 +3412,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3439,7 +3426,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3453,7 +3440,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3467,7 +3454,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3481,7 +3468,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3495,7 +3482,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3509,7 +3496,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3523,7 +3510,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3537,7 +3524,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3551,7 +3538,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3565,7 +3552,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3579,7 +3566,7 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
],
- "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
+ "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
"version" : "1.3"
},
{
@@ -3609,50 +3596,6 @@
"version" : "1.3"
},
{
- "opname" : "OpCopyLogical",
- "opcode" : 400,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand'" }
- ],
- "version" : "1.4"
- },
- {
- "opname" : "OpPtrEqual",
- "opcode" : 401,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "version" : "1.4"
- },
- {
- "opname" : "OpPtrNotEqual",
- "opcode" : 402,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "version" : "1.4"
- },
- {
- "opname" : "OpPtrDiff",
- "opcode" : 403,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "Addresses", "VariablePointers", "VariablePointersStorageBuffer" ],
- "version" : "1.4"
- },
- {
"opname" : "OpSubgroupBallotKHR",
"opcode" : 4421,
"operands" : [
@@ -3871,34 +3814,6 @@
"version" : "None"
},
{
- "opname" : "OpImageSampleFootprintNV",
- "opcode" : 5283,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Sampled Image'" },
- { "kind" : "IdRef", "name" : "'Coordinate'" },
- { "kind" : "IdRef", "name" : "'Granularity'" },
- { "kind" : "IdRef", "name" : "'Coarse'" },
- { "kind" : "ImageOperands", "quantifier" : "?" }
- ],
- "capabilities" : [ "ImageFootprintNV" ],
- "extensions" : [ "SPV_NV_shader_image_footprint" ],
- "version" : "None"
- },
- {
- "opname" : "OpGroupNonUniformPartitionNV",
- "opcode" : 5296,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Value'" }
- ],
- "capabilities" : [ "GroupNonUniformPartitionedNV" ],
- "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
- "version" : "None"
- },
- {
"opname" : "OpWritePackedPrimitiveIndices4x8NV",
"opcode" : 5299,
"operands" : [
@@ -3910,7 +3825,7 @@
"version" : "None"
},
{
- "opname" : "OpReportIntersectionNV",
+ "opname" : "OpReportIntersectionNVX",
"opcode" : 5334,
"operands" : [
{ "kind" : "IdResultType" },
@@ -3918,25 +3833,25 @@
{ "kind" : "IdRef", "name" : "'Hit'" },
{ "kind" : "IdRef", "name" : "'HitKind'" }
],
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "opname" : "OpIgnoreIntersectionNV",
+ "opname" : "OpIgnoreIntersectionNVX",
"opcode" : 5335,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "opname" : "OpTerminateRayNV",
+ "opname" : "OpTerminateRayNVX",
"opcode" : 5336,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "opname" : "OpTraceNV",
+ "opname" : "OpTraceNVX",
"opcode" : 5337,
"operands" : [
@@ -3952,129 +3867,17 @@
{ "kind" : "IdRef", "name" : "'Ray Tmax'" },
{ "kind" : "IdRef", "name" : "'PayloadId'" }
],
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "opname" : "OpTypeAccelerationStructureNV",
+ "opname" : "OpTypeAccelerationStructureNVX",
"opcode" : 5341,
"operands" : [
{ "kind" : "IdResult" }
],
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
- },
- {
- "opname" : "OpExecuteCallableNV",
- "opcode" : 5344,
- "operands" : [
-
- { "kind" : "IdRef", "name" : "'SBT Index'" },
- { "kind" : "IdRef", "name" : "'Callable DataId'" }
- ],
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ]
- },
- {
- "opname" : "OpTypeCooperativeMatrixNV",
- "opcode" : 5358,
- "operands" : [
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Component Type'" },
- { "kind" : "IdScope", "name" : "'Execution'" },
- { "kind" : "IdRef", "name" : "'Rows'" },
- { "kind" : "IdRef", "name" : "'Columns'" }
- ],
- "capabilities" : [ "CooperativeMatrixNV" ],
- "extensions" : [ "SPV_NV_cooperative_matrix" ],
- "version" : "None"
- },
- {
- "opname" : "OpCooperativeMatrixLoadNV",
- "opcode" : 5359,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdRef", "name" : "'Stride'" },
- { "kind" : "IdRef", "name" : "'Column Major'" },
- { "kind" : "MemoryAccess", "quantifier" : "?" }
- ],
- "capabilities" : [ "CooperativeMatrixNV" ],
- "extensions" : [ "SPV_NV_cooperative_matrix" ],
- "version" : "None"
- },
- {
- "opname" : "OpCooperativeMatrixStoreNV",
- "opcode" : 5360,
- "operands" : [
- { "kind" : "IdRef", "name" : "'Pointer'" },
- { "kind" : "IdRef", "name" : "'Object'" },
- { "kind" : "IdRef", "name" : "'Stride'" },
- { "kind" : "IdRef", "name" : "'Column Major'" },
- { "kind" : "MemoryAccess", "quantifier" : "?" }
- ],
- "capabilities" : [ "CooperativeMatrixNV" ],
- "extensions" : [ "SPV_NV_cooperative_matrix" ],
- "version" : "None"
- },
- {
- "opname" : "OpCooperativeMatrixMulAddNV",
- "opcode" : 5361,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'A'" },
- { "kind" : "IdRef", "name" : "'B'" },
- { "kind" : "IdRef", "name" : "'C'" }
- ],
- "capabilities" : [ "CooperativeMatrixNV" ],
- "extensions" : [ "SPV_NV_cooperative_matrix" ],
- "version" : "None"
- },
- {
- "opname" : "OpCooperativeMatrixLengthNV",
- "opcode" : 5362,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Type'" }
- ],
- "capabilities" : [ "CooperativeMatrixNV" ],
- "extensions" : [ "SPV_NV_cooperative_matrix" ],
- "version" : "None"
- },
- {
- "opname" : "OpBeginInvocationInterlockEXT",
- "opcode" : 5364,
- "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "opname" : "OpEndInvocationInterlockEXT",
- "opcode" : 5365,
- "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "opname" : "OpDemoteToHelperInvocationEXT",
- "opcode" : 5380,
- "capabilities" : [ "DemoteToHelperInvocationEXT" ],
- "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
- "version" : "None"
- },
- {
- "opname" : "OpIsHelperInvocationEXT",
- "opcode" : 5381,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "DemoteToHelperInvocationEXT" ],
- "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
"opname" : "OpSubgroupShuffleINTEL",
@@ -4171,209 +3974,6 @@
"version" : "None"
},
{
- "opname" : "OpSubgroupImageMediaBlockReadINTEL",
- "opcode" : 5580,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Image'" },
- { "kind" : "IdRef", "name" : "'Coordinate'" },
- { "kind" : "IdRef", "name" : "'Width'" },
- { "kind" : "IdRef", "name" : "'Height'" }
- ],
- "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupImageMediaBlockWriteINTEL",
- "opcode" : 5581,
- "operands" : [
- { "kind" : "IdRef", "name" : "'Image'" },
- { "kind" : "IdRef", "name" : "'Coordinate'" },
- { "kind" : "IdRef", "name" : "'Width'" },
- { "kind" : "IdRef", "name" : "'Height'" },
- { "kind" : "IdRef", "name" : "'Data'" }
- ],
- "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpUCountLeadingZerosINTEL",
- "opcode" : 5585,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpUCountTrailingZerosINTEL",
- "opcode" : 5586,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpAbsISubINTEL",
- "opcode" : 5587,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpAbsUSubINTEL",
- "opcode" : 5588,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpIAddSatINTEL",
- "opcode" : 5589,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpUAddSatINTEL",
- "opcode" : 5590,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpIAverageINTEL",
- "opcode" : 5591,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpUAverageINTEL",
- "opcode" : 5592,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpIAverageRoundedINTEL",
- "opcode" : 5593,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpUAverageRoundedINTEL",
- "opcode" : 5594,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpISubSatINTEL",
- "opcode" : 5595,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpUSubSatINTEL",
- "opcode" : 5596,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpIMul32x16INTEL",
- "opcode" : 5597,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpUMul32x16INTEL",
- "opcode" : 5598,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Operand 1'" },
- { "kind" : "IdRef", "name" : "'Operand 2'" }
- ],
- "capabilities" : [ "IntegerFunctions2INTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpDecorateString",
- "opcode" : 5632,
- "operands" : [
- { "kind" : "IdRef", "name" : "'Target'" },
- { "kind" : "Decoration" }
- ],
- "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
- "version" : "1.4"
- },
- {
"opname" : "OpDecorateStringGOOGLE",
"opcode" : 5632,
"operands" : [
@@ -4381,18 +3981,7 @@
{ "kind" : "Decoration" }
],
"extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
- "version" : "1.4"
- },
- {
- "opname" : "OpMemberDecorateString",
- "opcode" : 5633,
- "operands" : [
- { "kind" : "IdRef", "name" : "'Struct Type'" },
- { "kind" : "LiteralInteger", "name" : "'Member'" },
- { "kind" : "Decoration" }
- ],
- "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
- "version" : "1.4"
+ "version" : "None"
},
{
"opname" : "OpMemberDecorateStringGOOGLE",
@@ -4403,1405 +3992,34 @@
{ "kind" : "Decoration" }
],
"extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
- "version" : "1.4"
- },
- {
- "opname" : "OpVmeImageINTEL",
- "opcode" : 5699,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Image Type'" },
- { "kind" : "IdRef", "name" : "'Sampler'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeVmeImageINTEL",
- "opcode" : 5700,
- "operands" : [
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Image Type'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcImePayloadINTEL",
- "opcode" : 5701,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcRefPayloadINTEL",
- "opcode" : 5702,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcSicPayloadINTEL",
- "opcode" : 5703,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcMcePayloadINTEL",
- "opcode" : 5704,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcMceResultINTEL",
- "opcode" : 5705,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcImeResultINTEL",
- "opcode" : 5706,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
- "opcode" : 5707,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
- "opcode" : 5708,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
- "opcode" : 5709,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
- "opcode" : 5710,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcRefResultINTEL",
- "opcode" : 5711,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpTypeAvcSicResultINTEL",
- "opcode" : 5712,
- "operands" : [
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
- "opcode" : 5713,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Slice Type'" },
- { "kind" : "IdRef", "name" : "'Qp'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
- "opcode" : 5714,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Reference Base Penalty'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
- "opcode" : 5715,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Slice Type'" },
- { "kind" : "IdRef", "name" : "'Qp'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
- "opcode" : 5716,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
- "opcode" : 5717,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Slice Type'" },
- { "kind" : "IdRef", "name" : "'Qp'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
- "opcode" : 5718,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Direction Cost'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
- "opcode" : 5719,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Slice Type'" },
- { "kind" : "IdRef", "name" : "'Qp'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
- "opcode" : 5720,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Slice Type'" },
- { "kind" : "IdRef", "name" : "'Qp'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
- "opcode" : 5721,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
- "opcode" : 5722,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
- "opcode" : 5723,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
- "opcode" : 5724,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Packed Cost Center Delta'" },
- { "kind" : "IdRef", "name" : "'Packed Cost Table'" },
- { "kind" : "IdRef", "name" : "'Cost Precision'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
- "opcode" : 5725,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Slice Type'" },
- { "kind" : "IdRef", "name" : "'Qp'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
- "opcode" : 5726,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
- "opcode" : 5727,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
- "opcode" : 5728,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
- "opcode" : 5729,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Source Field Polarity'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
- "opcode" : 5730,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Reference Field Polarity'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
- "opcode" : 5731,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Forward Reference Field Polarity'" },
- { "kind" : "IdRef", "name" : "'Backward Reference Field Polarity'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
- "opcode" : 5732,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
- "opcode" : 5733,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
- "opcode" : 5734,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
- "opcode" : 5735,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
- "opcode" : 5736,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
- "opcode" : 5737,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
- "opcode" : 5738,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
- "opcode" : 5739,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
- "opcode" : 5740,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
- "opcode" : 5741,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
- "opcode" : 5742,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
- "opcode" : 5743,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
- "opcode" : 5744,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
- "opcode" : 5745,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
- "opcode" : 5746,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
- { "kind" : "IdRef", "name" : "'Packed Reference Parameter Field Polarities'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeInitializeINTEL",
- "opcode" : 5747,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Coord'" },
- { "kind" : "IdRef", "name" : "'Partition Mask'" },
- { "kind" : "IdRef", "name" : "'SAD Adjustment'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
- "opcode" : 5748,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Ref Offset'" },
- { "kind" : "IdRef", "name" : "'Search Window Config'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
- "opcode" : 5749,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Fwd Ref Offset'" },
- { "kind" : "IdRef", "name" : "'Bwd Ref Offset'" },
- { "kind" : "IdRef", "name" : "'id> Search Window Config'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
- "opcode" : 5750,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Search Window Config'" },
- { "kind" : "IdRef", "name" : "'Dual Ref'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
- "opcode" : 5751,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Ref Offset'" },
- { "kind" : "IdRef", "name" : "'Src Coord'" },
- { "kind" : "IdRef", "name" : "'Ref Window Size'" },
- { "kind" : "IdRef", "name" : "'Image Size'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
- "opcode" : 5752,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
- "opcode" : 5753,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Max Motion Vector Count'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
- "opcode" : 5754,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
- "opcode" : 5755,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Threshold'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
- "opcode" : 5756,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Packed Sad Weights'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
- "opcode" : 5757,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
- "opcode" : 5758,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
- "opcode" : 5759,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Streamin Components'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
- "opcode" : 5760,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Streamin Components'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
"version" : "None"
},
{
- "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
- "opcode" : 5761,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
- "opcode" : 5762,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
- "opcode" : 5763,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Streamin Components'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
- "opcode" : 5764,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Streamin Components'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
- "opcode" : 5765,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
- "opcode" : 5766,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
- "opcode" : 5767,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
- "opcode" : 5768,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
- "opcode" : 5769,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
- "opcode" : 5770,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Major Shape'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
- "opcode" : 5771,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Major Shape'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
- "opcode" : 5772,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Major Shape'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
- "opcode" : 5773,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Major Shape'" },
- { "kind" : "IdRef", "name" : "'Direction'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
- "opcode" : 5774,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Major Shape'" },
- { "kind" : "IdRef", "name" : "'Direction'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
- "opcode" : 5775,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" },
- { "kind" : "IdRef", "name" : "'Major Shape'" },
- { "kind" : "IdRef", "name" : "'Direction'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
- "opcode" : 5776,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Image Select'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
- "opcode" : 5777,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
- "opcode" : 5778,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
- "opcode" : 5779,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
- "opcode" : 5780,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcFmeInitializeINTEL",
- "opcode" : 5781,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Coord'" },
- { "kind" : "IdRef", "name" : "'Motion Vectors'" },
- { "kind" : "IdRef", "name" : "'Major Shapes'" },
- { "kind" : "IdRef", "name" : "'Minor Shapes'" },
- { "kind" : "IdRef", "name" : "'Direction'" },
- { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
- { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcBmeInitializeINTEL",
- "opcode" : 5782,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Coord'" },
- { "kind" : "IdRef", "name" : "'Motion Vectors'" },
- { "kind" : "IdRef", "name" : "'Major Shapes'" },
- { "kind" : "IdRef", "name" : "'Minor Shapes'" },
- { "kind" : "IdRef", "name" : "'Direction'" },
- { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
- { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
- { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
- "opcode" : 5783,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
- "opcode" : 5784,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
- "opcode" : 5785,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
- "opcode" : 5786,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
- "opcode" : 5787,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
- "opcode" : 5788,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
- "opcode" : 5789,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
- { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
- "opcode" : 5790,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicInitializeINTEL",
- "opcode" : 5791,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Coord'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
- "opcode" : 5792,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
- { "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
- { "kind" : "IdRef", "name" : "'Motion Vectors'" },
- { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
- { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
- "opcode" : 5793,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
- { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
- { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
- { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
- { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
- { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
- { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
- "opcode" : 5794,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
- { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
- { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
- { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
- { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
- { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
- { "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
- { "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
- { "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
- { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
- "opcode" : 5795,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
- { "kind" : "IdRef", "name" : "'Direction'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
- "opcode" : 5796,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
- "opcode" : 5797,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
- "opcode" : 5798,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
- { "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
- { "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
- "opcode" : 5799,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
- "opcode" : 5800,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
- "opcode" : 5801,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
- "opcode" : 5802,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
- "opcode" : 5803,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
- "opcode" : 5804,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
- "opcode" : 5805,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
- "opcode" : 5806,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
- "opcode" : 5807,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Src Image'" },
- { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
- { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
- "opcode" : 5808,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
- "opcode" : 5809,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
- "opcode" : 5810,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
- "opcode" : 5811,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
- "opcode" : 5812,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
- "opcode" : 5813,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
- "opcode" : 5814,
- "operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
- ],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
- "version" : "None"
- },
- {
- "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
- "opcode" : 5815,
+ "opname" : "OpGroupNonUniformPartitionNV",
+ "opcode" : 5296,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
+ { "kind" : "IdRef", "name" : "'Value'" }
],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
+ "capabilities" : [ "GroupNonUniformPartitionedNV" ],
+ "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
"version" : "None"
},
- {
- "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
- "opcode" : 5816,
+ {
+ "opname" : "OpImageSampleFootprintNV",
+ "opcode" : 5283,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
- { "kind" : "IdRef", "name" : "'Payload'" }
+ { "kind" : "IdRef", "name" : "'Sampled Image'" },
+ { "kind" : "IdRef", "name" : "'Coordinate'" },
+ { "kind" : "IdRef", "name" : "'Granularity'" },
+ { "kind" : "IdRef", "name" : "'Coarse'" },
+ { "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
+ "capabilities" : [ "ImageFootprintNV" ],
+ "extensions" : [ "SPV_NV_shader_image_footprint" ],
"version" : "None"
}
],
@@ -5881,8 +4099,7 @@
"capabilities" : [ "VulkanMemoryModelKHR" ],
"parameters" : [
{ "kind" : "IdScope" }
- ],
- "version" : "None"
+ ]
},
{
"enumerant" : "MakeTexelVisibleKHR",
@@ -5890,30 +4107,17 @@
"capabilities" : [ "VulkanMemoryModelKHR" ],
"parameters" : [
{ "kind" : "IdScope" }
- ],
- "version" : "None"
+ ]
},
{
"enumerant" : "NonPrivateTexelKHR",
"value" : "0x0400",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
},
{
"enumerant" : "VolatileTexelKHR",
"value" : "0x0800",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
- },
- {
- "enumerant" : "SignExtend",
- "value" : "0x1000",
- "version" : "1.4"
- },
- {
- "enumerant" : "ZeroExtend",
- "value" : "0x2000",
- "version" : "1.4"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
}
]
},
@@ -5998,46 +4202,6 @@
{ "kind" : "LiteralInteger" }
],
"version" : "1.1"
- },
- {
- "enumerant" : "MinIterations",
- "value" : "0x0010",
- "parameters" : [
- { "kind" : "LiteralInteger" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "MaxIterations",
- "value" : "0x0020",
- "parameters" : [
- { "kind" : "LiteralInteger" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "IterationMultiple",
- "value" : "0x0040",
- "parameters" : [
- { "kind" : "LiteralInteger" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "PeelCount",
- "value" : "0x0080",
- "parameters" : [
- { "kind" : "LiteralInteger" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "PartialCount",
- "value" : "0x0100",
- "parameters" : [
- { "kind" : "LiteralInteger" }
- ],
- "version" : "1.4"
}
]
},
@@ -6124,26 +4288,17 @@
{
"enumerant" : "OutputMemoryKHR",
"value" : "0x1000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
},
{
"enumerant" : "MakeAvailableKHR",
"value" : "0x2000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
},
{
"enumerant" : "MakeVisibleKHR",
"value" : "0x4000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
- },
- {
- "enumerant" : "Volatile",
- "value" : "0x8000",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
}
]
},
@@ -6176,8 +4331,7 @@
"parameters" : [
{ "kind" : "IdScope" }
],
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
},
{
"enumerant" : "MakePointerVisibleKHR",
@@ -6185,14 +4339,12 @@
"parameters" : [
{ "kind" : "IdScope" }
],
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
},
{
"enumerant" : "NonPrivatePointerKHR",
"value" : "0x0020",
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
}
]
},
@@ -6283,50 +4435,42 @@
{
"enumerant" : "TaskNV",
"value" : 5267,
- "capabilities" : [ "MeshShadingNV" ],
- "version" : "None"
+ "capabilities" : [ "MeshShadingNV" ]
},
{
"enumerant" : "MeshNV",
"value" : 5268,
- "capabilities" : [ "MeshShadingNV" ],
- "version" : "None"
+ "capabilities" : [ "MeshShadingNV" ]
},
{
- "enumerant" : "RayGenerationNV",
+ "enumerant" : "RayGenerationNVX",
"value" : 5313,
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ]
},
{
- "enumerant" : "IntersectionNV",
+ "enumerant" : "IntersectionNVX",
"value" : 5314,
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ]
},
{
- "enumerant" : "AnyHitNV",
+ "enumerant" : "AnyHitNVX",
"value" : 5315,
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ]
},
{
- "enumerant" : "ClosestHitNV",
+ "enumerant" : "ClosestHitNVX",
"value" : 5316,
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ]
},
{
- "enumerant" : "MissNV",
+ "enumerant" : "MissNVX",
"value" : 5317,
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ]
},
{
- "enumerant" : "CallableNV",
+ "enumerant" : "CallableNVX",
"value" : 5318,
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ]
}
]
},
@@ -6347,13 +4491,6 @@
"enumerant" : "Physical64",
"value" : 2,
"capabilities" : [ "Addresses" ]
- },
- {
- "enumerant" : "PhysicalStorageBuffer64EXT",
- "value" : 5348,
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "version" : "None"
}
]
},
@@ -6379,8 +4516,7 @@
{
"enumerant" : "VulkanKHR",
"value" : 3,
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
}
]
},
@@ -6627,56 +4763,6 @@
"version" : "None"
},
{
- "enumerant" : "DenormPreserve",
- "value" : 4459,
- "capabilities" : [ "DenormPreserve" ],
- "extensions" : [ "SPV_KHR_float_controls" ],
- "parameters" : [
- { "kind" : "LiteralInteger", "name" : "'Target Width'" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "DenormFlushToZero",
- "value" : 4460,
- "capabilities" : [ "DenormFlushToZero" ],
- "extensions" : [ "SPV_KHR_float_controls" ],
- "parameters" : [
- { "kind" : "LiteralInteger", "name" : "'Target Width'" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "SignedZeroInfNanPreserve",
- "value" : 4461,
- "capabilities" : [ "SignedZeroInfNanPreserve" ],
- "extensions" : [ "SPV_KHR_float_controls" ],
- "parameters" : [
- { "kind" : "LiteralInteger", "name" : "'Target Width'" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "RoundingModeRTE",
- "value" : 4462,
- "capabilities" : [ "RoundingModeRTE" ],
- "extensions" : [ "SPV_KHR_float_controls" ],
- "parameters" : [
- { "kind" : "LiteralInteger", "name" : "'Target Width'" }
- ],
- "version" : "1.4"
- },
- {
- "enumerant" : "RoundingModeRTZ",
- "value" : 4463,
- "capabilities" : [ "RoundingModeRTZ" ],
- "extensions" : [ "SPV_KHR_float_controls" ],
- "parameters" : [
- { "kind" : "LiteralInteger", "name" : "'Target Width'" }
- ],
- "version" : "1.4"
- },
- {
"enumerant" : "StencilRefReplacingEXT",
"value" : 5027,
"capabilities" : [ "StencilExportEXT" ],
@@ -6720,48 +4806,6 @@
"capabilities" : [ "MeshShadingNV" ],
"extensions" : [ "SPV_NV_mesh_shader" ],
"version" : "None"
- },
- {
- "enumerant" : "PixelInterlockOrderedEXT",
- "value" : 5366,
- "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "enumerant" : "PixelInterlockUnorderedEXT",
- "value" : 5367,
- "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "enumerant" : "SampleInterlockOrderedEXT",
- "value" : 5368,
- "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "enumerant" : "SampleInterlockUnorderedEXT",
- "value" : 5369,
- "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "enumerant" : "ShadingRateInterlockOrderedEXT",
- "value" : 5370,
- "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
- },
- {
- "enumerant" : "ShadingRateInterlockUnorderedEXT",
- "value" : 5371,
- "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
- "version" : "None"
}
]
},
@@ -6834,53 +4878,28 @@
"version" : "1.3"
},
{
- "enumerant" : "CallableDataNV",
- "value" : 5328,
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
- },
- {
- "enumerant" : "IncomingCallableDataNV",
- "value" : 5329,
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
- },
- {
- "enumerant" : "RayPayloadNV",
+ "enumerant" : "RayPayloadNVX",
"value" : 5338,
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "extensions" : [ "SPV_NVX_raytracing" ],
+ "capabilities" : [ "RaytracingNVX" ]
},
{
- "enumerant" : "HitAttributeNV",
+ "enumerant" : "HitAttributeNVX",
"value" : 5339,
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "extensions" : [ "SPV_NVX_raytracing" ],
+ "capabilities" : [ "RaytracingNVX" ]
},
{
- "enumerant" : "IncomingRayPayloadNV",
+ "enumerant" : "IncomingRayPayloadNVX",
"value" : 5342,
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
+ "extensions" : [ "SPV_NVX_raytracing" ],
+ "capabilities" : [ "RaytracingNVX" ]
},
- {
- "enumerant" : "ShaderRecordBufferNV",
+{
+ "enumerant" : "ShaderRecordBufferNVX",
"value" : 5343,
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "capabilities" : [ "RayTracingNV" ],
- "version" : "None"
- },
- {
- "enumerant" : "PhysicalStorageBufferEXT",
- "value" : 5349,
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "version" : "None"
+ "extensions" : [ "SPV_NVX_raytracing" ],
+ "capabilities" : [ "RaytracingNVX" ]
}
]
},
@@ -7503,8 +5522,7 @@
{
"enumerant" : "BufferBlock",
"value" : 3,
- "capabilities" : [ "Shader" ],
- "lastVersion" : "1.3"
+ "capabilities" : [ "Shader" ]
},
{
"enumerant" : "RowMajor",
@@ -7619,15 +5637,6 @@
"capabilities" : [ "Shader" ]
},
{
- "enumerant" : "UniformId",
- "value" : 27,
- "capabilities" : [ "Shader" ],
- "parameters" : [
- { "kind" : "IdScope", "name" : "'Execution'" }
- ],
- "version" : "1.4"
- },
- {
"enumerant" : "SaturatedConversion",
"value" : 28,
"capabilities" : [ "Kernel" ]
@@ -7785,18 +5794,6 @@
"version" : "1.2"
},
{
- "enumerant" : "NoSignedWrap",
- "value" : 4469,
- "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
- "version" : "1.4"
- },
- {
- "enumerant" : "NoUnsignedWrap",
- "value" : 4470,
- "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
- "version" : "1.4"
- },
- {
"enumerant" : "ExplicitInterpAMD",
"value" : 4999,
"extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
@@ -7853,7 +5850,7 @@
"extensions" : [ "SPV_NV_mesh_shader" ],
"version" : "None"
},
- {
+ {
"enumerant" : "PerVertexNV",
"value" : 5285,
"capabilities" : [ "FragmentBarycentricNV" ],
@@ -7866,28 +5863,6 @@
"capabilities" : [ "ShaderNonUniformEXT" ]
},
{
- "enumerant" : "RestrictPointerEXT",
- "value" : 5355,
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "version" : "None"
- },
- {
- "enumerant" : "AliasedPointerEXT",
- "value" : 5356,
- "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "version" : "None"
- },
- {
- "enumerant" : "CounterBuffer",
- "value" : 5634,
- "parameters" : [
- { "kind" : "IdRef", "name" : "'Counter Buffer'" }
- ],
- "version" : "1.4"
- },
- {
"enumerant" : "HlslCounterBufferGOOGLE",
"value" : 5634,
"parameters" : [
@@ -7897,14 +5872,6 @@
"version" : "None"
},
{
- "enumerant" : "UserSemantic",
- "value" : 5635,
- "parameters" : [
- { "kind" : "LiteralString", "name" : "'Semantic'" }
- ],
- "version" : "1.4"
- },
- {
"enumerant" : "HlslSemanticGOOGLE",
"value" : 5635,
"parameters" : [
@@ -7912,15 +5879,6 @@
],
"extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
"version" : "None"
- },
- {
- "enumerant" : "UserTypeGOOGLE",
- "value" : 5636,
- "parameters" : [
- { "kind" : "LiteralString", "name" : "'User Type'" }
- ],
- "extensions" : [ "SPV_GOOGLE_user_type" ],
- "version" : "None"
}
]
},
@@ -7961,7 +5919,7 @@
{
"enumerant" : "PrimitiveId",
"value" : 7,
- "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV" ]
+ "capabilities" : [ "Geometry", "Tessellation", "RaytracingNVX" ]
},
{
"enumerant" : "InvocationId",
@@ -8389,158 +6347,96 @@
"version" : "None"
},
{
- "enumerant" : "FragSizeEXT",
- "value" : 5292 ,
- "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
- "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
- "version" : "None"
- },
- {
"enumerant" : "FragmentSizeNV",
"value" : 5292 ,
- "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
- "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
- "version" : "None"
- },
- {
- "enumerant" : "FragInvocationCountEXT",
- "value" : 5293,
- "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
- "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
+ "capabilities" : [ "ShadingRateNV" ],
+ "extensions" : [ "SPV_NV_shading_rate" ],
"version" : "None"
},
{
"enumerant" : "InvocationsPerPixelNV",
"value" : 5293,
- "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
- "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
+ "capabilities" : [ "ShadingRateNV" ],
+ "extensions" : [ "SPV_NV_shading_rate" ],
"version" : "None"
},
{
- "enumerant" : "LaunchIdNV",
+ "enumerant" : "LaunchIdNVX",
"value" : 5319,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "LaunchSizeNV",
+ "enumerant" : "LaunchSizeNVX",
"value" : 5320,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "WorldRayOriginNV",
+ "enumerant" : "WorldRayOriginNVX",
"value" : 5321,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "WorldRayDirectionNV",
+ "enumerant" : "WorldRayDirectionNVX",
"value" : 5322,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "ObjectRayOriginNV",
+ "enumerant" : "ObjectRayOriginNVX",
"value" : 5323,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "ObjectRayDirectionNV",
+ "enumerant" : "ObjectRayDirectionNVX",
"value" : 5324,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "RayTminNV",
+ "enumerant" : "RayTminNVX",
"value" : 5325,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "RayTmaxNV",
+ "enumerant" : "RayTmaxNVX",
"value" : 5326,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "InstanceCustomIndexNV",
+ "enumerant" : "InstanceCustomIndexNVX",
"value" : 5327,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "ObjectToWorldNV",
+ "enumerant" : "ObjectToWorldNVX",
"value" : 5330,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "WorldToObjectNV",
+ "enumerant" : "WorldToObjectNVX",
"value" : 5331,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "HitTNV",
+ "enumerant" : "HitTNVX",
"value" : 5332,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
},
{
- "enumerant" : "HitKindNV",
+ "enumerant" : "HitKindNVX",
"value" : 5333,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
- },
- {
- "enumerant" : "IncomingRayFlagsNV",
- "value" : 5351,
- "capabilities" : [ "RayTracingNV" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
- "version" : "None"
- },
- {
- "enumerant" : "WarpsPerSMNV",
- "value" : 5374,
- "capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ],
- "version" : "None"
- },
- {
- "enumerant" : "SMCountNV",
- "value" : 5375,
- "capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ],
- "version" : "None"
- },
- {
- "enumerant" : "WarpIDNV",
- "value" : 5376,
- "capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ],
- "version" : "None"
- },
- {
- "enumerant" : "SMIDNV",
- "value" : 5377,
- "capabilities" : [ "ShaderSMBuiltinsNV" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ],
- "version" : "None"
+ "capabilities" : [ "RaytracingNVX" ],
+ "extensions" : [ "SPV_NVX_raytracing" ]
}
]
},
@@ -8571,8 +6467,7 @@
{
"enumerant" : "QueueFamilyKHR",
"value" : 5,
- "capabilities" : [ "VulkanMemoryModelKHR" ],
- "version" : "None"
+ "capabilities" : [ "VulkanMemoryModelKHR" ]
}
]
},
@@ -8729,8 +6624,7 @@
},
{
"enumerant" : "Groups",
- "value" : 18,
- "extensions" : [ "SPV_AMD_shader_ballot" ]
+ "value" : 18
},
{
"enumerant" : "DeviceEnqueue",
@@ -9105,36 +6999,6 @@
"version" : "None"
},
{
- "enumerant" : "DenormPreserve",
- "value" : 4464,
- "extensions" : [ "SPV_KHR_float_controls" ],
- "version" : "1.4"
- },
- {
- "enumerant" : "DenormFlushToZero",
- "value" : 4465,
- "extensions" : [ "SPV_KHR_float_controls" ],
- "version" : "1.4"
- },
- {
- "enumerant" : "SignedZeroInfNanPreserve",
- "value" : 4466,
- "extensions" : [ "SPV_KHR_float_controls" ],
- "version" : "1.4"
- },
- {
- "enumerant" : "RoundingModeRTE",
- "value" : 4467,
- "extensions" : [ "SPV_KHR_float_controls" ],
- "version" : "1.4"
- },
- {
- "enumerant" : "RoundingModeRTZ",
- "value" : 4468,
- "extensions" : [ "SPV_KHR_float_controls" ],
- "version" : "1.4"
- },
- {
"enumerant" : "Float16ImageAMD",
"value" : 5008,
"capabilities" : [ "Shader" ],
@@ -9233,44 +7097,6 @@
"version" : "None"
},
{
- "enumerant" : "ImageFootprintNV",
- "value" : 5282,
- "extensions" : [ "SPV_NV_shader_image_footprint" ],
- "version" : "None"
- },
- {
- "enumerant" : "FragmentBarycentricNV",
- "value" : 5284,
- "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
- "version" : "None"
- },
- {
- "enumerant" : "ComputeDerivativeGroupQuadsNV",
- "value" : 5288,
- "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
- "version" : "None"
- },
- {
- "enumerant" : "FragmentDensityEXT",
- "value" : 5291,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
- "version" : "None"
- },
- {
- "enumerant" : "ShadingRateNV",
- "value" : 5291,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
- "version" : "None"
- },
- {
- "enumerant" : "GroupNonUniformPartitionedNV",
- "value" : 5297,
- "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
- "version" : "None"
- },
- {
"enumerant" : "ShaderNonUniformEXT",
"value" : 5301,
"capabilities" : [ "Shader" ],
@@ -9355,126 +7181,77 @@
"version" : "None"
},
{
- "enumerant" : "RayTracingNV",
+ "enumerant" : "RaytracingNVX",
"value" : 5340,
"capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_NV_ray_tracing" ],
+ "extensions" : [ "SPV_NVX_raytracing" ],
"version" : "None"
},
{
- "enumerant" : "VulkanMemoryModelKHR",
- "value" : 5345,
- "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
- "version" : "None"
- },
- {
- "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
- "value" : 5346,
- "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
- "version" : "None"
- },
- {
- "enumerant" : "PhysicalStorageBufferAddressesEXT",
- "value" : 5347,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
- "version" : "None"
- },
- {
- "enumerant" : "ComputeDerivativeGroupLinearNV",
- "value" : 5350,
- "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
- "version" : "None"
- },
- {
- "enumerant" : "CooperativeMatrixNV",
- "value" : 5357,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "enumerant" : "SubgroupShuffleINTEL",
+ "value" : 5568,
+ "extensions" : [ "SPV_INTEL_subgroups" ],
"version" : "None"
},
{
- "enumerant" : "FragmentShaderSampleInterlockEXT",
- "value" : 5363,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "enumerant" : "SubgroupBufferBlockIOINTEL",
+ "value" : 5569,
+ "extensions" : [ "SPV_INTEL_subgroups" ],
"version" : "None"
},
{
- "enumerant" : "FragmentShaderShadingRateInterlockEXT",
- "value" : 5372,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "enumerant" : "SubgroupImageBlockIOINTEL",
+ "value" : 5570,
+ "extensions" : [ "SPV_INTEL_subgroups" ],
"version" : "None"
},
{
- "enumerant" : "ShaderSMBuiltinsNV",
- "value" : 5373,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_NV_shader_sm_builtins" ],
+ "enumerant" : "GroupNonUniformPartitionedNV",
+ "value" : 5297,
+ "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
"version" : "None"
},
{
- "enumerant" : "FragmentShaderPixelInterlockEXT",
- "value" : 5378,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
+ "enumerant" : "VulkanMemoryModelKHR",
+ "value" : 5345,
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
"version" : "None"
},
{
- "enumerant" : "DemoteToHelperInvocationEXT",
- "value" : 5379,
- "capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
+ "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
+ "value" : 5346,
+ "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
"version" : "None"
},
{
- "enumerant" : "SubgroupShuffleINTEL",
- "value" : 5568,
- "extensions" : [ "SPV_INTEL_subgroups" ],
+ "enumerant" : "ImageFootprintNV",
+ "value" : 5282,
+ "extensions" : [ "SPV_NV_shader_image_footprint" ],
"version" : "None"
},
{
- "enumerant" : "SubgroupBufferBlockIOINTEL",
- "value" : 5569,
- "extensions" : [ "SPV_INTEL_subgroups" ],
+ "enumerant" : "FragmentBarycentricNV",
+ "value" : 5284,
+ "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
"version" : "None"
},
{
- "enumerant" : "SubgroupImageBlockIOINTEL",
- "value" : 5570,
- "extensions" : [ "SPV_INTEL_subgroups" ],
+ "enumerant" : "ComputeDerivativeGroupQuadsNV",
+ "value" : 5288,
+ "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
"version" : "None"
},
{
- "enumerant" : "SubgroupImageMediaBlockIOINTEL",
- "value" : 5579,
- "extensions" : [ "SPV_INTEL_media_block_io" ],
+ "enumerant" : "ComputeDerivativeGroupLinearNV",
+ "value" : 5350,
+ "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
"version" : "None"
},
{
- "enumerant" : "IntegerFunctions2INTEL",
- "value" : 5584,
+ "enumerant" : "ShadingRateNV",
+ "value" : 5291,
"capabilities" : [ "Shader" ],
- "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupAvcMotionEstimationINTEL",
- "value" : 5696,
- "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
- "value" : 5697,
- "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
- "version" : "None"
- },
- {
- "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
- "value" : 5698,
- "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
+ "extensions" : [ "SPV_NV_shading_rate" ],
"version" : "None"
}
]
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
deleted file mode 100644
index 93c631f..0000000
--- a/include/spirv/unified1/spirv.cs
+++ /dev/null
@@ -1,1393 +0,0 @@
-// Copyright (c) 2014-2019 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.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#, D
-//
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-// e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-//
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive. The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-namespace Spv
-{
-
- public static class Specification
- {
- public const uint MagicNumber = 0x07230203;
- public const uint Version = 0x00010400;
- public const uint Revision = 1;
- public const uint OpCodeMask = 0xffff;
- public const uint WordCountShift = 16;
-
- public enum SourceLanguage
- {
- Unknown = 0,
- ESSL = 1,
- GLSL = 2,
- OpenCL_C = 3,
- OpenCL_CPP = 4,
- HLSL = 5,
- }
-
- public enum ExecutionModel
- {
- Vertex = 0,
- TessellationControl = 1,
- TessellationEvaluation = 2,
- Geometry = 3,
- Fragment = 4,
- GLCompute = 5,
- Kernel = 6,
- TaskNV = 5267,
- MeshNV = 5268,
- RayGenerationNV = 5313,
- IntersectionNV = 5314,
- AnyHitNV = 5315,
- ClosestHitNV = 5316,
- MissNV = 5317,
- CallableNV = 5318,
- }
-
- public enum AddressingModel
- {
- Logical = 0,
- Physical32 = 1,
- Physical64 = 2,
- PhysicalStorageBuffer64EXT = 5348,
- }
-
- public enum MemoryModel
- {
- Simple = 0,
- GLSL450 = 1,
- OpenCL = 2,
- VulkanKHR = 3,
- }
-
- public enum ExecutionMode
- {
- Invocations = 0,
- SpacingEqual = 1,
- SpacingFractionalEven = 2,
- SpacingFractionalOdd = 3,
- VertexOrderCw = 4,
- VertexOrderCcw = 5,
- PixelCenterInteger = 6,
- OriginUpperLeft = 7,
- OriginLowerLeft = 8,
- EarlyFragmentTests = 9,
- PointMode = 10,
- Xfb = 11,
- DepthReplacing = 12,
- DepthGreater = 14,
- DepthLess = 15,
- DepthUnchanged = 16,
- LocalSize = 17,
- LocalSizeHint = 18,
- InputPoints = 19,
- InputLines = 20,
- InputLinesAdjacency = 21,
- Triangles = 22,
- InputTrianglesAdjacency = 23,
- Quads = 24,
- Isolines = 25,
- OutputVertices = 26,
- OutputPoints = 27,
- OutputLineStrip = 28,
- OutputTriangleStrip = 29,
- VecTypeHint = 30,
- ContractionOff = 31,
- Initializer = 33,
- Finalizer = 34,
- SubgroupSize = 35,
- SubgroupsPerWorkgroup = 36,
- SubgroupsPerWorkgroupId = 37,
- LocalSizeId = 38,
- LocalSizeHintId = 39,
- PostDepthCoverage = 4446,
- DenormPreserve = 4459,
- DenormFlushToZero = 4460,
- SignedZeroInfNanPreserve = 4461,
- RoundingModeRTE = 4462,
- RoundingModeRTZ = 4463,
- StencilRefReplacingEXT = 5027,
- OutputLinesNV = 5269,
- OutputPrimitivesNV = 5270,
- DerivativeGroupQuadsNV = 5289,
- DerivativeGroupLinearNV = 5290,
- OutputTrianglesNV = 5298,
- PixelInterlockOrderedEXT = 5366,
- PixelInterlockUnorderedEXT = 5367,
- SampleInterlockOrderedEXT = 5368,
- SampleInterlockUnorderedEXT = 5369,
- ShadingRateInterlockOrderedEXT = 5370,
- ShadingRateInterlockUnorderedEXT = 5371,
- }
-
- public enum StorageClass
- {
- UniformConstant = 0,
- Input = 1,
- Uniform = 2,
- Output = 3,
- Workgroup = 4,
- CrossWorkgroup = 5,
- Private = 6,
- Function = 7,
- Generic = 8,
- PushConstant = 9,
- AtomicCounter = 10,
- Image = 11,
- StorageBuffer = 12,
- CallableDataNV = 5328,
- IncomingCallableDataNV = 5329,
- RayPayloadNV = 5338,
- HitAttributeNV = 5339,
- IncomingRayPayloadNV = 5342,
- ShaderRecordBufferNV = 5343,
- PhysicalStorageBufferEXT = 5349,
- }
-
- public enum Dim
- {
- Dim1D = 0,
- Dim2D = 1,
- Dim3D = 2,
- Cube = 3,
- Rect = 4,
- Buffer = 5,
- SubpassData = 6,
- }
-
- public enum SamplerAddressingMode
- {
- None = 0,
- ClampToEdge = 1,
- Clamp = 2,
- Repeat = 3,
- RepeatMirrored = 4,
- }
-
- public enum SamplerFilterMode
- {
- Nearest = 0,
- Linear = 1,
- }
-
- public enum ImageFormat
- {
- Unknown = 0,
- Rgba32f = 1,
- Rgba16f = 2,
- R32f = 3,
- Rgba8 = 4,
- Rgba8Snorm = 5,
- Rg32f = 6,
- Rg16f = 7,
- R11fG11fB10f = 8,
- R16f = 9,
- Rgba16 = 10,
- Rgb10A2 = 11,
- Rg16 = 12,
- Rg8 = 13,
- R16 = 14,
- R8 = 15,
- Rgba16Snorm = 16,
- Rg16Snorm = 17,
- Rg8Snorm = 18,
- R16Snorm = 19,
- R8Snorm = 20,
- Rgba32i = 21,
- Rgba16i = 22,
- Rgba8i = 23,
- R32i = 24,
- Rg32i = 25,
- Rg16i = 26,
- Rg8i = 27,
- R16i = 28,
- R8i = 29,
- Rgba32ui = 30,
- Rgba16ui = 31,
- Rgba8ui = 32,
- R32ui = 33,
- Rgb10a2ui = 34,
- Rg32ui = 35,
- Rg16ui = 36,
- Rg8ui = 37,
- R16ui = 38,
- R8ui = 39,
- }
-
- public enum ImageChannelOrder
- {
- R = 0,
- A = 1,
- RG = 2,
- RA = 3,
- RGB = 4,
- RGBA = 5,
- BGRA = 6,
- ARGB = 7,
- Intensity = 8,
- Luminance = 9,
- Rx = 10,
- RGx = 11,
- RGBx = 12,
- Depth = 13,
- DepthStencil = 14,
- sRGB = 15,
- sRGBx = 16,
- sRGBA = 17,
- sBGRA = 18,
- ABGR = 19,
- }
-
- public enum ImageChannelDataType
- {
- SnormInt8 = 0,
- SnormInt16 = 1,
- UnormInt8 = 2,
- UnormInt16 = 3,
- UnormShort565 = 4,
- UnormShort555 = 5,
- UnormInt101010 = 6,
- SignedInt8 = 7,
- SignedInt16 = 8,
- SignedInt32 = 9,
- UnsignedInt8 = 10,
- UnsignedInt16 = 11,
- UnsignedInt32 = 12,
- HalfFloat = 13,
- Float = 14,
- UnormInt24 = 15,
- UnormInt101010_2 = 16,
- }
-
- public enum ImageOperandsShift
- {
- Bias = 0,
- Lod = 1,
- Grad = 2,
- ConstOffset = 3,
- Offset = 4,
- ConstOffsets = 5,
- Sample = 6,
- MinLod = 7,
- MakeTexelAvailableKHR = 8,
- MakeTexelVisibleKHR = 9,
- NonPrivateTexelKHR = 10,
- VolatileTexelKHR = 11,
- SignExtend = 12,
- ZeroExtend = 13,
- }
-
- public enum ImageOperandsMask
- {
- MaskNone = 0,
- Bias = 0x00000001,
- Lod = 0x00000002,
- Grad = 0x00000004,
- ConstOffset = 0x00000008,
- Offset = 0x00000010,
- ConstOffsets = 0x00000020,
- Sample = 0x00000040,
- MinLod = 0x00000080,
- MakeTexelAvailableKHR = 0x00000100,
- MakeTexelVisibleKHR = 0x00000200,
- NonPrivateTexelKHR = 0x00000400,
- VolatileTexelKHR = 0x00000800,
- SignExtend = 0x00001000,
- ZeroExtend = 0x00002000,
- }
-
- public enum FPFastMathModeShift
- {
- NotNaN = 0,
- NotInf = 1,
- NSZ = 2,
- AllowRecip = 3,
- Fast = 4,
- }
-
- public enum FPFastMathModeMask
- {
- MaskNone = 0,
- NotNaN = 0x00000001,
- NotInf = 0x00000002,
- NSZ = 0x00000004,
- AllowRecip = 0x00000008,
- Fast = 0x00000010,
- }
-
- public enum FPRoundingMode
- {
- RTE = 0,
- RTZ = 1,
- RTP = 2,
- RTN = 3,
- }
-
- public enum LinkageType
- {
- Export = 0,
- Import = 1,
- }
-
- public enum AccessQualifier
- {
- ReadOnly = 0,
- WriteOnly = 1,
- ReadWrite = 2,
- }
-
- public enum FunctionParameterAttribute
- {
- Zext = 0,
- Sext = 1,
- ByVal = 2,
- Sret = 3,
- NoAlias = 4,
- NoCapture = 5,
- NoWrite = 6,
- NoReadWrite = 7,
- }
-
- public enum Decoration
- {
- RelaxedPrecision = 0,
- SpecId = 1,
- Block = 2,
- BufferBlock = 3,
- RowMajor = 4,
- ColMajor = 5,
- ArrayStride = 6,
- MatrixStride = 7,
- GLSLShared = 8,
- GLSLPacked = 9,
- CPacked = 10,
- BuiltIn = 11,
- NoPerspective = 13,
- Flat = 14,
- Patch = 15,
- Centroid = 16,
- Sample = 17,
- Invariant = 18,
- Restrict = 19,
- Aliased = 20,
- Volatile = 21,
- Constant = 22,
- Coherent = 23,
- NonWritable = 24,
- NonReadable = 25,
- Uniform = 26,
- UniformId = 27,
- SaturatedConversion = 28,
- Stream = 29,
- Location = 30,
- Component = 31,
- Index = 32,
- Binding = 33,
- DescriptorSet = 34,
- Offset = 35,
- XfbBuffer = 36,
- XfbStride = 37,
- FuncParamAttr = 38,
- FPRoundingMode = 39,
- FPFastMathMode = 40,
- LinkageAttributes = 41,
- NoContraction = 42,
- InputAttachmentIndex = 43,
- Alignment = 44,
- MaxByteOffset = 45,
- AlignmentId = 46,
- MaxByteOffsetId = 47,
- NoSignedWrap = 4469,
- NoUnsignedWrap = 4470,
- ExplicitInterpAMD = 4999,
- OverrideCoverageNV = 5248,
- PassthroughNV = 5250,
- ViewportRelativeNV = 5252,
- SecondaryViewportRelativeNV = 5256,
- PerPrimitiveNV = 5271,
- PerViewNV = 5272,
- PerTaskNV = 5273,
- PerVertexNV = 5285,
- NonUniformEXT = 5300,
- RestrictPointerEXT = 5355,
- AliasedPointerEXT = 5356,
- CounterBuffer = 5634,
- HlslCounterBufferGOOGLE = 5634,
- HlslSemanticGOOGLE = 5635,
- UserSemantic = 5635,
- UserTypeGOOGLE = 5636,
- }
-
- public enum BuiltIn
- {
- Position = 0,
- PointSize = 1,
- ClipDistance = 3,
- CullDistance = 4,
- VertexId = 5,
- InstanceId = 6,
- PrimitiveId = 7,
- InvocationId = 8,
- Layer = 9,
- ViewportIndex = 10,
- TessLevelOuter = 11,
- TessLevelInner = 12,
- TessCoord = 13,
- PatchVertices = 14,
- FragCoord = 15,
- PointCoord = 16,
- FrontFacing = 17,
- SampleId = 18,
- SamplePosition = 19,
- SampleMask = 20,
- FragDepth = 22,
- HelperInvocation = 23,
- NumWorkgroups = 24,
- WorkgroupSize = 25,
- WorkgroupId = 26,
- LocalInvocationId = 27,
- GlobalInvocationId = 28,
- LocalInvocationIndex = 29,
- WorkDim = 30,
- GlobalSize = 31,
- EnqueuedWorkgroupSize = 32,
- GlobalOffset = 33,
- GlobalLinearId = 34,
- SubgroupSize = 36,
- SubgroupMaxSize = 37,
- NumSubgroups = 38,
- NumEnqueuedSubgroups = 39,
- SubgroupId = 40,
- SubgroupLocalInvocationId = 41,
- VertexIndex = 42,
- InstanceIndex = 43,
- SubgroupEqMask = 4416,
- SubgroupEqMaskKHR = 4416,
- SubgroupGeMask = 4417,
- SubgroupGeMaskKHR = 4417,
- SubgroupGtMask = 4418,
- SubgroupGtMaskKHR = 4418,
- SubgroupLeMask = 4419,
- SubgroupLeMaskKHR = 4419,
- SubgroupLtMask = 4420,
- SubgroupLtMaskKHR = 4420,
- BaseVertex = 4424,
- BaseInstance = 4425,
- DrawIndex = 4426,
- DeviceIndex = 4438,
- ViewIndex = 4440,
- BaryCoordNoPerspAMD = 4992,
- BaryCoordNoPerspCentroidAMD = 4993,
- BaryCoordNoPerspSampleAMD = 4994,
- BaryCoordSmoothAMD = 4995,
- BaryCoordSmoothCentroidAMD = 4996,
- BaryCoordSmoothSampleAMD = 4997,
- BaryCoordPullModelAMD = 4998,
- FragStencilRefEXT = 5014,
- ViewportMaskNV = 5253,
- SecondaryPositionNV = 5257,
- SecondaryViewportMaskNV = 5258,
- PositionPerViewNV = 5261,
- ViewportMaskPerViewNV = 5262,
- FullyCoveredEXT = 5264,
- TaskCountNV = 5274,
- PrimitiveCountNV = 5275,
- PrimitiveIndicesNV = 5276,
- ClipDistancePerViewNV = 5277,
- CullDistancePerViewNV = 5278,
- LayerPerViewNV = 5279,
- MeshViewCountNV = 5280,
- MeshViewIndicesNV = 5281,
- BaryCoordNV = 5286,
- BaryCoordNoPerspNV = 5287,
- FragSizeEXT = 5292,
- FragmentSizeNV = 5292,
- FragInvocationCountEXT = 5293,
- InvocationsPerPixelNV = 5293,
- LaunchIdNV = 5319,
- LaunchSizeNV = 5320,
- WorldRayOriginNV = 5321,
- WorldRayDirectionNV = 5322,
- ObjectRayOriginNV = 5323,
- ObjectRayDirectionNV = 5324,
- RayTminNV = 5325,
- RayTmaxNV = 5326,
- InstanceCustomIndexNV = 5327,
- ObjectToWorldNV = 5330,
- WorldToObjectNV = 5331,
- HitTNV = 5332,
- HitKindNV = 5333,
- IncomingRayFlagsNV = 5351,
- WarpsPerSMNV = 5374,
- SMCountNV = 5375,
- WarpIDNV = 5376,
- SMIDNV = 5377,
- }
-
- public enum SelectionControlShift
- {
- Flatten = 0,
- DontFlatten = 1,
- }
-
- public enum SelectionControlMask
- {
- MaskNone = 0,
- Flatten = 0x00000001,
- DontFlatten = 0x00000002,
- }
-
- public enum LoopControlShift
- {
- Unroll = 0,
- DontUnroll = 1,
- DependencyInfinite = 2,
- DependencyLength = 3,
- MinIterations = 4,
- MaxIterations = 5,
- IterationMultiple = 6,
- PeelCount = 7,
- PartialCount = 8,
- }
-
- public enum LoopControlMask
- {
- MaskNone = 0,
- Unroll = 0x00000001,
- DontUnroll = 0x00000002,
- DependencyInfinite = 0x00000004,
- DependencyLength = 0x00000008,
- MinIterations = 0x00000010,
- MaxIterations = 0x00000020,
- IterationMultiple = 0x00000040,
- PeelCount = 0x00000080,
- PartialCount = 0x00000100,
- }
-
- public enum FunctionControlShift
- {
- Inline = 0,
- DontInline = 1,
- Pure = 2,
- Const = 3,
- }
-
- public enum FunctionControlMask
- {
- MaskNone = 0,
- Inline = 0x00000001,
- DontInline = 0x00000002,
- Pure = 0x00000004,
- Const = 0x00000008,
- }
-
- public enum MemorySemanticsShift
- {
- Acquire = 1,
- Release = 2,
- AcquireRelease = 3,
- SequentiallyConsistent = 4,
- UniformMemory = 6,
- SubgroupMemory = 7,
- WorkgroupMemory = 8,
- CrossWorkgroupMemory = 9,
- AtomicCounterMemory = 10,
- ImageMemory = 11,
- OutputMemoryKHR = 12,
- MakeAvailableKHR = 13,
- MakeVisibleKHR = 14,
- Volatile = 15,
- }
-
- public enum MemorySemanticsMask
- {
- MaskNone = 0,
- Acquire = 0x00000002,
- Release = 0x00000004,
- AcquireRelease = 0x00000008,
- SequentiallyConsistent = 0x00000010,
- UniformMemory = 0x00000040,
- SubgroupMemory = 0x00000080,
- WorkgroupMemory = 0x00000100,
- CrossWorkgroupMemory = 0x00000200,
- AtomicCounterMemory = 0x00000400,
- ImageMemory = 0x00000800,
- OutputMemoryKHR = 0x00001000,
- MakeAvailableKHR = 0x00002000,
- MakeVisibleKHR = 0x00004000,
- Volatile = 0x00008000,
- }
-
- public enum MemoryAccessShift
- {
- Volatile = 0,
- Aligned = 1,
- Nontemporal = 2,
- MakePointerAvailableKHR = 3,
- MakePointerVisibleKHR = 4,
- NonPrivatePointerKHR = 5,
- }
-
- public enum MemoryAccessMask
- {
- MaskNone = 0,
- Volatile = 0x00000001,
- Aligned = 0x00000002,
- Nontemporal = 0x00000004,
- MakePointerAvailableKHR = 0x00000008,
- MakePointerVisibleKHR = 0x00000010,
- NonPrivatePointerKHR = 0x00000020,
- }
-
- public enum Scope
- {
- CrossDevice = 0,
- Device = 1,
- Workgroup = 2,
- Subgroup = 3,
- Invocation = 4,
- QueueFamilyKHR = 5,
- }
-
- public enum GroupOperation
- {
- Reduce = 0,
- InclusiveScan = 1,
- ExclusiveScan = 2,
- ClusteredReduce = 3,
- PartitionedReduceNV = 6,
- PartitionedInclusiveScanNV = 7,
- PartitionedExclusiveScanNV = 8,
- }
-
- public enum KernelEnqueueFlags
- {
- NoWait = 0,
- WaitKernel = 1,
- WaitWorkGroup = 2,
- }
-
- public enum KernelProfilingInfoShift
- {
- CmdExecTime = 0,
- }
-
- public enum KernelProfilingInfoMask
- {
- MaskNone = 0,
- CmdExecTime = 0x00000001,
- }
-
- public enum Capability
- {
- Matrix = 0,
- Shader = 1,
- Geometry = 2,
- Tessellation = 3,
- Addresses = 4,
- Linkage = 5,
- Kernel = 6,
- Vector16 = 7,
- Float16Buffer = 8,
- Float16 = 9,
- Float64 = 10,
- Int64 = 11,
- Int64Atomics = 12,
- ImageBasic = 13,
- ImageReadWrite = 14,
- ImageMipmap = 15,
- Pipes = 17,
- Groups = 18,
- DeviceEnqueue = 19,
- LiteralSampler = 20,
- AtomicStorage = 21,
- Int16 = 22,
- TessellationPointSize = 23,
- GeometryPointSize = 24,
- ImageGatherExtended = 25,
- StorageImageMultisample = 27,
- UniformBufferArrayDynamicIndexing = 28,
- SampledImageArrayDynamicIndexing = 29,
- StorageBufferArrayDynamicIndexing = 30,
- StorageImageArrayDynamicIndexing = 31,
- ClipDistance = 32,
- CullDistance = 33,
- ImageCubeArray = 34,
- SampleRateShading = 35,
- ImageRect = 36,
- SampledRect = 37,
- GenericPointer = 38,
- Int8 = 39,
- InputAttachment = 40,
- SparseResidency = 41,
- MinLod = 42,
- Sampled1D = 43,
- Image1D = 44,
- SampledCubeArray = 45,
- SampledBuffer = 46,
- ImageBuffer = 47,
- ImageMSArray = 48,
- StorageImageExtendedFormats = 49,
- ImageQuery = 50,
- DerivativeControl = 51,
- InterpolationFunction = 52,
- TransformFeedback = 53,
- GeometryStreams = 54,
- StorageImageReadWithoutFormat = 55,
- StorageImageWriteWithoutFormat = 56,
- MultiViewport = 57,
- SubgroupDispatch = 58,
- NamedBarrier = 59,
- PipeStorage = 60,
- GroupNonUniform = 61,
- GroupNonUniformVote = 62,
- GroupNonUniformArithmetic = 63,
- GroupNonUniformBallot = 64,
- GroupNonUniformShuffle = 65,
- GroupNonUniformShuffleRelative = 66,
- GroupNonUniformClustered = 67,
- GroupNonUniformQuad = 68,
- SubgroupBallotKHR = 4423,
- DrawParameters = 4427,
- SubgroupVoteKHR = 4431,
- StorageBuffer16BitAccess = 4433,
- StorageUniformBufferBlock16 = 4433,
- StorageUniform16 = 4434,
- UniformAndStorageBuffer16BitAccess = 4434,
- StoragePushConstant16 = 4435,
- StorageInputOutput16 = 4436,
- DeviceGroup = 4437,
- MultiView = 4439,
- VariablePointersStorageBuffer = 4441,
- VariablePointers = 4442,
- AtomicStorageOps = 4445,
- SampleMaskPostDepthCoverage = 4447,
- StorageBuffer8BitAccess = 4448,
- UniformAndStorageBuffer8BitAccess = 4449,
- StoragePushConstant8 = 4450,
- DenormPreserve = 4464,
- DenormFlushToZero = 4465,
- SignedZeroInfNanPreserve = 4466,
- RoundingModeRTE = 4467,
- RoundingModeRTZ = 4468,
- Float16ImageAMD = 5008,
- ImageGatherBiasLodAMD = 5009,
- FragmentMaskAMD = 5010,
- StencilExportEXT = 5013,
- ImageReadWriteLodAMD = 5015,
- SampleMaskOverrideCoverageNV = 5249,
- GeometryShaderPassthroughNV = 5251,
- ShaderViewportIndexLayerEXT = 5254,
- ShaderViewportIndexLayerNV = 5254,
- ShaderViewportMaskNV = 5255,
- ShaderStereoViewNV = 5259,
- PerViewAttributesNV = 5260,
- FragmentFullyCoveredEXT = 5265,
- MeshShadingNV = 5266,
- ImageFootprintNV = 5282,
- FragmentBarycentricNV = 5284,
- ComputeDerivativeGroupQuadsNV = 5288,
- FragmentDensityEXT = 5291,
- ShadingRateNV = 5291,
- GroupNonUniformPartitionedNV = 5297,
- ShaderNonUniformEXT = 5301,
- RuntimeDescriptorArrayEXT = 5302,
- InputAttachmentArrayDynamicIndexingEXT = 5303,
- UniformTexelBufferArrayDynamicIndexingEXT = 5304,
- StorageTexelBufferArrayDynamicIndexingEXT = 5305,
- UniformBufferArrayNonUniformIndexingEXT = 5306,
- SampledImageArrayNonUniformIndexingEXT = 5307,
- StorageBufferArrayNonUniformIndexingEXT = 5308,
- StorageImageArrayNonUniformIndexingEXT = 5309,
- InputAttachmentArrayNonUniformIndexingEXT = 5310,
- UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
- StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- RayTracingNV = 5340,
- VulkanMemoryModelKHR = 5345,
- VulkanMemoryModelDeviceScopeKHR = 5346,
- PhysicalStorageBufferAddressesEXT = 5347,
- ComputeDerivativeGroupLinearNV = 5350,
- CooperativeMatrixNV = 5357,
- FragmentShaderSampleInterlockEXT = 5363,
- FragmentShaderShadingRateInterlockEXT = 5372,
- ShaderSMBuiltinsNV = 5373,
- FragmentShaderPixelInterlockEXT = 5378,
- DemoteToHelperInvocationEXT = 5379,
- SubgroupShuffleINTEL = 5568,
- SubgroupBufferBlockIOINTEL = 5569,
- SubgroupImageBlockIOINTEL = 5570,
- SubgroupImageMediaBlockIOINTEL = 5579,
- IntegerFunctions2INTEL = 5584,
- SubgroupAvcMotionEstimationINTEL = 5696,
- SubgroupAvcMotionEstimationIntraINTEL = 5697,
- SubgroupAvcMotionEstimationChromaINTEL = 5698,
- }
-
- public enum Op
- {
- OpNop = 0,
- OpUndef = 1,
- OpSourceContinued = 2,
- OpSource = 3,
- OpSourceExtension = 4,
- OpName = 5,
- OpMemberName = 6,
- OpString = 7,
- OpLine = 8,
- OpExtension = 10,
- OpExtInstImport = 11,
- OpExtInst = 12,
- OpMemoryModel = 14,
- OpEntryPoint = 15,
- OpExecutionMode = 16,
- OpCapability = 17,
- OpTypeVoid = 19,
- OpTypeBool = 20,
- OpTypeInt = 21,
- OpTypeFloat = 22,
- OpTypeVector = 23,
- OpTypeMatrix = 24,
- OpTypeImage = 25,
- OpTypeSampler = 26,
- OpTypeSampledImage = 27,
- OpTypeArray = 28,
- OpTypeRuntimeArray = 29,
- OpTypeStruct = 30,
- OpTypeOpaque = 31,
- OpTypePointer = 32,
- OpTypeFunction = 33,
- OpTypeEvent = 34,
- OpTypeDeviceEvent = 35,
- OpTypeReserveId = 36,
- OpTypeQueue = 37,
- OpTypePipe = 38,
- OpTypeForwardPointer = 39,
- OpConstantTrue = 41,
- OpConstantFalse = 42,
- OpConstant = 43,
- OpConstantComposite = 44,
- OpConstantSampler = 45,
- OpConstantNull = 46,
- OpSpecConstantTrue = 48,
- OpSpecConstantFalse = 49,
- OpSpecConstant = 50,
- OpSpecConstantComposite = 51,
- OpSpecConstantOp = 52,
- OpFunction = 54,
- OpFunctionParameter = 55,
- OpFunctionEnd = 56,
- OpFunctionCall = 57,
- OpVariable = 59,
- OpImageTexelPointer = 60,
- OpLoad = 61,
- OpStore = 62,
- OpCopyMemory = 63,
- OpCopyMemorySized = 64,
- OpAccessChain = 65,
- OpInBoundsAccessChain = 66,
- OpPtrAccessChain = 67,
- OpArrayLength = 68,
- OpGenericPtrMemSemantics = 69,
- OpInBoundsPtrAccessChain = 70,
- OpDecorate = 71,
- OpMemberDecorate = 72,
- OpDecorationGroup = 73,
- OpGroupDecorate = 74,
- OpGroupMemberDecorate = 75,
- OpVectorExtractDynamic = 77,
- OpVectorInsertDynamic = 78,
- OpVectorShuffle = 79,
- OpCompositeConstruct = 80,
- OpCompositeExtract = 81,
- OpCompositeInsert = 82,
- OpCopyObject = 83,
- OpTranspose = 84,
- OpSampledImage = 86,
- OpImageSampleImplicitLod = 87,
- OpImageSampleExplicitLod = 88,
- OpImageSampleDrefImplicitLod = 89,
- OpImageSampleDrefExplicitLod = 90,
- OpImageSampleProjImplicitLod = 91,
- OpImageSampleProjExplicitLod = 92,
- OpImageSampleProjDrefImplicitLod = 93,
- OpImageSampleProjDrefExplicitLod = 94,
- OpImageFetch = 95,
- OpImageGather = 96,
- OpImageDrefGather = 97,
- OpImageRead = 98,
- OpImageWrite = 99,
- OpImage = 100,
- OpImageQueryFormat = 101,
- OpImageQueryOrder = 102,
- OpImageQuerySizeLod = 103,
- OpImageQuerySize = 104,
- OpImageQueryLod = 105,
- OpImageQueryLevels = 106,
- OpImageQuerySamples = 107,
- OpConvertFToU = 109,
- OpConvertFToS = 110,
- OpConvertSToF = 111,
- OpConvertUToF = 112,
- OpUConvert = 113,
- OpSConvert = 114,
- OpFConvert = 115,
- OpQuantizeToF16 = 116,
- OpConvertPtrToU = 117,
- OpSatConvertSToU = 118,
- OpSatConvertUToS = 119,
- OpConvertUToPtr = 120,
- OpPtrCastToGeneric = 121,
- OpGenericCastToPtr = 122,
- OpGenericCastToPtrExplicit = 123,
- OpBitcast = 124,
- OpSNegate = 126,
- OpFNegate = 127,
- OpIAdd = 128,
- OpFAdd = 129,
- OpISub = 130,
- OpFSub = 131,
- OpIMul = 132,
- OpFMul = 133,
- OpUDiv = 134,
- OpSDiv = 135,
- OpFDiv = 136,
- OpUMod = 137,
- OpSRem = 138,
- OpSMod = 139,
- OpFRem = 140,
- OpFMod = 141,
- OpVectorTimesScalar = 142,
- OpMatrixTimesScalar = 143,
- OpVectorTimesMatrix = 144,
- OpMatrixTimesVector = 145,
- OpMatrixTimesMatrix = 146,
- OpOuterProduct = 147,
- OpDot = 148,
- OpIAddCarry = 149,
- OpISubBorrow = 150,
- OpUMulExtended = 151,
- OpSMulExtended = 152,
- OpAny = 154,
- OpAll = 155,
- OpIsNan = 156,
- OpIsInf = 157,
- OpIsFinite = 158,
- OpIsNormal = 159,
- OpSignBitSet = 160,
- OpLessOrGreater = 161,
- OpOrdered = 162,
- OpUnordered = 163,
- OpLogicalEqual = 164,
- OpLogicalNotEqual = 165,
- OpLogicalOr = 166,
- OpLogicalAnd = 167,
- OpLogicalNot = 168,
- OpSelect = 169,
- OpIEqual = 170,
- OpINotEqual = 171,
- OpUGreaterThan = 172,
- OpSGreaterThan = 173,
- OpUGreaterThanEqual = 174,
- OpSGreaterThanEqual = 175,
- OpULessThan = 176,
- OpSLessThan = 177,
- OpULessThanEqual = 178,
- OpSLessThanEqual = 179,
- OpFOrdEqual = 180,
- OpFUnordEqual = 181,
- OpFOrdNotEqual = 182,
- OpFUnordNotEqual = 183,
- OpFOrdLessThan = 184,
- OpFUnordLessThan = 185,
- OpFOrdGreaterThan = 186,
- OpFUnordGreaterThan = 187,
- OpFOrdLessThanEqual = 188,
- OpFUnordLessThanEqual = 189,
- OpFOrdGreaterThanEqual = 190,
- OpFUnordGreaterThanEqual = 191,
- OpShiftRightLogical = 194,
- OpShiftRightArithmetic = 195,
- OpShiftLeftLogical = 196,
- OpBitwiseOr = 197,
- OpBitwiseXor = 198,
- OpBitwiseAnd = 199,
- OpNot = 200,
- OpBitFieldInsert = 201,
- OpBitFieldSExtract = 202,
- OpBitFieldUExtract = 203,
- OpBitReverse = 204,
- OpBitCount = 205,
- OpDPdx = 207,
- OpDPdy = 208,
- OpFwidth = 209,
- OpDPdxFine = 210,
- OpDPdyFine = 211,
- OpFwidthFine = 212,
- OpDPdxCoarse = 213,
- OpDPdyCoarse = 214,
- OpFwidthCoarse = 215,
- OpEmitVertex = 218,
- OpEndPrimitive = 219,
- OpEmitStreamVertex = 220,
- OpEndStreamPrimitive = 221,
- OpControlBarrier = 224,
- OpMemoryBarrier = 225,
- OpAtomicLoad = 227,
- OpAtomicStore = 228,
- OpAtomicExchange = 229,
- OpAtomicCompareExchange = 230,
- OpAtomicCompareExchangeWeak = 231,
- OpAtomicIIncrement = 232,
- OpAtomicIDecrement = 233,
- OpAtomicIAdd = 234,
- OpAtomicISub = 235,
- OpAtomicSMin = 236,
- OpAtomicUMin = 237,
- OpAtomicSMax = 238,
- OpAtomicUMax = 239,
- OpAtomicAnd = 240,
- OpAtomicOr = 241,
- OpAtomicXor = 242,
- OpPhi = 245,
- OpLoopMerge = 246,
- OpSelectionMerge = 247,
- OpLabel = 248,
- OpBranch = 249,
- OpBranchConditional = 250,
- OpSwitch = 251,
- OpKill = 252,
- OpReturn = 253,
- OpReturnValue = 254,
- OpUnreachable = 255,
- OpLifetimeStart = 256,
- OpLifetimeStop = 257,
- OpGroupAsyncCopy = 259,
- OpGroupWaitEvents = 260,
- OpGroupAll = 261,
- OpGroupAny = 262,
- OpGroupBroadcast = 263,
- OpGroupIAdd = 264,
- OpGroupFAdd = 265,
- OpGroupFMin = 266,
- OpGroupUMin = 267,
- OpGroupSMin = 268,
- OpGroupFMax = 269,
- OpGroupUMax = 270,
- OpGroupSMax = 271,
- OpReadPipe = 274,
- OpWritePipe = 275,
- OpReservedReadPipe = 276,
- OpReservedWritePipe = 277,
- OpReserveReadPipePackets = 278,
- OpReserveWritePipePackets = 279,
- OpCommitReadPipe = 280,
- OpCommitWritePipe = 281,
- OpIsValidReserveId = 282,
- OpGetNumPipePackets = 283,
- OpGetMaxPipePackets = 284,
- OpGroupReserveReadPipePackets = 285,
- OpGroupReserveWritePipePackets = 286,
- OpGroupCommitReadPipe = 287,
- OpGroupCommitWritePipe = 288,
- OpEnqueueMarker = 291,
- OpEnqueueKernel = 292,
- OpGetKernelNDrangeSubGroupCount = 293,
- OpGetKernelNDrangeMaxSubGroupSize = 294,
- OpGetKernelWorkGroupSize = 295,
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,
- OpRetainEvent = 297,
- OpReleaseEvent = 298,
- OpCreateUserEvent = 299,
- OpIsValidEvent = 300,
- OpSetUserEventStatus = 301,
- OpCaptureEventProfilingInfo = 302,
- OpGetDefaultQueue = 303,
- OpBuildNDRange = 304,
- OpImageSparseSampleImplicitLod = 305,
- OpImageSparseSampleExplicitLod = 306,
- OpImageSparseSampleDrefImplicitLod = 307,
- OpImageSparseSampleDrefExplicitLod = 308,
- OpImageSparseSampleProjImplicitLod = 309,
- OpImageSparseSampleProjExplicitLod = 310,
- OpImageSparseSampleProjDrefImplicitLod = 311,
- OpImageSparseSampleProjDrefExplicitLod = 312,
- OpImageSparseFetch = 313,
- OpImageSparseGather = 314,
- OpImageSparseDrefGather = 315,
- OpImageSparseTexelsResident = 316,
- OpNoLine = 317,
- OpAtomicFlagTestAndSet = 318,
- OpAtomicFlagClear = 319,
- OpImageSparseRead = 320,
- OpSizeOf = 321,
- OpTypePipeStorage = 322,
- OpConstantPipeStorage = 323,
- OpCreatePipeFromPipeStorage = 324,
- OpGetKernelLocalSizeForSubgroupCount = 325,
- OpGetKernelMaxNumSubgroups = 326,
- OpTypeNamedBarrier = 327,
- OpNamedBarrierInitialize = 328,
- OpMemoryNamedBarrier = 329,
- OpModuleProcessed = 330,
- OpExecutionModeId = 331,
- OpDecorateId = 332,
- OpGroupNonUniformElect = 333,
- OpGroupNonUniformAll = 334,
- OpGroupNonUniformAny = 335,
- OpGroupNonUniformAllEqual = 336,
- OpGroupNonUniformBroadcast = 337,
- OpGroupNonUniformBroadcastFirst = 338,
- OpGroupNonUniformBallot = 339,
- OpGroupNonUniformInverseBallot = 340,
- OpGroupNonUniformBallotBitExtract = 341,
- OpGroupNonUniformBallotBitCount = 342,
- OpGroupNonUniformBallotFindLSB = 343,
- OpGroupNonUniformBallotFindMSB = 344,
- OpGroupNonUniformShuffle = 345,
- OpGroupNonUniformShuffleXor = 346,
- OpGroupNonUniformShuffleUp = 347,
- OpGroupNonUniformShuffleDown = 348,
- OpGroupNonUniformIAdd = 349,
- OpGroupNonUniformFAdd = 350,
- OpGroupNonUniformIMul = 351,
- OpGroupNonUniformFMul = 352,
- OpGroupNonUniformSMin = 353,
- OpGroupNonUniformUMin = 354,
- OpGroupNonUniformFMin = 355,
- OpGroupNonUniformSMax = 356,
- OpGroupNonUniformUMax = 357,
- OpGroupNonUniformFMax = 358,
- OpGroupNonUniformBitwiseAnd = 359,
- OpGroupNonUniformBitwiseOr = 360,
- OpGroupNonUniformBitwiseXor = 361,
- OpGroupNonUniformLogicalAnd = 362,
- OpGroupNonUniformLogicalOr = 363,
- OpGroupNonUniformLogicalXor = 364,
- OpGroupNonUniformQuadBroadcast = 365,
- OpGroupNonUniformQuadSwap = 366,
- OpCopyLogical = 400,
- OpPtrEqual = 401,
- OpPtrNotEqual = 402,
- OpPtrDiff = 403,
- OpSubgroupBallotKHR = 4421,
- OpSubgroupFirstInvocationKHR = 4422,
- OpSubgroupAllKHR = 4428,
- OpSubgroupAnyKHR = 4429,
- OpSubgroupAllEqualKHR = 4430,
- OpSubgroupReadInvocationKHR = 4432,
- OpGroupIAddNonUniformAMD = 5000,
- OpGroupFAddNonUniformAMD = 5001,
- OpGroupFMinNonUniformAMD = 5002,
- OpGroupUMinNonUniformAMD = 5003,
- OpGroupSMinNonUniformAMD = 5004,
- OpGroupFMaxNonUniformAMD = 5005,
- OpGroupUMaxNonUniformAMD = 5006,
- OpGroupSMaxNonUniformAMD = 5007,
- OpFragmentMaskFetchAMD = 5011,
- OpFragmentFetchAMD = 5012,
- OpImageSampleFootprintNV = 5283,
- OpGroupNonUniformPartitionNV = 5296,
- OpWritePackedPrimitiveIndices4x8NV = 5299,
- OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionNV = 5335,
- OpTerminateRayNV = 5336,
- OpTraceNV = 5337,
- OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableNV = 5344,
- OpTypeCooperativeMatrixNV = 5358,
- OpCooperativeMatrixLoadNV = 5359,
- OpCooperativeMatrixStoreNV = 5360,
- OpCooperativeMatrixMulAddNV = 5361,
- OpCooperativeMatrixLengthNV = 5362,
- OpBeginInvocationInterlockEXT = 5364,
- OpEndInvocationInterlockEXT = 5365,
- OpDemoteToHelperInvocationEXT = 5380,
- OpIsHelperInvocationEXT = 5381,
- OpSubgroupShuffleINTEL = 5571,
- OpSubgroupShuffleDownINTEL = 5572,
- OpSubgroupShuffleUpINTEL = 5573,
- OpSubgroupShuffleXorINTEL = 5574,
- OpSubgroupBlockReadINTEL = 5575,
- OpSubgroupBlockWriteINTEL = 5576,
- OpSubgroupImageBlockReadINTEL = 5577,
- OpSubgroupImageBlockWriteINTEL = 5578,
- OpSubgroupImageMediaBlockReadINTEL = 5580,
- OpSubgroupImageMediaBlockWriteINTEL = 5581,
- OpUCountLeadingZerosINTEL = 5585,
- OpUCountTrailingZerosINTEL = 5586,
- OpAbsISubINTEL = 5587,
- OpAbsUSubINTEL = 5588,
- OpIAddSatINTEL = 5589,
- OpUAddSatINTEL = 5590,
- OpIAverageINTEL = 5591,
- OpUAverageINTEL = 5592,
- OpIAverageRoundedINTEL = 5593,
- OpUAverageRoundedINTEL = 5594,
- OpISubSatINTEL = 5595,
- OpUSubSatINTEL = 5596,
- OpIMul32x16INTEL = 5597,
- OpUMul32x16INTEL = 5598,
- OpDecorateString = 5632,
- OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateString = 5633,
- OpMemberDecorateStringGOOGLE = 5633,
- OpVmeImageINTEL = 5699,
- OpTypeVmeImageINTEL = 5700,
- OpTypeAvcImePayloadINTEL = 5701,
- OpTypeAvcRefPayloadINTEL = 5702,
- OpTypeAvcSicPayloadINTEL = 5703,
- OpTypeAvcMcePayloadINTEL = 5704,
- OpTypeAvcMceResultINTEL = 5705,
- OpTypeAvcImeResultINTEL = 5706,
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- OpTypeAvcRefResultINTEL = 5711,
- OpTypeAvcSicResultINTEL = 5712,
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- OpSubgroupAvcImeInitializeINTEL = 5747,
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- OpSubgroupAvcFmeInitializeINTEL = 5781,
- OpSubgroupAvcBmeInitializeINTEL = 5782,
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- OpSubgroupAvcSicInitializeINTEL = 5791,
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
- }
- }
-}
-
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 4b6d9dc..2965534 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -1,5 +1,5 @@
/*
-** Copyright (c) 2014-2019 The Khronos Group Inc.
+** Copyright (c) 2014-2018 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"),
@@ -31,16 +31,13 @@
/*
** Enumeration tokens for SPIR-V, in various styles:
-** C, C++, C++11, JSON, Lua, Python, C#, D
+** C, C++, C++11, JSON, Lua, Python
**
** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-** - C# will use enum classes in the Specification class located in the "Spv" namespace,
-** e.g.: Spv.Specification.SourceLanguage.GLSL
-** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
**
** Some tokens act like mask values, which can be OR'd together,
** while others are mutually exclusive. The mask-like ones have
@@ -53,11 +50,11 @@
typedef unsigned int SpvId;
-#define SPV_VERSION 0x10400
+#define SPV_VERSION 0x10300
#define SPV_REVISION 1
static const unsigned int SpvMagicNumber = 0x07230203;
-static const unsigned int SpvVersion = 0x00010400;
+static const unsigned int SpvVersion = 0x00010300;
static const unsigned int SpvRevision = 1;
static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16;
@@ -82,12 +79,12 @@ typedef enum SpvExecutionModel_ {
SpvExecutionModelKernel = 6,
SpvExecutionModelTaskNV = 5267,
SpvExecutionModelMeshNV = 5268,
- SpvExecutionModelRayGenerationNV = 5313,
- SpvExecutionModelIntersectionNV = 5314,
- SpvExecutionModelAnyHitNV = 5315,
- SpvExecutionModelClosestHitNV = 5316,
- SpvExecutionModelMissNV = 5317,
- SpvExecutionModelCallableNV = 5318,
+ SpvExecutionModelRayGenerationNVX = 5313,
+ SpvExecutionModelIntersectionNVX = 5314,
+ SpvExecutionModelAnyHitNVX = 5315,
+ SpvExecutionModelClosestHitNVX = 5316,
+ SpvExecutionModelMissNVX = 5317,
+ SpvExecutionModelCallableNVX = 5318,
SpvExecutionModelMax = 0x7fffffff,
} SpvExecutionModel;
@@ -95,7 +92,6 @@ typedef enum SpvAddressingModel_ {
SpvAddressingModelLogical = 0,
SpvAddressingModelPhysical32 = 1,
SpvAddressingModelPhysical64 = 2,
- SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
SpvAddressingModelMax = 0x7fffffff,
} SpvAddressingModel;
@@ -147,23 +143,12 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeLocalSizeId = 38,
SpvExecutionModeLocalSizeHintId = 39,
SpvExecutionModePostDepthCoverage = 4446,
- SpvExecutionModeDenormPreserve = 4459,
- SpvExecutionModeDenormFlushToZero = 4460,
- SpvExecutionModeSignedZeroInfNanPreserve = 4461,
- SpvExecutionModeRoundingModeRTE = 4462,
- SpvExecutionModeRoundingModeRTZ = 4463,
SpvExecutionModeStencilRefReplacingEXT = 5027,
SpvExecutionModeOutputLinesNV = 5269,
SpvExecutionModeOutputPrimitivesNV = 5270,
SpvExecutionModeDerivativeGroupQuadsNV = 5289,
SpvExecutionModeDerivativeGroupLinearNV = 5290,
SpvExecutionModeOutputTrianglesNV = 5298,
- SpvExecutionModePixelInterlockOrderedEXT = 5366,
- SpvExecutionModePixelInterlockUnorderedEXT = 5367,
- SpvExecutionModeSampleInterlockOrderedEXT = 5368,
- SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
- SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
- SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
@@ -181,13 +166,10 @@ typedef enum SpvStorageClass_ {
SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11,
SpvStorageClassStorageBuffer = 12,
- SpvStorageClassCallableDataNV = 5328,
- SpvStorageClassIncomingCallableDataNV = 5329,
- SpvStorageClassRayPayloadNV = 5338,
- SpvStorageClassHitAttributeNV = 5339,
- SpvStorageClassIncomingRayPayloadNV = 5342,
- SpvStorageClassShaderRecordBufferNV = 5343,
- SpvStorageClassPhysicalStorageBufferEXT = 5349,
+ SpvStorageClassRayPayloadNVX = 5338,
+ SpvStorageClassHitAttributeNVX = 5339,
+ SpvStorageClassIncomingRayPayloadNVX = 5342,
+ SpvStorageClassShaderRecordBufferNVX = 5343,
SpvStorageClassMax = 0x7fffffff,
} SpvStorageClass;
@@ -319,8 +301,6 @@ typedef enum SpvImageOperandsShift_ {
SpvImageOperandsMakeTexelVisibleKHRShift = 9,
SpvImageOperandsNonPrivateTexelKHRShift = 10,
SpvImageOperandsVolatileTexelKHRShift = 11,
- SpvImageOperandsSignExtendShift = 12,
- SpvImageOperandsZeroExtendShift = 13,
SpvImageOperandsMax = 0x7fffffff,
} SpvImageOperandsShift;
@@ -338,8 +318,6 @@ typedef enum SpvImageOperandsMask_ {
SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
- SpvImageOperandsSignExtendMask = 0x00001000,
- SpvImageOperandsZeroExtendMask = 0x00002000,
} SpvImageOperandsMask;
typedef enum SpvFPFastMathModeShift_ {
@@ -420,7 +398,6 @@ typedef enum SpvDecoration_ {
SpvDecorationNonWritable = 24,
SpvDecorationNonReadable = 25,
SpvDecorationUniform = 26,
- SpvDecorationUniformId = 27,
SpvDecorationSaturatedConversion = 28,
SpvDecorationStream = 29,
SpvDecorationLocation = 30,
@@ -441,8 +418,6 @@ typedef enum SpvDecoration_ {
SpvDecorationMaxByteOffset = 45,
SpvDecorationAlignmentId = 46,
SpvDecorationMaxByteOffsetId = 47,
- SpvDecorationNoSignedWrap = 4469,
- SpvDecorationNoUnsignedWrap = 4470,
SpvDecorationExplicitInterpAMD = 4999,
SpvDecorationOverrideCoverageNV = 5248,
SpvDecorationPassthroughNV = 5250,
@@ -453,13 +428,8 @@ typedef enum SpvDecoration_ {
SpvDecorationPerTaskNV = 5273,
SpvDecorationPerVertexNV = 5285,
SpvDecorationNonUniformEXT = 5300,
- SpvDecorationRestrictPointerEXT = 5355,
- SpvDecorationAliasedPointerEXT = 5356,
- SpvDecorationCounterBuffer = 5634,
SpvDecorationHlslCounterBufferGOOGLE = 5634,
SpvDecorationHlslSemanticGOOGLE = 5635,
- SpvDecorationUserSemantic = 5635,
- SpvDecorationUserTypeGOOGLE = 5636,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
@@ -544,28 +514,21 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInMeshViewIndicesNV = 5281,
SpvBuiltInBaryCoordNV = 5286,
SpvBuiltInBaryCoordNoPerspNV = 5287,
- SpvBuiltInFragSizeEXT = 5292,
SpvBuiltInFragmentSizeNV = 5292,
- SpvBuiltInFragInvocationCountEXT = 5293,
SpvBuiltInInvocationsPerPixelNV = 5293,
- SpvBuiltInLaunchIdNV = 5319,
- SpvBuiltInLaunchSizeNV = 5320,
- SpvBuiltInWorldRayOriginNV = 5321,
- SpvBuiltInWorldRayDirectionNV = 5322,
- SpvBuiltInObjectRayOriginNV = 5323,
- SpvBuiltInObjectRayDirectionNV = 5324,
- SpvBuiltInRayTminNV = 5325,
- SpvBuiltInRayTmaxNV = 5326,
- SpvBuiltInInstanceCustomIndexNV = 5327,
- SpvBuiltInObjectToWorldNV = 5330,
- SpvBuiltInWorldToObjectNV = 5331,
- SpvBuiltInHitTNV = 5332,
- SpvBuiltInHitKindNV = 5333,
- SpvBuiltInIncomingRayFlagsNV = 5351,
- SpvBuiltInWarpsPerSMNV = 5374,
- SpvBuiltInSMCountNV = 5375,
- SpvBuiltInWarpIDNV = 5376,
- SpvBuiltInSMIDNV = 5377,
+ SpvBuiltInLaunchIdNVX = 5319,
+ SpvBuiltInLaunchSizeNVX = 5320,
+ SpvBuiltInWorldRayOriginNVX = 5321,
+ SpvBuiltInWorldRayDirectionNVX = 5322,
+ SpvBuiltInObjectRayOriginNVX = 5323,
+ SpvBuiltInObjectRayDirectionNVX = 5324,
+ SpvBuiltInRayTminNVX = 5325,
+ SpvBuiltInRayTmaxNVX = 5326,
+ SpvBuiltInInstanceCustomIndexNVX = 5327,
+ SpvBuiltInObjectToWorldNVX = 5330,
+ SpvBuiltInWorldToObjectNVX = 5331,
+ SpvBuiltInHitTNVX = 5332,
+ SpvBuiltInHitKindNVX = 5333,
SpvBuiltInMax = 0x7fffffff,
} SpvBuiltIn;
@@ -586,11 +549,6 @@ typedef enum SpvLoopControlShift_ {
SpvLoopControlDontUnrollShift = 1,
SpvLoopControlDependencyInfiniteShift = 2,
SpvLoopControlDependencyLengthShift = 3,
- SpvLoopControlMinIterationsShift = 4,
- SpvLoopControlMaxIterationsShift = 5,
- SpvLoopControlIterationMultipleShift = 6,
- SpvLoopControlPeelCountShift = 7,
- SpvLoopControlPartialCountShift = 8,
SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
@@ -600,11 +558,6 @@ typedef enum SpvLoopControlMask_ {
SpvLoopControlDontUnrollMask = 0x00000002,
SpvLoopControlDependencyInfiniteMask = 0x00000004,
SpvLoopControlDependencyLengthMask = 0x00000008,
- SpvLoopControlMinIterationsMask = 0x00000010,
- SpvLoopControlMaxIterationsMask = 0x00000020,
- SpvLoopControlIterationMultipleMask = 0x00000040,
- SpvLoopControlPeelCountMask = 0x00000080,
- SpvLoopControlPartialCountMask = 0x00000100,
} SpvLoopControlMask;
typedef enum SpvFunctionControlShift_ {
@@ -637,7 +590,6 @@ typedef enum SpvMemorySemanticsShift_ {
SpvMemorySemanticsOutputMemoryKHRShift = 12,
SpvMemorySemanticsMakeAvailableKHRShift = 13,
SpvMemorySemanticsMakeVisibleKHRShift = 14,
- SpvMemorySemanticsVolatileShift = 15,
SpvMemorySemanticsMax = 0x7fffffff,
} SpvMemorySemanticsShift;
@@ -656,7 +608,6 @@ typedef enum SpvMemorySemanticsMask_ {
SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
- SpvMemorySemanticsVolatileMask = 0x00008000,
} SpvMemorySemanticsMask;
typedef enum SpvMemoryAccessShift_ {
@@ -803,11 +754,6 @@ typedef enum SpvCapability_ {
SpvCapabilityStorageBuffer8BitAccess = 4448,
SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
SpvCapabilityStoragePushConstant8 = 4450,
- SpvCapabilityDenormPreserve = 4464,
- SpvCapabilityDenormFlushToZero = 4465,
- SpvCapabilitySignedZeroInfNanPreserve = 4466,
- SpvCapabilityRoundingModeRTE = 4467,
- SpvCapabilityRoundingModeRTZ = 4468,
SpvCapabilityFloat16ImageAMD = 5008,
SpvCapabilityImageGatherBiasLodAMD = 5009,
SpvCapabilityFragmentMaskAMD = 5010,
@@ -825,7 +771,6 @@ typedef enum SpvCapability_ {
SpvCapabilityImageFootprintNV = 5282,
SpvCapabilityFragmentBarycentricNV = 5284,
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
- SpvCapabilityFragmentDensityEXT = 5291,
SpvCapabilityShadingRateNV = 5291,
SpvCapabilityGroupNonUniformPartitionedNV = 5297,
SpvCapabilityShaderNonUniformEXT = 5301,
@@ -840,25 +785,13 @@ typedef enum SpvCapability_ {
SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- SpvCapabilityRayTracingNV = 5340,
+ SpvCapabilityRaytracingNVX = 5340,
SpvCapabilityVulkanMemoryModelKHR = 5345,
SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
- SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
- SpvCapabilityCooperativeMatrixNV = 5357,
- SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
- SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
- SpvCapabilityShaderSMBuiltinsNV = 5373,
- SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
- SpvCapabilityDemoteToHelperInvocationEXT = 5379,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
- SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
- SpvCapabilityIntegerFunctions2INTEL = 5584,
- SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
- SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
- SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -1203,10 +1136,6 @@ typedef enum SpvOp_ {
SpvOpGroupNonUniformLogicalXor = 364,
SpvOpGroupNonUniformQuadBroadcast = 365,
SpvOpGroupNonUniformQuadSwap = 366,
- SpvOpCopyLogical = 400,
- SpvOpPtrEqual = 401,
- SpvOpPtrNotEqual = 402,
- SpvOpPtrDiff = 403,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
SpvOpSubgroupAllKHR = 4428,
@@ -1226,21 +1155,11 @@ typedef enum SpvOp_ {
SpvOpImageSampleFootprintNV = 5283,
SpvOpGroupNonUniformPartitionNV = 5296,
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
- SpvOpReportIntersectionNV = 5334,
- SpvOpIgnoreIntersectionNV = 5335,
- SpvOpTerminateRayNV = 5336,
- SpvOpTraceNV = 5337,
- SpvOpTypeAccelerationStructureNV = 5341,
- SpvOpExecuteCallableNV = 5344,
- SpvOpTypeCooperativeMatrixNV = 5358,
- SpvOpCooperativeMatrixLoadNV = 5359,
- SpvOpCooperativeMatrixStoreNV = 5360,
- SpvOpCooperativeMatrixMulAddNV = 5361,
- SpvOpCooperativeMatrixLengthNV = 5362,
- SpvOpBeginInvocationInterlockEXT = 5364,
- SpvOpEndInvocationInterlockEXT = 5365,
- SpvOpDemoteToHelperInvocationEXT = 5380,
- SpvOpIsHelperInvocationEXT = 5381,
+ SpvOpReportIntersectionNVX = 5334,
+ SpvOpIgnoreIntersectionNVX = 5335,
+ SpvOpTerminateRayNVX = 5336,
+ SpvOpTraceNVX = 5337,
+ SpvOpTypeAccelerationStructureNVX = 5341,
SpvOpSubgroupShuffleINTEL = 5571,
SpvOpSubgroupShuffleDownINTEL = 5572,
SpvOpSubgroupShuffleUpINTEL = 5573,
@@ -1249,677 +1168,10 @@ typedef enum SpvOp_ {
SpvOpSubgroupBlockWriteINTEL = 5576,
SpvOpSubgroupImageBlockReadINTEL = 5577,
SpvOpSubgroupImageBlockWriteINTEL = 5578,
- SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
- SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
- SpvOpUCountLeadingZerosINTEL = 5585,
- SpvOpUCountTrailingZerosINTEL = 5586,
- SpvOpAbsISubINTEL = 5587,
- SpvOpAbsUSubINTEL = 5588,
- SpvOpIAddSatINTEL = 5589,
- SpvOpUAddSatINTEL = 5590,
- SpvOpIAverageINTEL = 5591,
- SpvOpUAverageINTEL = 5592,
- SpvOpIAverageRoundedINTEL = 5593,
- SpvOpUAverageRoundedINTEL = 5594,
- SpvOpISubSatINTEL = 5595,
- SpvOpUSubSatINTEL = 5596,
- SpvOpIMul32x16INTEL = 5597,
- SpvOpUMul32x16INTEL = 5598,
- SpvOpDecorateString = 5632,
SpvOpDecorateStringGOOGLE = 5632,
- SpvOpMemberDecorateString = 5633,
SpvOpMemberDecorateStringGOOGLE = 5633,
- SpvOpVmeImageINTEL = 5699,
- SpvOpTypeVmeImageINTEL = 5700,
- SpvOpTypeAvcImePayloadINTEL = 5701,
- SpvOpTypeAvcRefPayloadINTEL = 5702,
- SpvOpTypeAvcSicPayloadINTEL = 5703,
- SpvOpTypeAvcMcePayloadINTEL = 5704,
- SpvOpTypeAvcMceResultINTEL = 5705,
- SpvOpTypeAvcImeResultINTEL = 5706,
- SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- SpvOpTypeAvcRefResultINTEL = 5711,
- SpvOpTypeAvcSicResultINTEL = 5712,
- SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- SpvOpSubgroupAvcImeInitializeINTEL = 5747,
- SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
- SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
- SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- SpvOpSubgroupAvcSicInitializeINTEL = 5791,
- SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
- SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
SpvOpMax = 0x7fffffff,
} SpvOp;
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
- *hasResult = *hasResultType = false;
- switch (opcode) {
- default: /* unknown opcode */ break;
- case SpvOpNop: *hasResult = false; *hasResultType = false; break;
- case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
- case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
- case SpvOpSource: *hasResult = false; *hasResultType = false; break;
- case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
- case SpvOpName: *hasResult = false; *hasResultType = false; break;
- case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
- case SpvOpString: *hasResult = true; *hasResultType = false; break;
- case SpvOpLine: *hasResult = false; *hasResultType = false; break;
- case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
- case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
- case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
- case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
- case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
- case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
- case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
- case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
- case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
- case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
- case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
- case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
- case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
- case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
- case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
- case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
- case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
- case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
- case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
- case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
- case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
- case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
- case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
- case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
- case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
- case SpvOpStore: *hasResult = false; *hasResultType = false; break;
- case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
- case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
- case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
- case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
- case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
- case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
- case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
- case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
- case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
- case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
- case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
- case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
- case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
- case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
- case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
- case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
- case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
- case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
- case SpvOpImage: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
- case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
- case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
- case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
- case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
- case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
- case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
- case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
- case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
- case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
- case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
- case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
- case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
- case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
- case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
- case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
- case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
- case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
- case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
- case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
- case SpvOpISub: *hasResult = true; *hasResultType = true; break;
- case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
- case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
- case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
- case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
- case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
- case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
- case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
- case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
- case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
- case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
- case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
- case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
- case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
- case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
- case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
- case SpvOpDot: *hasResult = true; *hasResultType = true; break;
- case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
- case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
- case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
- case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
- case SpvOpAny: *hasResult = true; *hasResultType = true; break;
- case SpvOpAll: *hasResult = true; *hasResultType = true; break;
- case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
- case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
- case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
- case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
- case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
- case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
- case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
- case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
- case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
- case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
- case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
- case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
- case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
- case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
- case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case SpvOpNot: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
- case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
- case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
- case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
- case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
- case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
- case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
- case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
- case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
- case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
- case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
- case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
- case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
- case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
- case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
- case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
- case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
- case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
- case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
- case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
- case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
- case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
- case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
- case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
- case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
- case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
- case SpvOpKill: *hasResult = false; *hasResultType = false; break;
- case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
- case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
- case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
- case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
- case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
- case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
- case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
- case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
- case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
- case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
- case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
- case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
- case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
- case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
- case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
- case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
- case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
- case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
- case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
- case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
- case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
- case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
- case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
- case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
- case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
- case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
- case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
- case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
- case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
- case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
- case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
- case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
- case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
- case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
- case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
- case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
- case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
- case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
- case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
- case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
- case SpvOpFragmentFetchAMD: *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;
- case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
- case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
- case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
- case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
- case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
- case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
- case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
- case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
- case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
- case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
- case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
- case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
- case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
- case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
- case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
- case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
- }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
-#endif
+#endif // #ifndef spirv_H
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 50cc20d..14605b8 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
+// Copyright (c) 2014-2018 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"),
@@ -26,16 +26,13 @@
// the Binary Section of the SPIR-V specification.
// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#, D
+// C, C++, C++11, JSON, Lua, Python
//
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-// e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
//
// Some tokens act like mask values, which can be OR'd together,
// while others are mutually exclusive. The mask-like ones have
@@ -49,11 +46,11 @@ namespace spv {
typedef unsigned int Id;
-#define SPV_VERSION 0x10400
+#define SPV_VERSION 0x10300
#define SPV_REVISION 1
static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010400;
+static const unsigned int Version = 0x00010300;
static const unsigned int Revision = 1;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -78,12 +75,12 @@ enum ExecutionModel {
ExecutionModelKernel = 6,
ExecutionModelTaskNV = 5267,
ExecutionModelMeshNV = 5268,
- ExecutionModelRayGenerationNV = 5313,
- ExecutionModelIntersectionNV = 5314,
- ExecutionModelAnyHitNV = 5315,
- ExecutionModelClosestHitNV = 5316,
- ExecutionModelMissNV = 5317,
- ExecutionModelCallableNV = 5318,
+ ExecutionModelRayGenerationNVX = 5313,
+ ExecutionModelIntersectionNVX = 5314,
+ ExecutionModelAnyHitNVX = 5315,
+ ExecutionModelClosestHitNVX = 5316,
+ ExecutionModelMissNVX = 5317,
+ ExecutionModelCallableNVX = 5318,
ExecutionModelMax = 0x7fffffff,
};
@@ -91,7 +88,6 @@ enum AddressingModel {
AddressingModelLogical = 0,
AddressingModelPhysical32 = 1,
AddressingModelPhysical64 = 2,
- AddressingModelPhysicalStorageBuffer64EXT = 5348,
AddressingModelMax = 0x7fffffff,
};
@@ -143,23 +139,12 @@ enum ExecutionMode {
ExecutionModeLocalSizeId = 38,
ExecutionModeLocalSizeHintId = 39,
ExecutionModePostDepthCoverage = 4446,
- ExecutionModeDenormPreserve = 4459,
- ExecutionModeDenormFlushToZero = 4460,
- ExecutionModeSignedZeroInfNanPreserve = 4461,
- ExecutionModeRoundingModeRTE = 4462,
- ExecutionModeRoundingModeRTZ = 4463,
ExecutionModeStencilRefReplacingEXT = 5027,
ExecutionModeOutputLinesNV = 5269,
ExecutionModeOutputPrimitivesNV = 5270,
ExecutionModeDerivativeGroupQuadsNV = 5289,
ExecutionModeDerivativeGroupLinearNV = 5290,
ExecutionModeOutputTrianglesNV = 5298,
- ExecutionModePixelInterlockOrderedEXT = 5366,
- ExecutionModePixelInterlockUnorderedEXT = 5367,
- ExecutionModeSampleInterlockOrderedEXT = 5368,
- ExecutionModeSampleInterlockUnorderedEXT = 5369,
- ExecutionModeShadingRateInterlockOrderedEXT = 5370,
- ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
ExecutionModeMax = 0x7fffffff,
};
@@ -177,13 +162,10 @@ enum StorageClass {
StorageClassAtomicCounter = 10,
StorageClassImage = 11,
StorageClassStorageBuffer = 12,
- StorageClassCallableDataNV = 5328,
- StorageClassIncomingCallableDataNV = 5329,
- StorageClassRayPayloadNV = 5338,
- StorageClassHitAttributeNV = 5339,
- StorageClassIncomingRayPayloadNV = 5342,
- StorageClassShaderRecordBufferNV = 5343,
- StorageClassPhysicalStorageBufferEXT = 5349,
+ StorageClassRayPayloadNVX = 5338,
+ StorageClassHitAttributeNVX = 5339,
+ StorageClassIncomingRayPayloadNVX = 5342,
+ StorageClassShaderRecordBufferNVX = 5343,
StorageClassMax = 0x7fffffff,
};
@@ -315,8 +297,6 @@ enum ImageOperandsShift {
ImageOperandsMakeTexelVisibleKHRShift = 9,
ImageOperandsNonPrivateTexelKHRShift = 10,
ImageOperandsVolatileTexelKHRShift = 11,
- ImageOperandsSignExtendShift = 12,
- ImageOperandsZeroExtendShift = 13,
ImageOperandsMax = 0x7fffffff,
};
@@ -334,8 +314,6 @@ enum ImageOperandsMask {
ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
ImageOperandsVolatileTexelKHRMask = 0x00000800,
- ImageOperandsSignExtendMask = 0x00001000,
- ImageOperandsZeroExtendMask = 0x00002000,
};
enum FPFastMathModeShift {
@@ -416,7 +394,6 @@ enum Decoration {
DecorationNonWritable = 24,
DecorationNonReadable = 25,
DecorationUniform = 26,
- DecorationUniformId = 27,
DecorationSaturatedConversion = 28,
DecorationStream = 29,
DecorationLocation = 30,
@@ -437,8 +414,6 @@ enum Decoration {
DecorationMaxByteOffset = 45,
DecorationAlignmentId = 46,
DecorationMaxByteOffsetId = 47,
- DecorationNoSignedWrap = 4469,
- DecorationNoUnsignedWrap = 4470,
DecorationExplicitInterpAMD = 4999,
DecorationOverrideCoverageNV = 5248,
DecorationPassthroughNV = 5250,
@@ -449,13 +424,8 @@ enum Decoration {
DecorationPerTaskNV = 5273,
DecorationPerVertexNV = 5285,
DecorationNonUniformEXT = 5300,
- DecorationRestrictPointerEXT = 5355,
- DecorationAliasedPointerEXT = 5356,
- DecorationCounterBuffer = 5634,
DecorationHlslCounterBufferGOOGLE = 5634,
DecorationHlslSemanticGOOGLE = 5635,
- DecorationUserSemantic = 5635,
- DecorationUserTypeGOOGLE = 5636,
DecorationMax = 0x7fffffff,
};
@@ -540,28 +510,21 @@ enum BuiltIn {
BuiltInMeshViewIndicesNV = 5281,
BuiltInBaryCoordNV = 5286,
BuiltInBaryCoordNoPerspNV = 5287,
- BuiltInFragSizeEXT = 5292,
BuiltInFragmentSizeNV = 5292,
- BuiltInFragInvocationCountEXT = 5293,
BuiltInInvocationsPerPixelNV = 5293,
- BuiltInLaunchIdNV = 5319,
- BuiltInLaunchSizeNV = 5320,
- BuiltInWorldRayOriginNV = 5321,
- BuiltInWorldRayDirectionNV = 5322,
- BuiltInObjectRayOriginNV = 5323,
- BuiltInObjectRayDirectionNV = 5324,
- BuiltInRayTminNV = 5325,
- BuiltInRayTmaxNV = 5326,
- BuiltInInstanceCustomIndexNV = 5327,
- BuiltInObjectToWorldNV = 5330,
- BuiltInWorldToObjectNV = 5331,
- BuiltInHitTNV = 5332,
- BuiltInHitKindNV = 5333,
- BuiltInIncomingRayFlagsNV = 5351,
- BuiltInWarpsPerSMNV = 5374,
- BuiltInSMCountNV = 5375,
- BuiltInWarpIDNV = 5376,
- BuiltInSMIDNV = 5377,
+ BuiltInLaunchIdNVX = 5319,
+ BuiltInLaunchSizeNVX = 5320,
+ BuiltInWorldRayOriginNVX = 5321,
+ BuiltInWorldRayDirectionNVX = 5322,
+ BuiltInObjectRayOriginNVX = 5323,
+ BuiltInObjectRayDirectionNVX = 5324,
+ BuiltInRayTminNVX = 5325,
+ BuiltInRayTmaxNVX = 5326,
+ BuiltInInstanceCustomIndexNVX = 5327,
+ BuiltInObjectToWorldNVX = 5330,
+ BuiltInWorldToObjectNVX = 5331,
+ BuiltInHitTNVX = 5332,
+ BuiltInHitKindNVX = 5333,
BuiltInMax = 0x7fffffff,
};
@@ -582,11 +545,6 @@ enum LoopControlShift {
LoopControlDontUnrollShift = 1,
LoopControlDependencyInfiniteShift = 2,
LoopControlDependencyLengthShift = 3,
- LoopControlMinIterationsShift = 4,
- LoopControlMaxIterationsShift = 5,
- LoopControlIterationMultipleShift = 6,
- LoopControlPeelCountShift = 7,
- LoopControlPartialCountShift = 8,
LoopControlMax = 0x7fffffff,
};
@@ -596,11 +554,6 @@ enum LoopControlMask {
LoopControlDontUnrollMask = 0x00000002,
LoopControlDependencyInfiniteMask = 0x00000004,
LoopControlDependencyLengthMask = 0x00000008,
- LoopControlMinIterationsMask = 0x00000010,
- LoopControlMaxIterationsMask = 0x00000020,
- LoopControlIterationMultipleMask = 0x00000040,
- LoopControlPeelCountMask = 0x00000080,
- LoopControlPartialCountMask = 0x00000100,
};
enum FunctionControlShift {
@@ -633,7 +586,6 @@ enum MemorySemanticsShift {
MemorySemanticsOutputMemoryKHRShift = 12,
MemorySemanticsMakeAvailableKHRShift = 13,
MemorySemanticsMakeVisibleKHRShift = 14,
- MemorySemanticsVolatileShift = 15,
MemorySemanticsMax = 0x7fffffff,
};
@@ -652,7 +604,6 @@ enum MemorySemanticsMask {
MemorySemanticsOutputMemoryKHRMask = 0x00001000,
MemorySemanticsMakeAvailableKHRMask = 0x00002000,
MemorySemanticsMakeVisibleKHRMask = 0x00004000,
- MemorySemanticsVolatileMask = 0x00008000,
};
enum MemoryAccessShift {
@@ -799,11 +750,6 @@ enum Capability {
CapabilityStorageBuffer8BitAccess = 4448,
CapabilityUniformAndStorageBuffer8BitAccess = 4449,
CapabilityStoragePushConstant8 = 4450,
- CapabilityDenormPreserve = 4464,
- CapabilityDenormFlushToZero = 4465,
- CapabilitySignedZeroInfNanPreserve = 4466,
- CapabilityRoundingModeRTE = 4467,
- CapabilityRoundingModeRTZ = 4468,
CapabilityFloat16ImageAMD = 5008,
CapabilityImageGatherBiasLodAMD = 5009,
CapabilityFragmentMaskAMD = 5010,
@@ -821,7 +767,6 @@ enum Capability {
CapabilityImageFootprintNV = 5282,
CapabilityFragmentBarycentricNV = 5284,
CapabilityComputeDerivativeGroupQuadsNV = 5288,
- CapabilityFragmentDensityEXT = 5291,
CapabilityShadingRateNV = 5291,
CapabilityGroupNonUniformPartitionedNV = 5297,
CapabilityShaderNonUniformEXT = 5301,
@@ -836,25 +781,13 @@ enum Capability {
CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- CapabilityRayTracingNV = 5340,
+ CapabilityRaytracingNVX = 5340,
CapabilityVulkanMemoryModelKHR = 5345,
CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
- CapabilityPhysicalStorageBufferAddressesEXT = 5347,
CapabilityComputeDerivativeGroupLinearNV = 5350,
- CapabilityCooperativeMatrixNV = 5357,
- CapabilityFragmentShaderSampleInterlockEXT = 5363,
- CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
- CapabilityShaderSMBuiltinsNV = 5373,
- CapabilityFragmentShaderPixelInterlockEXT = 5378,
- CapabilityDemoteToHelperInvocationEXT = 5379,
CapabilitySubgroupShuffleINTEL = 5568,
CapabilitySubgroupBufferBlockIOINTEL = 5569,
CapabilitySubgroupImageBlockIOINTEL = 5570,
- CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
- CapabilityIntegerFunctions2INTEL = 5584,
- CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
- CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
- CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
CapabilityMax = 0x7fffffff,
};
@@ -1199,10 +1132,6 @@ enum Op {
OpGroupNonUniformLogicalXor = 364,
OpGroupNonUniformQuadBroadcast = 365,
OpGroupNonUniformQuadSwap = 366,
- OpCopyLogical = 400,
- OpPtrEqual = 401,
- OpPtrNotEqual = 402,
- OpPtrDiff = 403,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1222,21 +1151,11 @@ enum Op {
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
- OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionNV = 5335,
- OpTerminateRayNV = 5336,
- OpTraceNV = 5337,
- OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableNV = 5344,
- OpTypeCooperativeMatrixNV = 5358,
- OpCooperativeMatrixLoadNV = 5359,
- OpCooperativeMatrixStoreNV = 5360,
- OpCooperativeMatrixMulAddNV = 5361,
- OpCooperativeMatrixLengthNV = 5362,
- OpBeginInvocationInterlockEXT = 5364,
- OpEndInvocationInterlockEXT = 5365,
- OpDemoteToHelperInvocationEXT = 5380,
- OpIsHelperInvocationEXT = 5381,
+ OpReportIntersectionNVX = 5334,
+ OpIgnoreIntersectionNVX = 5335,
+ OpTerminateRayNVX = 5336,
+ OpTraceNVX = 5337,
+ OpTypeAccelerationStructureNVX = 5341,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
@@ -1245,678 +1164,11 @@ enum Op {
OpSubgroupBlockWriteINTEL = 5576,
OpSubgroupImageBlockReadINTEL = 5577,
OpSubgroupImageBlockWriteINTEL = 5578,
- OpSubgroupImageMediaBlockReadINTEL = 5580,
- OpSubgroupImageMediaBlockWriteINTEL = 5581,
- OpUCountLeadingZerosINTEL = 5585,
- OpUCountTrailingZerosINTEL = 5586,
- OpAbsISubINTEL = 5587,
- OpAbsUSubINTEL = 5588,
- OpIAddSatINTEL = 5589,
- OpUAddSatINTEL = 5590,
- OpIAverageINTEL = 5591,
- OpUAverageINTEL = 5592,
- OpIAverageRoundedINTEL = 5593,
- OpUAverageRoundedINTEL = 5594,
- OpISubSatINTEL = 5595,
- OpUSubSatINTEL = 5596,
- OpIMul32x16INTEL = 5597,
- OpUMul32x16INTEL = 5598,
- OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateString = 5633,
OpMemberDecorateStringGOOGLE = 5633,
- OpVmeImageINTEL = 5699,
- OpTypeVmeImageINTEL = 5700,
- OpTypeAvcImePayloadINTEL = 5701,
- OpTypeAvcRefPayloadINTEL = 5702,
- OpTypeAvcSicPayloadINTEL = 5703,
- OpTypeAvcMcePayloadINTEL = 5704,
- OpTypeAvcMceResultINTEL = 5705,
- OpTypeAvcImeResultINTEL = 5706,
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- OpTypeAvcRefResultINTEL = 5711,
- OpTypeAvcSicResultINTEL = 5712,
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- OpSubgroupAvcImeInitializeINTEL = 5747,
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- OpSubgroupAvcFmeInitializeINTEL = 5781,
- OpSubgroupAvcBmeInitializeINTEL = 5782,
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- OpSubgroupAvcSicInitializeINTEL = 5791,
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
OpMax = 0x7fffffff,
};
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
- *hasResult = *hasResultType = false;
- switch (opcode) {
- default: /* unknown opcode */ break;
- case OpNop: *hasResult = false; *hasResultType = false; break;
- case OpUndef: *hasResult = true; *hasResultType = true; break;
- case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
- case OpSource: *hasResult = false; *hasResultType = false; break;
- case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
- case OpName: *hasResult = false; *hasResultType = false; break;
- case OpMemberName: *hasResult = false; *hasResultType = false; break;
- case OpString: *hasResult = true; *hasResultType = false; break;
- case OpLine: *hasResult = false; *hasResultType = false; break;
- case OpExtension: *hasResult = false; *hasResultType = false; break;
- case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
- case OpExtInst: *hasResult = true; *hasResultType = true; break;
- case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
- case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
- case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
- case OpCapability: *hasResult = false; *hasResultType = false; break;
- case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
- case OpTypeBool: *hasResult = true; *hasResultType = false; break;
- case OpTypeInt: *hasResult = true; *hasResultType = false; break;
- case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
- case OpTypeVector: *hasResult = true; *hasResultType = false; break;
- case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
- case OpTypeImage: *hasResult = true; *hasResultType = false; break;
- case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
- case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
- case OpTypeArray: *hasResult = true; *hasResultType = false; break;
- case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
- case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
- case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
- case OpTypePointer: *hasResult = true; *hasResultType = false; break;
- case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
- case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
- case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
- case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
- case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
- case OpTypePipe: *hasResult = true; *hasResultType = false; break;
- case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
- case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
- case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
- case OpConstant: *hasResult = true; *hasResultType = true; break;
- case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
- case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
- case OpConstantNull: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
- case OpFunction: *hasResult = true; *hasResultType = true; break;
- case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
- case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
- case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
- case OpVariable: *hasResult = true; *hasResultType = true; break;
- case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
- case OpLoad: *hasResult = true; *hasResultType = true; break;
- case OpStore: *hasResult = false; *hasResultType = false; break;
- case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
- case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
- case OpAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpArrayLength: *hasResult = true; *hasResultType = true; break;
- case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
- case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpDecorate: *hasResult = false; *hasResultType = false; break;
- case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
- case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
- case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
- case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
- case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
- case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
- case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
- case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
- case OpCopyObject: *hasResult = true; *hasResultType = true; break;
- case OpTranspose: *hasResult = true; *hasResultType = true; break;
- case OpSampledImage: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageFetch: *hasResult = true; *hasResultType = true; break;
- case OpImageGather: *hasResult = true; *hasResultType = true; break;
- case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
- case OpImageRead: *hasResult = true; *hasResultType = true; break;
- case OpImageWrite: *hasResult = false; *hasResultType = false; break;
- case OpImage: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
- case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
- case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
- case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
- case OpUConvert: *hasResult = true; *hasResultType = true; break;
- case OpSConvert: *hasResult = true; *hasResultType = true; break;
- case OpFConvert: *hasResult = true; *hasResultType = true; break;
- case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
- case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
- case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
- case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
- case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
- case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
- case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
- case OpBitcast: *hasResult = true; *hasResultType = true; break;
- case OpSNegate: *hasResult = true; *hasResultType = true; break;
- case OpFNegate: *hasResult = true; *hasResultType = true; break;
- case OpIAdd: *hasResult = true; *hasResultType = true; break;
- case OpFAdd: *hasResult = true; *hasResultType = true; break;
- case OpISub: *hasResult = true; *hasResultType = true; break;
- case OpFSub: *hasResult = true; *hasResultType = true; break;
- case OpIMul: *hasResult = true; *hasResultType = true; break;
- case OpFMul: *hasResult = true; *hasResultType = true; break;
- case OpUDiv: *hasResult = true; *hasResultType = true; break;
- case OpSDiv: *hasResult = true; *hasResultType = true; break;
- case OpFDiv: *hasResult = true; *hasResultType = true; break;
- case OpUMod: *hasResult = true; *hasResultType = true; break;
- case OpSRem: *hasResult = true; *hasResultType = true; break;
- case OpSMod: *hasResult = true; *hasResultType = true; break;
- case OpFRem: *hasResult = true; *hasResultType = true; break;
- case OpFMod: *hasResult = true; *hasResultType = true; break;
- case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
- case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
- case OpDot: *hasResult = true; *hasResultType = true; break;
- case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
- case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
- case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
- case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
- case OpAny: *hasResult = true; *hasResultType = true; break;
- case OpAll: *hasResult = true; *hasResultType = true; break;
- case OpIsNan: *hasResult = true; *hasResultType = true; break;
- case OpIsInf: *hasResult = true; *hasResultType = true; break;
- case OpIsFinite: *hasResult = true; *hasResultType = true; break;
- case OpIsNormal: *hasResult = true; *hasResultType = true; break;
- case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
- case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
- case OpOrdered: *hasResult = true; *hasResultType = true; break;
- case OpUnordered: *hasResult = true; *hasResultType = true; break;
- case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
- case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
- case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
- case OpSelect: *hasResult = true; *hasResultType = true; break;
- case OpIEqual: *hasResult = true; *hasResultType = true; break;
- case OpINotEqual: *hasResult = true; *hasResultType = true; break;
- case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpULessThan: *hasResult = true; *hasResultType = true; break;
- case OpSLessThan: *hasResult = true; *hasResultType = true; break;
- case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
- case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
- case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
- case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
- case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case OpNot: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
- case OpBitReverse: *hasResult = true; *hasResultType = true; break;
- case OpBitCount: *hasResult = true; *hasResultType = true; break;
- case OpDPdx: *hasResult = true; *hasResultType = true; break;
- case OpDPdy: *hasResult = true; *hasResultType = true; break;
- case OpFwidth: *hasResult = true; *hasResultType = true; break;
- case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
- case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
- case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
- case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
- case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
- case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
- case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
- case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
- case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
- case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
- case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
- case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
- case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
- case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
- case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
- case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
- case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
- case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
- case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
- case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
- case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
- case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
- case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
- case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
- case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
- case OpPhi: *hasResult = true; *hasResultType = true; break;
- case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
- case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
- case OpLabel: *hasResult = true; *hasResultType = false; break;
- case OpBranch: *hasResult = false; *hasResultType = false; break;
- case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
- case OpSwitch: *hasResult = false; *hasResultType = false; break;
- case OpKill: *hasResult = false; *hasResultType = false; break;
- case OpReturn: *hasResult = false; *hasResultType = false; break;
- case OpReturnValue: *hasResult = false; *hasResultType = false; break;
- case OpUnreachable: *hasResult = false; *hasResultType = false; break;
- case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
- case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
- case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
- case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
- case OpGroupAll: *hasResult = true; *hasResultType = true; break;
- case OpGroupAny: *hasResult = true; *hasResultType = true; break;
- case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
- case OpReadPipe: *hasResult = true; *hasResultType = true; break;
- case OpWritePipe: *hasResult = true; *hasResultType = true; break;
- case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
- case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
- case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
- case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
- case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
- case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
- case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
- case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
- case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
- case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
- case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
- case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
- case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
- case OpNoLine: *hasResult = false; *hasResultType = false; break;
- case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
- case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
- case OpSizeOf: *hasResult = true; *hasResultType = true; break;
- case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
- case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
- case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
- case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
- case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
- case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
- case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
- case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
- case OpDecorateId: *hasResult = false; *hasResultType = false; break;
- case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
- case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
- case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
- case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
- case OpFragmentFetchAMD: *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;
- case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
- case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
- case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
- case OpTraceNV: *hasResult = false; *hasResultType = false; break;
- case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
- case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
- case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
- case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
- case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
- case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
- case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
- case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
- case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case OpDecorateString: *hasResult = false; *hasResultType = false; break;
- case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
- case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
- case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
- }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
// Overload operator| for mask bit combining
inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 257f77c..9eaadca 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
+// Copyright (c) 2014-2018 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"),
@@ -26,16 +26,13 @@
// the Binary Section of the SPIR-V specification.
// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#, D
+// C, C++, C++11, JSON, Lua, Python
//
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-// e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
//
// Some tokens act like mask values, which can be OR'd together,
// while others are mutually exclusive. The mask-like ones have
@@ -49,11 +46,11 @@ namespace spv {
typedef unsigned int Id;
-#define SPV_VERSION 0x10400
+#define SPV_VERSION 0x10300
#define SPV_REVISION 1
static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010400;
+static const unsigned int Version = 0x00010300;
static const unsigned int Revision = 1;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -78,12 +75,12 @@ enum class ExecutionModel : unsigned {
Kernel = 6,
TaskNV = 5267,
MeshNV = 5268,
- RayGenerationNV = 5313,
- IntersectionNV = 5314,
- AnyHitNV = 5315,
- ClosestHitNV = 5316,
- MissNV = 5317,
- CallableNV = 5318,
+ RayGenerationNVX = 5313,
+ IntersectionNVX = 5314,
+ AnyHitNVX = 5315,
+ ClosestHitNVX = 5316,
+ MissNVX = 5317,
+ CallableNVX = 5318,
Max = 0x7fffffff,
};
@@ -91,7 +88,6 @@ enum class AddressingModel : unsigned {
Logical = 0,
Physical32 = 1,
Physical64 = 2,
- PhysicalStorageBuffer64EXT = 5348,
Max = 0x7fffffff,
};
@@ -143,23 +139,12 @@ enum class ExecutionMode : unsigned {
LocalSizeId = 38,
LocalSizeHintId = 39,
PostDepthCoverage = 4446,
- DenormPreserve = 4459,
- DenormFlushToZero = 4460,
- SignedZeroInfNanPreserve = 4461,
- RoundingModeRTE = 4462,
- RoundingModeRTZ = 4463,
StencilRefReplacingEXT = 5027,
OutputLinesNV = 5269,
OutputPrimitivesNV = 5270,
DerivativeGroupQuadsNV = 5289,
DerivativeGroupLinearNV = 5290,
OutputTrianglesNV = 5298,
- PixelInterlockOrderedEXT = 5366,
- PixelInterlockUnorderedEXT = 5367,
- SampleInterlockOrderedEXT = 5368,
- SampleInterlockUnorderedEXT = 5369,
- ShadingRateInterlockOrderedEXT = 5370,
- ShadingRateInterlockUnorderedEXT = 5371,
Max = 0x7fffffff,
};
@@ -177,13 +162,10 @@ enum class StorageClass : unsigned {
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
- CallableDataNV = 5328,
- IncomingCallableDataNV = 5329,
- RayPayloadNV = 5338,
- HitAttributeNV = 5339,
- IncomingRayPayloadNV = 5342,
- ShaderRecordBufferNV = 5343,
- PhysicalStorageBufferEXT = 5349,
+ RayPayloadNVX = 5338,
+ HitAttributeNVX = 5339,
+ IncomingRayPayloadNVX = 5342,
+ ShaderRecordBufferNVX = 5343,
Max = 0x7fffffff,
};
@@ -315,8 +297,6 @@ enum class ImageOperandsShift : unsigned {
MakeTexelVisibleKHR = 9,
NonPrivateTexelKHR = 10,
VolatileTexelKHR = 11,
- SignExtend = 12,
- ZeroExtend = 13,
Max = 0x7fffffff,
};
@@ -334,8 +314,6 @@ enum class ImageOperandsMask : unsigned {
MakeTexelVisibleKHR = 0x00000200,
NonPrivateTexelKHR = 0x00000400,
VolatileTexelKHR = 0x00000800,
- SignExtend = 0x00001000,
- ZeroExtend = 0x00002000,
};
enum class FPFastMathModeShift : unsigned {
@@ -416,7 +394,6 @@ enum class Decoration : unsigned {
NonWritable = 24,
NonReadable = 25,
Uniform = 26,
- UniformId = 27,
SaturatedConversion = 28,
Stream = 29,
Location = 30,
@@ -437,8 +414,6 @@ enum class Decoration : unsigned {
MaxByteOffset = 45,
AlignmentId = 46,
MaxByteOffsetId = 47,
- NoSignedWrap = 4469,
- NoUnsignedWrap = 4470,
ExplicitInterpAMD = 4999,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
@@ -449,13 +424,8 @@ enum class Decoration : unsigned {
PerTaskNV = 5273,
PerVertexNV = 5285,
NonUniformEXT = 5300,
- RestrictPointerEXT = 5355,
- AliasedPointerEXT = 5356,
- CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
- UserSemantic = 5635,
- UserTypeGOOGLE = 5636,
Max = 0x7fffffff,
};
@@ -540,28 +510,21 @@ enum class BuiltIn : unsigned {
MeshViewIndicesNV = 5281,
BaryCoordNV = 5286,
BaryCoordNoPerspNV = 5287,
- FragSizeEXT = 5292,
FragmentSizeNV = 5292,
- FragInvocationCountEXT = 5293,
InvocationsPerPixelNV = 5293,
- LaunchIdNV = 5319,
- LaunchSizeNV = 5320,
- WorldRayOriginNV = 5321,
- WorldRayDirectionNV = 5322,
- ObjectRayOriginNV = 5323,
- ObjectRayDirectionNV = 5324,
- RayTminNV = 5325,
- RayTmaxNV = 5326,
- InstanceCustomIndexNV = 5327,
- ObjectToWorldNV = 5330,
- WorldToObjectNV = 5331,
- HitTNV = 5332,
- HitKindNV = 5333,
- IncomingRayFlagsNV = 5351,
- WarpsPerSMNV = 5374,
- SMCountNV = 5375,
- WarpIDNV = 5376,
- SMIDNV = 5377,
+ LaunchIdNVX = 5319,
+ LaunchSizeNVX = 5320,
+ WorldRayOriginNVX = 5321,
+ WorldRayDirectionNVX = 5322,
+ ObjectRayOriginNVX = 5323,
+ ObjectRayDirectionNVX = 5324,
+ RayTminNVX = 5325,
+ RayTmaxNVX = 5326,
+ InstanceCustomIndexNVX = 5327,
+ ObjectToWorldNVX = 5330,
+ WorldToObjectNVX = 5331,
+ HitTNVX = 5332,
+ HitKindNVX = 5333,
Max = 0x7fffffff,
};
@@ -582,11 +545,6 @@ enum class LoopControlShift : unsigned {
DontUnroll = 1,
DependencyInfinite = 2,
DependencyLength = 3,
- MinIterations = 4,
- MaxIterations = 5,
- IterationMultiple = 6,
- PeelCount = 7,
- PartialCount = 8,
Max = 0x7fffffff,
};
@@ -596,11 +554,6 @@ enum class LoopControlMask : unsigned {
DontUnroll = 0x00000002,
DependencyInfinite = 0x00000004,
DependencyLength = 0x00000008,
- MinIterations = 0x00000010,
- MaxIterations = 0x00000020,
- IterationMultiple = 0x00000040,
- PeelCount = 0x00000080,
- PartialCount = 0x00000100,
};
enum class FunctionControlShift : unsigned {
@@ -633,7 +586,6 @@ enum class MemorySemanticsShift : unsigned {
OutputMemoryKHR = 12,
MakeAvailableKHR = 13,
MakeVisibleKHR = 14,
- Volatile = 15,
Max = 0x7fffffff,
};
@@ -652,7 +604,6 @@ enum class MemorySemanticsMask : unsigned {
OutputMemoryKHR = 0x00001000,
MakeAvailableKHR = 0x00002000,
MakeVisibleKHR = 0x00004000,
- Volatile = 0x00008000,
};
enum class MemoryAccessShift : unsigned {
@@ -799,11 +750,6 @@ enum class Capability : unsigned {
StorageBuffer8BitAccess = 4448,
UniformAndStorageBuffer8BitAccess = 4449,
StoragePushConstant8 = 4450,
- DenormPreserve = 4464,
- DenormFlushToZero = 4465,
- SignedZeroInfNanPreserve = 4466,
- RoundingModeRTE = 4467,
- RoundingModeRTZ = 4468,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -821,7 +767,6 @@ enum class Capability : unsigned {
ImageFootprintNV = 5282,
FragmentBarycentricNV = 5284,
ComputeDerivativeGroupQuadsNV = 5288,
- FragmentDensityEXT = 5291,
ShadingRateNV = 5291,
GroupNonUniformPartitionedNV = 5297,
ShaderNonUniformEXT = 5301,
@@ -836,25 +781,13 @@ enum class Capability : unsigned {
InputAttachmentArrayNonUniformIndexingEXT = 5310,
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- RayTracingNV = 5340,
+ RaytracingNVX = 5340,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScopeKHR = 5346,
- PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
- CooperativeMatrixNV = 5357,
- FragmentShaderSampleInterlockEXT = 5363,
- FragmentShaderShadingRateInterlockEXT = 5372,
- ShaderSMBuiltinsNV = 5373,
- FragmentShaderPixelInterlockEXT = 5378,
- DemoteToHelperInvocationEXT = 5379,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
- SubgroupImageMediaBlockIOINTEL = 5579,
- IntegerFunctions2INTEL = 5584,
- SubgroupAvcMotionEstimationINTEL = 5696,
- SubgroupAvcMotionEstimationIntraINTEL = 5697,
- SubgroupAvcMotionEstimationChromaINTEL = 5698,
Max = 0x7fffffff,
};
@@ -1199,10 +1132,6 @@ enum class Op : unsigned {
OpGroupNonUniformLogicalXor = 364,
OpGroupNonUniformQuadBroadcast = 365,
OpGroupNonUniformQuadSwap = 366,
- OpCopyLogical = 400,
- OpPtrEqual = 401,
- OpPtrNotEqual = 402,
- OpPtrDiff = 403,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1222,21 +1151,11 @@ enum class Op : unsigned {
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
- OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionNV = 5335,
- OpTerminateRayNV = 5336,
- OpTraceNV = 5337,
- OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableNV = 5344,
- OpTypeCooperativeMatrixNV = 5358,
- OpCooperativeMatrixLoadNV = 5359,
- OpCooperativeMatrixStoreNV = 5360,
- OpCooperativeMatrixMulAddNV = 5361,
- OpCooperativeMatrixLengthNV = 5362,
- OpBeginInvocationInterlockEXT = 5364,
- OpEndInvocationInterlockEXT = 5365,
- OpDemoteToHelperInvocationEXT = 5380,
- OpIsHelperInvocationEXT = 5381,
+ OpReportIntersectionNVX = 5334,
+ OpIgnoreIntersectionNVX = 5335,
+ OpTerminateRayNVX = 5336,
+ OpTraceNVX = 5337,
+ OpTypeAccelerationStructureNVX = 5341,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
@@ -1245,678 +1164,11 @@ enum class Op : unsigned {
OpSubgroupBlockWriteINTEL = 5576,
OpSubgroupImageBlockReadINTEL = 5577,
OpSubgroupImageBlockWriteINTEL = 5578,
- OpSubgroupImageMediaBlockReadINTEL = 5580,
- OpSubgroupImageMediaBlockWriteINTEL = 5581,
- OpUCountLeadingZerosINTEL = 5585,
- OpUCountTrailingZerosINTEL = 5586,
- OpAbsISubINTEL = 5587,
- OpAbsUSubINTEL = 5588,
- OpIAddSatINTEL = 5589,
- OpUAddSatINTEL = 5590,
- OpIAverageINTEL = 5591,
- OpUAverageINTEL = 5592,
- OpIAverageRoundedINTEL = 5593,
- OpUAverageRoundedINTEL = 5594,
- OpISubSatINTEL = 5595,
- OpUSubSatINTEL = 5596,
- OpIMul32x16INTEL = 5597,
- OpUMul32x16INTEL = 5598,
- OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateString = 5633,
OpMemberDecorateStringGOOGLE = 5633,
- OpVmeImageINTEL = 5699,
- OpTypeVmeImageINTEL = 5700,
- OpTypeAvcImePayloadINTEL = 5701,
- OpTypeAvcRefPayloadINTEL = 5702,
- OpTypeAvcSicPayloadINTEL = 5703,
- OpTypeAvcMcePayloadINTEL = 5704,
- OpTypeAvcMceResultINTEL = 5705,
- OpTypeAvcImeResultINTEL = 5706,
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- OpTypeAvcRefResultINTEL = 5711,
- OpTypeAvcSicResultINTEL = 5712,
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- OpSubgroupAvcImeInitializeINTEL = 5747,
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- OpSubgroupAvcFmeInitializeINTEL = 5781,
- OpSubgroupAvcBmeInitializeINTEL = 5782,
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- OpSubgroupAvcSicInitializeINTEL = 5791,
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
Max = 0x7fffffff,
};
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
- *hasResult = *hasResultType = false;
- switch (opcode) {
- default: /* unknown opcode */ break;
- case Op::OpNop: *hasResult = false; *hasResultType = false; break;
- case Op::OpUndef: *hasResult = true; *hasResultType = true; break;
- case Op::OpSourceContinued: *hasResult = false; *hasResultType = false; break;
- case Op::OpSource: *hasResult = false; *hasResultType = false; break;
- case Op::OpSourceExtension: *hasResult = false; *hasResultType = false; break;
- case Op::OpName: *hasResult = false; *hasResultType = false; break;
- case Op::OpMemberName: *hasResult = false; *hasResultType = false; break;
- case Op::OpString: *hasResult = true; *hasResultType = false; break;
- case Op::OpLine: *hasResult = false; *hasResultType = false; break;
- case Op::OpExtension: *hasResult = false; *hasResultType = false; break;
- case Op::OpExtInstImport: *hasResult = true; *hasResultType = false; break;
- case Op::OpExtInst: *hasResult = true; *hasResultType = true; break;
- case Op::OpMemoryModel: *hasResult = false; *hasResultType = false; break;
- case Op::OpEntryPoint: *hasResult = false; *hasResultType = false; break;
- case Op::OpExecutionMode: *hasResult = false; *hasResultType = false; break;
- case Op::OpCapability: *hasResult = false; *hasResultType = false; break;
- case Op::OpTypeVoid: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeBool: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeInt: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeFloat: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeVector: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeImage: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeSampler: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeArray: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeStruct: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypePointer: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeFunction: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeEvent: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeQueue: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypePipe: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
- case Op::OpConstantTrue: *hasResult = true; *hasResultType = true; break;
- case Op::OpConstantFalse: *hasResult = true; *hasResultType = true; break;
- case Op::OpConstant: *hasResult = true; *hasResultType = true; break;
- case Op::OpConstantComposite: *hasResult = true; *hasResultType = true; break;
- case Op::OpConstantSampler: *hasResult = true; *hasResultType = true; break;
- case Op::OpConstantNull: *hasResult = true; *hasResultType = true; break;
- case Op::OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
- case Op::OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
- case Op::OpSpecConstant: *hasResult = true; *hasResultType = true; break;
- case Op::OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
- case Op::OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
- case Op::OpFunction: *hasResult = true; *hasResultType = true; break;
- case Op::OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
- case Op::OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
- case Op::OpFunctionCall: *hasResult = true; *hasResultType = true; break;
- case Op::OpVariable: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
- case Op::OpLoad: *hasResult = true; *hasResultType = true; break;
- case Op::OpStore: *hasResult = false; *hasResultType = false; break;
- case Op::OpCopyMemory: *hasResult = false; *hasResultType = false; break;
- case Op::OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
- case Op::OpAccessChain: *hasResult = true; *hasResultType = true; break;
- case Op::OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
- case Op::OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case Op::OpArrayLength: *hasResult = true; *hasResultType = true; break;
- case Op::OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
- case Op::OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case Op::OpDecorate: *hasResult = false; *hasResultType = false; break;
- case Op::OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case Op::OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
- case Op::OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
- case Op::OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case Op::OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
- case Op::OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
- case Op::OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
- case Op::OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
- case Op::OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
- case Op::OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
- case Op::OpCopyObject: *hasResult = true; *hasResultType = true; break;
- case Op::OpTranspose: *hasResult = true; *hasResultType = true; break;
- case Op::OpSampledImage: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageFetch: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageGather: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageRead: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageWrite: *hasResult = false; *hasResultType = false; break;
- case Op::OpImage: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
- case Op::OpConvertFToU: *hasResult = true; *hasResultType = true; break;
- case Op::OpConvertFToS: *hasResult = true; *hasResultType = true; break;
- case Op::OpConvertSToF: *hasResult = true; *hasResultType = true; break;
- case Op::OpConvertUToF: *hasResult = true; *hasResultType = true; break;
- case Op::OpUConvert: *hasResult = true; *hasResultType = true; break;
- case Op::OpSConvert: *hasResult = true; *hasResultType = true; break;
- case Op::OpFConvert: *hasResult = true; *hasResultType = true; break;
- case Op::OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
- case Op::OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
- case Op::OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
- case Op::OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
- case Op::OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
- case Op::OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
- case Op::OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
- case Op::OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitcast: *hasResult = true; *hasResultType = true; break;
- case Op::OpSNegate: *hasResult = true; *hasResultType = true; break;
- case Op::OpFNegate: *hasResult = true; *hasResultType = true; break;
- case Op::OpIAdd: *hasResult = true; *hasResultType = true; break;
- case Op::OpFAdd: *hasResult = true; *hasResultType = true; break;
- case Op::OpISub: *hasResult = true; *hasResultType = true; break;
- case Op::OpFSub: *hasResult = true; *hasResultType = true; break;
- case Op::OpIMul: *hasResult = true; *hasResultType = true; break;
- case Op::OpFMul: *hasResult = true; *hasResultType = true; break;
- case Op::OpUDiv: *hasResult = true; *hasResultType = true; break;
- case Op::OpSDiv: *hasResult = true; *hasResultType = true; break;
- case Op::OpFDiv: *hasResult = true; *hasResultType = true; break;
- case Op::OpUMod: *hasResult = true; *hasResultType = true; break;
- case Op::OpSRem: *hasResult = true; *hasResultType = true; break;
- case Op::OpSMod: *hasResult = true; *hasResultType = true; break;
- case Op::OpFRem: *hasResult = true; *hasResultType = true; break;
- case Op::OpFMod: *hasResult = true; *hasResultType = true; break;
- case Op::OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
- case Op::OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
- case Op::OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case Op::OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
- case Op::OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case Op::OpOuterProduct: *hasResult = true; *hasResultType = true; break;
- case Op::OpDot: *hasResult = true; *hasResultType = true; break;
- case Op::OpIAddCarry: *hasResult = true; *hasResultType = true; break;
- case Op::OpISubBorrow: *hasResult = true; *hasResultType = true; break;
- case Op::OpUMulExtended: *hasResult = true; *hasResultType = true; break;
- case Op::OpSMulExtended: *hasResult = true; *hasResultType = true; break;
- case Op::OpAny: *hasResult = true; *hasResultType = true; break;
- case Op::OpAll: *hasResult = true; *hasResultType = true; break;
- case Op::OpIsNan: *hasResult = true; *hasResultType = true; break;
- case Op::OpIsInf: *hasResult = true; *hasResultType = true; break;
- case Op::OpIsFinite: *hasResult = true; *hasResultType = true; break;
- case Op::OpIsNormal: *hasResult = true; *hasResultType = true; break;
- case Op::OpSignBitSet: *hasResult = true; *hasResultType = true; break;
- case Op::OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
- case Op::OpOrdered: *hasResult = true; *hasResultType = true; break;
- case Op::OpUnordered: *hasResult = true; *hasResultType = true; break;
- case Op::OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpLogicalOr: *hasResult = true; *hasResultType = true; break;
- case Op::OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case Op::OpLogicalNot: *hasResult = true; *hasResultType = true; break;
- case Op::OpSelect: *hasResult = true; *hasResultType = true; break;
- case Op::OpIEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpINotEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpULessThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpSLessThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
- case Op::OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
- case Op::OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
- case Op::OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case Op::OpNot: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitReverse: *hasResult = true; *hasResultType = true; break;
- case Op::OpBitCount: *hasResult = true; *hasResultType = true; break;
- case Op::OpDPdx: *hasResult = true; *hasResultType = true; break;
- case Op::OpDPdy: *hasResult = true; *hasResultType = true; break;
- case Op::OpFwidth: *hasResult = true; *hasResultType = true; break;
- case Op::OpDPdxFine: *hasResult = true; *hasResultType = true; break;
- case Op::OpDPdyFine: *hasResult = true; *hasResultType = true; break;
- case Op::OpFwidthFine: *hasResult = true; *hasResultType = true; break;
- case Op::OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
- case Op::OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
- case Op::OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
- case Op::OpEmitVertex: *hasResult = false; *hasResultType = false; break;
- case Op::OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
- case Op::OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
- case Op::OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
- case Op::OpControlBarrier: *hasResult = false; *hasResultType = false; break;
- case Op::OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
- case Op::OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicStore: *hasResult = false; *hasResultType = false; break;
- case Op::OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicISub: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicOr: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicXor: *hasResult = true; *hasResultType = true; break;
- case Op::OpPhi: *hasResult = true; *hasResultType = true; break;
- case Op::OpLoopMerge: *hasResult = false; *hasResultType = false; break;
- case Op::OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
- case Op::OpLabel: *hasResult = true; *hasResultType = false; break;
- case Op::OpBranch: *hasResult = false; *hasResultType = false; break;
- case Op::OpBranchConditional: *hasResult = false; *hasResultType = false; break;
- case Op::OpSwitch: *hasResult = false; *hasResultType = false; break;
- case Op::OpKill: *hasResult = false; *hasResultType = false; break;
- case Op::OpReturn: *hasResult = false; *hasResultType = false; break;
- case Op::OpReturnValue: *hasResult = false; *hasResultType = false; break;
- case Op::OpUnreachable: *hasResult = false; *hasResultType = false; break;
- case Op::OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
- case Op::OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
- case Op::OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
- case Op::OpGroupAll: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupAny: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupFMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupUMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupSMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupFMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupUMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupSMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpReadPipe: *hasResult = true; *hasResultType = true; break;
- case Op::OpWritePipe: *hasResult = true; *hasResultType = true; break;
- case Op::OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
- case Op::OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
- case Op::OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case Op::OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case Op::OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case Op::OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case Op::OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case Op::OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case Op::OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
- case Op::OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
- case Op::OpRetainEvent: *hasResult = false; *hasResultType = false; break;
- case Op::OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
- case Op::OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
- case Op::OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
- case Op::OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
- case Op::OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
- case Op::OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
- case Op::OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
- case Op::OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
- case Op::OpNoLine: *hasResult = false; *hasResultType = false; break;
- case Op::OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
- case Op::OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
- case Op::OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
- case Op::OpSizeOf: *hasResult = true; *hasResultType = true; break;
- case Op::OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
- case Op::OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
- case Op::OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
- case Op::OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
- case Op::OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
- case Op::OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
- case Op::OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
- case Op::OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
- case Op::OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
- case Op::OpDecorateId: *hasResult = false; *hasResultType = false; break;
- case Op::OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
- case Op::OpCopyLogical: *hasResult = true; *hasResultType = true; break;
- case Op::OpPtrEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
- case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- 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::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
- case Op::OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
- case Op::OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
- case Op::OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
- case Op::OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
- case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
- case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break;
- case Op::OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
- case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
- case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
- case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
- case Op::OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
- case Op::OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
- case Op::OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
- case Op::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case Op::OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
- case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case Op::OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case Op::OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case Op::OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
- case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
- case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
- case Op::OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
- }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
// Overload operator| for mask bit combining
inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 4ddb573..9b448b0 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -6,7 +6,7 @@
"Comment":
[
[
- "Copyright (c) 2014-2019 The Khronos Group Inc.",
+ "Copyright (c) 2014-2018 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\"),",
@@ -36,16 +36,13 @@
],
[
"Enumeration tokens for SPIR-V, in various styles:",
- " C, C++, C++11, JSON, Lua, Python, C#, D",
+ " C, C++, C++11, JSON, Lua, Python",
"",
"- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL",
"- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL",
"- C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL",
"- Lua will use tables, e.g.: spv.SourceLanguage.GLSL",
"- Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']",
- "- C# will use enum classes in the Specification class located in the \"Spv\" namespace,",
- " e.g.: Spv.Specification.SourceLanguage.GLSL",
- "- D will have tokens under the \"spv\" module, e.g: spv.SourceLanguage.GLSL",
"",
"Some tokens act like mask values, which can be OR'd together,",
"while others are mutually exclusive. The mask-like ones have",
@@ -54,7 +51,7 @@
]
],
"MagicNumber": 119734787,
- "Version": 66560,
+ "Version": 66304,
"Revision": 1,
"OpCodeMask": 65535,
"WordCountShift": 16
@@ -88,12 +85,12 @@
"Kernel": 6,
"TaskNV": 5267,
"MeshNV": 5268,
- "RayGenerationNV": 5313,
- "IntersectionNV": 5314,
- "AnyHitNV": 5315,
- "ClosestHitNV": 5316,
- "MissNV": 5317,
- "CallableNV": 5318
+ "RayGenerationNVX": 5313,
+ "IntersectionNVX": 5314,
+ "AnyHitNVX": 5315,
+ "ClosestHitNVX": 5316,
+ "MissNVX": 5317,
+ "CallableNVX": 5318
}
},
{
@@ -103,8 +100,7 @@
{
"Logical": 0,
"Physical32": 1,
- "Physical64": 2,
- "PhysicalStorageBuffer64EXT": 5348
+ "Physical64": 2
}
},
{
@@ -162,23 +158,12 @@
"LocalSizeId": 38,
"LocalSizeHintId": 39,
"PostDepthCoverage": 4446,
- "DenormPreserve": 4459,
- "DenormFlushToZero": 4460,
- "SignedZeroInfNanPreserve": 4461,
- "RoundingModeRTE": 4462,
- "RoundingModeRTZ": 4463,
"StencilRefReplacingEXT": 5027,
"OutputLinesNV": 5269,
"OutputPrimitivesNV": 5270,
"DerivativeGroupQuadsNV": 5289,
"DerivativeGroupLinearNV": 5290,
- "OutputTrianglesNV": 5298,
- "PixelInterlockOrderedEXT": 5366,
- "PixelInterlockUnorderedEXT": 5367,
- "SampleInterlockOrderedEXT": 5368,
- "SampleInterlockUnorderedEXT": 5369,
- "ShadingRateInterlockOrderedEXT": 5370,
- "ShadingRateInterlockUnorderedEXT": 5371
+ "OutputTrianglesNV": 5298
}
},
{
@@ -199,13 +184,10 @@
"AtomicCounter": 10,
"Image": 11,
"StorageBuffer": 12,
- "CallableDataNV": 5328,
- "IncomingCallableDataNV": 5329,
- "RayPayloadNV": 5338,
- "HitAttributeNV": 5339,
- "IncomingRayPayloadNV": 5342,
- "ShaderRecordBufferNV": 5343,
- "PhysicalStorageBufferEXT": 5349
+ "RayPayloadNVX": 5338,
+ "HitAttributeNVX": 5339,
+ "IncomingRayPayloadNVX": 5342,
+ "ShaderRecordBufferNVX": 5343
}
},
{
@@ -357,9 +339,7 @@
"MakeTexelAvailableKHR": 8,
"MakeTexelVisibleKHR": 9,
"NonPrivateTexelKHR": 10,
- "VolatileTexelKHR": 11,
- "SignExtend": 12,
- "ZeroExtend": 13
+ "VolatileTexelKHR": 11
}
},
{
@@ -450,7 +430,6 @@
"NonWritable": 24,
"NonReadable": 25,
"Uniform": 26,
- "UniformId": 27,
"SaturatedConversion": 28,
"Stream": 29,
"Location": 30,
@@ -471,8 +450,6 @@
"MaxByteOffset": 45,
"AlignmentId": 46,
"MaxByteOffsetId": 47,
- "NoSignedWrap": 4469,
- "NoUnsignedWrap": 4470,
"ExplicitInterpAMD": 4999,
"OverrideCoverageNV": 5248,
"PassthroughNV": 5250,
@@ -483,13 +460,8 @@
"PerTaskNV": 5273,
"PerVertexNV": 5285,
"NonUniformEXT": 5300,
- "RestrictPointerEXT": 5355,
- "AliasedPointerEXT": 5356,
- "CounterBuffer": 5634,
"HlslCounterBufferGOOGLE": 5634,
- "HlslSemanticGOOGLE": 5635,
- "UserSemantic": 5635,
- "UserTypeGOOGLE": 5636
+ "HlslSemanticGOOGLE": 5635
}
},
{
@@ -577,28 +549,21 @@
"MeshViewIndicesNV": 5281,
"BaryCoordNV": 5286,
"BaryCoordNoPerspNV": 5287,
- "FragSizeEXT": 5292,
"FragmentSizeNV": 5292,
- "FragInvocationCountEXT": 5293,
"InvocationsPerPixelNV": 5293,
- "LaunchIdNV": 5319,
- "LaunchSizeNV": 5320,
- "WorldRayOriginNV": 5321,
- "WorldRayDirectionNV": 5322,
- "ObjectRayOriginNV": 5323,
- "ObjectRayDirectionNV": 5324,
- "RayTminNV": 5325,
- "RayTmaxNV": 5326,
- "InstanceCustomIndexNV": 5327,
- "ObjectToWorldNV": 5330,
- "WorldToObjectNV": 5331,
- "HitTNV": 5332,
- "HitKindNV": 5333,
- "IncomingRayFlagsNV": 5351,
- "WarpsPerSMNV": 5374,
- "SMCountNV": 5375,
- "WarpIDNV": 5376,
- "SMIDNV": 5377
+ "LaunchIdNVX": 5319,
+ "LaunchSizeNVX": 5320,
+ "WorldRayOriginNVX": 5321,
+ "WorldRayDirectionNVX": 5322,
+ "ObjectRayOriginNVX": 5323,
+ "ObjectRayDirectionNVX": 5324,
+ "RayTminNVX": 5325,
+ "RayTmaxNVX": 5326,
+ "InstanceCustomIndexNVX": 5327,
+ "ObjectToWorldNVX": 5330,
+ "WorldToObjectNVX": 5331,
+ "HitTNVX": 5332,
+ "HitKindNVX": 5333
}
},
{
@@ -618,12 +583,7 @@
"Unroll": 0,
"DontUnroll": 1,
"DependencyInfinite": 2,
- "DependencyLength": 3,
- "MinIterations": 4,
- "MaxIterations": 5,
- "IterationMultiple": 6,
- "PeelCount": 7,
- "PartialCount": 8
+ "DependencyLength": 3
}
},
{
@@ -654,8 +614,7 @@
"ImageMemory": 11,
"OutputMemoryKHR": 12,
"MakeAvailableKHR": 13,
- "MakeVisibleKHR": 14,
- "Volatile": 15
+ "MakeVisibleKHR": 14
}
},
{
@@ -806,11 +765,6 @@
"StorageBuffer8BitAccess": 4448,
"UniformAndStorageBuffer8BitAccess": 4449,
"StoragePushConstant8": 4450,
- "DenormPreserve": 4464,
- "DenormFlushToZero": 4465,
- "SignedZeroInfNanPreserve": 4466,
- "RoundingModeRTE": 4467,
- "RoundingModeRTZ": 4468,
"Float16ImageAMD": 5008,
"ImageGatherBiasLodAMD": 5009,
"FragmentMaskAMD": 5010,
@@ -828,7 +782,6 @@
"ImageFootprintNV": 5282,
"FragmentBarycentricNV": 5284,
"ComputeDerivativeGroupQuadsNV": 5288,
- "FragmentDensityEXT": 5291,
"ShadingRateNV": 5291,
"GroupNonUniformPartitionedNV": 5297,
"ShaderNonUniformEXT": 5301,
@@ -843,25 +796,13 @@
"InputAttachmentArrayNonUniformIndexingEXT": 5310,
"UniformTexelBufferArrayNonUniformIndexingEXT": 5311,
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
- "RayTracingNV": 5340,
+ "RaytracingNVX": 5340,
"VulkanMemoryModelKHR": 5345,
"VulkanMemoryModelDeviceScopeKHR": 5346,
- "PhysicalStorageBufferAddressesEXT": 5347,
"ComputeDerivativeGroupLinearNV": 5350,
- "CooperativeMatrixNV": 5357,
- "FragmentShaderSampleInterlockEXT": 5363,
- "FragmentShaderShadingRateInterlockEXT": 5372,
- "ShaderSMBuiltinsNV": 5373,
- "FragmentShaderPixelInterlockEXT": 5378,
- "DemoteToHelperInvocationEXT": 5379,
"SubgroupShuffleINTEL": 5568,
"SubgroupBufferBlockIOINTEL": 5569,
- "SubgroupImageBlockIOINTEL": 5570,
- "SubgroupImageMediaBlockIOINTEL": 5579,
- "IntegerFunctions2INTEL": 5584,
- "SubgroupAvcMotionEstimationINTEL": 5696,
- "SubgroupAvcMotionEstimationIntraINTEL": 5697,
- "SubgroupAvcMotionEstimationChromaINTEL": 5698
+ "SubgroupImageBlockIOINTEL": 5570
}
},
{
@@ -1209,10 +1150,6 @@
"OpGroupNonUniformLogicalXor": 364,
"OpGroupNonUniformQuadBroadcast": 365,
"OpGroupNonUniformQuadSwap": 366,
- "OpCopyLogical": 400,
- "OpPtrEqual": 401,
- "OpPtrNotEqual": 402,
- "OpPtrDiff": 403,
"OpSubgroupBallotKHR": 4421,
"OpSubgroupFirstInvocationKHR": 4422,
"OpSubgroupAllKHR": 4428,
@@ -1232,21 +1169,11 @@
"OpImageSampleFootprintNV": 5283,
"OpGroupNonUniformPartitionNV": 5296,
"OpWritePackedPrimitiveIndices4x8NV": 5299,
- "OpReportIntersectionNV": 5334,
- "OpIgnoreIntersectionNV": 5335,
- "OpTerminateRayNV": 5336,
- "OpTraceNV": 5337,
- "OpTypeAccelerationStructureNV": 5341,
- "OpExecuteCallableNV": 5344,
- "OpTypeCooperativeMatrixNV": 5358,
- "OpCooperativeMatrixLoadNV": 5359,
- "OpCooperativeMatrixStoreNV": 5360,
- "OpCooperativeMatrixMulAddNV": 5361,
- "OpCooperativeMatrixLengthNV": 5362,
- "OpBeginInvocationInterlockEXT": 5364,
- "OpEndInvocationInterlockEXT": 5365,
- "OpDemoteToHelperInvocationEXT": 5380,
- "OpIsHelperInvocationEXT": 5381,
+ "OpReportIntersectionNVX": 5334,
+ "OpIgnoreIntersectionNVX": 5335,
+ "OpTerminateRayNVX": 5336,
+ "OpTraceNVX": 5337,
+ "OpTypeAccelerationStructureNVX": 5341,
"OpSubgroupShuffleINTEL": 5571,
"OpSubgroupShuffleDownINTEL": 5572,
"OpSubgroupShuffleUpINTEL": 5573,
@@ -1255,144 +1182,8 @@
"OpSubgroupBlockWriteINTEL": 5576,
"OpSubgroupImageBlockReadINTEL": 5577,
"OpSubgroupImageBlockWriteINTEL": 5578,
- "OpSubgroupImageMediaBlockReadINTEL": 5580,
- "OpSubgroupImageMediaBlockWriteINTEL": 5581,
- "OpUCountLeadingZerosINTEL": 5585,
- "OpUCountTrailingZerosINTEL": 5586,
- "OpAbsISubINTEL": 5587,
- "OpAbsUSubINTEL": 5588,
- "OpIAddSatINTEL": 5589,
- "OpUAddSatINTEL": 5590,
- "OpIAverageINTEL": 5591,
- "OpUAverageINTEL": 5592,
- "OpIAverageRoundedINTEL": 5593,
- "OpUAverageRoundedINTEL": 5594,
- "OpISubSatINTEL": 5595,
- "OpUSubSatINTEL": 5596,
- "OpIMul32x16INTEL": 5597,
- "OpUMul32x16INTEL": 5598,
- "OpDecorateString": 5632,
"OpDecorateStringGOOGLE": 5632,
- "OpMemberDecorateString": 5633,
- "OpMemberDecorateStringGOOGLE": 5633,
- "OpVmeImageINTEL": 5699,
- "OpTypeVmeImageINTEL": 5700,
- "OpTypeAvcImePayloadINTEL": 5701,
- "OpTypeAvcRefPayloadINTEL": 5702,
- "OpTypeAvcSicPayloadINTEL": 5703,
- "OpTypeAvcMcePayloadINTEL": 5704,
- "OpTypeAvcMceResultINTEL": 5705,
- "OpTypeAvcImeResultINTEL": 5706,
- "OpTypeAvcImeResultSingleReferenceStreamoutINTEL": 5707,
- "OpTypeAvcImeResultDualReferenceStreamoutINTEL": 5708,
- "OpTypeAvcImeSingleReferenceStreaminINTEL": 5709,
- "OpTypeAvcImeDualReferenceStreaminINTEL": 5710,
- "OpTypeAvcRefResultINTEL": 5711,
- "OpTypeAvcSicResultINTEL": 5712,
- "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL": 5713,
- "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL": 5714,
- "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL": 5715,
- "OpSubgroupAvcMceSetInterShapePenaltyINTEL": 5716,
- "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL": 5717,
- "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL": 5718,
- "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL": 5719,
- "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL": 5720,
- "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL": 5721,
- "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL": 5722,
- "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL": 5723,
- "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL": 5724,
- "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL": 5725,
- "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL": 5726,
- "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL": 5727,
- "OpSubgroupAvcMceSetAcOnlyHaarINTEL": 5728,
- "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL": 5729,
- "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL": 5730,
- "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL": 5731,
- "OpSubgroupAvcMceConvertToImePayloadINTEL": 5732,
- "OpSubgroupAvcMceConvertToImeResultINTEL": 5733,
- "OpSubgroupAvcMceConvertToRefPayloadINTEL": 5734,
- "OpSubgroupAvcMceConvertToRefResultINTEL": 5735,
- "OpSubgroupAvcMceConvertToSicPayloadINTEL": 5736,
- "OpSubgroupAvcMceConvertToSicResultINTEL": 5737,
- "OpSubgroupAvcMceGetMotionVectorsINTEL": 5738,
- "OpSubgroupAvcMceGetInterDistortionsINTEL": 5739,
- "OpSubgroupAvcMceGetBestInterDistortionsINTEL": 5740,
- "OpSubgroupAvcMceGetInterMajorShapeINTEL": 5741,
- "OpSubgroupAvcMceGetInterMinorShapeINTEL": 5742,
- "OpSubgroupAvcMceGetInterDirectionsINTEL": 5743,
- "OpSubgroupAvcMceGetInterMotionVectorCountINTEL": 5744,
- "OpSubgroupAvcMceGetInterReferenceIdsINTEL": 5745,
- "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL": 5746,
- "OpSubgroupAvcImeInitializeINTEL": 5747,
- "OpSubgroupAvcImeSetSingleReferenceINTEL": 5748,
- "OpSubgroupAvcImeSetDualReferenceINTEL": 5749,
- "OpSubgroupAvcImeRefWindowSizeINTEL": 5750,
- "OpSubgroupAvcImeAdjustRefOffsetINTEL": 5751,
- "OpSubgroupAvcImeConvertToMcePayloadINTEL": 5752,
- "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL": 5753,
- "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL": 5754,
- "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL": 5755,
- "OpSubgroupAvcImeSetWeightedSadINTEL": 5756,
- "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL": 5757,
- "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL": 5758,
- "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL": 5759,
- "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL": 5760,
- "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL": 5761,
- "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL": 5762,
- "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL": 5763,
- "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL": 5764,
- "OpSubgroupAvcImeConvertToMceResultINTEL": 5765,
- "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL": 5766,
- "OpSubgroupAvcImeGetDualReferenceStreaminINTEL": 5767,
- "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL": 5768,
- "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL": 5769,
- "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL": 5770,
- "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL": 5771,
- "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL": 5772,
- "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL": 5773,
- "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL": 5774,
- "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL": 5775,
- "OpSubgroupAvcImeGetBorderReachedINTEL": 5776,
- "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL": 5777,
- "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL": 5778,
- "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL": 5779,
- "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL": 5780,
- "OpSubgroupAvcFmeInitializeINTEL": 5781,
- "OpSubgroupAvcBmeInitializeINTEL": 5782,
- "OpSubgroupAvcRefConvertToMcePayloadINTEL": 5783,
- "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL": 5784,
- "OpSubgroupAvcRefSetBilinearFilterEnableINTEL": 5785,
- "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL": 5786,
- "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL": 5787,
- "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL": 5788,
- "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL": 5789,
- "OpSubgroupAvcRefConvertToMceResultINTEL": 5790,
- "OpSubgroupAvcSicInitializeINTEL": 5791,
- "OpSubgroupAvcSicConfigureSkcINTEL": 5792,
- "OpSubgroupAvcSicConfigureIpeLumaINTEL": 5793,
- "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL": 5794,
- "OpSubgroupAvcSicGetMotionVectorMaskINTEL": 5795,
- "OpSubgroupAvcSicConvertToMcePayloadINTEL": 5796,
- "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL": 5797,
- "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL": 5798,
- "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL": 5799,
- "OpSubgroupAvcSicSetBilinearFilterEnableINTEL": 5800,
- "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL": 5801,
- "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL": 5802,
- "OpSubgroupAvcSicEvaluateIpeINTEL": 5803,
- "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL": 5804,
- "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL": 5805,
- "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL": 5806,
- "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL": 5807,
- "OpSubgroupAvcSicConvertToMceResultINTEL": 5808,
- "OpSubgroupAvcSicGetIpeLumaShapeINTEL": 5809,
- "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL": 5810,
- "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL": 5811,
- "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL": 5812,
- "OpSubgroupAvcSicGetIpeChromaModeINTEL": 5813,
- "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": 5814,
- "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": 5815,
- "OpSubgroupAvcSicGetInterRawSadsINTEL": 5816
+ "OpMemberDecorateStringGOOGLE": 5633
}
}
]
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 4ce4de8..647a595 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -1,4 +1,4 @@
--- Copyright (c) 2014-2019 The Khronos Group Inc.
+-- Copyright (c) 2014-2018 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"),
@@ -26,16 +26,13 @@
-- the Binary Section of the SPIR-V specification.
-- Enumeration tokens for SPIR-V, in various styles:
--- C, C++, C++11, JSON, Lua, Python, C#, D
+-- C, C++, C++11, JSON, Lua, Python
--
-- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-- - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-- - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-- - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
--- - C# will use enum classes in the Specification class located in the "Spv" namespace,
--- e.g.: Spv.Specification.SourceLanguage.GLSL
--- - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
--
-- Some tokens act like mask values, which can be OR'd together,
-- while others are mutually exclusive. The mask-like ones have
@@ -44,7 +41,7 @@
spv = {
MagicNumber = 0x07230203,
- Version = 0x00010400,
+ Version = 0x00010300,
Revision = 1,
OpCodeMask = 0xffff,
WordCountShift = 16,
@@ -68,19 +65,18 @@ spv = {
Kernel = 6,
TaskNV = 5267,
MeshNV = 5268,
- RayGenerationNV = 5313,
- IntersectionNV = 5314,
- AnyHitNV = 5315,
- ClosestHitNV = 5316,
- MissNV = 5317,
- CallableNV = 5318,
+ RayGenerationNVX = 5313,
+ IntersectionNVX = 5314,
+ AnyHitNVX = 5315,
+ ClosestHitNVX = 5316,
+ MissNVX = 5317,
+ CallableNVX = 5318,
},
AddressingModel = {
Logical = 0,
Physical32 = 1,
Physical64 = 2,
- PhysicalStorageBuffer64EXT = 5348,
},
MemoryModel = {
@@ -130,23 +126,12 @@ spv = {
LocalSizeId = 38,
LocalSizeHintId = 39,
PostDepthCoverage = 4446,
- DenormPreserve = 4459,
- DenormFlushToZero = 4460,
- SignedZeroInfNanPreserve = 4461,
- RoundingModeRTE = 4462,
- RoundingModeRTZ = 4463,
StencilRefReplacingEXT = 5027,
OutputLinesNV = 5269,
OutputPrimitivesNV = 5270,
DerivativeGroupQuadsNV = 5289,
DerivativeGroupLinearNV = 5290,
OutputTrianglesNV = 5298,
- PixelInterlockOrderedEXT = 5366,
- PixelInterlockUnorderedEXT = 5367,
- SampleInterlockOrderedEXT = 5368,
- SampleInterlockUnorderedEXT = 5369,
- ShadingRateInterlockOrderedEXT = 5370,
- ShadingRateInterlockUnorderedEXT = 5371,
},
StorageClass = {
@@ -163,13 +148,10 @@ spv = {
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
- CallableDataNV = 5328,
- IncomingCallableDataNV = 5329,
- RayPayloadNV = 5338,
- HitAttributeNV = 5339,
- IncomingRayPayloadNV = 5342,
- ShaderRecordBufferNV = 5343,
- PhysicalStorageBufferEXT = 5349,
+ RayPayloadNVX = 5338,
+ HitAttributeNVX = 5339,
+ IncomingRayPayloadNVX = 5342,
+ ShaderRecordBufferNVX = 5343,
},
Dim = {
@@ -294,8 +276,6 @@ spv = {
MakeTexelVisibleKHR = 9,
NonPrivateTexelKHR = 10,
VolatileTexelKHR = 11,
- SignExtend = 12,
- ZeroExtend = 13,
},
ImageOperandsMask = {
@@ -312,8 +292,6 @@ spv = {
MakeTexelVisibleKHR = 0x00000200,
NonPrivateTexelKHR = 0x00000400,
VolatileTexelKHR = 0x00000800,
- SignExtend = 0x00001000,
- ZeroExtend = 0x00002000,
},
FPFastMathModeShift = {
@@ -389,7 +367,6 @@ spv = {
NonWritable = 24,
NonReadable = 25,
Uniform = 26,
- UniformId = 27,
SaturatedConversion = 28,
Stream = 29,
Location = 30,
@@ -410,8 +387,6 @@ spv = {
MaxByteOffset = 45,
AlignmentId = 46,
MaxByteOffsetId = 47,
- NoSignedWrap = 4469,
- NoUnsignedWrap = 4470,
ExplicitInterpAMD = 4999,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
@@ -422,13 +397,8 @@ spv = {
PerTaskNV = 5273,
PerVertexNV = 5285,
NonUniformEXT = 5300,
- RestrictPointerEXT = 5355,
- AliasedPointerEXT = 5356,
- CounterBuffer = 5634,
HlslCounterBufferGOOGLE = 5634,
HlslSemanticGOOGLE = 5635,
- UserSemantic = 5635,
- UserTypeGOOGLE = 5636,
},
BuiltIn = {
@@ -512,28 +482,21 @@ spv = {
MeshViewIndicesNV = 5281,
BaryCoordNV = 5286,
BaryCoordNoPerspNV = 5287,
- FragSizeEXT = 5292,
FragmentSizeNV = 5292,
- FragInvocationCountEXT = 5293,
InvocationsPerPixelNV = 5293,
- LaunchIdNV = 5319,
- LaunchSizeNV = 5320,
- WorldRayOriginNV = 5321,
- WorldRayDirectionNV = 5322,
- ObjectRayOriginNV = 5323,
- ObjectRayDirectionNV = 5324,
- RayTminNV = 5325,
- RayTmaxNV = 5326,
- InstanceCustomIndexNV = 5327,
- ObjectToWorldNV = 5330,
- WorldToObjectNV = 5331,
- HitTNV = 5332,
- HitKindNV = 5333,
- IncomingRayFlagsNV = 5351,
- WarpsPerSMNV = 5374,
- SMCountNV = 5375,
- WarpIDNV = 5376,
- SMIDNV = 5377,
+ LaunchIdNVX = 5319,
+ LaunchSizeNVX = 5320,
+ WorldRayOriginNVX = 5321,
+ WorldRayDirectionNVX = 5322,
+ ObjectRayOriginNVX = 5323,
+ ObjectRayDirectionNVX = 5324,
+ RayTminNVX = 5325,
+ RayTmaxNVX = 5326,
+ InstanceCustomIndexNVX = 5327,
+ ObjectToWorldNVX = 5330,
+ WorldToObjectNVX = 5331,
+ HitTNVX = 5332,
+ HitKindNVX = 5333,
},
SelectionControlShift = {
@@ -552,11 +515,6 @@ spv = {
DontUnroll = 1,
DependencyInfinite = 2,
DependencyLength = 3,
- MinIterations = 4,
- MaxIterations = 5,
- IterationMultiple = 6,
- PeelCount = 7,
- PartialCount = 8,
},
LoopControlMask = {
@@ -565,11 +523,6 @@ spv = {
DontUnroll = 0x00000002,
DependencyInfinite = 0x00000004,
DependencyLength = 0x00000008,
- MinIterations = 0x00000010,
- MaxIterations = 0x00000020,
- IterationMultiple = 0x00000040,
- PeelCount = 0x00000080,
- PartialCount = 0x00000100,
},
FunctionControlShift = {
@@ -601,7 +554,6 @@ spv = {
OutputMemoryKHR = 12,
MakeAvailableKHR = 13,
MakeVisibleKHR = 14,
- Volatile = 15,
},
MemorySemanticsMask = {
@@ -619,7 +571,6 @@ spv = {
OutputMemoryKHR = 0x00001000,
MakeAvailableKHR = 0x00002000,
MakeVisibleKHR = 0x00004000,
- Volatile = 0x00008000,
},
MemoryAccessShift = {
@@ -761,11 +712,6 @@ spv = {
StorageBuffer8BitAccess = 4448,
UniformAndStorageBuffer8BitAccess = 4449,
StoragePushConstant8 = 4450,
- DenormPreserve = 4464,
- DenormFlushToZero = 4465,
- SignedZeroInfNanPreserve = 4466,
- RoundingModeRTE = 4467,
- RoundingModeRTZ = 4468,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -783,7 +729,6 @@ spv = {
ImageFootprintNV = 5282,
FragmentBarycentricNV = 5284,
ComputeDerivativeGroupQuadsNV = 5288,
- FragmentDensityEXT = 5291,
ShadingRateNV = 5291,
GroupNonUniformPartitionedNV = 5297,
ShaderNonUniformEXT = 5301,
@@ -798,25 +743,13 @@ spv = {
InputAttachmentArrayNonUniformIndexingEXT = 5310,
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- RayTracingNV = 5340,
+ RaytracingNVX = 5340,
VulkanMemoryModelKHR = 5345,
VulkanMemoryModelDeviceScopeKHR = 5346,
- PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
- CooperativeMatrixNV = 5357,
- FragmentShaderSampleInterlockEXT = 5363,
- FragmentShaderShadingRateInterlockEXT = 5372,
- ShaderSMBuiltinsNV = 5373,
- FragmentShaderPixelInterlockEXT = 5378,
- DemoteToHelperInvocationEXT = 5379,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
- SubgroupImageMediaBlockIOINTEL = 5579,
- IntegerFunctions2INTEL = 5584,
- SubgroupAvcMotionEstimationINTEL = 5696,
- SubgroupAvcMotionEstimationIntraINTEL = 5697,
- SubgroupAvcMotionEstimationChromaINTEL = 5698,
},
Op = {
@@ -1160,10 +1093,6 @@ spv = {
OpGroupNonUniformLogicalXor = 364,
OpGroupNonUniformQuadBroadcast = 365,
OpGroupNonUniformQuadSwap = 366,
- OpCopyLogical = 400,
- OpPtrEqual = 401,
- OpPtrNotEqual = 402,
- OpPtrDiff = 403,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1183,21 +1112,11 @@ spv = {
OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
- OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionNV = 5335,
- OpTerminateRayNV = 5336,
- OpTraceNV = 5337,
- OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableNV = 5344,
- OpTypeCooperativeMatrixNV = 5358,
- OpCooperativeMatrixLoadNV = 5359,
- OpCooperativeMatrixStoreNV = 5360,
- OpCooperativeMatrixMulAddNV = 5361,
- OpCooperativeMatrixLengthNV = 5362,
- OpBeginInvocationInterlockEXT = 5364,
- OpEndInvocationInterlockEXT = 5365,
- OpDemoteToHelperInvocationEXT = 5380,
- OpIsHelperInvocationEXT = 5381,
+ OpReportIntersectionNVX = 5334,
+ OpIgnoreIntersectionNVX = 5335,
+ OpTerminateRayNVX = 5336,
+ OpTraceNVX = 5337,
+ OpTypeAccelerationStructureNVX = 5341,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
@@ -1206,144 +1125,8 @@ spv = {
OpSubgroupBlockWriteINTEL = 5576,
OpSubgroupImageBlockReadINTEL = 5577,
OpSubgroupImageBlockWriteINTEL = 5578,
- OpSubgroupImageMediaBlockReadINTEL = 5580,
- OpSubgroupImageMediaBlockWriteINTEL = 5581,
- OpUCountLeadingZerosINTEL = 5585,
- OpUCountTrailingZerosINTEL = 5586,
- OpAbsISubINTEL = 5587,
- OpAbsUSubINTEL = 5588,
- OpIAddSatINTEL = 5589,
- OpUAddSatINTEL = 5590,
- OpIAverageINTEL = 5591,
- OpUAverageINTEL = 5592,
- OpIAverageRoundedINTEL = 5593,
- OpUAverageRoundedINTEL = 5594,
- OpISubSatINTEL = 5595,
- OpUSubSatINTEL = 5596,
- OpIMul32x16INTEL = 5597,
- OpUMul32x16INTEL = 5598,
- OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateString = 5633,
OpMemberDecorateStringGOOGLE = 5633,
- OpVmeImageINTEL = 5699,
- OpTypeVmeImageINTEL = 5700,
- OpTypeAvcImePayloadINTEL = 5701,
- OpTypeAvcRefPayloadINTEL = 5702,
- OpTypeAvcSicPayloadINTEL = 5703,
- OpTypeAvcMcePayloadINTEL = 5704,
- OpTypeAvcMceResultINTEL = 5705,
- OpTypeAvcImeResultINTEL = 5706,
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- OpTypeAvcRefResultINTEL = 5711,
- OpTypeAvcSicResultINTEL = 5712,
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- OpSubgroupAvcImeInitializeINTEL = 5747,
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- OpSubgroupAvcFmeInitializeINTEL = 5781,
- OpSubgroupAvcBmeInitializeINTEL = 5782,
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- OpSubgroupAvcSicInitializeINTEL = 5791,
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
},
}
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index d42fbe0..1fe126c 100644..100755
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2014-2019 The Khronos Group Inc.
+# Copyright (c) 2014-2018 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"),
@@ -26,16 +26,13 @@
# the Binary Section of the SPIR-V specification.
# Enumeration tokens for SPIR-V, in various styles:
-# C, C++, C++11, JSON, Lua, Python, C#, D
+# C, C++, C++11, JSON, Lua, Python
#
# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
# - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
# - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
# - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-# - C# will use enum classes in the Specification class located in the "Spv" namespace,
-# e.g.: Spv.Specification.SourceLanguage.GLSL
-# - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
#
# Some tokens act like mask values, which can be OR'd together,
# while others are mutually exclusive. The mask-like ones have
@@ -44,7 +41,7 @@
spv = {
'MagicNumber' : 0x07230203,
- 'Version' : 0x00010400,
+ 'Version' : 0x00010300,
'Revision' : 1,
'OpCodeMask' : 0xffff,
'WordCountShift' : 16,
@@ -68,19 +65,18 @@ spv = {
'Kernel' : 6,
'TaskNV' : 5267,
'MeshNV' : 5268,
- 'RayGenerationNV' : 5313,
- 'IntersectionNV' : 5314,
- 'AnyHitNV' : 5315,
- 'ClosestHitNV' : 5316,
- 'MissNV' : 5317,
- 'CallableNV' : 5318,
+ 'RayGenerationNVX' : 5313,
+ 'IntersectionNVX' : 5314,
+ 'AnyHitNVX' : 5315,
+ 'ClosestHitNVX' : 5316,
+ 'MissNVX' : 5317,
+ 'CallableNVX' : 5318,
},
'AddressingModel' : {
'Logical' : 0,
'Physical32' : 1,
'Physical64' : 2,
- 'PhysicalStorageBuffer64EXT' : 5348,
},
'MemoryModel' : {
@@ -130,23 +126,12 @@ spv = {
'LocalSizeId' : 38,
'LocalSizeHintId' : 39,
'PostDepthCoverage' : 4446,
- 'DenormPreserve' : 4459,
- 'DenormFlushToZero' : 4460,
- 'SignedZeroInfNanPreserve' : 4461,
- 'RoundingModeRTE' : 4462,
- 'RoundingModeRTZ' : 4463,
'StencilRefReplacingEXT' : 5027,
'OutputLinesNV' : 5269,
'OutputPrimitivesNV' : 5270,
'DerivativeGroupQuadsNV' : 5289,
'DerivativeGroupLinearNV' : 5290,
'OutputTrianglesNV' : 5298,
- 'PixelInterlockOrderedEXT' : 5366,
- 'PixelInterlockUnorderedEXT' : 5367,
- 'SampleInterlockOrderedEXT' : 5368,
- 'SampleInterlockUnorderedEXT' : 5369,
- 'ShadingRateInterlockOrderedEXT' : 5370,
- 'ShadingRateInterlockUnorderedEXT' : 5371,
},
'StorageClass' : {
@@ -163,13 +148,10 @@ spv = {
'AtomicCounter' : 10,
'Image' : 11,
'StorageBuffer' : 12,
- 'CallableDataNV' : 5328,
- 'IncomingCallableDataNV' : 5329,
- 'RayPayloadNV' : 5338,
- 'HitAttributeNV' : 5339,
- 'IncomingRayPayloadNV' : 5342,
- 'ShaderRecordBufferNV' : 5343,
- 'PhysicalStorageBufferEXT' : 5349,
+ 'RayPayloadNVX' : 5338,
+ 'HitAttributeNVX' : 5339,
+ 'IncomingRayPayloadNVX' : 5342,
+ 'ShaderRecordBufferNVX' : 5343,
},
'Dim' : {
@@ -294,8 +276,6 @@ spv = {
'MakeTexelVisibleKHR' : 9,
'NonPrivateTexelKHR' : 10,
'VolatileTexelKHR' : 11,
- 'SignExtend' : 12,
- 'ZeroExtend' : 13,
},
'ImageOperandsMask' : {
@@ -312,8 +292,6 @@ spv = {
'MakeTexelVisibleKHR' : 0x00000200,
'NonPrivateTexelKHR' : 0x00000400,
'VolatileTexelKHR' : 0x00000800,
- 'SignExtend' : 0x00001000,
- 'ZeroExtend' : 0x00002000,
},
'FPFastMathModeShift' : {
@@ -389,7 +367,6 @@ spv = {
'NonWritable' : 24,
'NonReadable' : 25,
'Uniform' : 26,
- 'UniformId' : 27,
'SaturatedConversion' : 28,
'Stream' : 29,
'Location' : 30,
@@ -410,8 +387,6 @@ spv = {
'MaxByteOffset' : 45,
'AlignmentId' : 46,
'MaxByteOffsetId' : 47,
- 'NoSignedWrap' : 4469,
- 'NoUnsignedWrap' : 4470,
'ExplicitInterpAMD' : 4999,
'OverrideCoverageNV' : 5248,
'PassthroughNV' : 5250,
@@ -422,13 +397,8 @@ spv = {
'PerTaskNV' : 5273,
'PerVertexNV' : 5285,
'NonUniformEXT' : 5300,
- 'RestrictPointerEXT' : 5355,
- 'AliasedPointerEXT' : 5356,
- 'CounterBuffer' : 5634,
'HlslCounterBufferGOOGLE' : 5634,
'HlslSemanticGOOGLE' : 5635,
- 'UserSemantic' : 5635,
- 'UserTypeGOOGLE' : 5636,
},
'BuiltIn' : {
@@ -512,28 +482,21 @@ spv = {
'MeshViewIndicesNV' : 5281,
'BaryCoordNV' : 5286,
'BaryCoordNoPerspNV' : 5287,
- 'FragSizeEXT' : 5292,
'FragmentSizeNV' : 5292,
- 'FragInvocationCountEXT' : 5293,
'InvocationsPerPixelNV' : 5293,
- 'LaunchIdNV' : 5319,
- 'LaunchSizeNV' : 5320,
- 'WorldRayOriginNV' : 5321,
- 'WorldRayDirectionNV' : 5322,
- 'ObjectRayOriginNV' : 5323,
- 'ObjectRayDirectionNV' : 5324,
- 'RayTminNV' : 5325,
- 'RayTmaxNV' : 5326,
- 'InstanceCustomIndexNV' : 5327,
- 'ObjectToWorldNV' : 5330,
- 'WorldToObjectNV' : 5331,
- 'HitTNV' : 5332,
- 'HitKindNV' : 5333,
- 'IncomingRayFlagsNV' : 5351,
- 'WarpsPerSMNV' : 5374,
- 'SMCountNV' : 5375,
- 'WarpIDNV' : 5376,
- 'SMIDNV' : 5377,
+ 'LaunchIdNVX' : 5319,
+ 'LaunchSizeNVX' : 5320,
+ 'WorldRayOriginNVX' : 5321,
+ 'WorldRayDirectionNVX' : 5322,
+ 'ObjectRayOriginNVX' : 5323,
+ 'ObjectRayDirectionNVX' : 5324,
+ 'RayTminNVX' : 5325,
+ 'RayTmaxNVX' : 5326,
+ 'InstanceCustomIndexNVX' : 5327,
+ 'ObjectToWorldNVX' : 5330,
+ 'WorldToObjectNVX' : 5331,
+ 'HitTNVX' : 5332,
+ 'HitKindNVX' : 5333,
},
'SelectionControlShift' : {
@@ -552,11 +515,6 @@ spv = {
'DontUnroll' : 1,
'DependencyInfinite' : 2,
'DependencyLength' : 3,
- 'MinIterations' : 4,
- 'MaxIterations' : 5,
- 'IterationMultiple' : 6,
- 'PeelCount' : 7,
- 'PartialCount' : 8,
},
'LoopControlMask' : {
@@ -565,11 +523,6 @@ spv = {
'DontUnroll' : 0x00000002,
'DependencyInfinite' : 0x00000004,
'DependencyLength' : 0x00000008,
- 'MinIterations' : 0x00000010,
- 'MaxIterations' : 0x00000020,
- 'IterationMultiple' : 0x00000040,
- 'PeelCount' : 0x00000080,
- 'PartialCount' : 0x00000100,
},
'FunctionControlShift' : {
@@ -601,7 +554,6 @@ spv = {
'OutputMemoryKHR' : 12,
'MakeAvailableKHR' : 13,
'MakeVisibleKHR' : 14,
- 'Volatile' : 15,
},
'MemorySemanticsMask' : {
@@ -619,7 +571,6 @@ spv = {
'OutputMemoryKHR' : 0x00001000,
'MakeAvailableKHR' : 0x00002000,
'MakeVisibleKHR' : 0x00004000,
- 'Volatile' : 0x00008000,
},
'MemoryAccessShift' : {
@@ -761,11 +712,6 @@ spv = {
'StorageBuffer8BitAccess' : 4448,
'UniformAndStorageBuffer8BitAccess' : 4449,
'StoragePushConstant8' : 4450,
- 'DenormPreserve' : 4464,
- 'DenormFlushToZero' : 4465,
- 'SignedZeroInfNanPreserve' : 4466,
- 'RoundingModeRTE' : 4467,
- 'RoundingModeRTZ' : 4468,
'Float16ImageAMD' : 5008,
'ImageGatherBiasLodAMD' : 5009,
'FragmentMaskAMD' : 5010,
@@ -783,7 +729,6 @@ spv = {
'ImageFootprintNV' : 5282,
'FragmentBarycentricNV' : 5284,
'ComputeDerivativeGroupQuadsNV' : 5288,
- 'FragmentDensityEXT' : 5291,
'ShadingRateNV' : 5291,
'GroupNonUniformPartitionedNV' : 5297,
'ShaderNonUniformEXT' : 5301,
@@ -798,25 +743,13 @@ spv = {
'InputAttachmentArrayNonUniformIndexingEXT' : 5310,
'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311,
'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
- 'RayTracingNV' : 5340,
+ 'RaytracingNVX' : 5340,
'VulkanMemoryModelKHR' : 5345,
'VulkanMemoryModelDeviceScopeKHR' : 5346,
- 'PhysicalStorageBufferAddressesEXT' : 5347,
'ComputeDerivativeGroupLinearNV' : 5350,
- 'CooperativeMatrixNV' : 5357,
- 'FragmentShaderSampleInterlockEXT' : 5363,
- 'FragmentShaderShadingRateInterlockEXT' : 5372,
- 'ShaderSMBuiltinsNV' : 5373,
- 'FragmentShaderPixelInterlockEXT' : 5378,
- 'DemoteToHelperInvocationEXT' : 5379,
'SubgroupShuffleINTEL' : 5568,
'SubgroupBufferBlockIOINTEL' : 5569,
'SubgroupImageBlockIOINTEL' : 5570,
- 'SubgroupImageMediaBlockIOINTEL' : 5579,
- 'IntegerFunctions2INTEL' : 5584,
- 'SubgroupAvcMotionEstimationINTEL' : 5696,
- 'SubgroupAvcMotionEstimationIntraINTEL' : 5697,
- 'SubgroupAvcMotionEstimationChromaINTEL' : 5698,
},
'Op' : {
@@ -1160,10 +1093,6 @@ spv = {
'OpGroupNonUniformLogicalXor' : 364,
'OpGroupNonUniformQuadBroadcast' : 365,
'OpGroupNonUniformQuadSwap' : 366,
- 'OpCopyLogical' : 400,
- 'OpPtrEqual' : 401,
- 'OpPtrNotEqual' : 402,
- 'OpPtrDiff' : 403,
'OpSubgroupBallotKHR' : 4421,
'OpSubgroupFirstInvocationKHR' : 4422,
'OpSubgroupAllKHR' : 4428,
@@ -1183,21 +1112,11 @@ spv = {
'OpImageSampleFootprintNV' : 5283,
'OpGroupNonUniformPartitionNV' : 5296,
'OpWritePackedPrimitiveIndices4x8NV' : 5299,
- 'OpReportIntersectionNV' : 5334,
- 'OpIgnoreIntersectionNV' : 5335,
- 'OpTerminateRayNV' : 5336,
- 'OpTraceNV' : 5337,
- 'OpTypeAccelerationStructureNV' : 5341,
- 'OpExecuteCallableNV' : 5344,
- 'OpTypeCooperativeMatrixNV' : 5358,
- 'OpCooperativeMatrixLoadNV' : 5359,
- 'OpCooperativeMatrixStoreNV' : 5360,
- 'OpCooperativeMatrixMulAddNV' : 5361,
- 'OpCooperativeMatrixLengthNV' : 5362,
- 'OpBeginInvocationInterlockEXT' : 5364,
- 'OpEndInvocationInterlockEXT' : 5365,
- 'OpDemoteToHelperInvocationEXT' : 5380,
- 'OpIsHelperInvocationEXT' : 5381,
+ 'OpReportIntersectionNVX' : 5334,
+ 'OpIgnoreIntersectionNVX' : 5335,
+ 'OpTerminateRayNVX' : 5336,
+ 'OpTraceNVX' : 5337,
+ 'OpTypeAccelerationStructureNVX' : 5341,
'OpSubgroupShuffleINTEL' : 5571,
'OpSubgroupShuffleDownINTEL' : 5572,
'OpSubgroupShuffleUpINTEL' : 5573,
@@ -1206,144 +1125,8 @@ spv = {
'OpSubgroupBlockWriteINTEL' : 5576,
'OpSubgroupImageBlockReadINTEL' : 5577,
'OpSubgroupImageBlockWriteINTEL' : 5578,
- 'OpSubgroupImageMediaBlockReadINTEL' : 5580,
- 'OpSubgroupImageMediaBlockWriteINTEL' : 5581,
- 'OpUCountLeadingZerosINTEL' : 5585,
- 'OpUCountTrailingZerosINTEL' : 5586,
- 'OpAbsISubINTEL' : 5587,
- 'OpAbsUSubINTEL' : 5588,
- 'OpIAddSatINTEL' : 5589,
- 'OpUAddSatINTEL' : 5590,
- 'OpIAverageINTEL' : 5591,
- 'OpUAverageINTEL' : 5592,
- 'OpIAverageRoundedINTEL' : 5593,
- 'OpUAverageRoundedINTEL' : 5594,
- 'OpISubSatINTEL' : 5595,
- 'OpUSubSatINTEL' : 5596,
- 'OpIMul32x16INTEL' : 5597,
- 'OpUMul32x16INTEL' : 5598,
- 'OpDecorateString' : 5632,
'OpDecorateStringGOOGLE' : 5632,
- 'OpMemberDecorateString' : 5633,
'OpMemberDecorateStringGOOGLE' : 5633,
- 'OpVmeImageINTEL' : 5699,
- 'OpTypeVmeImageINTEL' : 5700,
- 'OpTypeAvcImePayloadINTEL' : 5701,
- 'OpTypeAvcRefPayloadINTEL' : 5702,
- 'OpTypeAvcSicPayloadINTEL' : 5703,
- 'OpTypeAvcMcePayloadINTEL' : 5704,
- 'OpTypeAvcMceResultINTEL' : 5705,
- 'OpTypeAvcImeResultINTEL' : 5706,
- 'OpTypeAvcImeResultSingleReferenceStreamoutINTEL' : 5707,
- 'OpTypeAvcImeResultDualReferenceStreamoutINTEL' : 5708,
- 'OpTypeAvcImeSingleReferenceStreaminINTEL' : 5709,
- 'OpTypeAvcImeDualReferenceStreaminINTEL' : 5710,
- 'OpTypeAvcRefResultINTEL' : 5711,
- 'OpTypeAvcSicResultINTEL' : 5712,
- 'OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL' : 5713,
- 'OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL' : 5714,
- 'OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL' : 5715,
- 'OpSubgroupAvcMceSetInterShapePenaltyINTEL' : 5716,
- 'OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL' : 5717,
- 'OpSubgroupAvcMceSetInterDirectionPenaltyINTEL' : 5718,
- 'OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL' : 5719,
- 'OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL' : 5720,
- 'OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL' : 5721,
- 'OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL' : 5722,
- 'OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL' : 5723,
- 'OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL' : 5724,
- 'OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL' : 5725,
- 'OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL' : 5726,
- 'OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL' : 5727,
- 'OpSubgroupAvcMceSetAcOnlyHaarINTEL' : 5728,
- 'OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL' : 5729,
- 'OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL' : 5730,
- 'OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL' : 5731,
- 'OpSubgroupAvcMceConvertToImePayloadINTEL' : 5732,
- 'OpSubgroupAvcMceConvertToImeResultINTEL' : 5733,
- 'OpSubgroupAvcMceConvertToRefPayloadINTEL' : 5734,
- 'OpSubgroupAvcMceConvertToRefResultINTEL' : 5735,
- 'OpSubgroupAvcMceConvertToSicPayloadINTEL' : 5736,
- 'OpSubgroupAvcMceConvertToSicResultINTEL' : 5737,
- 'OpSubgroupAvcMceGetMotionVectorsINTEL' : 5738,
- 'OpSubgroupAvcMceGetInterDistortionsINTEL' : 5739,
- 'OpSubgroupAvcMceGetBestInterDistortionsINTEL' : 5740,
- 'OpSubgroupAvcMceGetInterMajorShapeINTEL' : 5741,
- 'OpSubgroupAvcMceGetInterMinorShapeINTEL' : 5742,
- 'OpSubgroupAvcMceGetInterDirectionsINTEL' : 5743,
- 'OpSubgroupAvcMceGetInterMotionVectorCountINTEL' : 5744,
- 'OpSubgroupAvcMceGetInterReferenceIdsINTEL' : 5745,
- 'OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL' : 5746,
- 'OpSubgroupAvcImeInitializeINTEL' : 5747,
- 'OpSubgroupAvcImeSetSingleReferenceINTEL' : 5748,
- 'OpSubgroupAvcImeSetDualReferenceINTEL' : 5749,
- 'OpSubgroupAvcImeRefWindowSizeINTEL' : 5750,
- 'OpSubgroupAvcImeAdjustRefOffsetINTEL' : 5751,
- 'OpSubgroupAvcImeConvertToMcePayloadINTEL' : 5752,
- 'OpSubgroupAvcImeSetMaxMotionVectorCountINTEL' : 5753,
- 'OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL' : 5754,
- 'OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL' : 5755,
- 'OpSubgroupAvcImeSetWeightedSadINTEL' : 5756,
- 'OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL' : 5757,
- 'OpSubgroupAvcImeEvaluateWithDualReferenceINTEL' : 5758,
- 'OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL' : 5759,
- 'OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL' : 5760,
- 'OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL' : 5761,
- 'OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL' : 5762,
- 'OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL' : 5763,
- 'OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL' : 5764,
- 'OpSubgroupAvcImeConvertToMceResultINTEL' : 5765,
- 'OpSubgroupAvcImeGetSingleReferenceStreaminINTEL' : 5766,
- 'OpSubgroupAvcImeGetDualReferenceStreaminINTEL' : 5767,
- 'OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL' : 5768,
- 'OpSubgroupAvcImeStripDualReferenceStreamoutINTEL' : 5769,
- 'OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL' : 5770,
- 'OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL' : 5771,
- 'OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL' : 5772,
- 'OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL' : 5773,
- 'OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL' : 5774,
- 'OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL' : 5775,
- 'OpSubgroupAvcImeGetBorderReachedINTEL' : 5776,
- 'OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL' : 5777,
- 'OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL' : 5778,
- 'OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL' : 5779,
- 'OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL' : 5780,
- 'OpSubgroupAvcFmeInitializeINTEL' : 5781,
- 'OpSubgroupAvcBmeInitializeINTEL' : 5782,
- 'OpSubgroupAvcRefConvertToMcePayloadINTEL' : 5783,
- 'OpSubgroupAvcRefSetBidirectionalMixDisableINTEL' : 5784,
- 'OpSubgroupAvcRefSetBilinearFilterEnableINTEL' : 5785,
- 'OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL' : 5786,
- 'OpSubgroupAvcRefEvaluateWithDualReferenceINTEL' : 5787,
- 'OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL' : 5788,
- 'OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL' : 5789,
- 'OpSubgroupAvcRefConvertToMceResultINTEL' : 5790,
- 'OpSubgroupAvcSicInitializeINTEL' : 5791,
- 'OpSubgroupAvcSicConfigureSkcINTEL' : 5792,
- 'OpSubgroupAvcSicConfigureIpeLumaINTEL' : 5793,
- 'OpSubgroupAvcSicConfigureIpeLumaChromaINTEL' : 5794,
- 'OpSubgroupAvcSicGetMotionVectorMaskINTEL' : 5795,
- 'OpSubgroupAvcSicConvertToMcePayloadINTEL' : 5796,
- 'OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL' : 5797,
- 'OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL' : 5798,
- 'OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL' : 5799,
- 'OpSubgroupAvcSicSetBilinearFilterEnableINTEL' : 5800,
- 'OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL' : 5801,
- 'OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL' : 5802,
- 'OpSubgroupAvcSicEvaluateIpeINTEL' : 5803,
- 'OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL' : 5804,
- 'OpSubgroupAvcSicEvaluateWithDualReferenceINTEL' : 5805,
- 'OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL' : 5806,
- 'OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL' : 5807,
- 'OpSubgroupAvcSicConvertToMceResultINTEL' : 5808,
- 'OpSubgroupAvcSicGetIpeLumaShapeINTEL' : 5809,
- 'OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL' : 5810,
- 'OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL' : 5811,
- 'OpSubgroupAvcSicGetPackedIpeLumaModesINTEL' : 5812,
- 'OpSubgroupAvcSicGetIpeChromaModeINTEL' : 5813,
- 'OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL' : 5814,
- 'OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL' : 5815,
- 'OpSubgroupAvcSicGetInterRawSadsINTEL' : 5816,
},
}
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
deleted file mode 100644
index a8dbd00..0000000
--- a/include/spirv/unified1/spv.d
+++ /dev/null
@@ -1,1395 +0,0 @@
-/+
- + Copyright (c) 2014-2019 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.
- +/
-
-/+
- + This header is automatically generated by the same tool that creates
- + the Binary Section of the SPIR-V specification.
- +/
-
-/+
- + Enumeration tokens for SPIR-V, in various styles:
- + C, C++, C++11, JSON, Lua, Python, C#, D
- +
- + - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
- + - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
- + - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
- + - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
- + - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
- + - C# will use enum classes in the Specification class located in the "Spv" namespace,
- + e.g.: Spv.Specification.SourceLanguage.GLSL
- + - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
- +
- + Some tokens act like mask values, which can be OR'd together,
- + while others are mutually exclusive. The mask-like ones have
- + "Mask" in their name, and a parallel enum that has the shift
- + amount (1 << x) for each corresponding enumerant.
- +/
-
-module spv;
-
-enum uint MagicNumber = 0x07230203;
-enum uint Version = 0x00010400;
-enum uint Revision = 1;
-enum uint OpCodeMask = 0xffff;
-enum uint WordCountShift = 16;
-
-enum SourceLanguage : uint
-{
- Unknown = 0,
- ESSL = 1,
- GLSL = 2,
- OpenCL_C = 3,
- OpenCL_CPP = 4,
- HLSL = 5,
-}
-
-enum ExecutionModel : uint
-{
- Vertex = 0,
- TessellationControl = 1,
- TessellationEvaluation = 2,
- Geometry = 3,
- Fragment = 4,
- GLCompute = 5,
- Kernel = 6,
- TaskNV = 5267,
- MeshNV = 5268,
- RayGenerationNV = 5313,
- IntersectionNV = 5314,
- AnyHitNV = 5315,
- ClosestHitNV = 5316,
- MissNV = 5317,
- CallableNV = 5318,
-}
-
-enum AddressingModel : uint
-{
- Logical = 0,
- Physical32 = 1,
- Physical64 = 2,
- PhysicalStorageBuffer64EXT = 5348,
-}
-
-enum MemoryModel : uint
-{
- Simple = 0,
- GLSL450 = 1,
- OpenCL = 2,
- VulkanKHR = 3,
-}
-
-enum ExecutionMode : uint
-{
- Invocations = 0,
- SpacingEqual = 1,
- SpacingFractionalEven = 2,
- SpacingFractionalOdd = 3,
- VertexOrderCw = 4,
- VertexOrderCcw = 5,
- PixelCenterInteger = 6,
- OriginUpperLeft = 7,
- OriginLowerLeft = 8,
- EarlyFragmentTests = 9,
- PointMode = 10,
- Xfb = 11,
- DepthReplacing = 12,
- DepthGreater = 14,
- DepthLess = 15,
- DepthUnchanged = 16,
- LocalSize = 17,
- LocalSizeHint = 18,
- InputPoints = 19,
- InputLines = 20,
- InputLinesAdjacency = 21,
- Triangles = 22,
- InputTrianglesAdjacency = 23,
- Quads = 24,
- Isolines = 25,
- OutputVertices = 26,
- OutputPoints = 27,
- OutputLineStrip = 28,
- OutputTriangleStrip = 29,
- VecTypeHint = 30,
- ContractionOff = 31,
- Initializer = 33,
- Finalizer = 34,
- SubgroupSize = 35,
- SubgroupsPerWorkgroup = 36,
- SubgroupsPerWorkgroupId = 37,
- LocalSizeId = 38,
- LocalSizeHintId = 39,
- PostDepthCoverage = 4446,
- DenormPreserve = 4459,
- DenormFlushToZero = 4460,
- SignedZeroInfNanPreserve = 4461,
- RoundingModeRTE = 4462,
- RoundingModeRTZ = 4463,
- StencilRefReplacingEXT = 5027,
- OutputLinesNV = 5269,
- OutputPrimitivesNV = 5270,
- DerivativeGroupQuadsNV = 5289,
- DerivativeGroupLinearNV = 5290,
- OutputTrianglesNV = 5298,
- PixelInterlockOrderedEXT = 5366,
- PixelInterlockUnorderedEXT = 5367,
- SampleInterlockOrderedEXT = 5368,
- SampleInterlockUnorderedEXT = 5369,
- ShadingRateInterlockOrderedEXT = 5370,
- ShadingRateInterlockUnorderedEXT = 5371,
-}
-
-enum StorageClass : uint
-{
- UniformConstant = 0,
- Input = 1,
- Uniform = 2,
- Output = 3,
- Workgroup = 4,
- CrossWorkgroup = 5,
- Private = 6,
- Function = 7,
- Generic = 8,
- PushConstant = 9,
- AtomicCounter = 10,
- Image = 11,
- StorageBuffer = 12,
- CallableDataNV = 5328,
- IncomingCallableDataNV = 5329,
- RayPayloadNV = 5338,
- HitAttributeNV = 5339,
- IncomingRayPayloadNV = 5342,
- ShaderRecordBufferNV = 5343,
- PhysicalStorageBufferEXT = 5349,
-}
-
-enum Dim : uint
-{
- _1D = 0,
- _2D = 1,
- _3D = 2,
- Cube = 3,
- Rect = 4,
- Buffer = 5,
- SubpassData = 6,
-}
-
-enum SamplerAddressingMode : uint
-{
- None = 0,
- ClampToEdge = 1,
- Clamp = 2,
- Repeat = 3,
- RepeatMirrored = 4,
-}
-
-enum SamplerFilterMode : uint
-{
- Nearest = 0,
- Linear = 1,
-}
-
-enum ImageFormat : uint
-{
- Unknown = 0,
- Rgba32f = 1,
- Rgba16f = 2,
- R32f = 3,
- Rgba8 = 4,
- Rgba8Snorm = 5,
- Rg32f = 6,
- Rg16f = 7,
- R11fG11fB10f = 8,
- R16f = 9,
- Rgba16 = 10,
- Rgb10A2 = 11,
- Rg16 = 12,
- Rg8 = 13,
- R16 = 14,
- R8 = 15,
- Rgba16Snorm = 16,
- Rg16Snorm = 17,
- Rg8Snorm = 18,
- R16Snorm = 19,
- R8Snorm = 20,
- Rgba32i = 21,
- Rgba16i = 22,
- Rgba8i = 23,
- R32i = 24,
- Rg32i = 25,
- Rg16i = 26,
- Rg8i = 27,
- R16i = 28,
- R8i = 29,
- Rgba32ui = 30,
- Rgba16ui = 31,
- Rgba8ui = 32,
- R32ui = 33,
- Rgb10a2ui = 34,
- Rg32ui = 35,
- Rg16ui = 36,
- Rg8ui = 37,
- R16ui = 38,
- R8ui = 39,
-}
-
-enum ImageChannelOrder : uint
-{
- R = 0,
- A = 1,
- RG = 2,
- RA = 3,
- RGB = 4,
- RGBA = 5,
- BGRA = 6,
- ARGB = 7,
- Intensity = 8,
- Luminance = 9,
- Rx = 10,
- RGx = 11,
- RGBx = 12,
- Depth = 13,
- DepthStencil = 14,
- sRGB = 15,
- sRGBx = 16,
- sRGBA = 17,
- sBGRA = 18,
- ABGR = 19,
-}
-
-enum ImageChannelDataType : uint
-{
- SnormInt8 = 0,
- SnormInt16 = 1,
- UnormInt8 = 2,
- UnormInt16 = 3,
- UnormShort565 = 4,
- UnormShort555 = 5,
- UnormInt101010 = 6,
- SignedInt8 = 7,
- SignedInt16 = 8,
- SignedInt32 = 9,
- UnsignedInt8 = 10,
- UnsignedInt16 = 11,
- UnsignedInt32 = 12,
- HalfFloat = 13,
- Float = 14,
- UnormInt24 = 15,
- UnormInt101010_2 = 16,
-}
-
-enum ImageOperandsShift : uint
-{
- Bias = 0,
- Lod = 1,
- Grad = 2,
- ConstOffset = 3,
- Offset = 4,
- ConstOffsets = 5,
- Sample = 6,
- MinLod = 7,
- MakeTexelAvailableKHR = 8,
- MakeTexelVisibleKHR = 9,
- NonPrivateTexelKHR = 10,
- VolatileTexelKHR = 11,
- SignExtend = 12,
- ZeroExtend = 13,
-}
-
-enum ImageOperandsMask : uint
-{
- MaskNone = 0,
- Bias = 0x00000001,
- Lod = 0x00000002,
- Grad = 0x00000004,
- ConstOffset = 0x00000008,
- Offset = 0x00000010,
- ConstOffsets = 0x00000020,
- Sample = 0x00000040,
- MinLod = 0x00000080,
- MakeTexelAvailableKHR = 0x00000100,
- MakeTexelVisibleKHR = 0x00000200,
- NonPrivateTexelKHR = 0x00000400,
- VolatileTexelKHR = 0x00000800,
- SignExtend = 0x00001000,
- ZeroExtend = 0x00002000,
-}
-
-enum FPFastMathModeShift : uint
-{
- NotNaN = 0,
- NotInf = 1,
- NSZ = 2,
- AllowRecip = 3,
- Fast = 4,
-}
-
-enum FPFastMathModeMask : uint
-{
- MaskNone = 0,
- NotNaN = 0x00000001,
- NotInf = 0x00000002,
- NSZ = 0x00000004,
- AllowRecip = 0x00000008,
- Fast = 0x00000010,
-}
-
-enum FPRoundingMode : uint
-{
- RTE = 0,
- RTZ = 1,
- RTP = 2,
- RTN = 3,
-}
-
-enum LinkageType : uint
-{
- Export = 0,
- Import = 1,
-}
-
-enum AccessQualifier : uint
-{
- ReadOnly = 0,
- WriteOnly = 1,
- ReadWrite = 2,
-}
-
-enum FunctionParameterAttribute : uint
-{
- Zext = 0,
- Sext = 1,
- ByVal = 2,
- Sret = 3,
- NoAlias = 4,
- NoCapture = 5,
- NoWrite = 6,
- NoReadWrite = 7,
-}
-
-enum Decoration : uint
-{
- RelaxedPrecision = 0,
- SpecId = 1,
- Block = 2,
- BufferBlock = 3,
- RowMajor = 4,
- ColMajor = 5,
- ArrayStride = 6,
- MatrixStride = 7,
- GLSLShared = 8,
- GLSLPacked = 9,
- CPacked = 10,
- BuiltIn = 11,
- NoPerspective = 13,
- Flat = 14,
- Patch = 15,
- Centroid = 16,
- Sample = 17,
- Invariant = 18,
- Restrict = 19,
- Aliased = 20,
- Volatile = 21,
- Constant = 22,
- Coherent = 23,
- NonWritable = 24,
- NonReadable = 25,
- Uniform = 26,
- UniformId = 27,
- SaturatedConversion = 28,
- Stream = 29,
- Location = 30,
- Component = 31,
- Index = 32,
- Binding = 33,
- DescriptorSet = 34,
- Offset = 35,
- XfbBuffer = 36,
- XfbStride = 37,
- FuncParamAttr = 38,
- FPRoundingMode = 39,
- FPFastMathMode = 40,
- LinkageAttributes = 41,
- NoContraction = 42,
- InputAttachmentIndex = 43,
- Alignment = 44,
- MaxByteOffset = 45,
- AlignmentId = 46,
- MaxByteOffsetId = 47,
- NoSignedWrap = 4469,
- NoUnsignedWrap = 4470,
- ExplicitInterpAMD = 4999,
- OverrideCoverageNV = 5248,
- PassthroughNV = 5250,
- ViewportRelativeNV = 5252,
- SecondaryViewportRelativeNV = 5256,
- PerPrimitiveNV = 5271,
- PerViewNV = 5272,
- PerTaskNV = 5273,
- PerVertexNV = 5285,
- NonUniformEXT = 5300,
- RestrictPointerEXT = 5355,
- AliasedPointerEXT = 5356,
- CounterBuffer = 5634,
- HlslCounterBufferGOOGLE = 5634,
- HlslSemanticGOOGLE = 5635,
- UserSemantic = 5635,
- UserTypeGOOGLE = 5636,
-}
-
-enum BuiltIn : uint
-{
- Position = 0,
- PointSize = 1,
- ClipDistance = 3,
- CullDistance = 4,
- VertexId = 5,
- InstanceId = 6,
- PrimitiveId = 7,
- InvocationId = 8,
- Layer = 9,
- ViewportIndex = 10,
- TessLevelOuter = 11,
- TessLevelInner = 12,
- TessCoord = 13,
- PatchVertices = 14,
- FragCoord = 15,
- PointCoord = 16,
- FrontFacing = 17,
- SampleId = 18,
- SamplePosition = 19,
- SampleMask = 20,
- FragDepth = 22,
- HelperInvocation = 23,
- NumWorkgroups = 24,
- WorkgroupSize = 25,
- WorkgroupId = 26,
- LocalInvocationId = 27,
- GlobalInvocationId = 28,
- LocalInvocationIndex = 29,
- WorkDim = 30,
- GlobalSize = 31,
- EnqueuedWorkgroupSize = 32,
- GlobalOffset = 33,
- GlobalLinearId = 34,
- SubgroupSize = 36,
- SubgroupMaxSize = 37,
- NumSubgroups = 38,
- NumEnqueuedSubgroups = 39,
- SubgroupId = 40,
- SubgroupLocalInvocationId = 41,
- VertexIndex = 42,
- InstanceIndex = 43,
- SubgroupEqMask = 4416,
- SubgroupEqMaskKHR = 4416,
- SubgroupGeMask = 4417,
- SubgroupGeMaskKHR = 4417,
- SubgroupGtMask = 4418,
- SubgroupGtMaskKHR = 4418,
- SubgroupLeMask = 4419,
- SubgroupLeMaskKHR = 4419,
- SubgroupLtMask = 4420,
- SubgroupLtMaskKHR = 4420,
- BaseVertex = 4424,
- BaseInstance = 4425,
- DrawIndex = 4426,
- DeviceIndex = 4438,
- ViewIndex = 4440,
- BaryCoordNoPerspAMD = 4992,
- BaryCoordNoPerspCentroidAMD = 4993,
- BaryCoordNoPerspSampleAMD = 4994,
- BaryCoordSmoothAMD = 4995,
- BaryCoordSmoothCentroidAMD = 4996,
- BaryCoordSmoothSampleAMD = 4997,
- BaryCoordPullModelAMD = 4998,
- FragStencilRefEXT = 5014,
- ViewportMaskNV = 5253,
- SecondaryPositionNV = 5257,
- SecondaryViewportMaskNV = 5258,
- PositionPerViewNV = 5261,
- ViewportMaskPerViewNV = 5262,
- FullyCoveredEXT = 5264,
- TaskCountNV = 5274,
- PrimitiveCountNV = 5275,
- PrimitiveIndicesNV = 5276,
- ClipDistancePerViewNV = 5277,
- CullDistancePerViewNV = 5278,
- LayerPerViewNV = 5279,
- MeshViewCountNV = 5280,
- MeshViewIndicesNV = 5281,
- BaryCoordNV = 5286,
- BaryCoordNoPerspNV = 5287,
- FragSizeEXT = 5292,
- FragmentSizeNV = 5292,
- FragInvocationCountEXT = 5293,
- InvocationsPerPixelNV = 5293,
- LaunchIdNV = 5319,
- LaunchSizeNV = 5320,
- WorldRayOriginNV = 5321,
- WorldRayDirectionNV = 5322,
- ObjectRayOriginNV = 5323,
- ObjectRayDirectionNV = 5324,
- RayTminNV = 5325,
- RayTmaxNV = 5326,
- InstanceCustomIndexNV = 5327,
- ObjectToWorldNV = 5330,
- WorldToObjectNV = 5331,
- HitTNV = 5332,
- HitKindNV = 5333,
- IncomingRayFlagsNV = 5351,
- WarpsPerSMNV = 5374,
- SMCountNV = 5375,
- WarpIDNV = 5376,
- SMIDNV = 5377,
-}
-
-enum SelectionControlShift : uint
-{
- Flatten = 0,
- DontFlatten = 1,
-}
-
-enum SelectionControlMask : uint
-{
- MaskNone = 0,
- Flatten = 0x00000001,
- DontFlatten = 0x00000002,
-}
-
-enum LoopControlShift : uint
-{
- Unroll = 0,
- DontUnroll = 1,
- DependencyInfinite = 2,
- DependencyLength = 3,
- MinIterations = 4,
- MaxIterations = 5,
- IterationMultiple = 6,
- PeelCount = 7,
- PartialCount = 8,
-}
-
-enum LoopControlMask : uint
-{
- MaskNone = 0,
- Unroll = 0x00000001,
- DontUnroll = 0x00000002,
- DependencyInfinite = 0x00000004,
- DependencyLength = 0x00000008,
- MinIterations = 0x00000010,
- MaxIterations = 0x00000020,
- IterationMultiple = 0x00000040,
- PeelCount = 0x00000080,
- PartialCount = 0x00000100,
-}
-
-enum FunctionControlShift : uint
-{
- Inline = 0,
- DontInline = 1,
- Pure = 2,
- Const = 3,
-}
-
-enum FunctionControlMask : uint
-{
- MaskNone = 0,
- Inline = 0x00000001,
- DontInline = 0x00000002,
- Pure = 0x00000004,
- Const = 0x00000008,
-}
-
-enum MemorySemanticsShift : uint
-{
- Acquire = 1,
- Release = 2,
- AcquireRelease = 3,
- SequentiallyConsistent = 4,
- UniformMemory = 6,
- SubgroupMemory = 7,
- WorkgroupMemory = 8,
- CrossWorkgroupMemory = 9,
- AtomicCounterMemory = 10,
- ImageMemory = 11,
- OutputMemoryKHR = 12,
- MakeAvailableKHR = 13,
- MakeVisibleKHR = 14,
- Volatile = 15,
-}
-
-enum MemorySemanticsMask : uint
-{
- MaskNone = 0,
- Acquire = 0x00000002,
- Release = 0x00000004,
- AcquireRelease = 0x00000008,
- SequentiallyConsistent = 0x00000010,
- UniformMemory = 0x00000040,
- SubgroupMemory = 0x00000080,
- WorkgroupMemory = 0x00000100,
- CrossWorkgroupMemory = 0x00000200,
- AtomicCounterMemory = 0x00000400,
- ImageMemory = 0x00000800,
- OutputMemoryKHR = 0x00001000,
- MakeAvailableKHR = 0x00002000,
- MakeVisibleKHR = 0x00004000,
- Volatile = 0x00008000,
-}
-
-enum MemoryAccessShift : uint
-{
- Volatile = 0,
- Aligned = 1,
- Nontemporal = 2,
- MakePointerAvailableKHR = 3,
- MakePointerVisibleKHR = 4,
- NonPrivatePointerKHR = 5,
-}
-
-enum MemoryAccessMask : uint
-{
- MaskNone = 0,
- Volatile = 0x00000001,
- Aligned = 0x00000002,
- Nontemporal = 0x00000004,
- MakePointerAvailableKHR = 0x00000008,
- MakePointerVisibleKHR = 0x00000010,
- NonPrivatePointerKHR = 0x00000020,
-}
-
-enum Scope : uint
-{
- CrossDevice = 0,
- Device = 1,
- Workgroup = 2,
- Subgroup = 3,
- Invocation = 4,
- QueueFamilyKHR = 5,
-}
-
-enum GroupOperation : uint
-{
- Reduce = 0,
- InclusiveScan = 1,
- ExclusiveScan = 2,
- ClusteredReduce = 3,
- PartitionedReduceNV = 6,
- PartitionedInclusiveScanNV = 7,
- PartitionedExclusiveScanNV = 8,
-}
-
-enum KernelEnqueueFlags : uint
-{
- NoWait = 0,
- WaitKernel = 1,
- WaitWorkGroup = 2,
-}
-
-enum KernelProfilingInfoShift : uint
-{
- CmdExecTime = 0,
-}
-
-enum KernelProfilingInfoMask : uint
-{
- MaskNone = 0,
- CmdExecTime = 0x00000001,
-}
-
-enum Capability : uint
-{
- Matrix = 0,
- Shader = 1,
- Geometry = 2,
- Tessellation = 3,
- Addresses = 4,
- Linkage = 5,
- Kernel = 6,
- Vector16 = 7,
- Float16Buffer = 8,
- Float16 = 9,
- Float64 = 10,
- Int64 = 11,
- Int64Atomics = 12,
- ImageBasic = 13,
- ImageReadWrite = 14,
- ImageMipmap = 15,
- Pipes = 17,
- Groups = 18,
- DeviceEnqueue = 19,
- LiteralSampler = 20,
- AtomicStorage = 21,
- Int16 = 22,
- TessellationPointSize = 23,
- GeometryPointSize = 24,
- ImageGatherExtended = 25,
- StorageImageMultisample = 27,
- UniformBufferArrayDynamicIndexing = 28,
- SampledImageArrayDynamicIndexing = 29,
- StorageBufferArrayDynamicIndexing = 30,
- StorageImageArrayDynamicIndexing = 31,
- ClipDistance = 32,
- CullDistance = 33,
- ImageCubeArray = 34,
- SampleRateShading = 35,
- ImageRect = 36,
- SampledRect = 37,
- GenericPointer = 38,
- Int8 = 39,
- InputAttachment = 40,
- SparseResidency = 41,
- MinLod = 42,
- Sampled1D = 43,
- Image1D = 44,
- SampledCubeArray = 45,
- SampledBuffer = 46,
- ImageBuffer = 47,
- ImageMSArray = 48,
- StorageImageExtendedFormats = 49,
- ImageQuery = 50,
- DerivativeControl = 51,
- InterpolationFunction = 52,
- TransformFeedback = 53,
- GeometryStreams = 54,
- StorageImageReadWithoutFormat = 55,
- StorageImageWriteWithoutFormat = 56,
- MultiViewport = 57,
- SubgroupDispatch = 58,
- NamedBarrier = 59,
- PipeStorage = 60,
- GroupNonUniform = 61,
- GroupNonUniformVote = 62,
- GroupNonUniformArithmetic = 63,
- GroupNonUniformBallot = 64,
- GroupNonUniformShuffle = 65,
- GroupNonUniformShuffleRelative = 66,
- GroupNonUniformClustered = 67,
- GroupNonUniformQuad = 68,
- SubgroupBallotKHR = 4423,
- DrawParameters = 4427,
- SubgroupVoteKHR = 4431,
- StorageBuffer16BitAccess = 4433,
- StorageUniformBufferBlock16 = 4433,
- StorageUniform16 = 4434,
- UniformAndStorageBuffer16BitAccess = 4434,
- StoragePushConstant16 = 4435,
- StorageInputOutput16 = 4436,
- DeviceGroup = 4437,
- MultiView = 4439,
- VariablePointersStorageBuffer = 4441,
- VariablePointers = 4442,
- AtomicStorageOps = 4445,
- SampleMaskPostDepthCoverage = 4447,
- StorageBuffer8BitAccess = 4448,
- UniformAndStorageBuffer8BitAccess = 4449,
- StoragePushConstant8 = 4450,
- DenormPreserve = 4464,
- DenormFlushToZero = 4465,
- SignedZeroInfNanPreserve = 4466,
- RoundingModeRTE = 4467,
- RoundingModeRTZ = 4468,
- Float16ImageAMD = 5008,
- ImageGatherBiasLodAMD = 5009,
- FragmentMaskAMD = 5010,
- StencilExportEXT = 5013,
- ImageReadWriteLodAMD = 5015,
- SampleMaskOverrideCoverageNV = 5249,
- GeometryShaderPassthroughNV = 5251,
- ShaderViewportIndexLayerEXT = 5254,
- ShaderViewportIndexLayerNV = 5254,
- ShaderViewportMaskNV = 5255,
- ShaderStereoViewNV = 5259,
- PerViewAttributesNV = 5260,
- FragmentFullyCoveredEXT = 5265,
- MeshShadingNV = 5266,
- ImageFootprintNV = 5282,
- FragmentBarycentricNV = 5284,
- ComputeDerivativeGroupQuadsNV = 5288,
- FragmentDensityEXT = 5291,
- ShadingRateNV = 5291,
- GroupNonUniformPartitionedNV = 5297,
- ShaderNonUniformEXT = 5301,
- RuntimeDescriptorArrayEXT = 5302,
- InputAttachmentArrayDynamicIndexingEXT = 5303,
- UniformTexelBufferArrayDynamicIndexingEXT = 5304,
- StorageTexelBufferArrayDynamicIndexingEXT = 5305,
- UniformBufferArrayNonUniformIndexingEXT = 5306,
- SampledImageArrayNonUniformIndexingEXT = 5307,
- StorageBufferArrayNonUniformIndexingEXT = 5308,
- StorageImageArrayNonUniformIndexingEXT = 5309,
- InputAttachmentArrayNonUniformIndexingEXT = 5310,
- UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
- StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- RayTracingNV = 5340,
- VulkanMemoryModelKHR = 5345,
- VulkanMemoryModelDeviceScopeKHR = 5346,
- PhysicalStorageBufferAddressesEXT = 5347,
- ComputeDerivativeGroupLinearNV = 5350,
- CooperativeMatrixNV = 5357,
- FragmentShaderSampleInterlockEXT = 5363,
- FragmentShaderShadingRateInterlockEXT = 5372,
- ShaderSMBuiltinsNV = 5373,
- FragmentShaderPixelInterlockEXT = 5378,
- DemoteToHelperInvocationEXT = 5379,
- SubgroupShuffleINTEL = 5568,
- SubgroupBufferBlockIOINTEL = 5569,
- SubgroupImageBlockIOINTEL = 5570,
- SubgroupImageMediaBlockIOINTEL = 5579,
- IntegerFunctions2INTEL = 5584,
- SubgroupAvcMotionEstimationINTEL = 5696,
- SubgroupAvcMotionEstimationIntraINTEL = 5697,
- SubgroupAvcMotionEstimationChromaINTEL = 5698,
-}
-
-enum Op : uint
-{
- OpNop = 0,
- OpUndef = 1,
- OpSourceContinued = 2,
- OpSource = 3,
- OpSourceExtension = 4,
- OpName = 5,
- OpMemberName = 6,
- OpString = 7,
- OpLine = 8,
- OpExtension = 10,
- OpExtInstImport = 11,
- OpExtInst = 12,
- OpMemoryModel = 14,
- OpEntryPoint = 15,
- OpExecutionMode = 16,
- OpCapability = 17,
- OpTypeVoid = 19,
- OpTypeBool = 20,
- OpTypeInt = 21,
- OpTypeFloat = 22,
- OpTypeVector = 23,
- OpTypeMatrix = 24,
- OpTypeImage = 25,
- OpTypeSampler = 26,
- OpTypeSampledImage = 27,
- OpTypeArray = 28,
- OpTypeRuntimeArray = 29,
- OpTypeStruct = 30,
- OpTypeOpaque = 31,
- OpTypePointer = 32,
- OpTypeFunction = 33,
- OpTypeEvent = 34,
- OpTypeDeviceEvent = 35,
- OpTypeReserveId = 36,
- OpTypeQueue = 37,
- OpTypePipe = 38,
- OpTypeForwardPointer = 39,
- OpConstantTrue = 41,
- OpConstantFalse = 42,
- OpConstant = 43,
- OpConstantComposite = 44,
- OpConstantSampler = 45,
- OpConstantNull = 46,
- OpSpecConstantTrue = 48,
- OpSpecConstantFalse = 49,
- OpSpecConstant = 50,
- OpSpecConstantComposite = 51,
- OpSpecConstantOp = 52,
- OpFunction = 54,
- OpFunctionParameter = 55,
- OpFunctionEnd = 56,
- OpFunctionCall = 57,
- OpVariable = 59,
- OpImageTexelPointer = 60,
- OpLoad = 61,
- OpStore = 62,
- OpCopyMemory = 63,
- OpCopyMemorySized = 64,
- OpAccessChain = 65,
- OpInBoundsAccessChain = 66,
- OpPtrAccessChain = 67,
- OpArrayLength = 68,
- OpGenericPtrMemSemantics = 69,
- OpInBoundsPtrAccessChain = 70,
- OpDecorate = 71,
- OpMemberDecorate = 72,
- OpDecorationGroup = 73,
- OpGroupDecorate = 74,
- OpGroupMemberDecorate = 75,
- OpVectorExtractDynamic = 77,
- OpVectorInsertDynamic = 78,
- OpVectorShuffle = 79,
- OpCompositeConstruct = 80,
- OpCompositeExtract = 81,
- OpCompositeInsert = 82,
- OpCopyObject = 83,
- OpTranspose = 84,
- OpSampledImage = 86,
- OpImageSampleImplicitLod = 87,
- OpImageSampleExplicitLod = 88,
- OpImageSampleDrefImplicitLod = 89,
- OpImageSampleDrefExplicitLod = 90,
- OpImageSampleProjImplicitLod = 91,
- OpImageSampleProjExplicitLod = 92,
- OpImageSampleProjDrefImplicitLod = 93,
- OpImageSampleProjDrefExplicitLod = 94,
- OpImageFetch = 95,
- OpImageGather = 96,
- OpImageDrefGather = 97,
- OpImageRead = 98,
- OpImageWrite = 99,
- OpImage = 100,
- OpImageQueryFormat = 101,
- OpImageQueryOrder = 102,
- OpImageQuerySizeLod = 103,
- OpImageQuerySize = 104,
- OpImageQueryLod = 105,
- OpImageQueryLevels = 106,
- OpImageQuerySamples = 107,
- OpConvertFToU = 109,
- OpConvertFToS = 110,
- OpConvertSToF = 111,
- OpConvertUToF = 112,
- OpUConvert = 113,
- OpSConvert = 114,
- OpFConvert = 115,
- OpQuantizeToF16 = 116,
- OpConvertPtrToU = 117,
- OpSatConvertSToU = 118,
- OpSatConvertUToS = 119,
- OpConvertUToPtr = 120,
- OpPtrCastToGeneric = 121,
- OpGenericCastToPtr = 122,
- OpGenericCastToPtrExplicit = 123,
- OpBitcast = 124,
- OpSNegate = 126,
- OpFNegate = 127,
- OpIAdd = 128,
- OpFAdd = 129,
- OpISub = 130,
- OpFSub = 131,
- OpIMul = 132,
- OpFMul = 133,
- OpUDiv = 134,
- OpSDiv = 135,
- OpFDiv = 136,
- OpUMod = 137,
- OpSRem = 138,
- OpSMod = 139,
- OpFRem = 140,
- OpFMod = 141,
- OpVectorTimesScalar = 142,
- OpMatrixTimesScalar = 143,
- OpVectorTimesMatrix = 144,
- OpMatrixTimesVector = 145,
- OpMatrixTimesMatrix = 146,
- OpOuterProduct = 147,
- OpDot = 148,
- OpIAddCarry = 149,
- OpISubBorrow = 150,
- OpUMulExtended = 151,
- OpSMulExtended = 152,
- OpAny = 154,
- OpAll = 155,
- OpIsNan = 156,
- OpIsInf = 157,
- OpIsFinite = 158,
- OpIsNormal = 159,
- OpSignBitSet = 160,
- OpLessOrGreater = 161,
- OpOrdered = 162,
- OpUnordered = 163,
- OpLogicalEqual = 164,
- OpLogicalNotEqual = 165,
- OpLogicalOr = 166,
- OpLogicalAnd = 167,
- OpLogicalNot = 168,
- OpSelect = 169,
- OpIEqual = 170,
- OpINotEqual = 171,
- OpUGreaterThan = 172,
- OpSGreaterThan = 173,
- OpUGreaterThanEqual = 174,
- OpSGreaterThanEqual = 175,
- OpULessThan = 176,
- OpSLessThan = 177,
- OpULessThanEqual = 178,
- OpSLessThanEqual = 179,
- OpFOrdEqual = 180,
- OpFUnordEqual = 181,
- OpFOrdNotEqual = 182,
- OpFUnordNotEqual = 183,
- OpFOrdLessThan = 184,
- OpFUnordLessThan = 185,
- OpFOrdGreaterThan = 186,
- OpFUnordGreaterThan = 187,
- OpFOrdLessThanEqual = 188,
- OpFUnordLessThanEqual = 189,
- OpFOrdGreaterThanEqual = 190,
- OpFUnordGreaterThanEqual = 191,
- OpShiftRightLogical = 194,
- OpShiftRightArithmetic = 195,
- OpShiftLeftLogical = 196,
- OpBitwiseOr = 197,
- OpBitwiseXor = 198,
- OpBitwiseAnd = 199,
- OpNot = 200,
- OpBitFieldInsert = 201,
- OpBitFieldSExtract = 202,
- OpBitFieldUExtract = 203,
- OpBitReverse = 204,
- OpBitCount = 205,
- OpDPdx = 207,
- OpDPdy = 208,
- OpFwidth = 209,
- OpDPdxFine = 210,
- OpDPdyFine = 211,
- OpFwidthFine = 212,
- OpDPdxCoarse = 213,
- OpDPdyCoarse = 214,
- OpFwidthCoarse = 215,
- OpEmitVertex = 218,
- OpEndPrimitive = 219,
- OpEmitStreamVertex = 220,
- OpEndStreamPrimitive = 221,
- OpControlBarrier = 224,
- OpMemoryBarrier = 225,
- OpAtomicLoad = 227,
- OpAtomicStore = 228,
- OpAtomicExchange = 229,
- OpAtomicCompareExchange = 230,
- OpAtomicCompareExchangeWeak = 231,
- OpAtomicIIncrement = 232,
- OpAtomicIDecrement = 233,
- OpAtomicIAdd = 234,
- OpAtomicISub = 235,
- OpAtomicSMin = 236,
- OpAtomicUMin = 237,
- OpAtomicSMax = 238,
- OpAtomicUMax = 239,
- OpAtomicAnd = 240,
- OpAtomicOr = 241,
- OpAtomicXor = 242,
- OpPhi = 245,
- OpLoopMerge = 246,
- OpSelectionMerge = 247,
- OpLabel = 248,
- OpBranch = 249,
- OpBranchConditional = 250,
- OpSwitch = 251,
- OpKill = 252,
- OpReturn = 253,
- OpReturnValue = 254,
- OpUnreachable = 255,
- OpLifetimeStart = 256,
- OpLifetimeStop = 257,
- OpGroupAsyncCopy = 259,
- OpGroupWaitEvents = 260,
- OpGroupAll = 261,
- OpGroupAny = 262,
- OpGroupBroadcast = 263,
- OpGroupIAdd = 264,
- OpGroupFAdd = 265,
- OpGroupFMin = 266,
- OpGroupUMin = 267,
- OpGroupSMin = 268,
- OpGroupFMax = 269,
- OpGroupUMax = 270,
- OpGroupSMax = 271,
- OpReadPipe = 274,
- OpWritePipe = 275,
- OpReservedReadPipe = 276,
- OpReservedWritePipe = 277,
- OpReserveReadPipePackets = 278,
- OpReserveWritePipePackets = 279,
- OpCommitReadPipe = 280,
- OpCommitWritePipe = 281,
- OpIsValidReserveId = 282,
- OpGetNumPipePackets = 283,
- OpGetMaxPipePackets = 284,
- OpGroupReserveReadPipePackets = 285,
- OpGroupReserveWritePipePackets = 286,
- OpGroupCommitReadPipe = 287,
- OpGroupCommitWritePipe = 288,
- OpEnqueueMarker = 291,
- OpEnqueueKernel = 292,
- OpGetKernelNDrangeSubGroupCount = 293,
- OpGetKernelNDrangeMaxSubGroupSize = 294,
- OpGetKernelWorkGroupSize = 295,
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,
- OpRetainEvent = 297,
- OpReleaseEvent = 298,
- OpCreateUserEvent = 299,
- OpIsValidEvent = 300,
- OpSetUserEventStatus = 301,
- OpCaptureEventProfilingInfo = 302,
- OpGetDefaultQueue = 303,
- OpBuildNDRange = 304,
- OpImageSparseSampleImplicitLod = 305,
- OpImageSparseSampleExplicitLod = 306,
- OpImageSparseSampleDrefImplicitLod = 307,
- OpImageSparseSampleDrefExplicitLod = 308,
- OpImageSparseSampleProjImplicitLod = 309,
- OpImageSparseSampleProjExplicitLod = 310,
- OpImageSparseSampleProjDrefImplicitLod = 311,
- OpImageSparseSampleProjDrefExplicitLod = 312,
- OpImageSparseFetch = 313,
- OpImageSparseGather = 314,
- OpImageSparseDrefGather = 315,
- OpImageSparseTexelsResident = 316,
- OpNoLine = 317,
- OpAtomicFlagTestAndSet = 318,
- OpAtomicFlagClear = 319,
- OpImageSparseRead = 320,
- OpSizeOf = 321,
- OpTypePipeStorage = 322,
- OpConstantPipeStorage = 323,
- OpCreatePipeFromPipeStorage = 324,
- OpGetKernelLocalSizeForSubgroupCount = 325,
- OpGetKernelMaxNumSubgroups = 326,
- OpTypeNamedBarrier = 327,
- OpNamedBarrierInitialize = 328,
- OpMemoryNamedBarrier = 329,
- OpModuleProcessed = 330,
- OpExecutionModeId = 331,
- OpDecorateId = 332,
- OpGroupNonUniformElect = 333,
- OpGroupNonUniformAll = 334,
- OpGroupNonUniformAny = 335,
- OpGroupNonUniformAllEqual = 336,
- OpGroupNonUniformBroadcast = 337,
- OpGroupNonUniformBroadcastFirst = 338,
- OpGroupNonUniformBallot = 339,
- OpGroupNonUniformInverseBallot = 340,
- OpGroupNonUniformBallotBitExtract = 341,
- OpGroupNonUniformBallotBitCount = 342,
- OpGroupNonUniformBallotFindLSB = 343,
- OpGroupNonUniformBallotFindMSB = 344,
- OpGroupNonUniformShuffle = 345,
- OpGroupNonUniformShuffleXor = 346,
- OpGroupNonUniformShuffleUp = 347,
- OpGroupNonUniformShuffleDown = 348,
- OpGroupNonUniformIAdd = 349,
- OpGroupNonUniformFAdd = 350,
- OpGroupNonUniformIMul = 351,
- OpGroupNonUniformFMul = 352,
- OpGroupNonUniformSMin = 353,
- OpGroupNonUniformUMin = 354,
- OpGroupNonUniformFMin = 355,
- OpGroupNonUniformSMax = 356,
- OpGroupNonUniformUMax = 357,
- OpGroupNonUniformFMax = 358,
- OpGroupNonUniformBitwiseAnd = 359,
- OpGroupNonUniformBitwiseOr = 360,
- OpGroupNonUniformBitwiseXor = 361,
- OpGroupNonUniformLogicalAnd = 362,
- OpGroupNonUniformLogicalOr = 363,
- OpGroupNonUniformLogicalXor = 364,
- OpGroupNonUniformQuadBroadcast = 365,
- OpGroupNonUniformQuadSwap = 366,
- OpCopyLogical = 400,
- OpPtrEqual = 401,
- OpPtrNotEqual = 402,
- OpPtrDiff = 403,
- OpSubgroupBallotKHR = 4421,
- OpSubgroupFirstInvocationKHR = 4422,
- OpSubgroupAllKHR = 4428,
- OpSubgroupAnyKHR = 4429,
- OpSubgroupAllEqualKHR = 4430,
- OpSubgroupReadInvocationKHR = 4432,
- OpGroupIAddNonUniformAMD = 5000,
- OpGroupFAddNonUniformAMD = 5001,
- OpGroupFMinNonUniformAMD = 5002,
- OpGroupUMinNonUniformAMD = 5003,
- OpGroupSMinNonUniformAMD = 5004,
- OpGroupFMaxNonUniformAMD = 5005,
- OpGroupUMaxNonUniformAMD = 5006,
- OpGroupSMaxNonUniformAMD = 5007,
- OpFragmentMaskFetchAMD = 5011,
- OpFragmentFetchAMD = 5012,
- OpImageSampleFootprintNV = 5283,
- OpGroupNonUniformPartitionNV = 5296,
- OpWritePackedPrimitiveIndices4x8NV = 5299,
- OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionNV = 5335,
- OpTerminateRayNV = 5336,
- OpTraceNV = 5337,
- OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableNV = 5344,
- OpTypeCooperativeMatrixNV = 5358,
- OpCooperativeMatrixLoadNV = 5359,
- OpCooperativeMatrixStoreNV = 5360,
- OpCooperativeMatrixMulAddNV = 5361,
- OpCooperativeMatrixLengthNV = 5362,
- OpBeginInvocationInterlockEXT = 5364,
- OpEndInvocationInterlockEXT = 5365,
- OpDemoteToHelperInvocationEXT = 5380,
- OpIsHelperInvocationEXT = 5381,
- OpSubgroupShuffleINTEL = 5571,
- OpSubgroupShuffleDownINTEL = 5572,
- OpSubgroupShuffleUpINTEL = 5573,
- OpSubgroupShuffleXorINTEL = 5574,
- OpSubgroupBlockReadINTEL = 5575,
- OpSubgroupBlockWriteINTEL = 5576,
- OpSubgroupImageBlockReadINTEL = 5577,
- OpSubgroupImageBlockWriteINTEL = 5578,
- OpSubgroupImageMediaBlockReadINTEL = 5580,
- OpSubgroupImageMediaBlockWriteINTEL = 5581,
- OpUCountLeadingZerosINTEL = 5585,
- OpUCountTrailingZerosINTEL = 5586,
- OpAbsISubINTEL = 5587,
- OpAbsUSubINTEL = 5588,
- OpIAddSatINTEL = 5589,
- OpUAddSatINTEL = 5590,
- OpIAverageINTEL = 5591,
- OpUAverageINTEL = 5592,
- OpIAverageRoundedINTEL = 5593,
- OpUAverageRoundedINTEL = 5594,
- OpISubSatINTEL = 5595,
- OpUSubSatINTEL = 5596,
- OpIMul32x16INTEL = 5597,
- OpUMul32x16INTEL = 5598,
- OpDecorateString = 5632,
- OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateString = 5633,
- OpMemberDecorateStringGOOGLE = 5633,
- OpVmeImageINTEL = 5699,
- OpTypeVmeImageINTEL = 5700,
- OpTypeAvcImePayloadINTEL = 5701,
- OpTypeAvcRefPayloadINTEL = 5702,
- OpTypeAvcSicPayloadINTEL = 5703,
- OpTypeAvcMcePayloadINTEL = 5704,
- OpTypeAvcMceResultINTEL = 5705,
- OpTypeAvcImeResultINTEL = 5706,
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- OpTypeAvcRefResultINTEL = 5711,
- OpTypeAvcSicResultINTEL = 5712,
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- OpSubgroupAvcImeInitializeINTEL = 5747,
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- OpSubgroupAvcFmeInitializeINTEL = 5781,
- OpSubgroupAvcBmeInitializeINTEL = 5782,
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- OpSubgroupAvcSicInitializeINTEL = 5791,
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
-}
-
-
diff --git a/tools/buildHeaders/CMakeLists.txt b/tools/buildHeaders/CMakeLists.txt
index c624151..c624151 100644..100755
--- a/tools/buildHeaders/CMakeLists.txt
+++ b/tools/buildHeaders/CMakeLists.txt
diff --git a/tools/buildHeaders/bin/makeHeaders b/tools/buildHeaders/bin/makeHeaders
index 47d2218..bf2c615 100755
--- a/tools/buildHeaders/bin/makeHeaders
+++ b/tools/buildHeaders/bin/makeHeaders
@@ -2,4 +2,4 @@
cd ../../include/spirv/unified1
../../../tools/buildHeaders/build/install/bin/buildSpvHeaders -H spirv.core.grammar.json
-dos2unix spirv.* SpirV.* spv.*
+dos2unix spirv.*
diff --git a/tools/buildHeaders/header.cpp b/tools/buildHeaders/header.cpp
index e1e05d0..b8b227f 100644..100755
--- a/tools/buildHeaders/header.cpp
+++ b/tools/buildHeaders/header.cpp
@@ -1,19 +1,19 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
-//
+// Copyright (c) 2014-2018 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/
-//
+// 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
@@ -42,7 +42,6 @@
#include <cctype>
#include <vector>
#include <utility>
-#include <set>
#include "jsoncpp/dist/json/json.h"
@@ -69,7 +68,7 @@ namespace {
TPrinter();
static const int DocMagicNumber = 0x07230203;
- static const int DocVersion = 0x00010400;
+ static const int DocVersion = 0x00010300;
static const int DocRevision = 1;
#define DocRevisionString "1"
static const std::string DocCopyright;
@@ -98,8 +97,7 @@ namespace {
virtual void printEpilogue(std::ostream&) const { }
virtual void printMeta(std::ostream&) const;
virtual void printTypes(std::ostream&) const { }
- virtual void printHasResultType(std::ostream&) const { };
-
+
virtual std::string escapeComment(const std::string& s) const;
// Default printComments() uses these comment strings
@@ -109,7 +107,7 @@ namespace {
virtual std::string commentEOL(bool isLast) const { return ""; }
typedef std::pair<unsigned, std::string> valpair_t;
-
+
// for printing enum values
virtual std::string enumBeg(const std::string&, enumStyle_t) const { return ""; }
virtual std::string enumEnd(const std::string&, enumStyle_t, bool isLast = false) const {
@@ -128,7 +126,7 @@ namespace {
const char* fmt, bool isLast = false) const {
return "";
}
-
+
std::vector<valpair_t> getSortedVals(const Json::Value&) const;
virtual std::string indent(int count = 1) const {
@@ -151,7 +149,7 @@ namespace {
}
void addComment(Json::Value& node, const std::string& str);
-
+
Json::Value spvRoot; // JSON SPIR-V data
};
@@ -169,7 +167,7 @@ namespace {
}
const std::string TPrinter::DocCopyright =
- "Copyright (c) 2014-2019 The Khronos Group Inc.\n"
+ "Copyright (c) 2014-2018 The Khronos Group Inc.\n"
"\n"
"Permission is hereby granted, free of charge, to any person obtaining a copy\n"
"of this software and/or associated documentation files (the \"Materials\"),\n"
@@ -199,16 +197,13 @@ namespace {
const std::string TPrinter::DocComment2 =
"Enumeration tokens for SPIR-V, in various styles:\n"
- " C, C++, C++11, JSON, Lua, Python, C#, D\n"
+ " C, C++, C++11, JSON, Lua, Python\n"
"\n"
"- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL\n"
"- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL\n"
"- C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL\n"
"- Lua will use tables, e.g.: spv.SourceLanguage.GLSL\n"
"- Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']\n"
- "- C# will use enum classes in the Specification class located in the \"Spv\" namespace,\n"
- " e.g.: Spv.Specification.SourceLanguage.GLSL\n"
- "- D will have tokens under the \"spv\" module, e.g: spv.SourceLanguage.GLSL\n"
"\n"
"Some tokens act like mask values, which can be OR'd together,\n"
"while others are mutually exclusive. The mask-like ones have\n"
@@ -295,7 +290,7 @@ namespace {
{
const int commentCount = spvRoot["spv"]["meta"]["Comment"].size();
int commentNum = 0;
-
+
for (const auto& comment : spvRoot["spv"]["meta"]["Comment"]) {
out << commentBeg();
@@ -327,7 +322,7 @@ namespace {
void TPrinter::printDefs(std::ostream& out) const
{
const Json::Value& enums = spvRoot["spv"]["enum"];
-
+
for (auto opClass = enums.begin(); opClass != enums.end(); ++opClass) {
const bool isMask = (*opClass)["Type"].asString() == "Bit";
const auto opName = (*opClass)["Name"].asString();
@@ -342,13 +337,13 @@ namespace {
out << enumFmt(opPrefix, valpair_t(0, "MaskNone"), enumNoMask);
const auto sorted = getSortedVals((*opClass)["Values"]);
-
- std::string maxEnum = maxEnumFmt(opName, valpair_t(0x7FFFFFFF, "Max"), enumHex);
+
+ std::string maxEnum = maxEnumFmt(opName, valpair_t(0x7FFFFFFF, "Max"), enumHex);
bool printMax = (style != enumMask && maxEnum.size() > 0);
for (const auto& v : sorted)
- out << enumFmt(opPrefix, v, style, !printMax && v.second == sorted.back().second);
+ out << enumFmt(opPrefix, v, style, !printMax && v.first == sorted.back().first);
if (printMax)
out << maxEnum;
@@ -366,7 +361,6 @@ namespace {
printTypes(out);
printMeta(out);
printDefs(out);
- printHasResultType(out);
printEpilogue(out);
}
@@ -396,7 +390,7 @@ namespace {
}
return newStr;
}
-
+
std::string fmtConstInt(unsigned val, const std::string& name,
const char* fmt, bool isLast) const override {
return indent(3) + '"' + name + "\": " + fmtNum("%d", val) + (isLast ? "\n" : ",\n");
@@ -481,7 +475,7 @@ namespace {
}
virtual void printEpilogue(std::ostream& out) const override {
- out << "#endif" << std::endl;
+ out << "#endif // #ifndef spirv_" << headerGuardSuffix() << std::endl;
}
virtual void printTypes(std::ostream& out) const override {
@@ -494,48 +488,9 @@ namespace {
return std::string("static const unsigned int ") + pre() + name +
" = " + fmtNum(fmt, val) + (isLast ? ";\n\n" : ";\n");
}
-
+
virtual std::string pre() const { return ""; } // C name prefix
virtual std::string headerGuardSuffix() const = 0;
-
- virtual std::string fmtEnumUse(const std::string& opPrefix, const std::string& name) const { return pre() + name; }
-
- virtual void printHasResultType(std::ostream& out) const
- {
- const Json::Value& enums = spvRoot["spv"]["enum"];
-
- std::set<unsigned> seenValues;
-
- for (auto opClass = enums.begin(); opClass != enums.end(); ++opClass) {
- const auto opName = (*opClass)["Name"].asString();
- if (opName != "Op") {
- continue;
- }
-
- out << "#ifdef SPV_ENABLE_UTILITY_CODE" << std::endl;
- out << "inline void " << pre() << "HasResultAndType(" << pre() << opName << " opcode, bool *hasResult, bool *hasResultType) {" << std::endl;
- out << " *hasResult = *hasResultType = false;" << std::endl;
- out << " switch (opcode) {" << std::endl;
- out << " default: /* unknown opcode */ break;" << std::endl;
-
- for (auto& inst : spv::InstructionDesc) {
-
- // Filter out duplicate enum values, which would break the switch statement.
- // These are probably just extension enums promoted to core.
- if (seenValues.find(inst.value) != seenValues.end()) {
- continue;
- }
- seenValues.insert(inst.value);
-
- std::string name = inst.name;
- out << " case " << fmtEnumUse("Op", name) << ": *hasResult = " << (inst.hasResult() ? "true" : "false") << "; *hasResultType = " << (inst.hasType() ? "true" : "false") << "; break;" << std::endl;
- }
-
- out << " }" << std::endl;
- out << "}" << std::endl;
- out << "#endif /* SPV_ENABLE_UTILITY_CODE */" << std::endl << std::endl;
- }
- }
};
// C printer
@@ -587,19 +542,19 @@ namespace {
if (isMask) {
const auto typeName = opName + styleStr(enumMask);
-
+
out << "inline " + typeName + " operator|(" + typeName + " a, " + typeName + " b) { return " +
typeName + "(unsigned(a) | unsigned(b)); }\n";
}
}
out << "\n} // end namespace spv\n\n";
- out << "#endif // #ifndef spirv_" << headerGuardSuffix() << std::endl;
+ TPrinterCBase::printEpilogue(out);
}
std::string commentBOL() const override { return "// "; }
-
+
virtual std::string enumBeg(const std::string& s, enumStyle_t style) const override {
return std::string("enum ") + s + styleStr(style) + " {\n";
}
@@ -642,9 +597,6 @@ namespace {
return enumFmt(s, v, style, true);
}
- // Add type prefix for scoped enum
- virtual std::string fmtEnumUse(const std::string& opPrefix, const std::string& name) const { return opPrefix + "::" + name; }
-
std::string headerGuardSuffix() const override { return "HPP"; }
};
@@ -706,76 +658,6 @@ namespace {
}
};
- // C# printer
- class TPrinterCSharp final : public TPrinter {
- private:
- std::string commentBOL() const override { return "// "; }
-
- void printPrologue(std::ostream& out) const override {
- out << "namespace Spv\n{\n\n";
- out << indent() << "public static class Specification\n";
- out << indent() << "{\n";
- }
-
- void printEpilogue(std::ostream& out) const override {
- out << indent() << "}\n";
- out << "}\n";
- }
-
- std::string enumBeg(const std::string& s, enumStyle_t style) const override {
- return indent(2) + "public enum " + s + styleStr(style) + "\n" + indent(2) + "{\n";
- }
-
- std::string enumEnd(const std::string& s, enumStyle_t style, bool isLast) const override {
- return indent(2) + "}" + + (isLast ? "\n" : "\n\n");
- }
-
- std::string enumFmt(const std::string& s, const valpair_t& v,
- enumStyle_t style, bool isLast) const override {
- return indent(3) + prependIfDigit(s, v.second) + " = " + fmtStyleVal(v.first, style) + ",\n";
- }
-
- std::string fmtConstInt(unsigned val, const std::string& name,
- const char* fmt, bool isLast) const override {
- return indent(2) + std::string("public const uint ") + name +
- " = " + fmtNum(fmt, val) + (isLast ? ";\n\n" : ";\n");
- }
- };
-
- // D printer
- class TPrinterD final : public TPrinter {
- private:
- std::string commentBeg() const override { return "/+\n"; }
- std::string commentBOL() const override { return " + "; }
- std::string commentEnd(bool isLast) const override { return " +/\n"; }
-
- void printPrologue(std::ostream& out) const override {
- out << "module spv;\n\n";
- }
-
- void printEpilogue(std::ostream& out) const override {
- }
-
- std::string enumBeg(const std::string& s, enumStyle_t style) const override {
- return "enum " + s + styleStr(style) + " : uint\n{\n";
- }
-
- std::string enumEnd(const std::string& s, enumStyle_t style, bool isLast) const override {
- return std::string("}\n\n");
- }
-
- std::string enumFmt(const std::string& s, const valpair_t& v,
- enumStyle_t style, bool isLast) const override {
- return indent() + prependIfDigit("_", v.second) + " = " + fmtStyleVal(v.first, style) + ",\n";
- }
-
- std::string fmtConstInt(unsigned val, const std::string& name,
- const char* fmt, bool isLast) const override {
- return std::string("enum uint ") + name +
- " = " + fmtNum(fmt, val) + (isLast ? ";\n\n" : ";\n");
- }
- };
-
} // namespace
namespace spv {
@@ -790,8 +672,6 @@ namespace spv {
langInfo.push_back(std::make_pair(ELangJSON, "spirv.json"));
langInfo.push_back(std::make_pair(ELangLua, "spirv.lua"));
langInfo.push_back(std::make_pair(ELangPython, "spirv.py"));
- langInfo.push_back(std::make_pair(ELangCSharp, "spirv.cs"));
- langInfo.push_back(std::make_pair(ELangD, "spv.d"));
for (const auto& lang : langInfo) {
std::ofstream out(lang.second, std::ios::out);
@@ -817,8 +697,6 @@ namespace spv {
case ELangJSON: p = TPrinterPtr(new TPrinterJSON); break;
case ELangLua: p = TPrinterPtr(new TPrinterLua); break;
case ELangPython: p = TPrinterPtr(new TPrinterPython); break;
- case ELangCSharp: p = TPrinterPtr(new TPrinterCSharp); break;
- case ELangD: p = TPrinterPtr(new TPrinterD); break;
case ELangAll: PrintAllHeaders(); break;
default:
std::cerr << "Unknown language." << std::endl;
diff --git a/tools/buildHeaders/header.h b/tools/buildHeaders/header.h
index 9c34b21..5a0952d 100644..100755
--- a/tools/buildHeaders/header.h
+++ b/tools/buildHeaders/header.h
@@ -1,19 +1,19 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
-//
+// Copyright (c) 2014-2018 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/
-//
+// 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
@@ -41,8 +41,6 @@ namespace spv {
ELangJSON, // JSON
ELangLua, // Lua
ELangPython, // Python
- ELangCSharp, // CSharp
- ELangD, // D
ELangAll, // print headers in all languages to files
};
diff --git a/tools/buildHeaders/jsonToSpirv.cpp b/tools/buildHeaders/jsonToSpirv.cpp
index e6cab48..bb32566 100644..100755
--- a/tools/buildHeaders/jsonToSpirv.cpp
+++ b/tools/buildHeaders/jsonToSpirv.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
+// Copyright (c) 2014-2018 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"),
@@ -119,7 +119,8 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
else if (quantifier == "?")
return {OperandLiteralString, true};
else {
- return {OperandOptionalLiteralStrings, false};
+ assert(0 && "this case should not exist");
+ return {OperandNone, false};
}
} else if (operandKind == "PairLiteralIntegerIdRef") {
// Used by OpSwitch in the grammar
@@ -197,7 +198,7 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
} else if (operandKind == "FunctionControl") {
type = OperandFunction;
} else if (operandKind == "MemoryAccess") {
- type = OperandMemoryOperands;
+ type = OperandMemoryAccess;
}
if (type == OperandNone) {
@@ -229,21 +230,7 @@ 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)
+void jsonToSpirv(const std::string& jsonPath)
{
// only do this once.
static bool initialized = false;
@@ -301,12 +288,9 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
const Json::Value insts = root["instructions"];
for (const auto& inst : insts) {
const unsigned int opcode = inst["opcode"].asUInt();
- if (ExcludeInstruction(opcode, buildingHeaders))
- continue;
const std::string name = inst["opname"].asString();
EnumCaps caps = getCaps(inst);
std::string version = inst["version"].asString();
- std::string lastVersion = inst["lastVersion"].asString();
Extensions exts = getExts(inst);
OperandParameters operands;
bool defResultId = false;
@@ -322,7 +306,7 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
}
InstructionDesc.emplace_back(
std::move(EnumValue(opcode, name,
- std::move(caps), std::move(version), std::move(lastVersion), std::move(exts),
+ std::move(caps), std::move(version), std::move(exts),
std::move(operands))),
defTypeId, defResultId);
}
@@ -355,7 +339,6 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
continue;
EnumCaps caps(getCaps(enumerant));
std::string version = enumerant["version"].asString();
- std::string lastVersion = enumerant["lastVersion"].asString();
Extensions exts(getExts(enumerant));
OperandParameters params;
const Json::Value& paramsJson = enumerant["parameters"];
@@ -370,7 +353,7 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
}
dest->emplace_back(
value, enumerant["enumerant"].asString(),
- std::move(caps), std::move(version), std::move(lastVersion), std::move(exts), std::move(params));
+ std::move(caps), std::move(version), std::move(exts), std::move(params));
}
};
@@ -438,7 +421,7 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
} else if (enumName == "Dim") {
establishOperandClass(enumName, OperandDimensionality, &DimensionalityParams, operandEnum, category);
} else if (enumName == "MemoryAccess") {
- establishOperandClass(enumName, OperandMemoryOperands, &MemoryAccessParams, operandEnum, category);
+ establishOperandClass(enumName, OperandMemoryAccess, &MemoryAccessParams, operandEnum, category);
} else if (enumName == "Scope") {
establishOperandClass(enumName, OperandScope, &ScopeParams, operandEnum, category);
} else if (enumName == "GroupOperation") {
diff --git a/tools/buildHeaders/jsonToSpirv.h b/tools/buildHeaders/jsonToSpirv.h
index beec01c..00a2f70 100644..100755
--- a/tools/buildHeaders/jsonToSpirv.h
+++ b/tools/buildHeaders/jsonToSpirv.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
+// Copyright (c) 2014-2018 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"),
@@ -38,7 +38,7 @@ namespace spv {
std::pair<bool, std::string> ReadFile(const std::string& path);
// Fill in all the parameters
-void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders);
+void jsonToSpirv(const std::string& jsonPath);
// For parameterizing operands.
enum OperandClass {
@@ -47,7 +47,6 @@ enum OperandClass {
OperandVariableIds,
OperandOptionalLiteral,
OperandOptionalLiteralString,
- OperandOptionalLiteralStrings,
OperandVariableLiterals,
OperandVariableIdLiteral,
OperandVariableLiteralId,
@@ -77,7 +76,7 @@ enum OperandClass {
OperandLoop,
OperandFunction,
OperandMemorySemantics,
- OperandMemoryOperands,
+ OperandMemoryAccess,
OperandScope,
OperandGroupOperation,
OperandKernelEnqueueFlags,
@@ -146,12 +145,6 @@ public:
assert((where != end()) && "Could not find enum in the enum list");
return *where;
}
- // gets *all* entries for the value, including the first one
- void gatherAliases(unsigned value, std::vector<EValue*>& aliases) {
- std::for_each(begin(), end(), [&](EValue& e) {
- if (value == e.value)
- aliases.push_back(&e);});
- }
// Returns the EValue with the given name. We assume uniqueness
// by name.
EValue& at(std::string name) {
@@ -174,11 +167,9 @@ private:
class EnumValue {
public:
EnumValue() : value(0), desc(nullptr) {}
- EnumValue(unsigned int the_value, const std::string& the_name, EnumCaps&& the_caps,
- const std::string& the_firstVersion, const std::string& the_lastVersion,
- Extensions&& the_extensions, OperandParameters&& the_operands) :
- value(the_value), name(the_name), capabilities(std::move(the_caps)),
- firstVersion(std::move(the_firstVersion)), lastVersion(std::move(the_lastVersion)),
+ EnumValue(unsigned int the_value, const std::string& the_name, EnumCaps&& the_caps, const std::string& the_version,
+ Extensions&& the_extensions, OperandParameters&& the_operands) :
+ value(the_value), name(the_name), capabilities(std::move(the_caps)), version(std::move(the_version)),
extensions(std::move(the_extensions)), operands(std::move(the_operands)), desc(nullptr) { }
// For ValueEnum, the value from the JSON file.
@@ -187,8 +178,7 @@ public:
unsigned value;
std::string name;
EnumCaps capabilities;
- std::string firstVersion;
- std::string lastVersion;
+ std::string version;
// A feature only be enabled by certain extensions.
// An empty list means the feature does not require an extension.
// Normally, only Capability enums are enabled by extension. In turn,
@@ -243,19 +233,10 @@ public:
opDesc("TBD"),
opClass(0),
typePresent(has_type),
- resultPresent(has_result),
- alias(this) { }
- InstructionValue(const InstructionValue& v)
- {
- *this = v;
- alias = this;
- }
+ resultPresent(has_result) {}
bool hasResult() const { return resultPresent != 0; }
bool hasType() const { return typePresent != 0; }
- void setAlias(const InstructionValue& a) { alias = &a; }
- const InstructionValue& getAlias() const { return *alias; }
- bool isAlias() const { return alias != this; }
const char* opDesc;
int opClass;
@@ -263,7 +244,6 @@ public:
protected:
int typePresent : 1;
int resultPresent : 1;
- const InstructionValue* alias; // correct only after discovering the aliases; otherwise points to this
};
using InstructionValues = EnumValuesContainer<InstructionValue>;
diff --git a/tools/buildHeaders/main.cpp b/tools/buildHeaders/main.cpp
index 7e5f7f8..e146b39 100644..100755
--- a/tools/buildHeaders/main.cpp
+++ b/tools/buildHeaders/main.cpp
@@ -1,19 +1,19 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
-//
+// Copyright (c) 2014-2018 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/
-//
+// 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
@@ -50,8 +50,6 @@ void Usage()
" JSON - JSON format data\n"
" Lua - Lua module\n"
" Python - Python module (also accepts Py)\n"
- " C# - C# module (also accepts CSharp)\n"
- " D - D module\n"
" -H print header in all supported languages to files in current directory\n"
);
}
@@ -92,10 +90,6 @@ bool ProcessArguments(int argc, char* argv[])
Language = spv::ELangLua;
} else if (language == "python" || language == "py") {
Language = spv::ELangPython;
- } else if (language == "c#" || language == "csharp") {
- Language = spv::ELangCSharp;
- } else if (language == "d") {
- Language = spv::ELangD;
} else
return false;
@@ -119,7 +113,7 @@ int main(int argc, char* argv[])
return 1;
}
- spv::jsonToSpirv(jsonPath, (Options & EOptionPrintHeader) != 0);
+ spv::jsonToSpirv(jsonPath);
if (Options & EOptionPrintHeader)
spv::PrintHeader(Language, std::cout);