mirror of
https://gitee.com/openharmony/third_party_spirv-headers
synced 2024-11-26 17:20:34 +00:00
update to sdk-1.3.231.1
Signed-off-by: wangshi <wangshi@kaihong.com>
This commit is contained in:
parent
cebd01b405
commit
bd2574ebd3
@ -91,6 +91,11 @@ filegroup(
|
||||
srcs = ["include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "spirv_ext_inst_nonsemantic_shader_debuginfo_100_grammar_unified1",
|
||||
srcs = ["include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "spirv_ext_inst_spv_amd_gcn_shader_grammar_unified1",
|
||||
srcs = ["include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json"],
|
||||
|
@ -29,7 +29,7 @@
|
||||
# https://www.khronos.org/registry/spir-v/
|
||||
#
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(SPIRV-Headers VERSION 1.5.1)
|
||||
project(SPIRV-Headers VERSION 1.5.5)
|
||||
|
||||
# There are two ways to use this project.
|
||||
#
|
||||
@ -44,11 +44,6 @@ project(SPIRV-Headers VERSION 1.5.1)
|
||||
# 2. cmake ..
|
||||
# 3. cmake --build . --target install
|
||||
|
||||
# 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})
|
||||
|
||||
@ -61,6 +56,10 @@ endif()
|
||||
|
||||
if(NOT ${SPIRV_HEADERS_SKIP_INSTALL})
|
||||
set(SPIRV_HEADERS_ENABLE_INSTALL ON)
|
||||
# legacy
|
||||
add_custom_target(install-headers
|
||||
COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv
|
||||
$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/include/spirv)
|
||||
endif()
|
||||
|
||||
if (SPIRV_HEADERS_ENABLE_EXAMPLES)
|
||||
@ -79,7 +78,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE
|
||||
if (SPIRV_HEADERS_ENABLE_INSTALL)
|
||||
message(STATUS "Installing SPIRV-Header")
|
||||
|
||||
set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
||||
set(config_install_dir "${CMAKE_INSTALL_DATADIR}/cmake/${PROJECT_NAME}")
|
||||
|
||||
set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
|
||||
|
||||
@ -89,9 +88,14 @@ if (SPIRV_HEADERS_ENABLE_INSTALL)
|
||||
set(namespace "${PROJECT_NAME}::")
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 3.14)
|
||||
set(arch_independent_str ARCH_INDEPENDENT)
|
||||
endif()
|
||||
write_basic_package_version_file(
|
||||
"${version_config}"
|
||||
COMPATIBILITY SameMajorVersion
|
||||
${arch_independent_str}
|
||||
)
|
||||
|
||||
configure_package_config_file(
|
||||
@ -124,4 +128,10 @@ if (SPIRV_HEADERS_ENABLE_INSTALL)
|
||||
NAMESPACE "${namespace}"
|
||||
DESTINATION "${config_install_dir}"
|
||||
)
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Headers.pc.in ${CMAKE_BINARY_DIR}/SPIRV-Headers.pc @ONLY)
|
||||
install(
|
||||
FILES "${CMAKE_BINARY_DIR}/SPIRV-Headers.pc"
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig
|
||||
)
|
||||
endif()
|
||||
|
13
README.md
13
README.md
@ -140,10 +140,21 @@ and can be used to test a PR, or even to include the results in the PR.
|
||||
This is not required though.
|
||||
|
||||
The header-generation project is under the `tools/buildHeaders` directory.
|
||||
Use CMake to build the project, in a `build` subdirectory (under `tools/buildHeaders`).
|
||||
Use CMake to build and install the project, in a `build` subdirectory (under `tools/buildHeaders`).
|
||||
There is then a bash script at `bin/makeHeaders` that shows how to use the built
|
||||
header-generator binary to generate the headers from the JSON grammar.
|
||||
(Execute `bin/makeHeaders` from the `tools/buildHeaders` directory.)
|
||||
Here's a complete example:
|
||||
|
||||
```
|
||||
cd tools/buildHeaders
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build . --target install
|
||||
cd ..
|
||||
./bin/makeHeaders
|
||||
```
|
||||
|
||||
Notes:
|
||||
- this generator is used in a broader context within Khronos to generate the specification,
|
||||
|
9
SPIRV-Headers.pc.in
Normal file
9
SPIRV-Headers.pc.in
Normal file
@ -0,0 +1,9 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
|
||||
Name: SPIRV-Headers
|
||||
Description: Header files from the SPIR-V registry
|
||||
Version: @CMAKE_PROJECT_VERSION@
|
||||
Requires:
|
||||
Libs:
|
||||
Cflags: -I${includedir}
|
@ -55,7 +55,7 @@
|
||||
<id value="2" vendor="Valve" comment="Contact TBD"/>
|
||||
<id value="3" vendor="Codeplay" comment="Contact Victor Lomuller, victor@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="5" vendor="ARM" comment="Contact Kevin Petit, kevin.petit@arm.com"/>
|
||||
<id value="6" vendor="Khronos" tool="LLVM/SPIR-V Translator" comment="Contact Yaxun (Sam) Liu, yaxun.liu@amd.com"/>
|
||||
<id value="7" vendor="Khronos" tool="SPIR-V Tools Assembler" comment="Contact David Neto, dneto@google.com"/>
|
||||
<id value="8" vendor="Khronos" tool="Glslang Reference Front End" comment="Contact John Kessenich, johnkessenich@google.com"/>
|
||||
@ -69,7 +69,7 @@
|
||||
<id value="16" vendor="X-LEGEND" tool="Mesa-IR/SPIR-V Translator" comment="Contact Metora Wang, github:metora/MesaGLSLCompiler"/>
|
||||
<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="19" vendor="Tellusim" tool="Clay Shader Compiler" comment="Contact info@tellusim.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"/>
|
||||
@ -78,7 +78,15 @@
|
||||
<id value="25" vendor="Netease Games" tool="Messiah Shader Compiler" comment="Contact Yuwen Wu, atyuwen@gmail.com"/>
|
||||
<id value="26" vendor="Xenia" tool="Xenia Emulator Microcode Translator" comment="Contact Vitaliy Kuzmin, triang3l@yandex.ru, https://github.com/xenia-project/xenia"/>
|
||||
<id value="27" vendor="Embark Studios" tool="Rust GPU Compiler Backend" comment="https://github.com/embarkstudios/rust-gpu"/>
|
||||
<unused start="28" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
<id value="28" vendor="gfx-rs community" tool="Naga" comment="https://github.com/gfx-rs/naga"/>
|
||||
<id value="29" vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
|
||||
<id value="30" vendor="SpvGenTwo community" tool="SpvGenTwo SPIR-V IR Tools" comment="https://github.com/rAzoR8/SpvGenTwo"/>
|
||||
<id value="31" vendor="Google" tool="Skia SkSL" comment="Contact Ethan Nicholas, ethannicholas@google.com"/>
|
||||
<id value="32" vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/>
|
||||
<id value="33" vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
|
||||
<id value="34" vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout rayan.hatout@gmail.com, Repo https://github.com/rayanht/SPIRVSmith"/>
|
||||
<id value="35" vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady"/>
|
||||
<unused start="36" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
</ids>
|
||||
|
||||
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
|
||||
@ -115,7 +123,7 @@
|
||||
<!-- Begin reservations of opcode enumerants -->
|
||||
<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="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/>
|
||||
<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="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
|
||||
<ids type="opcode" start="4992" end="5247" vendor="AMD"/>
|
||||
@ -128,20 +136,23 @@
|
||||
<ids type="opcode" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
|
||||
<ids type="opcode" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
|
||||
<ids type="opcode" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
|
||||
<ids type="opcode" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="opcode" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
|
||||
<ids type="opcode" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<!-- Opcode enumerants to reserve for future use. To get a block, allocate
|
||||
multiples of 64 starting at the lowest available point in this
|
||||
block and add a corresponding <ids> tag immediately above. Make
|
||||
sure to fill in the vendor attribute, and preferably add a contact
|
||||
person/address in a comment attribute. -->
|
||||
<!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
|
||||
<ids type="opcode" start="6144" end="65535" comment="Opcode range reservable for future use by vendors"/>
|
||||
<ids type="opcode" start="6464" end="65535" comment="Opcode range reservable for future use by vendors"/>
|
||||
<!-- End reservations of opcodes -->
|
||||
|
||||
|
||||
<!-- Begin reservations of non-opcode enumerants -->
|
||||
<ids type="enumerant" start="0" end="4095" vendor="Khronos" comment="Reserved enumerants, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="enumerant" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
|
||||
<ids type="enumerant" start="4160" end="4415" vendor="ARM"/>
|
||||
<ids type="enumerant" start="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/>
|
||||
<ids type="enumerant" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
|
||||
<ids type="enumerant" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
|
||||
<ids type="enumerant" start="4992" end="5247" vendor="AMD"/>
|
||||
@ -154,13 +165,17 @@
|
||||
<ids type="enumerant" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
|
||||
<ids type="enumerant" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
|
||||
<ids type="enumerant" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
|
||||
<ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
|
||||
<ids type="enumerant" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="enumerant" start="6464" end="6527" vendor="Mikkosoft Productions" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
|
||||
<!-- Enumerants to reserve for future use. To get a block, allocate
|
||||
multiples of 64 starting at the lowest available point in this
|
||||
block and add a corresponding <ids> tag immediately above. Make
|
||||
sure to fill in the vendor attribute, and preferably add a contact
|
||||
person/address in a comment attribute. -->
|
||||
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
|
||||
<ids type="enumerant" start="6144" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
|
||||
<ids type="enumerant" start="6528" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
|
||||
<!-- End reservations of enumerants -->
|
||||
|
||||
|
||||
@ -180,11 +195,32 @@
|
||||
|
||||
<!-- 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="23" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="LoopControl" start="24" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="LoopControl" start="16" end="25" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="LoopControl" start="26" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V Function Control Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the function 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 function control bits -->
|
||||
<ids type="FunctionControl" start="0" end="15" vendor="Khronos" comment="Reserved FunctionControl bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="FunctionControl" start="16" end="16" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="FunctionControl" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="FunctionControl" start="31" end="31" vendor="Khronos" comment="Reserved FunctionControl bit, not available to vendors"/>
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
|
||||
Each vendor determines the use of values in their own ranges.
|
||||
@ -202,4 +238,45 @@
|
||||
<ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V Memory Operand Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the memory operands 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 memory operand bits -->
|
||||
<ids type="MemoryOperand" start="0" end="15" vendor="Khronos" comment="Reserved MemoryOperand bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="MemoryOperand" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="MemoryOperand" start="18" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="MemoryOperand" start="31" end="31" vendor="Khronos" comment="Reserved MemoryOperand bit, not available to vendors"/>
|
||||
|
||||
<!-- SECTION: SPIR-V Image Operand Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the image operands 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 image operand bits -->
|
||||
<ids type="ImageOperand" start="0" end="15" vendor="Khronos" comment="Reserved ImageOperand bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="ImageOperand" start="16" end="16" vendor="Nvidia" comment="Contact pmistry@nvidia.com"/>
|
||||
<ids type="ImageOperand" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="ImageOperand" start="31" end="31" vendor="Khronos" comment="Reserved ImageOperand bit, not available to vendors"/>
|
||||
|
||||
</registry>
|
||||
|
@ -78,6 +78,7 @@ enum DebugInfoInstructions {
|
||||
|
||||
|
||||
enum DebugInfoDebugInfoFlags {
|
||||
DebugInfoNone = 0x0000,
|
||||
DebugInfoFlagIsProtected = 0x01,
|
||||
DebugInfoFlagIsPrivate = 0x02,
|
||||
DebugInfoFlagIsPublic = 0x03,
|
||||
|
@ -33,7 +33,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
NonSemanticClspvReflectionRevision = 1,
|
||||
NonSemanticClspvReflectionRevision = 4,
|
||||
NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
@ -62,6 +62,17 @@ enum NonSemanticClspvReflectionInstructions {
|
||||
NonSemanticClspvReflectionConstantDataUniform = 22,
|
||||
NonSemanticClspvReflectionLiteralSampler = 23,
|
||||
NonSemanticClspvReflectionPropertyRequiredWorkgroupSize = 24,
|
||||
NonSemanticClspvReflectionSpecConstantSubgroupMaxSize = 25,
|
||||
NonSemanticClspvReflectionArgumentPointerPushConstant = 26,
|
||||
NonSemanticClspvReflectionArgumentPointerUniform = 27,
|
||||
NonSemanticClspvReflectionProgramScopeVariablesStorageBuffer = 28,
|
||||
NonSemanticClspvReflectionProgramScopeVariablePointerRelocation = 29,
|
||||
NonSemanticClspvReflectionImageArgumentInfoChannelOrderPushConstant = 30,
|
||||
NonSemanticClspvReflectionImageArgumentInfoChannelDataTypePushConstant = 31,
|
||||
NonSemanticClspvReflectionImageArgumentInfoChannelOrderUniform = 32,
|
||||
NonSemanticClspvReflectionImageArgumentInfoChannelDataTypeUniform = 33,
|
||||
NonSemanticClspvReflectionArgumentStorageTexelBuffer = 34,
|
||||
NonSemanticClspvReflectionArgumentUniformTexelBuffer = 35,
|
||||
NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
171
include/spirv/unified1/NonSemanticShaderDebugInfo100.h
Normal file
171
include/spirv/unified1/NonSemanticShaderDebugInfo100.h
Normal file
@ -0,0 +1,171 @@
|
||||
// Copyright (c) 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.
|
||||
|
||||
#ifndef SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
|
||||
#define SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
NonSemanticShaderDebugInfo100Version = 100,
|
||||
NonSemanticShaderDebugInfo100Version_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
enum {
|
||||
NonSemanticShaderDebugInfo100Revision = 6,
|
||||
NonSemanticShaderDebugInfo100Revision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100Instructions {
|
||||
NonSemanticShaderDebugInfo100DebugInfoNone = 0,
|
||||
NonSemanticShaderDebugInfo100DebugCompilationUnit = 1,
|
||||
NonSemanticShaderDebugInfo100DebugTypeBasic = 2,
|
||||
NonSemanticShaderDebugInfo100DebugTypePointer = 3,
|
||||
NonSemanticShaderDebugInfo100DebugTypeQualifier = 4,
|
||||
NonSemanticShaderDebugInfo100DebugTypeArray = 5,
|
||||
NonSemanticShaderDebugInfo100DebugTypeVector = 6,
|
||||
NonSemanticShaderDebugInfo100DebugTypedef = 7,
|
||||
NonSemanticShaderDebugInfo100DebugTypeFunction = 8,
|
||||
NonSemanticShaderDebugInfo100DebugTypeEnum = 9,
|
||||
NonSemanticShaderDebugInfo100DebugTypeComposite = 10,
|
||||
NonSemanticShaderDebugInfo100DebugTypeMember = 11,
|
||||
NonSemanticShaderDebugInfo100DebugTypeInheritance = 12,
|
||||
NonSemanticShaderDebugInfo100DebugTypePtrToMember = 13,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplate = 14,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplateParameter = 15,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplateTemplateParameter = 16,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplateParameterPack = 17,
|
||||
NonSemanticShaderDebugInfo100DebugGlobalVariable = 18,
|
||||
NonSemanticShaderDebugInfo100DebugFunctionDeclaration = 19,
|
||||
NonSemanticShaderDebugInfo100DebugFunction = 20,
|
||||
NonSemanticShaderDebugInfo100DebugLexicalBlock = 21,
|
||||
NonSemanticShaderDebugInfo100DebugLexicalBlockDiscriminator = 22,
|
||||
NonSemanticShaderDebugInfo100DebugScope = 23,
|
||||
NonSemanticShaderDebugInfo100DebugNoScope = 24,
|
||||
NonSemanticShaderDebugInfo100DebugInlinedAt = 25,
|
||||
NonSemanticShaderDebugInfo100DebugLocalVariable = 26,
|
||||
NonSemanticShaderDebugInfo100DebugInlinedVariable = 27,
|
||||
NonSemanticShaderDebugInfo100DebugDeclare = 28,
|
||||
NonSemanticShaderDebugInfo100DebugValue = 29,
|
||||
NonSemanticShaderDebugInfo100DebugOperation = 30,
|
||||
NonSemanticShaderDebugInfo100DebugExpression = 31,
|
||||
NonSemanticShaderDebugInfo100DebugMacroDef = 32,
|
||||
NonSemanticShaderDebugInfo100DebugMacroUndef = 33,
|
||||
NonSemanticShaderDebugInfo100DebugImportedEntity = 34,
|
||||
NonSemanticShaderDebugInfo100DebugSource = 35,
|
||||
NonSemanticShaderDebugInfo100DebugFunctionDefinition = 101,
|
||||
NonSemanticShaderDebugInfo100DebugSourceContinued = 102,
|
||||
NonSemanticShaderDebugInfo100DebugLine = 103,
|
||||
NonSemanticShaderDebugInfo100DebugNoLine = 104,
|
||||
NonSemanticShaderDebugInfo100DebugBuildIdentifier = 105,
|
||||
NonSemanticShaderDebugInfo100DebugStoragePath = 106,
|
||||
NonSemanticShaderDebugInfo100DebugEntryPoint = 107,
|
||||
NonSemanticShaderDebugInfo100DebugTypeMatrix = 108,
|
||||
NonSemanticShaderDebugInfo100InstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugInfoFlags {
|
||||
NonSemanticShaderDebugInfo100None = 0x0000,
|
||||
NonSemanticShaderDebugInfo100FlagIsProtected = 0x01,
|
||||
NonSemanticShaderDebugInfo100FlagIsPrivate = 0x02,
|
||||
NonSemanticShaderDebugInfo100FlagIsPublic = 0x03,
|
||||
NonSemanticShaderDebugInfo100FlagIsLocal = 0x04,
|
||||
NonSemanticShaderDebugInfo100FlagIsDefinition = 0x08,
|
||||
NonSemanticShaderDebugInfo100FlagFwdDecl = 0x10,
|
||||
NonSemanticShaderDebugInfo100FlagArtificial = 0x20,
|
||||
NonSemanticShaderDebugInfo100FlagExplicit = 0x40,
|
||||
NonSemanticShaderDebugInfo100FlagPrototyped = 0x80,
|
||||
NonSemanticShaderDebugInfo100FlagObjectPointer = 0x100,
|
||||
NonSemanticShaderDebugInfo100FlagStaticMember = 0x200,
|
||||
NonSemanticShaderDebugInfo100FlagIndirectVariable = 0x400,
|
||||
NonSemanticShaderDebugInfo100FlagLValueReference = 0x800,
|
||||
NonSemanticShaderDebugInfo100FlagRValueReference = 0x1000,
|
||||
NonSemanticShaderDebugInfo100FlagIsOptimized = 0x2000,
|
||||
NonSemanticShaderDebugInfo100FlagIsEnumClass = 0x4000,
|
||||
NonSemanticShaderDebugInfo100FlagTypePassByValue = 0x8000,
|
||||
NonSemanticShaderDebugInfo100FlagTypePassByReference = 0x10000,
|
||||
NonSemanticShaderDebugInfo100FlagUnknownPhysicalLayout = 0x20000,
|
||||
NonSemanticShaderDebugInfo100DebugInfoFlagsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100BuildIdentifierFlags {
|
||||
NonSemanticShaderDebugInfo100IdentifierPossibleDuplicates = 0x01,
|
||||
NonSemanticShaderDebugInfo100BuildIdentifierFlagsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncoding {
|
||||
NonSemanticShaderDebugInfo100Unspecified = 0,
|
||||
NonSemanticShaderDebugInfo100Address = 1,
|
||||
NonSemanticShaderDebugInfo100Boolean = 2,
|
||||
NonSemanticShaderDebugInfo100Float = 3,
|
||||
NonSemanticShaderDebugInfo100Signed = 4,
|
||||
NonSemanticShaderDebugInfo100SignedChar = 5,
|
||||
NonSemanticShaderDebugInfo100Unsigned = 6,
|
||||
NonSemanticShaderDebugInfo100UnsignedChar = 7,
|
||||
NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugCompositeType {
|
||||
NonSemanticShaderDebugInfo100Class = 0,
|
||||
NonSemanticShaderDebugInfo100Structure = 1,
|
||||
NonSemanticShaderDebugInfo100Union = 2,
|
||||
NonSemanticShaderDebugInfo100DebugCompositeTypeMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugTypeQualifier {
|
||||
NonSemanticShaderDebugInfo100ConstType = 0,
|
||||
NonSemanticShaderDebugInfo100VolatileType = 1,
|
||||
NonSemanticShaderDebugInfo100RestrictType = 2,
|
||||
NonSemanticShaderDebugInfo100AtomicType = 3,
|
||||
NonSemanticShaderDebugInfo100DebugTypeQualifierMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugOperation {
|
||||
NonSemanticShaderDebugInfo100Deref = 0,
|
||||
NonSemanticShaderDebugInfo100Plus = 1,
|
||||
NonSemanticShaderDebugInfo100Minus = 2,
|
||||
NonSemanticShaderDebugInfo100PlusUconst = 3,
|
||||
NonSemanticShaderDebugInfo100BitPiece = 4,
|
||||
NonSemanticShaderDebugInfo100Swap = 5,
|
||||
NonSemanticShaderDebugInfo100Xderef = 6,
|
||||
NonSemanticShaderDebugInfo100StackValue = 7,
|
||||
NonSemanticShaderDebugInfo100Constu = 8,
|
||||
NonSemanticShaderDebugInfo100Fragment = 9,
|
||||
NonSemanticShaderDebugInfo100DebugOperationMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugImportedEntity {
|
||||
NonSemanticShaderDebugInfo100ImportedModule = 0,
|
||||
NonSemanticShaderDebugInfo100ImportedDeclaration = 1,
|
||||
NonSemanticShaderDebugInfo100DebugImportedEntityMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
|
@ -75,11 +75,13 @@ enum OpenCLDebugInfo100Instructions {
|
||||
OpenCLDebugInfo100DebugMacroUndef = 33,
|
||||
OpenCLDebugInfo100DebugImportedEntity = 34,
|
||||
OpenCLDebugInfo100DebugSource = 35,
|
||||
OpenCLDebugInfo100DebugModuleINTEL = 36,
|
||||
OpenCLDebugInfo100InstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
enum OpenCLDebugInfo100DebugInfoFlags {
|
||||
OpenCLDebugInfo100None = 0x0000,
|
||||
OpenCLDebugInfo100FlagIsProtected = 0x01,
|
||||
OpenCLDebugInfo100FlagIsPrivate = 0x02,
|
||||
OpenCLDebugInfo100FlagIsPublic = 0x03,
|
||||
|
@ -376,6 +376,10 @@
|
||||
"category" : "BitEnum",
|
||||
"kind" : "DebugInfoFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "None",
|
||||
"value" : "0x0000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsProtected",
|
||||
"value" : "0x01"
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"revision" : 1,
|
||||
"revision" : 4,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "Kernel",
|
||||
@ -232,6 +232,121 @@
|
||||
{ "kind" : "IdRef", "name" : "Y" },
|
||||
{ "kind" : "IdRef", "name" : "Z" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SpecConstantSubgroupMaxSize",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPointerPushConstant",
|
||||
"opcode" : 26,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPointerUniform",
|
||||
"opcode" : 27,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ProgramScopeVariablesStorageBuffer",
|
||||
"opcode" : 28,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Data" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ProgramScopeVariablePointerRelocation",
|
||||
"opcode" : 29,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "ObjectOffset" },
|
||||
{ "kind" : "IdRef", "name" : "PointerOffset" },
|
||||
{ "kind" : "IdRef", "name" : "PointerSize" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ImageArgumentInfoChannelOrderPushConstant",
|
||||
"opcode" : 30,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ImageArgumentInfoChannelDataTypePushConstant",
|
||||
"opcode" : 31,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ImageArgumentInfoChannelOrderUniform",
|
||||
"opcode" : 32,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ImageArgumentInfoChannelDataTypeUniform",
|
||||
"opcode" : 33,
|
||||
"operands": [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentStorageTexelBuffer",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentUniformTexelBuffer",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -0,0 +1,713 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 6,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "DebugInfoNone",
|
||||
"opcode" : 0
|
||||
},
|
||||
{
|
||||
"opname" : "DebugCompilationUnit",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Version'" },
|
||||
{ "kind" : "IdRef", "name" : "'DWARF Version'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Language'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeBasic",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Encoding'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePointer",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Storage Class'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeQualifier",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type Qualifier'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeArray",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeVector",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Count'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypedef",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeFunction",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Return Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeEnum",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Underlying Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeComposite",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeMember",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeInheritance",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePtrToMember",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Member Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplate",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Target'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameter",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Actual Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateTemplateParameter",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameterPack",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugGlobalVariable",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDeclaration",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunction",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlock",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlockDiscriminator",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Discriminator'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugScope",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugNoScope",
|
||||
"opcode" : 24
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedAt",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLocalVariable",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Arg Number'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedVariable",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugDeclare",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" },
|
||||
{ "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugValue",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" },
|
||||
{ "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugOperation",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'OpCode'" },
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugExpression",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroDef",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroUndef",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Macro'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugImportedEntity",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Entity'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugSource",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'File'" },
|
||||
{ "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDefinition",
|
||||
"opcode" : 101,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Function'" },
|
||||
{ "kind" : "IdRef", "name" : "'Definition'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugSourceContinued",
|
||||
"opcode" : 102,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Text'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLine",
|
||||
"opcode" : 103,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line Start'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line End'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column Start'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column End'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugNoLine",
|
||||
"opcode" : 104
|
||||
},
|
||||
{
|
||||
"opname" : "DebugBuildIdentifier",
|
||||
"opcode" : 105,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Identifier'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugStoragePath",
|
||||
"opcode" : 106,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Path'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugEntryPoint",
|
||||
"opcode" : 107,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Entry Point'" },
|
||||
{ "kind" : "IdRef", "name" : "'Compilation Unit'" },
|
||||
{ "kind" : "IdRef", "name" : "'Compiler Signature'" },
|
||||
{ "kind" : "IdRef", "name" : "'Command-line Arguments'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeMatrix",
|
||||
"opcode" : 108,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Vector Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Vector Count'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column Major'" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"operand_kinds" : [
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "DebugInfoFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "None",
|
||||
"value" : "0x0000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsProtected",
|
||||
"value" : "0x01"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPrivate",
|
||||
"value" : "0x02"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPublic",
|
||||
"value" : "0x03"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsLocal",
|
||||
"value" : "0x04"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsDefinition",
|
||||
"value" : "0x08"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagFwdDecl",
|
||||
"value" : "0x10"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagArtificial",
|
||||
"value" : "0x20"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagExplicit",
|
||||
"value" : "0x40"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagPrototyped",
|
||||
"value" : "0x80"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagObjectPointer",
|
||||
"value" : "0x100"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagStaticMember",
|
||||
"value" : "0x200"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIndirectVariable",
|
||||
"value" : "0x400"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagLValueReference",
|
||||
"value" : "0x800"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagRValueReference",
|
||||
"value" : "0x1000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsOptimized",
|
||||
"value" : "0x2000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsEnumClass",
|
||||
"value" : "0x4000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByValue",
|
||||
"value" : "0x8000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByReference",
|
||||
"value" : "0x10000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagUnknownPhysicalLayout",
|
||||
"value" : "0x20000"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "BuildIdentifierFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "IdentifierPossibleDuplicates",
|
||||
"value" : "0x01"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugBaseTypeAttributeEncoding",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Unspecified",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Address",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Boolean",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Float",
|
||||
"value" : "3"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Signed",
|
||||
"value" : "4"
|
||||
},
|
||||
{
|
||||
"enumerant" : "SignedChar",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Unsigned",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "UnsignedChar",
|
||||
"value" : "7"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugCompositeType",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Class",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Structure",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Union",
|
||||
"value" : "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugTypeQualifier",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ConstType",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "VolatileType",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RestrictType",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "AtomicType",
|
||||
"value" : "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugOperation",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Deref",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Plus",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Minus",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "PlusUconst",
|
||||
"value" : "3",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "BitPiece",
|
||||
"value" : "4",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" },
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Swap",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Xderef",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "StackValue",
|
||||
"value" : "7"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Constu",
|
||||
"value" : "8",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Fragment",
|
||||
"value" : "9",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" },
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugImportedEntity",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ImportedModule",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "ImportedDeclaration",
|
||||
"value" : "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -395,6 +395,21 @@
|
||||
{ "kind" : "IdRef", "name" : "'File'" },
|
||||
{ "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugModuleINTEL",
|
||||
"opcode" : 36,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'ConfigurationMacros'" },
|
||||
{ "kind" : "IdRef", "name" : "'IncludePath'" },
|
||||
{ "kind" : "IdRef", "name" : "'APINotesFile'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'IsDeclaration'" }
|
||||
],
|
||||
"capability" : "DebugInfoModuleINTEL"
|
||||
}
|
||||
],
|
||||
"operand_kinds" : [
|
||||
@ -402,6 +417,10 @@
|
||||
"category" : "BitEnum",
|
||||
"kind" : "DebugInfoFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "None",
|
||||
"value" : "0x0000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsProtected",
|
||||
"value" : "0x01"
|
||||
|
1908
include/spirv/unified1/spirv.bf
Normal file
1908
include/spirv/unified1/spirv.bf
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -26,7 +26,7 @@
|
||||
// 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#, D, Beef
|
||||
//
|
||||
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
@ -36,6 +36,8 @@
|
||||
// - 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
|
||||
// - Beef 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
|
||||
@ -48,8 +50,8 @@ namespace Spv
|
||||
public static class Specification
|
||||
{
|
||||
public const uint MagicNumber = 0x07230203;
|
||||
public const uint Version = 0x00010500;
|
||||
public const uint Revision = 4;
|
||||
public const uint Version = 0x00010600;
|
||||
public const uint Revision = 1;
|
||||
public const uint OpCodeMask = 0xffff;
|
||||
public const uint WordCountShift = 16;
|
||||
|
||||
@ -61,6 +63,8 @@ namespace Spv
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
CPP_for_OpenCL = 6,
|
||||
SYCL = 7,
|
||||
}
|
||||
|
||||
public enum ExecutionModel
|
||||
@ -86,6 +90,8 @@ namespace Spv
|
||||
MissNV = 5317,
|
||||
CallableKHR = 5318,
|
||||
CallableNV = 5318,
|
||||
TaskEXT = 5364,
|
||||
MeshEXT = 5365,
|
||||
}
|
||||
|
||||
public enum AddressingModel
|
||||
@ -146,17 +152,28 @@ namespace Spv
|
||||
SubgroupsPerWorkgroupId = 37,
|
||||
LocalSizeId = 38,
|
||||
LocalSizeHintId = 39,
|
||||
SubgroupUniformControlFlowKHR = 4421,
|
||||
PostDepthCoverage = 4446,
|
||||
DenormPreserve = 4459,
|
||||
DenormFlushToZero = 4460,
|
||||
SignedZeroInfNanPreserve = 4461,
|
||||
RoundingModeRTE = 4462,
|
||||
RoundingModeRTZ = 4463,
|
||||
EarlyAndLateFragmentTestsAMD = 5017,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
StencilRefUnchangedFrontAMD = 5079,
|
||||
StencilRefGreaterFrontAMD = 5080,
|
||||
StencilRefLessFrontAMD = 5081,
|
||||
StencilRefUnchangedBackAMD = 5082,
|
||||
StencilRefGreaterBackAMD = 5083,
|
||||
StencilRefLessBackAMD = 5084,
|
||||
OutputLinesEXT = 5269,
|
||||
OutputLinesNV = 5269,
|
||||
OutputPrimitivesEXT = 5270,
|
||||
OutputPrimitivesNV = 5270,
|
||||
DerivativeGroupQuadsNV = 5289,
|
||||
DerivativeGroupLinearNV = 5290,
|
||||
OutputTrianglesEXT = 5298,
|
||||
OutputTrianglesNV = 5298,
|
||||
PixelInterlockOrderedEXT = 5366,
|
||||
PixelInterlockUnorderedEXT = 5367,
|
||||
@ -164,10 +181,17 @@ namespace Spv
|
||||
SampleInterlockUnorderedEXT = 5369,
|
||||
ShadingRateInterlockOrderedEXT = 5370,
|
||||
ShadingRateInterlockUnorderedEXT = 5371,
|
||||
SharedLocalMemorySizeINTEL = 5618,
|
||||
RoundingModeRTPINTEL = 5620,
|
||||
RoundingModeRTNINTEL = 5621,
|
||||
FloatingPointModeALTINTEL = 5622,
|
||||
FloatingPointModeIEEEINTEL = 5623,
|
||||
MaxWorkgroupSizeINTEL = 5893,
|
||||
MaxWorkDimINTEL = 5894,
|
||||
NoGlobalOffsetINTEL = 5895,
|
||||
NumSIMDWorkitemsINTEL = 5896,
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
}
|
||||
|
||||
public enum StorageClass
|
||||
@ -199,7 +223,10 @@ namespace Spv
|
||||
ShaderRecordBufferNV = 5343,
|
||||
PhysicalStorageBuffer = 5349,
|
||||
PhysicalStorageBufferEXT = 5349,
|
||||
TaskPayloadWorkgroupEXT = 5402,
|
||||
CodeSectionINTEL = 5605,
|
||||
DeviceOnlyINTEL = 5936,
|
||||
HostOnlyINTEL = 5937,
|
||||
}
|
||||
|
||||
public enum Dim
|
||||
@ -339,6 +366,8 @@ namespace Spv
|
||||
VolatileTexelKHR = 11,
|
||||
SignExtend = 12,
|
||||
ZeroExtend = 13,
|
||||
Nontemporal = 14,
|
||||
Offsets = 16,
|
||||
}
|
||||
|
||||
public enum ImageOperandsMask
|
||||
@ -362,6 +391,8 @@ namespace Spv
|
||||
VolatileTexelKHR = 0x00000800,
|
||||
SignExtend = 0x00001000,
|
||||
ZeroExtend = 0x00002000,
|
||||
Nontemporal = 0x00004000,
|
||||
Offsets = 0x00010000,
|
||||
}
|
||||
|
||||
public enum FPFastMathModeShift
|
||||
@ -371,6 +402,8 @@ namespace Spv
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
AllowContractFastINTEL = 16,
|
||||
AllowReassocINTEL = 17,
|
||||
}
|
||||
|
||||
public enum FPFastMathModeMask
|
||||
@ -381,6 +414,8 @@ namespace Spv
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
AllowContractFastINTEL = 0x00010000,
|
||||
AllowReassocINTEL = 0x00020000,
|
||||
}
|
||||
|
||||
public enum FPRoundingMode
|
||||
@ -395,6 +430,7 @@ namespace Spv
|
||||
{
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
}
|
||||
|
||||
public enum AccessQualifier
|
||||
@ -472,9 +508,11 @@ namespace Spv
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
PerPrimitiveEXT = 5271,
|
||||
PerPrimitiveNV = 5271,
|
||||
PerViewNV = 5272,
|
||||
PerTaskNV = 5273,
|
||||
PerVertexKHR = 5285,
|
||||
PerVertexNV = 5285,
|
||||
NonUniform = 5300,
|
||||
NonUniformEXT = 5300,
|
||||
@ -482,12 +520,26 @@ namespace Spv
|
||||
RestrictPointerEXT = 5355,
|
||||
AliasedPointer = 5356,
|
||||
AliasedPointerEXT = 5356,
|
||||
BindlessSamplerNV = 5398,
|
||||
BindlessImageNV = 5399,
|
||||
BoundSamplerNV = 5400,
|
||||
BoundImageNV = 5401,
|
||||
SIMTCallINTEL = 5599,
|
||||
ReferencedIndirectlyINTEL = 5602,
|
||||
ClobberINTEL = 5607,
|
||||
SideEffectsINTEL = 5608,
|
||||
VectorComputeVariableINTEL = 5624,
|
||||
FuncParamIOKindINTEL = 5625,
|
||||
VectorComputeFunctionINTEL = 5626,
|
||||
StackCallINTEL = 5627,
|
||||
GlobalVariableOffsetINTEL = 5628,
|
||||
CounterBuffer = 5634,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
UserSemantic = 5635,
|
||||
UserTypeGOOGLE = 5636,
|
||||
FunctionRoundingModeINTEL = 5822,
|
||||
FunctionDenormModeINTEL = 5823,
|
||||
RegisterINTEL = 5825,
|
||||
MemoryINTEL = 5826,
|
||||
NumbanksINTEL = 5827,
|
||||
@ -500,6 +552,20 @@ namespace Spv
|
||||
MergeINTEL = 5834,
|
||||
BankBitsINTEL = 5835,
|
||||
ForcePow2DepthINTEL = 5836,
|
||||
BurstCoalesceINTEL = 5899,
|
||||
CacheSizeINTEL = 5900,
|
||||
DontStaticallyCoalesceINTEL = 5901,
|
||||
PrefetchINTEL = 5902,
|
||||
StallEnableINTEL = 5905,
|
||||
FuseLoopsInFunctionINTEL = 5907,
|
||||
AliasScopeINTEL = 5914,
|
||||
NoAliasINTEL = 5915,
|
||||
BufferLocationINTEL = 5921,
|
||||
IOPipeStorageINTEL = 5944,
|
||||
FunctionFloatingPointModeINTEL = 6080,
|
||||
SingleElementVectorINTEL = 6085,
|
||||
VectorComputeCallableFunctionINTEL = 6087,
|
||||
MediaBlockIOINTEL = 6140,
|
||||
}
|
||||
|
||||
public enum BuiltIn
|
||||
@ -545,6 +611,11 @@ namespace Spv
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
WarpIDARM = 4163,
|
||||
WarpMaxIDARM = 4164,
|
||||
SubgroupEqMask = 4416,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMask = 4417,
|
||||
@ -584,12 +655,18 @@ namespace Spv
|
||||
LayerPerViewNV = 5279,
|
||||
MeshViewCountNV = 5280,
|
||||
MeshViewIndicesNV = 5281,
|
||||
BaryCoordKHR = 5286,
|
||||
BaryCoordNV = 5286,
|
||||
BaryCoordNoPerspKHR = 5287,
|
||||
BaryCoordNoPerspNV = 5287,
|
||||
FragSizeEXT = 5292,
|
||||
FragmentSizeNV = 5292,
|
||||
FragInvocationCountEXT = 5293,
|
||||
InvocationsPerPixelNV = 5293,
|
||||
PrimitivePointIndicesEXT = 5294,
|
||||
PrimitiveLineIndicesEXT = 5295,
|
||||
PrimitiveTriangleIndicesEXT = 5296,
|
||||
CullPrimitiveEXT = 5299,
|
||||
LaunchIdKHR = 5319,
|
||||
LaunchIdNV = 5319,
|
||||
LaunchSizeKHR = 5320,
|
||||
@ -615,6 +692,7 @@ namespace Spv
|
||||
HitTNV = 5332,
|
||||
HitKindKHR = 5333,
|
||||
HitKindNV = 5333,
|
||||
CurrentRayTimeNV = 5334,
|
||||
IncomingRayFlagsKHR = 5351,
|
||||
IncomingRayFlagsNV = 5351,
|
||||
RayGeometryIndexKHR = 5352,
|
||||
@ -622,6 +700,7 @@ namespace Spv
|
||||
SMCountNV = 5375,
|
||||
WarpIDNV = 5376,
|
||||
SMIDNV = 5377,
|
||||
CullMaskKHR = 6021,
|
||||
}
|
||||
|
||||
public enum SelectionControlShift
|
||||
@ -655,6 +734,7 @@ namespace Spv
|
||||
LoopCoalesceINTEL = 20,
|
||||
MaxInterleavingINTEL = 21,
|
||||
SpeculatedIterationsINTEL = 22,
|
||||
NoFusionINTEL = 23,
|
||||
}
|
||||
|
||||
public enum LoopControlMask
|
||||
@ -676,6 +756,7 @@ namespace Spv
|
||||
LoopCoalesceINTEL = 0x00100000,
|
||||
MaxInterleavingINTEL = 0x00200000,
|
||||
SpeculatedIterationsINTEL = 0x00400000,
|
||||
NoFusionINTEL = 0x00800000,
|
||||
}
|
||||
|
||||
public enum FunctionControlShift
|
||||
@ -684,6 +765,7 @@ namespace Spv
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
OptNoneINTEL = 16,
|
||||
}
|
||||
|
||||
public enum FunctionControlMask
|
||||
@ -693,6 +775,7 @@ namespace Spv
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
OptNoneINTEL = 0x00010000,
|
||||
}
|
||||
|
||||
public enum MemorySemanticsShift
|
||||
@ -749,6 +832,8 @@ namespace Spv
|
||||
MakePointerVisibleKHR = 4,
|
||||
NonPrivatePointer = 5,
|
||||
NonPrivatePointerKHR = 5,
|
||||
AliasScopeINTELMask = 16,
|
||||
NoAliasINTELMask = 17,
|
||||
}
|
||||
|
||||
public enum MemoryAccessMask
|
||||
@ -763,6 +848,8 @@ namespace Spv
|
||||
MakePointerVisibleKHR = 0x00000010,
|
||||
NonPrivatePointer = 0x00000020,
|
||||
NonPrivatePointerKHR = 0x00000020,
|
||||
AliasScopeINTELMask = 0x00010000,
|
||||
NoAliasINTELMask = 0x00020000,
|
||||
}
|
||||
|
||||
public enum Scope
|
||||
@ -877,9 +964,14 @@ namespace Spv
|
||||
GroupNonUniformQuad = 68,
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
CoreBuiltinsARM = 4165,
|
||||
FragmentShadingRateKHR = 4422,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
WorkgroupMemoryExplicitLayoutKHR = 4428,
|
||||
WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
||||
WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
@ -922,6 +1014,8 @@ namespace Spv
|
||||
FragmentFullyCoveredEXT = 5265,
|
||||
MeshShadingNV = 5266,
|
||||
ImageFootprintNV = 5282,
|
||||
MeshShadingEXT = 5283,
|
||||
FragmentBarycentricKHR = 5284,
|
||||
FragmentBarycentricNV = 5284,
|
||||
ComputeDerivativeGroupQuadsNV = 5288,
|
||||
FragmentDensityEXT = 5291,
|
||||
@ -952,6 +1046,7 @@ namespace Spv
|
||||
StorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
RayTracingNV = 5340,
|
||||
RayTracingMotionBlurNV = 5341,
|
||||
VulkanMemoryModel = 5345,
|
||||
VulkanMemoryModelKHR = 5345,
|
||||
VulkanMemoryModelDeviceScope = 5346,
|
||||
@ -965,26 +1060,68 @@ namespace Spv
|
||||
FragmentShaderShadingRateInterlockEXT = 5372,
|
||||
ShaderSMBuiltinsNV = 5373,
|
||||
FragmentShaderPixelInterlockEXT = 5378,
|
||||
DemoteToHelperInvocation = 5379,
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
BindlessTextureNV = 5390,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
SubgroupImageMediaBlockIOINTEL = 5579,
|
||||
RoundToInfinityINTEL = 5582,
|
||||
FloatingPointModeINTEL = 5583,
|
||||
IntegerFunctions2INTEL = 5584,
|
||||
FunctionPointersINTEL = 5603,
|
||||
IndirectReferencesINTEL = 5604,
|
||||
AsmINTEL = 5606,
|
||||
AtomicFloat32MinMaxEXT = 5612,
|
||||
AtomicFloat64MinMaxEXT = 5613,
|
||||
AtomicFloat16MinMaxEXT = 5616,
|
||||
VectorComputeINTEL = 5617,
|
||||
VectorAnyINTEL = 5619,
|
||||
ExpectAssumeKHR = 5629,
|
||||
SubgroupAvcMotionEstimationINTEL = 5696,
|
||||
SubgroupAvcMotionEstimationIntraINTEL = 5697,
|
||||
SubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
VariableLengthArrayINTEL = 5817,
|
||||
FunctionFloatControlINTEL = 5821,
|
||||
FPGAMemoryAttributesINTEL = 5824,
|
||||
FPFastMathModeINTEL = 5837,
|
||||
ArbitraryPrecisionIntegersINTEL = 5844,
|
||||
ArbitraryPrecisionFloatingPointINTEL = 5845,
|
||||
UnstructuredLoopControlsINTEL = 5886,
|
||||
FPGALoopControlsINTEL = 5888,
|
||||
KernelAttributesINTEL = 5892,
|
||||
FPGAKernelAttributesINTEL = 5897,
|
||||
FPGAMemoryAccessesINTEL = 5898,
|
||||
FPGAClusterAttributesINTEL = 5904,
|
||||
LoopFuseINTEL = 5906,
|
||||
MemoryAccessAliasingINTEL = 5910,
|
||||
FPGABufferLocationINTEL = 5920,
|
||||
ArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
USMStorageClassesINTEL = 5935,
|
||||
IOPipesINTEL = 5943,
|
||||
BlockingPipesINTEL = 5945,
|
||||
FPGARegINTEL = 5948,
|
||||
DotProductInputAll = 6016,
|
||||
DotProductInputAllKHR = 6016,
|
||||
DotProductInput4x8Bit = 6017,
|
||||
DotProductInput4x8BitKHR = 6017,
|
||||
DotProductInput4x8BitPacked = 6018,
|
||||
DotProductInput4x8BitPackedKHR = 6018,
|
||||
DotProduct = 6019,
|
||||
DotProductKHR = 6019,
|
||||
RayCullMaskKHR = 6020,
|
||||
BitInstructions = 6025,
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongConstantCompositeINTEL = 6089,
|
||||
OptNoneINTEL = 6094,
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
SplitBarrierINTEL = 6141,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
}
|
||||
|
||||
public enum RayFlagsShift
|
||||
@ -999,6 +1136,7 @@ namespace Spv
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
}
|
||||
|
||||
public enum RayFlagsMask
|
||||
@ -1014,6 +1152,7 @@ namespace Spv
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
}
|
||||
|
||||
public enum RayQueryIntersection
|
||||
@ -1052,6 +1191,44 @@ namespace Spv
|
||||
Horizontal4Pixels = 0x00000008,
|
||||
}
|
||||
|
||||
public enum FPDenormMode
|
||||
{
|
||||
Preserve = 0,
|
||||
FlushToZero = 1,
|
||||
}
|
||||
|
||||
public enum FPOperationMode
|
||||
{
|
||||
IEEE = 0,
|
||||
ALT = 1,
|
||||
}
|
||||
|
||||
public enum QuantizationModes
|
||||
{
|
||||
TRN = 0,
|
||||
TRN_ZERO = 1,
|
||||
RND = 2,
|
||||
RND_ZERO = 3,
|
||||
RND_INF = 4,
|
||||
RND_MIN_INF = 5,
|
||||
RND_CONV = 6,
|
||||
RND_CONV_ODD = 7,
|
||||
}
|
||||
|
||||
public enum OverflowModes
|
||||
{
|
||||
WRAP = 0,
|
||||
SAT = 1,
|
||||
SAT_ZERO = 2,
|
||||
SAT_SYM = 3,
|
||||
}
|
||||
|
||||
public enum PackedVectorFormat
|
||||
{
|
||||
PackedVectorFormat4x8Bit = 0,
|
||||
PackedVectorFormat4x8BitKHR = 0,
|
||||
}
|
||||
|
||||
public enum Op
|
||||
{
|
||||
OpNop = 0,
|
||||
@ -1404,12 +1581,25 @@ namespace Spv
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpGroupNonUniformRotateKHR = 4431,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTraceRayKHR = 4445,
|
||||
OpExecuteCallableKHR = 4446,
|
||||
OpConvertUToAccelerationStructureKHR = 4447,
|
||||
OpIgnoreIntersectionKHR = 4448,
|
||||
OpTerminateRayKHR = 4449,
|
||||
OpSDot = 4450,
|
||||
OpSDotKHR = 4450,
|
||||
OpUDot = 4451,
|
||||
OpUDotKHR = 4451,
|
||||
OpSUDot = 4452,
|
||||
OpSUDotKHR = 4452,
|
||||
OpSDotAccSat = 4453,
|
||||
OpSDotAccSatKHR = 4453,
|
||||
OpUDotAccSat = 4454,
|
||||
OpUDotAccSatKHR = 4454,
|
||||
OpSUDotAccSat = 4455,
|
||||
OpSUDotAccSatKHR = 4455,
|
||||
OpTypeRayQueryKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
@ -1429,6 +1619,8 @@ namespace Spv
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpReadClockKHR = 5056,
|
||||
OpImageSampleFootprintNV = 5283,
|
||||
OpEmitMeshTasksEXT = 5294,
|
||||
OpSetMeshOutputsEXT = 5295,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
OpReportIntersectionKHR = 5334,
|
||||
@ -1436,6 +1628,8 @@ namespace Spv
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTraceMotionNV = 5338,
|
||||
OpTraceRayMotionNV = 5339,
|
||||
OpTypeAccelerationStructureKHR = 5341,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
@ -1446,8 +1640,16 @@ namespace Spv
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocation = 5380,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpConvertUToImageNV = 5391,
|
||||
OpConvertUToSamplerNV = 5392,
|
||||
OpConvertImageToUNV = 5393,
|
||||
OpConvertSamplerToUNV = 5394,
|
||||
OpConvertUToSampledImageNV = 5395,
|
||||
OpConvertSampledImageToUNV = 5396,
|
||||
OpSamplerImageAddressingModeNV = 5397,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1472,8 +1674,15 @@ namespace Spv
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpFunctionPointerINTEL = 5600,
|
||||
OpConstantFunctionPointerINTEL = 5600,
|
||||
OpFunctionPointerCallINTEL = 5601,
|
||||
OpAsmTargetINTEL = 5609,
|
||||
OpAsmINTEL = 5610,
|
||||
OpAsmCallINTEL = 5611,
|
||||
OpAtomicFMinEXT = 5614,
|
||||
OpAtomicFMaxEXT = 5615,
|
||||
OpAssumeTrueKHR = 5630,
|
||||
OpExpectKHR = 5631,
|
||||
OpDecorateString = 5632,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateString = 5633,
|
||||
@ -1596,7 +1805,67 @@ namespace Spv
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpVariableLengthArrayINTEL = 5818,
|
||||
OpSaveMemoryINTEL = 5819,
|
||||
OpRestoreMemoryINTEL = 5820,
|
||||
OpArbitraryFloatSinCosPiINTEL = 5840,
|
||||
OpArbitraryFloatCastINTEL = 5841,
|
||||
OpArbitraryFloatCastFromIntINTEL = 5842,
|
||||
OpArbitraryFloatCastToIntINTEL = 5843,
|
||||
OpArbitraryFloatAddINTEL = 5846,
|
||||
OpArbitraryFloatSubINTEL = 5847,
|
||||
OpArbitraryFloatMulINTEL = 5848,
|
||||
OpArbitraryFloatDivINTEL = 5849,
|
||||
OpArbitraryFloatGTINTEL = 5850,
|
||||
OpArbitraryFloatGEINTEL = 5851,
|
||||
OpArbitraryFloatLTINTEL = 5852,
|
||||
OpArbitraryFloatLEINTEL = 5853,
|
||||
OpArbitraryFloatEQINTEL = 5854,
|
||||
OpArbitraryFloatRecipINTEL = 5855,
|
||||
OpArbitraryFloatRSqrtINTEL = 5856,
|
||||
OpArbitraryFloatCbrtINTEL = 5857,
|
||||
OpArbitraryFloatHypotINTEL = 5858,
|
||||
OpArbitraryFloatSqrtINTEL = 5859,
|
||||
OpArbitraryFloatLogINTEL = 5860,
|
||||
OpArbitraryFloatLog2INTEL = 5861,
|
||||
OpArbitraryFloatLog10INTEL = 5862,
|
||||
OpArbitraryFloatLog1pINTEL = 5863,
|
||||
OpArbitraryFloatExpINTEL = 5864,
|
||||
OpArbitraryFloatExp2INTEL = 5865,
|
||||
OpArbitraryFloatExp10INTEL = 5866,
|
||||
OpArbitraryFloatExpm1INTEL = 5867,
|
||||
OpArbitraryFloatSinINTEL = 5868,
|
||||
OpArbitraryFloatCosINTEL = 5869,
|
||||
OpArbitraryFloatSinCosINTEL = 5870,
|
||||
OpArbitraryFloatSinPiINTEL = 5871,
|
||||
OpArbitraryFloatCosPiINTEL = 5872,
|
||||
OpArbitraryFloatASinINTEL = 5873,
|
||||
OpArbitraryFloatASinPiINTEL = 5874,
|
||||
OpArbitraryFloatACosINTEL = 5875,
|
||||
OpArbitraryFloatACosPiINTEL = 5876,
|
||||
OpArbitraryFloatATanINTEL = 5877,
|
||||
OpArbitraryFloatATanPiINTEL = 5878,
|
||||
OpArbitraryFloatATan2INTEL = 5879,
|
||||
OpArbitraryFloatPowINTEL = 5880,
|
||||
OpArbitraryFloatPowRINTEL = 5881,
|
||||
OpArbitraryFloatPowNINTEL = 5882,
|
||||
OpLoopControlINTEL = 5887,
|
||||
OpAliasDomainDeclINTEL = 5911,
|
||||
OpAliasScopeDeclINTEL = 5912,
|
||||
OpAliasScopeListDeclINTEL = 5913,
|
||||
OpFixedSqrtINTEL = 5923,
|
||||
OpFixedRecipINTEL = 5924,
|
||||
OpFixedRsqrtINTEL = 5925,
|
||||
OpFixedSinINTEL = 5926,
|
||||
OpFixedCosINTEL = 5927,
|
||||
OpFixedSinCosINTEL = 5928,
|
||||
OpFixedSinPiINTEL = 5929,
|
||||
OpFixedCosPiINTEL = 5930,
|
||||
OpFixedSinCosPiINTEL = 5931,
|
||||
OpFixedLogINTEL = 5932,
|
||||
OpFixedExpINTEL = 5933,
|
||||
OpPtrCastToCrossWorkgroupINTEL = 5934,
|
||||
OpCrossWorkgroupCastToPtrINTEL = 5938,
|
||||
OpReadPipeBlockingINTEL = 5946,
|
||||
OpWritePipeBlockingINTEL = 5947,
|
||||
OpFPGARegINTEL = 5949,
|
||||
@ -1618,6 +1887,20 @@ namespace Spv
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
OpAtomicFAddEXT = 6035,
|
||||
OpTypeBufferSurfaceINTEL = 6086,
|
||||
OpTypeStructContinuedINTEL = 6090,
|
||||
OpConstantCompositeContinuedINTEL = 6091,
|
||||
OpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
OpGroupBitwiseOrKHR = 6404,
|
||||
OpGroupBitwiseXorKHR = 6405,
|
||||
OpGroupLogicalAndKHR = 6406,
|
||||
OpGroupLogicalOrKHR = 6407,
|
||||
OpGroupLogicalXorKHR = 6408,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
/*
|
||||
** 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#, D, Beef
|
||||
**
|
||||
** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
@ -41,6 +41,8 @@
|
||||
** - 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
|
||||
** - Beef 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
|
||||
@ -53,12 +55,12 @@
|
||||
|
||||
typedef unsigned int SpvId;
|
||||
|
||||
#define SPV_VERSION 0x10500
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_VERSION 0x10600
|
||||
#define SPV_REVISION 1
|
||||
|
||||
static const unsigned int SpvMagicNumber = 0x07230203;
|
||||
static const unsigned int SpvVersion = 0x00010500;
|
||||
static const unsigned int SpvRevision = 4;
|
||||
static const unsigned int SpvVersion = 0x00010600;
|
||||
static const unsigned int SpvRevision = 1;
|
||||
static const unsigned int SpvOpCodeMask = 0xffff;
|
||||
static const unsigned int SpvWordCountShift = 16;
|
||||
|
||||
@ -70,6 +72,7 @@ typedef enum SpvSourceLanguage_ {
|
||||
SpvSourceLanguageOpenCL_CPP = 4,
|
||||
SpvSourceLanguageHLSL = 5,
|
||||
SpvSourceLanguageCPP_for_OpenCL = 6,
|
||||
SpvSourceLanguageSYCL = 7,
|
||||
SpvSourceLanguageMax = 0x7fffffff,
|
||||
} SpvSourceLanguage;
|
||||
|
||||
@ -95,6 +98,8 @@ typedef enum SpvExecutionModel_ {
|
||||
SpvExecutionModelMissNV = 5317,
|
||||
SpvExecutionModelCallableKHR = 5318,
|
||||
SpvExecutionModelCallableNV = 5318,
|
||||
SpvExecutionModelTaskEXT = 5364,
|
||||
SpvExecutionModelMeshEXT = 5365,
|
||||
SpvExecutionModelMax = 0x7fffffff,
|
||||
} SpvExecutionModel;
|
||||
|
||||
@ -162,11 +167,21 @@ typedef enum SpvExecutionMode_ {
|
||||
SpvExecutionModeSignedZeroInfNanPreserve = 4461,
|
||||
SpvExecutionModeRoundingModeRTE = 4462,
|
||||
SpvExecutionModeRoundingModeRTZ = 4463,
|
||||
SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
|
||||
SpvExecutionModeStencilRefReplacingEXT = 5027,
|
||||
SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
|
||||
SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
|
||||
SpvExecutionModeStencilRefLessFrontAMD = 5081,
|
||||
SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
|
||||
SpvExecutionModeStencilRefGreaterBackAMD = 5083,
|
||||
SpvExecutionModeStencilRefLessBackAMD = 5084,
|
||||
SpvExecutionModeOutputLinesEXT = 5269,
|
||||
SpvExecutionModeOutputLinesNV = 5269,
|
||||
SpvExecutionModeOutputPrimitivesEXT = 5270,
|
||||
SpvExecutionModeOutputPrimitivesNV = 5270,
|
||||
SpvExecutionModeDerivativeGroupQuadsNV = 5289,
|
||||
SpvExecutionModeDerivativeGroupLinearNV = 5290,
|
||||
SpvExecutionModeOutputTrianglesEXT = 5298,
|
||||
SpvExecutionModeOutputTrianglesNV = 5298,
|
||||
SpvExecutionModePixelInterlockOrderedEXT = 5366,
|
||||
SpvExecutionModePixelInterlockUnorderedEXT = 5367,
|
||||
@ -184,6 +199,7 @@ typedef enum SpvExecutionMode_ {
|
||||
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
|
||||
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
||||
SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
||||
SpvExecutionModeNamedBarrierCountINTEL = 6417,
|
||||
SpvExecutionModeMax = 0x7fffffff,
|
||||
} SpvExecutionMode;
|
||||
|
||||
@ -215,6 +231,7 @@ typedef enum SpvStorageClass_ {
|
||||
SpvStorageClassShaderRecordBufferNV = 5343,
|
||||
SpvStorageClassPhysicalStorageBuffer = 5349,
|
||||
SpvStorageClassPhysicalStorageBufferEXT = 5349,
|
||||
SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
|
||||
SpvStorageClassCodeSectionINTEL = 5605,
|
||||
SpvStorageClassDeviceOnlyINTEL = 5936,
|
||||
SpvStorageClassHostOnlyINTEL = 5937,
|
||||
@ -357,6 +374,8 @@ typedef enum SpvImageOperandsShift_ {
|
||||
SpvImageOperandsVolatileTexelKHRShift = 11,
|
||||
SpvImageOperandsSignExtendShift = 12,
|
||||
SpvImageOperandsZeroExtendShift = 13,
|
||||
SpvImageOperandsNontemporalShift = 14,
|
||||
SpvImageOperandsOffsetsShift = 16,
|
||||
SpvImageOperandsMax = 0x7fffffff,
|
||||
} SpvImageOperandsShift;
|
||||
|
||||
@ -380,6 +399,8 @@ typedef enum SpvImageOperandsMask_ {
|
||||
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
|
||||
SpvImageOperandsSignExtendMask = 0x00001000,
|
||||
SpvImageOperandsZeroExtendMask = 0x00002000,
|
||||
SpvImageOperandsNontemporalMask = 0x00004000,
|
||||
SpvImageOperandsOffsetsMask = 0x00010000,
|
||||
} SpvImageOperandsMask;
|
||||
|
||||
typedef enum SpvFPFastMathModeShift_ {
|
||||
@ -493,9 +514,11 @@ typedef enum SpvDecoration_ {
|
||||
SpvDecorationPassthroughNV = 5250,
|
||||
SpvDecorationViewportRelativeNV = 5252,
|
||||
SpvDecorationSecondaryViewportRelativeNV = 5256,
|
||||
SpvDecorationPerPrimitiveEXT = 5271,
|
||||
SpvDecorationPerPrimitiveNV = 5271,
|
||||
SpvDecorationPerViewNV = 5272,
|
||||
SpvDecorationPerTaskNV = 5273,
|
||||
SpvDecorationPerVertexKHR = 5285,
|
||||
SpvDecorationPerVertexNV = 5285,
|
||||
SpvDecorationNonUniform = 5300,
|
||||
SpvDecorationNonUniformEXT = 5300,
|
||||
@ -503,6 +526,10 @@ typedef enum SpvDecoration_ {
|
||||
SpvDecorationRestrictPointerEXT = 5355,
|
||||
SpvDecorationAliasedPointer = 5356,
|
||||
SpvDecorationAliasedPointerEXT = 5356,
|
||||
SpvDecorationBindlessSamplerNV = 5398,
|
||||
SpvDecorationBindlessImageNV = 5399,
|
||||
SpvDecorationBoundSamplerNV = 5400,
|
||||
SpvDecorationBoundImageNV = 5401,
|
||||
SpvDecorationSIMTCallINTEL = 5599,
|
||||
SpvDecorationReferencedIndirectlyINTEL = 5602,
|
||||
SpvDecorationClobberINTEL = 5607,
|
||||
@ -537,11 +564,14 @@ typedef enum SpvDecoration_ {
|
||||
SpvDecorationPrefetchINTEL = 5902,
|
||||
SpvDecorationStallEnableINTEL = 5905,
|
||||
SpvDecorationFuseLoopsInFunctionINTEL = 5907,
|
||||
SpvDecorationAliasScopeINTEL = 5914,
|
||||
SpvDecorationNoAliasINTEL = 5915,
|
||||
SpvDecorationBufferLocationINTEL = 5921,
|
||||
SpvDecorationIOPipeStorageINTEL = 5944,
|
||||
SpvDecorationFunctionFloatingPointModeINTEL = 6080,
|
||||
SpvDecorationSingleElementVectorINTEL = 6085,
|
||||
SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
|
||||
SpvDecorationMediaBlockIOINTEL = 6140,
|
||||
SpvDecorationMax = 0x7fffffff,
|
||||
} SpvDecoration;
|
||||
|
||||
@ -587,6 +617,11 @@ typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInSubgroupLocalInvocationId = 41,
|
||||
SpvBuiltInVertexIndex = 42,
|
||||
SpvBuiltInInstanceIndex = 43,
|
||||
SpvBuiltInCoreIDARM = 4160,
|
||||
SpvBuiltInCoreCountARM = 4161,
|
||||
SpvBuiltInCoreMaxIDARM = 4162,
|
||||
SpvBuiltInWarpIDARM = 4163,
|
||||
SpvBuiltInWarpMaxIDARM = 4164,
|
||||
SpvBuiltInSubgroupEqMask = 4416,
|
||||
SpvBuiltInSubgroupEqMaskKHR = 4416,
|
||||
SpvBuiltInSubgroupGeMask = 4417,
|
||||
@ -626,12 +661,18 @@ typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInLayerPerViewNV = 5279,
|
||||
SpvBuiltInMeshViewCountNV = 5280,
|
||||
SpvBuiltInMeshViewIndicesNV = 5281,
|
||||
SpvBuiltInBaryCoordKHR = 5286,
|
||||
SpvBuiltInBaryCoordNV = 5286,
|
||||
SpvBuiltInBaryCoordNoPerspKHR = 5287,
|
||||
SpvBuiltInBaryCoordNoPerspNV = 5287,
|
||||
SpvBuiltInFragSizeEXT = 5292,
|
||||
SpvBuiltInFragmentSizeNV = 5292,
|
||||
SpvBuiltInFragInvocationCountEXT = 5293,
|
||||
SpvBuiltInInvocationsPerPixelNV = 5293,
|
||||
SpvBuiltInPrimitivePointIndicesEXT = 5294,
|
||||
SpvBuiltInPrimitiveLineIndicesEXT = 5295,
|
||||
SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
|
||||
SpvBuiltInCullPrimitiveEXT = 5299,
|
||||
SpvBuiltInLaunchIdKHR = 5319,
|
||||
SpvBuiltInLaunchIdNV = 5319,
|
||||
SpvBuiltInLaunchSizeKHR = 5320,
|
||||
@ -665,6 +706,7 @@ typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInSMCountNV = 5375,
|
||||
SpvBuiltInWarpIDNV = 5376,
|
||||
SpvBuiltInSMIDNV = 5377,
|
||||
SpvBuiltInCullMaskKHR = 6021,
|
||||
SpvBuiltInMax = 0x7fffffff,
|
||||
} SpvBuiltIn;
|
||||
|
||||
@ -792,6 +834,8 @@ typedef enum SpvMemoryAccessShift_ {
|
||||
SpvMemoryAccessMakePointerVisibleKHRShift = 4,
|
||||
SpvMemoryAccessNonPrivatePointerShift = 5,
|
||||
SpvMemoryAccessNonPrivatePointerKHRShift = 5,
|
||||
SpvMemoryAccessAliasScopeINTELMaskShift = 16,
|
||||
SpvMemoryAccessNoAliasINTELMaskShift = 17,
|
||||
SpvMemoryAccessMax = 0x7fffffff,
|
||||
} SpvMemoryAccessShift;
|
||||
|
||||
@ -806,6 +850,8 @@ typedef enum SpvMemoryAccessMask_ {
|
||||
SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
||||
SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
|
||||
SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
||||
SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
|
||||
SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
|
||||
} SpvMemoryAccessMask;
|
||||
|
||||
typedef enum SpvScope_ {
|
||||
@ -918,6 +964,8 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityGroupNonUniformQuad = 68,
|
||||
SpvCapabilityShaderLayer = 69,
|
||||
SpvCapabilityShaderViewportIndex = 70,
|
||||
SpvCapabilityUniformDecoration = 71,
|
||||
SpvCapabilityCoreBuiltinsARM = 4165,
|
||||
SpvCapabilityFragmentShadingRateKHR = 4422,
|
||||
SpvCapabilitySubgroupBallotKHR = 4423,
|
||||
SpvCapabilityDrawParameters = 4427,
|
||||
@ -966,6 +1014,8 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
||||
SpvCapabilityMeshShadingNV = 5266,
|
||||
SpvCapabilityImageFootprintNV = 5282,
|
||||
SpvCapabilityMeshShadingEXT = 5283,
|
||||
SpvCapabilityFragmentBarycentricKHR = 5284,
|
||||
SpvCapabilityFragmentBarycentricNV = 5284,
|
||||
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
||||
SpvCapabilityFragmentDensityEXT = 5291,
|
||||
@ -1010,7 +1060,10 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
||||
SpvCapabilityShaderSMBuiltinsNV = 5373,
|
||||
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
|
||||
SpvCapabilityDemoteToHelperInvocation = 5379,
|
||||
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
|
||||
SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
|
||||
SpvCapabilityBindlessTextureNV = 5390,
|
||||
SpvCapabilitySubgroupShuffleINTEL = 5568,
|
||||
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
@ -1043,23 +1096,32 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
|
||||
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
|
||||
SpvCapabilityLoopFuseINTEL = 5906,
|
||||
SpvCapabilityMemoryAccessAliasingINTEL = 5910,
|
||||
SpvCapabilityFPGABufferLocationINTEL = 5920,
|
||||
SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
SpvCapabilityUSMStorageClassesINTEL = 5935,
|
||||
SpvCapabilityIOPipesINTEL = 5943,
|
||||
SpvCapabilityBlockingPipesINTEL = 5945,
|
||||
SpvCapabilityFPGARegINTEL = 5948,
|
||||
SpvCapabilityDotProductInputAll = 6016,
|
||||
SpvCapabilityDotProductInputAllKHR = 6016,
|
||||
SpvCapabilityDotProductInput4x8Bit = 6017,
|
||||
SpvCapabilityDotProductInput4x8BitKHR = 6017,
|
||||
SpvCapabilityDotProductInput4x8BitPacked = 6018,
|
||||
SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
|
||||
SpvCapabilityDotProduct = 6019,
|
||||
SpvCapabilityDotProductKHR = 6019,
|
||||
SpvCapabilityRayCullMaskKHR = 6020,
|
||||
SpvCapabilityBitInstructions = 6025,
|
||||
SpvCapabilityGroupNonUniformRotateKHR = 6026,
|
||||
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
||||
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
||||
SpvCapabilityLongConstantCompositeINTEL = 6089,
|
||||
SpvCapabilityOptNoneINTEL = 6094,
|
||||
SpvCapabilityAtomicFloat16AddEXT = 6095,
|
||||
SpvCapabilityDebugInfoModuleINTEL = 6114,
|
||||
SpvCapabilitySplitBarrierINTEL = 6141,
|
||||
SpvCapabilityGroupUniformArithmeticKHR = 6400,
|
||||
SpvCapabilityMax = 0x7fffffff,
|
||||
} SpvCapability;
|
||||
|
||||
@ -1074,6 +1136,7 @@ typedef enum SpvRayFlagsShift_ {
|
||||
SpvRayFlagsCullNoOpaqueKHRShift = 7,
|
||||
SpvRayFlagsSkipTrianglesKHRShift = 8,
|
||||
SpvRayFlagsSkipAABBsKHRShift = 9,
|
||||
SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
|
||||
SpvRayFlagsMax = 0x7fffffff,
|
||||
} SpvRayFlagsShift;
|
||||
|
||||
@ -1089,6 +1152,7 @@ typedef enum SpvRayFlagsMask_ {
|
||||
SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
|
||||
SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
|
||||
SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
|
||||
SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
|
||||
} SpvRayFlagsMask;
|
||||
|
||||
typedef enum SpvRayQueryIntersection_ {
|
||||
@ -1159,6 +1223,7 @@ typedef enum SpvOverflowModes_ {
|
||||
} SpvOverflowModes;
|
||||
|
||||
typedef enum SpvPackedVectorFormat_ {
|
||||
SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
|
||||
SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
|
||||
SpvPackedVectorFormatMax = 0x7fffffff,
|
||||
} SpvPackedVectorFormat;
|
||||
@ -1514,17 +1579,24 @@ typedef enum SpvOp_ {
|
||||
SpvOpSubgroupAllKHR = 4428,
|
||||
SpvOpSubgroupAnyKHR = 4429,
|
||||
SpvOpSubgroupAllEqualKHR = 4430,
|
||||
SpvOpGroupNonUniformRotateKHR = 4431,
|
||||
SpvOpSubgroupReadInvocationKHR = 4432,
|
||||
SpvOpTraceRayKHR = 4445,
|
||||
SpvOpExecuteCallableKHR = 4446,
|
||||
SpvOpConvertUToAccelerationStructureKHR = 4447,
|
||||
SpvOpIgnoreIntersectionKHR = 4448,
|
||||
SpvOpTerminateRayKHR = 4449,
|
||||
SpvOpSDot = 4450,
|
||||
SpvOpSDotKHR = 4450,
|
||||
SpvOpUDot = 4451,
|
||||
SpvOpUDotKHR = 4451,
|
||||
SpvOpSUDot = 4452,
|
||||
SpvOpSUDotKHR = 4452,
|
||||
SpvOpSDotAccSat = 4453,
|
||||
SpvOpSDotAccSatKHR = 4453,
|
||||
SpvOpUDotAccSat = 4454,
|
||||
SpvOpUDotAccSatKHR = 4454,
|
||||
SpvOpSUDotAccSat = 4455,
|
||||
SpvOpSUDotAccSatKHR = 4455,
|
||||
SpvOpTypeRayQueryKHR = 4472,
|
||||
SpvOpRayQueryInitializeKHR = 4473,
|
||||
@ -1545,6 +1617,8 @@ typedef enum SpvOp_ {
|
||||
SpvOpFragmentFetchAMD = 5012,
|
||||
SpvOpReadClockKHR = 5056,
|
||||
SpvOpImageSampleFootprintNV = 5283,
|
||||
SpvOpEmitMeshTasksEXT = 5294,
|
||||
SpvOpSetMeshOutputsEXT = 5295,
|
||||
SpvOpGroupNonUniformPartitionNV = 5296,
|
||||
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
SpvOpReportIntersectionKHR = 5334,
|
||||
@ -1564,8 +1638,16 @@ typedef enum SpvOp_ {
|
||||
SpvOpCooperativeMatrixLengthNV = 5362,
|
||||
SpvOpBeginInvocationInterlockEXT = 5364,
|
||||
SpvOpEndInvocationInterlockEXT = 5365,
|
||||
SpvOpDemoteToHelperInvocation = 5380,
|
||||
SpvOpDemoteToHelperInvocationEXT = 5380,
|
||||
SpvOpIsHelperInvocationEXT = 5381,
|
||||
SpvOpConvertUToImageNV = 5391,
|
||||
SpvOpConvertUToSamplerNV = 5392,
|
||||
SpvOpConvertImageToUNV = 5393,
|
||||
SpvOpConvertSamplerToUNV = 5394,
|
||||
SpvOpConvertUToSampledImageNV = 5395,
|
||||
SpvOpConvertSampledImageToUNV = 5396,
|
||||
SpvOpSamplerImageAddressingModeNV = 5397,
|
||||
SpvOpSubgroupShuffleINTEL = 5571,
|
||||
SpvOpSubgroupShuffleDownINTEL = 5572,
|
||||
SpvOpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1590,7 +1672,7 @@ typedef enum SpvOp_ {
|
||||
SpvOpUSubSatINTEL = 5596,
|
||||
SpvOpIMul32x16INTEL = 5597,
|
||||
SpvOpUMul32x16INTEL = 5598,
|
||||
SpvOpConstFunctionPointerINTEL = 5600,
|
||||
SpvOpConstantFunctionPointerINTEL = 5600,
|
||||
SpvOpFunctionPointerCallINTEL = 5601,
|
||||
SpvOpAsmTargetINTEL = 5609,
|
||||
SpvOpAsmINTEL = 5610,
|
||||
@ -1766,6 +1848,9 @@ typedef enum SpvOp_ {
|
||||
SpvOpArbitraryFloatPowRINTEL = 5881,
|
||||
SpvOpArbitraryFloatPowNINTEL = 5882,
|
||||
SpvOpLoopControlINTEL = 5887,
|
||||
SpvOpAliasDomainDeclINTEL = 5911,
|
||||
SpvOpAliasScopeDeclINTEL = 5912,
|
||||
SpvOpAliasScopeListDeclINTEL = 5913,
|
||||
SpvOpFixedSqrtINTEL = 5923,
|
||||
SpvOpFixedRecipINTEL = 5924,
|
||||
SpvOpFixedRsqrtINTEL = 5925,
|
||||
@ -1804,10 +1889,23 @@ typedef enum SpvOp_ {
|
||||
SpvOpTypeStructContinuedINTEL = 6090,
|
||||
SpvOpConstantCompositeContinuedINTEL = 6091,
|
||||
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
SpvOpControlBarrierArriveINTEL = 6142,
|
||||
SpvOpControlBarrierWaitINTEL = 6143,
|
||||
SpvOpGroupIMulKHR = 6401,
|
||||
SpvOpGroupFMulKHR = 6402,
|
||||
SpvOpGroupBitwiseAndKHR = 6403,
|
||||
SpvOpGroupBitwiseOrKHR = 6404,
|
||||
SpvOpGroupBitwiseXorKHR = 6405,
|
||||
SpvOpGroupLogicalAndKHR = 6406,
|
||||
SpvOpGroupLogicalOrKHR = 6407,
|
||||
SpvOpGroupLogicalXorKHR = 6408,
|
||||
SpvOpMax = 0x7fffffff,
|
||||
} SpvOp;
|
||||
|
||||
#ifdef SPV_ENABLE_UTILITY_CODE
|
||||
#ifndef __cplusplus
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
|
||||
*hasResult = *hasResultType = false;
|
||||
switch (opcode) {
|
||||
@ -2162,18 +2260,19 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpSDotKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpUDotKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSUDotKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
@ -2193,6 +2292,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2210,8 +2311,15 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
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 SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2236,7 +2344,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2410,6 +2518,9 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2448,6 +2559,16 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
|
||||
}
|
||||
}
|
||||
#endif /* SPV_ENABLE_UTILITY_CODE */
|
||||
|
@ -26,7 +26,7 @@
|
||||
// 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#, D, Beef
|
||||
//
|
||||
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
@ -36,6 +36,8 @@
|
||||
// - 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
|
||||
// - Beef 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
|
||||
@ -49,12 +51,12 @@ namespace spv {
|
||||
|
||||
typedef unsigned int Id;
|
||||
|
||||
#define SPV_VERSION 0x10500
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_VERSION 0x10600
|
||||
#define SPV_REVISION 1
|
||||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 0x00010500;
|
||||
static const unsigned int Revision = 4;
|
||||
static const unsigned int Version = 0x00010600;
|
||||
static const unsigned int Revision = 1;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
|
||||
@ -65,6 +67,8 @@ enum SourceLanguage {
|
||||
SourceLanguageOpenCL_C = 3,
|
||||
SourceLanguageOpenCL_CPP = 4,
|
||||
SourceLanguageHLSL = 5,
|
||||
SourceLanguageCPP_for_OpenCL = 6,
|
||||
SourceLanguageSYCL = 7,
|
||||
SourceLanguageMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -90,6 +94,8 @@ enum ExecutionModel {
|
||||
ExecutionModelMissNV = 5317,
|
||||
ExecutionModelCallableKHR = 5318,
|
||||
ExecutionModelCallableNV = 5318,
|
||||
ExecutionModelTaskEXT = 5364,
|
||||
ExecutionModelMeshEXT = 5365,
|
||||
ExecutionModelMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -150,17 +156,28 @@ enum ExecutionMode {
|
||||
ExecutionModeSubgroupsPerWorkgroupId = 37,
|
||||
ExecutionModeLocalSizeId = 38,
|
||||
ExecutionModeLocalSizeHintId = 39,
|
||||
ExecutionModeSubgroupUniformControlFlowKHR = 4421,
|
||||
ExecutionModePostDepthCoverage = 4446,
|
||||
ExecutionModeDenormPreserve = 4459,
|
||||
ExecutionModeDenormFlushToZero = 4460,
|
||||
ExecutionModeSignedZeroInfNanPreserve = 4461,
|
||||
ExecutionModeRoundingModeRTE = 4462,
|
||||
ExecutionModeRoundingModeRTZ = 4463,
|
||||
ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
|
||||
ExecutionModeStencilRefReplacingEXT = 5027,
|
||||
ExecutionModeStencilRefUnchangedFrontAMD = 5079,
|
||||
ExecutionModeStencilRefGreaterFrontAMD = 5080,
|
||||
ExecutionModeStencilRefLessFrontAMD = 5081,
|
||||
ExecutionModeStencilRefUnchangedBackAMD = 5082,
|
||||
ExecutionModeStencilRefGreaterBackAMD = 5083,
|
||||
ExecutionModeStencilRefLessBackAMD = 5084,
|
||||
ExecutionModeOutputLinesEXT = 5269,
|
||||
ExecutionModeOutputLinesNV = 5269,
|
||||
ExecutionModeOutputPrimitivesEXT = 5270,
|
||||
ExecutionModeOutputPrimitivesNV = 5270,
|
||||
ExecutionModeDerivativeGroupQuadsNV = 5289,
|
||||
ExecutionModeDerivativeGroupLinearNV = 5290,
|
||||
ExecutionModeOutputTrianglesEXT = 5298,
|
||||
ExecutionModeOutputTrianglesNV = 5298,
|
||||
ExecutionModePixelInterlockOrderedEXT = 5366,
|
||||
ExecutionModePixelInterlockUnorderedEXT = 5367,
|
||||
@ -168,10 +185,17 @@ enum ExecutionMode {
|
||||
ExecutionModeSampleInterlockUnorderedEXT = 5369,
|
||||
ExecutionModeShadingRateInterlockOrderedEXT = 5370,
|
||||
ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
|
||||
ExecutionModeSharedLocalMemorySizeINTEL = 5618,
|
||||
ExecutionModeRoundingModeRTPINTEL = 5620,
|
||||
ExecutionModeRoundingModeRTNINTEL = 5621,
|
||||
ExecutionModeFloatingPointModeALTINTEL = 5622,
|
||||
ExecutionModeFloatingPointModeIEEEINTEL = 5623,
|
||||
ExecutionModeMaxWorkgroupSizeINTEL = 5893,
|
||||
ExecutionModeMaxWorkDimINTEL = 5894,
|
||||
ExecutionModeNoGlobalOffsetINTEL = 5895,
|
||||
ExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
||||
ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
||||
ExecutionModeNamedBarrierCountINTEL = 6417,
|
||||
ExecutionModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -203,7 +227,10 @@ enum StorageClass {
|
||||
StorageClassShaderRecordBufferNV = 5343,
|
||||
StorageClassPhysicalStorageBuffer = 5349,
|
||||
StorageClassPhysicalStorageBufferEXT = 5349,
|
||||
StorageClassTaskPayloadWorkgroupEXT = 5402,
|
||||
StorageClassCodeSectionINTEL = 5605,
|
||||
StorageClassDeviceOnlyINTEL = 5936,
|
||||
StorageClassHostOnlyINTEL = 5937,
|
||||
StorageClassMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -343,6 +370,8 @@ enum ImageOperandsShift {
|
||||
ImageOperandsVolatileTexelKHRShift = 11,
|
||||
ImageOperandsSignExtendShift = 12,
|
||||
ImageOperandsZeroExtendShift = 13,
|
||||
ImageOperandsNontemporalShift = 14,
|
||||
ImageOperandsOffsetsShift = 16,
|
||||
ImageOperandsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -366,6 +395,8 @@ enum ImageOperandsMask {
|
||||
ImageOperandsVolatileTexelKHRMask = 0x00000800,
|
||||
ImageOperandsSignExtendMask = 0x00001000,
|
||||
ImageOperandsZeroExtendMask = 0x00002000,
|
||||
ImageOperandsNontemporalMask = 0x00004000,
|
||||
ImageOperandsOffsetsMask = 0x00010000,
|
||||
};
|
||||
|
||||
enum FPFastMathModeShift {
|
||||
@ -374,6 +405,8 @@ enum FPFastMathModeShift {
|
||||
FPFastMathModeNSZShift = 2,
|
||||
FPFastMathModeAllowRecipShift = 3,
|
||||
FPFastMathModeFastShift = 4,
|
||||
FPFastMathModeAllowContractFastINTELShift = 16,
|
||||
FPFastMathModeAllowReassocINTELShift = 17,
|
||||
FPFastMathModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -384,6 +417,8 @@ enum FPFastMathModeMask {
|
||||
FPFastMathModeNSZMask = 0x00000004,
|
||||
FPFastMathModeAllowRecipMask = 0x00000008,
|
||||
FPFastMathModeFastMask = 0x00000010,
|
||||
FPFastMathModeAllowContractFastINTELMask = 0x00010000,
|
||||
FPFastMathModeAllowReassocINTELMask = 0x00020000,
|
||||
};
|
||||
|
||||
enum FPRoundingMode {
|
||||
@ -397,6 +432,7 @@ enum FPRoundingMode {
|
||||
enum LinkageType {
|
||||
LinkageTypeExport = 0,
|
||||
LinkageTypeImport = 1,
|
||||
LinkageTypeLinkOnceODR = 2,
|
||||
LinkageTypeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -474,9 +510,11 @@ enum Decoration {
|
||||
DecorationPassthroughNV = 5250,
|
||||
DecorationViewportRelativeNV = 5252,
|
||||
DecorationSecondaryViewportRelativeNV = 5256,
|
||||
DecorationPerPrimitiveEXT = 5271,
|
||||
DecorationPerPrimitiveNV = 5271,
|
||||
DecorationPerViewNV = 5272,
|
||||
DecorationPerTaskNV = 5273,
|
||||
DecorationPerVertexKHR = 5285,
|
||||
DecorationPerVertexNV = 5285,
|
||||
DecorationNonUniform = 5300,
|
||||
DecorationNonUniformEXT = 5300,
|
||||
@ -484,12 +522,26 @@ enum Decoration {
|
||||
DecorationRestrictPointerEXT = 5355,
|
||||
DecorationAliasedPointer = 5356,
|
||||
DecorationAliasedPointerEXT = 5356,
|
||||
DecorationBindlessSamplerNV = 5398,
|
||||
DecorationBindlessImageNV = 5399,
|
||||
DecorationBoundSamplerNV = 5400,
|
||||
DecorationBoundImageNV = 5401,
|
||||
DecorationSIMTCallINTEL = 5599,
|
||||
DecorationReferencedIndirectlyINTEL = 5602,
|
||||
DecorationClobberINTEL = 5607,
|
||||
DecorationSideEffectsINTEL = 5608,
|
||||
DecorationVectorComputeVariableINTEL = 5624,
|
||||
DecorationFuncParamIOKindINTEL = 5625,
|
||||
DecorationVectorComputeFunctionINTEL = 5626,
|
||||
DecorationStackCallINTEL = 5627,
|
||||
DecorationGlobalVariableOffsetINTEL = 5628,
|
||||
DecorationCounterBuffer = 5634,
|
||||
DecorationHlslCounterBufferGOOGLE = 5634,
|
||||
DecorationHlslSemanticGOOGLE = 5635,
|
||||
DecorationUserSemantic = 5635,
|
||||
DecorationUserTypeGOOGLE = 5636,
|
||||
DecorationFunctionRoundingModeINTEL = 5822,
|
||||
DecorationFunctionDenormModeINTEL = 5823,
|
||||
DecorationRegisterINTEL = 5825,
|
||||
DecorationMemoryINTEL = 5826,
|
||||
DecorationNumbanksINTEL = 5827,
|
||||
@ -502,6 +554,20 @@ enum Decoration {
|
||||
DecorationMergeINTEL = 5834,
|
||||
DecorationBankBitsINTEL = 5835,
|
||||
DecorationForcePow2DepthINTEL = 5836,
|
||||
DecorationBurstCoalesceINTEL = 5899,
|
||||
DecorationCacheSizeINTEL = 5900,
|
||||
DecorationDontStaticallyCoalesceINTEL = 5901,
|
||||
DecorationPrefetchINTEL = 5902,
|
||||
DecorationStallEnableINTEL = 5905,
|
||||
DecorationFuseLoopsInFunctionINTEL = 5907,
|
||||
DecorationAliasScopeINTEL = 5914,
|
||||
DecorationNoAliasINTEL = 5915,
|
||||
DecorationBufferLocationINTEL = 5921,
|
||||
DecorationIOPipeStorageINTEL = 5944,
|
||||
DecorationFunctionFloatingPointModeINTEL = 6080,
|
||||
DecorationSingleElementVectorINTEL = 6085,
|
||||
DecorationVectorComputeCallableFunctionINTEL = 6087,
|
||||
DecorationMediaBlockIOINTEL = 6140,
|
||||
DecorationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -547,6 +613,11 @@ enum BuiltIn {
|
||||
BuiltInSubgroupLocalInvocationId = 41,
|
||||
BuiltInVertexIndex = 42,
|
||||
BuiltInInstanceIndex = 43,
|
||||
BuiltInCoreIDARM = 4160,
|
||||
BuiltInCoreCountARM = 4161,
|
||||
BuiltInCoreMaxIDARM = 4162,
|
||||
BuiltInWarpIDARM = 4163,
|
||||
BuiltInWarpMaxIDARM = 4164,
|
||||
BuiltInSubgroupEqMask = 4416,
|
||||
BuiltInSubgroupEqMaskKHR = 4416,
|
||||
BuiltInSubgroupGeMask = 4417,
|
||||
@ -586,12 +657,18 @@ enum BuiltIn {
|
||||
BuiltInLayerPerViewNV = 5279,
|
||||
BuiltInMeshViewCountNV = 5280,
|
||||
BuiltInMeshViewIndicesNV = 5281,
|
||||
BuiltInBaryCoordKHR = 5286,
|
||||
BuiltInBaryCoordNV = 5286,
|
||||
BuiltInBaryCoordNoPerspKHR = 5287,
|
||||
BuiltInBaryCoordNoPerspNV = 5287,
|
||||
BuiltInFragSizeEXT = 5292,
|
||||
BuiltInFragmentSizeNV = 5292,
|
||||
BuiltInFragInvocationCountEXT = 5293,
|
||||
BuiltInInvocationsPerPixelNV = 5293,
|
||||
BuiltInPrimitivePointIndicesEXT = 5294,
|
||||
BuiltInPrimitiveLineIndicesEXT = 5295,
|
||||
BuiltInPrimitiveTriangleIndicesEXT = 5296,
|
||||
BuiltInCullPrimitiveEXT = 5299,
|
||||
BuiltInLaunchIdKHR = 5319,
|
||||
BuiltInLaunchIdNV = 5319,
|
||||
BuiltInLaunchSizeKHR = 5320,
|
||||
@ -617,6 +694,7 @@ enum BuiltIn {
|
||||
BuiltInHitTNV = 5332,
|
||||
BuiltInHitKindKHR = 5333,
|
||||
BuiltInHitKindNV = 5333,
|
||||
BuiltInCurrentRayTimeNV = 5334,
|
||||
BuiltInIncomingRayFlagsKHR = 5351,
|
||||
BuiltInIncomingRayFlagsNV = 5351,
|
||||
BuiltInRayGeometryIndexKHR = 5352,
|
||||
@ -624,6 +702,7 @@ enum BuiltIn {
|
||||
BuiltInSMCountNV = 5375,
|
||||
BuiltInWarpIDNV = 5376,
|
||||
BuiltInSMIDNV = 5377,
|
||||
BuiltInCullMaskKHR = 6021,
|
||||
BuiltInMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -656,6 +735,7 @@ enum LoopControlShift {
|
||||
LoopControlLoopCoalesceINTELShift = 20,
|
||||
LoopControlMaxInterleavingINTELShift = 21,
|
||||
LoopControlSpeculatedIterationsINTELShift = 22,
|
||||
LoopControlNoFusionINTELShift = 23,
|
||||
LoopControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -677,6 +757,7 @@ enum LoopControlMask {
|
||||
LoopControlLoopCoalesceINTELMask = 0x00100000,
|
||||
LoopControlMaxInterleavingINTELMask = 0x00200000,
|
||||
LoopControlSpeculatedIterationsINTELMask = 0x00400000,
|
||||
LoopControlNoFusionINTELMask = 0x00800000,
|
||||
};
|
||||
|
||||
enum FunctionControlShift {
|
||||
@ -684,6 +765,7 @@ enum FunctionControlShift {
|
||||
FunctionControlDontInlineShift = 1,
|
||||
FunctionControlPureShift = 2,
|
||||
FunctionControlConstShift = 3,
|
||||
FunctionControlOptNoneINTELShift = 16,
|
||||
FunctionControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -693,6 +775,7 @@ enum FunctionControlMask {
|
||||
FunctionControlDontInlineMask = 0x00000002,
|
||||
FunctionControlPureMask = 0x00000004,
|
||||
FunctionControlConstMask = 0x00000008,
|
||||
FunctionControlOptNoneINTELMask = 0x00010000,
|
||||
};
|
||||
|
||||
enum MemorySemanticsShift {
|
||||
@ -747,6 +830,8 @@ enum MemoryAccessShift {
|
||||
MemoryAccessMakePointerVisibleKHRShift = 4,
|
||||
MemoryAccessNonPrivatePointerShift = 5,
|
||||
MemoryAccessNonPrivatePointerKHRShift = 5,
|
||||
MemoryAccessAliasScopeINTELMaskShift = 16,
|
||||
MemoryAccessNoAliasINTELMaskShift = 17,
|
||||
MemoryAccessMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -761,6 +846,8 @@ enum MemoryAccessMask {
|
||||
MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
||||
MemoryAccessNonPrivatePointerMask = 0x00000020,
|
||||
MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
||||
MemoryAccessAliasScopeINTELMaskMask = 0x00010000,
|
||||
MemoryAccessNoAliasINTELMaskMask = 0x00020000,
|
||||
};
|
||||
|
||||
enum Scope {
|
||||
@ -873,9 +960,14 @@ enum Capability {
|
||||
CapabilityGroupNonUniformQuad = 68,
|
||||
CapabilityShaderLayer = 69,
|
||||
CapabilityShaderViewportIndex = 70,
|
||||
CapabilityUniformDecoration = 71,
|
||||
CapabilityCoreBuiltinsARM = 4165,
|
||||
CapabilityFragmentShadingRateKHR = 4422,
|
||||
CapabilitySubgroupBallotKHR = 4423,
|
||||
CapabilityDrawParameters = 4427,
|
||||
CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
|
||||
CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
||||
CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
||||
CapabilitySubgroupVoteKHR = 4431,
|
||||
CapabilityStorageBuffer16BitAccess = 4433,
|
||||
CapabilityStorageUniformBufferBlock16 = 4433,
|
||||
@ -918,6 +1010,8 @@ enum Capability {
|
||||
CapabilityFragmentFullyCoveredEXT = 5265,
|
||||
CapabilityMeshShadingNV = 5266,
|
||||
CapabilityImageFootprintNV = 5282,
|
||||
CapabilityMeshShadingEXT = 5283,
|
||||
CapabilityFragmentBarycentricKHR = 5284,
|
||||
CapabilityFragmentBarycentricNV = 5284,
|
||||
CapabilityComputeDerivativeGroupQuadsNV = 5288,
|
||||
CapabilityFragmentDensityEXT = 5291,
|
||||
@ -948,6 +1042,7 @@ enum Capability {
|
||||
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
CapabilityRayTracingNV = 5340,
|
||||
CapabilityRayTracingMotionBlurNV = 5341,
|
||||
CapabilityVulkanMemoryModel = 5345,
|
||||
CapabilityVulkanMemoryModelKHR = 5345,
|
||||
CapabilityVulkanMemoryModelDeviceScope = 5346,
|
||||
@ -961,26 +1056,68 @@ enum Capability {
|
||||
CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
||||
CapabilityShaderSMBuiltinsNV = 5373,
|
||||
CapabilityFragmentShaderPixelInterlockEXT = 5378,
|
||||
CapabilityDemoteToHelperInvocation = 5379,
|
||||
CapabilityDemoteToHelperInvocationEXT = 5379,
|
||||
CapabilityRayTracingOpacityMicromapEXT = 5381,
|
||||
CapabilityBindlessTextureNV = 5390,
|
||||
CapabilitySubgroupShuffleINTEL = 5568,
|
||||
CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
CapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
||||
CapabilityRoundToInfinityINTEL = 5582,
|
||||
CapabilityFloatingPointModeINTEL = 5583,
|
||||
CapabilityIntegerFunctions2INTEL = 5584,
|
||||
CapabilityFunctionPointersINTEL = 5603,
|
||||
CapabilityIndirectReferencesINTEL = 5604,
|
||||
CapabilityAsmINTEL = 5606,
|
||||
CapabilityAtomicFloat32MinMaxEXT = 5612,
|
||||
CapabilityAtomicFloat64MinMaxEXT = 5613,
|
||||
CapabilityAtomicFloat16MinMaxEXT = 5616,
|
||||
CapabilityVectorComputeINTEL = 5617,
|
||||
CapabilityVectorAnyINTEL = 5619,
|
||||
CapabilityExpectAssumeKHR = 5629,
|
||||
CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
||||
CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
||||
CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
CapabilityVariableLengthArrayINTEL = 5817,
|
||||
CapabilityFunctionFloatControlINTEL = 5821,
|
||||
CapabilityFPGAMemoryAttributesINTEL = 5824,
|
||||
CapabilityFPFastMathModeINTEL = 5837,
|
||||
CapabilityArbitraryPrecisionIntegersINTEL = 5844,
|
||||
CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
|
||||
CapabilityUnstructuredLoopControlsINTEL = 5886,
|
||||
CapabilityFPGALoopControlsINTEL = 5888,
|
||||
CapabilityKernelAttributesINTEL = 5892,
|
||||
CapabilityFPGAKernelAttributesINTEL = 5897,
|
||||
CapabilityFPGAMemoryAccessesINTEL = 5898,
|
||||
CapabilityFPGAClusterAttributesINTEL = 5904,
|
||||
CapabilityLoopFuseINTEL = 5906,
|
||||
CapabilityMemoryAccessAliasingINTEL = 5910,
|
||||
CapabilityFPGABufferLocationINTEL = 5920,
|
||||
CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
CapabilityUSMStorageClassesINTEL = 5935,
|
||||
CapabilityIOPipesINTEL = 5943,
|
||||
CapabilityBlockingPipesINTEL = 5945,
|
||||
CapabilityFPGARegINTEL = 5948,
|
||||
CapabilityDotProductInputAll = 6016,
|
||||
CapabilityDotProductInputAllKHR = 6016,
|
||||
CapabilityDotProductInput4x8Bit = 6017,
|
||||
CapabilityDotProductInput4x8BitKHR = 6017,
|
||||
CapabilityDotProductInput4x8BitPacked = 6018,
|
||||
CapabilityDotProductInput4x8BitPackedKHR = 6018,
|
||||
CapabilityDotProduct = 6019,
|
||||
CapabilityDotProductKHR = 6019,
|
||||
CapabilityRayCullMaskKHR = 6020,
|
||||
CapabilityBitInstructions = 6025,
|
||||
CapabilityGroupNonUniformRotateKHR = 6026,
|
||||
CapabilityAtomicFloat32AddEXT = 6033,
|
||||
CapabilityAtomicFloat64AddEXT = 6034,
|
||||
CapabilityLongConstantCompositeINTEL = 6089,
|
||||
CapabilityOptNoneINTEL = 6094,
|
||||
CapabilityAtomicFloat16AddEXT = 6095,
|
||||
CapabilityDebugInfoModuleINTEL = 6114,
|
||||
CapabilitySplitBarrierINTEL = 6141,
|
||||
CapabilityGroupUniformArithmeticKHR = 6400,
|
||||
CapabilityMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -995,6 +1132,7 @@ enum RayFlagsShift {
|
||||
RayFlagsCullNoOpaqueKHRShift = 7,
|
||||
RayFlagsSkipTrianglesKHRShift = 8,
|
||||
RayFlagsSkipAABBsKHRShift = 9,
|
||||
RayFlagsForceOpacityMicromap2StateEXTShift = 10,
|
||||
RayFlagsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -1010,6 +1148,7 @@ enum RayFlagsMask {
|
||||
RayFlagsCullNoOpaqueKHRMask = 0x00000080,
|
||||
RayFlagsSkipTrianglesKHRMask = 0x00000100,
|
||||
RayFlagsSkipAABBsKHRMask = 0x00000200,
|
||||
RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
|
||||
};
|
||||
|
||||
enum RayQueryIntersection {
|
||||
@ -1047,6 +1186,44 @@ enum FragmentShadingRateMask {
|
||||
FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
|
||||
};
|
||||
|
||||
enum FPDenormMode {
|
||||
FPDenormModePreserve = 0,
|
||||
FPDenormModeFlushToZero = 1,
|
||||
FPDenormModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum FPOperationMode {
|
||||
FPOperationModeIEEE = 0,
|
||||
FPOperationModeALT = 1,
|
||||
FPOperationModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum QuantizationModes {
|
||||
QuantizationModesTRN = 0,
|
||||
QuantizationModesTRN_ZERO = 1,
|
||||
QuantizationModesRND = 2,
|
||||
QuantizationModesRND_ZERO = 3,
|
||||
QuantizationModesRND_INF = 4,
|
||||
QuantizationModesRND_MIN_INF = 5,
|
||||
QuantizationModesRND_CONV = 6,
|
||||
QuantizationModesRND_CONV_ODD = 7,
|
||||
QuantizationModesMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum OverflowModes {
|
||||
OverflowModesWRAP = 0,
|
||||
OverflowModesSAT = 1,
|
||||
OverflowModesSAT_ZERO = 2,
|
||||
OverflowModesSAT_SYM = 3,
|
||||
OverflowModesMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum PackedVectorFormat {
|
||||
PackedVectorFormatPackedVectorFormat4x8Bit = 0,
|
||||
PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
|
||||
PackedVectorFormatMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum Op {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
@ -1398,12 +1575,25 @@ enum Op {
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpGroupNonUniformRotateKHR = 4431,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTraceRayKHR = 4445,
|
||||
OpExecuteCallableKHR = 4446,
|
||||
OpConvertUToAccelerationStructureKHR = 4447,
|
||||
OpIgnoreIntersectionKHR = 4448,
|
||||
OpTerminateRayKHR = 4449,
|
||||
OpSDot = 4450,
|
||||
OpSDotKHR = 4450,
|
||||
OpUDot = 4451,
|
||||
OpUDotKHR = 4451,
|
||||
OpSUDot = 4452,
|
||||
OpSUDotKHR = 4452,
|
||||
OpSDotAccSat = 4453,
|
||||
OpSDotAccSatKHR = 4453,
|
||||
OpUDotAccSat = 4454,
|
||||
OpUDotAccSatKHR = 4454,
|
||||
OpSUDotAccSat = 4455,
|
||||
OpSUDotAccSatKHR = 4455,
|
||||
OpTypeRayQueryKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
@ -1423,6 +1613,8 @@ enum Op {
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpReadClockKHR = 5056,
|
||||
OpImageSampleFootprintNV = 5283,
|
||||
OpEmitMeshTasksEXT = 5294,
|
||||
OpSetMeshOutputsEXT = 5295,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
OpReportIntersectionKHR = 5334,
|
||||
@ -1430,6 +1622,8 @@ enum Op {
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTraceMotionNV = 5338,
|
||||
OpTraceRayMotionNV = 5339,
|
||||
OpTypeAccelerationStructureKHR = 5341,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
@ -1440,8 +1634,16 @@ enum Op {
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocation = 5380,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpConvertUToImageNV = 5391,
|
||||
OpConvertUToSamplerNV = 5392,
|
||||
OpConvertImageToUNV = 5393,
|
||||
OpConvertSamplerToUNV = 5394,
|
||||
OpConvertUToSampledImageNV = 5395,
|
||||
OpConvertSampledImageToUNV = 5396,
|
||||
OpSamplerImageAddressingModeNV = 5397,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1466,8 +1668,15 @@ enum Op {
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpFunctionPointerINTEL = 5600,
|
||||
OpConstantFunctionPointerINTEL = 5600,
|
||||
OpFunctionPointerCallINTEL = 5601,
|
||||
OpAsmTargetINTEL = 5609,
|
||||
OpAsmINTEL = 5610,
|
||||
OpAsmCallINTEL = 5611,
|
||||
OpAtomicFMinEXT = 5614,
|
||||
OpAtomicFMaxEXT = 5615,
|
||||
OpAssumeTrueKHR = 5630,
|
||||
OpExpectKHR = 5631,
|
||||
OpDecorateString = 5632,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateString = 5633,
|
||||
@ -1590,7 +1799,67 @@ enum Op {
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpVariableLengthArrayINTEL = 5818,
|
||||
OpSaveMemoryINTEL = 5819,
|
||||
OpRestoreMemoryINTEL = 5820,
|
||||
OpArbitraryFloatSinCosPiINTEL = 5840,
|
||||
OpArbitraryFloatCastINTEL = 5841,
|
||||
OpArbitraryFloatCastFromIntINTEL = 5842,
|
||||
OpArbitraryFloatCastToIntINTEL = 5843,
|
||||
OpArbitraryFloatAddINTEL = 5846,
|
||||
OpArbitraryFloatSubINTEL = 5847,
|
||||
OpArbitraryFloatMulINTEL = 5848,
|
||||
OpArbitraryFloatDivINTEL = 5849,
|
||||
OpArbitraryFloatGTINTEL = 5850,
|
||||
OpArbitraryFloatGEINTEL = 5851,
|
||||
OpArbitraryFloatLTINTEL = 5852,
|
||||
OpArbitraryFloatLEINTEL = 5853,
|
||||
OpArbitraryFloatEQINTEL = 5854,
|
||||
OpArbitraryFloatRecipINTEL = 5855,
|
||||
OpArbitraryFloatRSqrtINTEL = 5856,
|
||||
OpArbitraryFloatCbrtINTEL = 5857,
|
||||
OpArbitraryFloatHypotINTEL = 5858,
|
||||
OpArbitraryFloatSqrtINTEL = 5859,
|
||||
OpArbitraryFloatLogINTEL = 5860,
|
||||
OpArbitraryFloatLog2INTEL = 5861,
|
||||
OpArbitraryFloatLog10INTEL = 5862,
|
||||
OpArbitraryFloatLog1pINTEL = 5863,
|
||||
OpArbitraryFloatExpINTEL = 5864,
|
||||
OpArbitraryFloatExp2INTEL = 5865,
|
||||
OpArbitraryFloatExp10INTEL = 5866,
|
||||
OpArbitraryFloatExpm1INTEL = 5867,
|
||||
OpArbitraryFloatSinINTEL = 5868,
|
||||
OpArbitraryFloatCosINTEL = 5869,
|
||||
OpArbitraryFloatSinCosINTEL = 5870,
|
||||
OpArbitraryFloatSinPiINTEL = 5871,
|
||||
OpArbitraryFloatCosPiINTEL = 5872,
|
||||
OpArbitraryFloatASinINTEL = 5873,
|
||||
OpArbitraryFloatASinPiINTEL = 5874,
|
||||
OpArbitraryFloatACosINTEL = 5875,
|
||||
OpArbitraryFloatACosPiINTEL = 5876,
|
||||
OpArbitraryFloatATanINTEL = 5877,
|
||||
OpArbitraryFloatATanPiINTEL = 5878,
|
||||
OpArbitraryFloatATan2INTEL = 5879,
|
||||
OpArbitraryFloatPowINTEL = 5880,
|
||||
OpArbitraryFloatPowRINTEL = 5881,
|
||||
OpArbitraryFloatPowNINTEL = 5882,
|
||||
OpLoopControlINTEL = 5887,
|
||||
OpAliasDomainDeclINTEL = 5911,
|
||||
OpAliasScopeDeclINTEL = 5912,
|
||||
OpAliasScopeListDeclINTEL = 5913,
|
||||
OpFixedSqrtINTEL = 5923,
|
||||
OpFixedRecipINTEL = 5924,
|
||||
OpFixedRsqrtINTEL = 5925,
|
||||
OpFixedSinINTEL = 5926,
|
||||
OpFixedCosINTEL = 5927,
|
||||
OpFixedSinCosINTEL = 5928,
|
||||
OpFixedSinPiINTEL = 5929,
|
||||
OpFixedCosPiINTEL = 5930,
|
||||
OpFixedSinCosPiINTEL = 5931,
|
||||
OpFixedLogINTEL = 5932,
|
||||
OpFixedExpINTEL = 5933,
|
||||
OpPtrCastToCrossWorkgroupINTEL = 5934,
|
||||
OpCrossWorkgroupCastToPtrINTEL = 5938,
|
||||
OpReadPipeBlockingINTEL = 5946,
|
||||
OpWritePipeBlockingINTEL = 5947,
|
||||
OpFPGARegINTEL = 5949,
|
||||
@ -1612,10 +1881,27 @@ enum Op {
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
OpAtomicFAddEXT = 6035,
|
||||
OpTypeBufferSurfaceINTEL = 6086,
|
||||
OpTypeStructContinuedINTEL = 6090,
|
||||
OpConstantCompositeContinuedINTEL = 6091,
|
||||
OpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
OpGroupBitwiseOrKHR = 6404,
|
||||
OpGroupBitwiseXorKHR = 6405,
|
||||
OpGroupLogicalAndKHR = 6406,
|
||||
OpGroupLogicalOrKHR = 6407,
|
||||
OpGroupLogicalXorKHR = 6408,
|
||||
OpMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
#ifdef SPV_ENABLE_UTILITY_CODE
|
||||
#ifndef __cplusplus
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
*hasResult = *hasResultType = false;
|
||||
switch (opcode) {
|
||||
@ -1970,12 +2256,19 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSDot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
@ -1995,12 +2288,16 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; 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 OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
@ -2010,8 +2307,15 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
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 OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
|
||||
case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2036,8 +2340,15 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpExpectKHR: *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;
|
||||
@ -2158,7 +2469,67 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2180,6 +2551,20 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
|
||||
}
|
||||
}
|
||||
#endif /* SPV_ENABLE_UTILITY_CODE */
|
||||
|
@ -26,7 +26,7 @@
|
||||
// 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#, D, Beef
|
||||
//
|
||||
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
@ -36,6 +36,8 @@
|
||||
// - 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
|
||||
// - Beef 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
|
||||
@ -49,12 +51,12 @@ namespace spv {
|
||||
|
||||
typedef unsigned int Id;
|
||||
|
||||
#define SPV_VERSION 0x10500
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_VERSION 0x10600
|
||||
#define SPV_REVISION 1
|
||||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 0x00010500;
|
||||
static const unsigned int Revision = 4;
|
||||
static const unsigned int Version = 0x00010600;
|
||||
static const unsigned int Revision = 1;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
|
||||
@ -65,6 +67,8 @@ enum class SourceLanguage : unsigned {
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
CPP_for_OpenCL = 6,
|
||||
SYCL = 7,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -90,6 +94,8 @@ enum class ExecutionModel : unsigned {
|
||||
MissNV = 5317,
|
||||
CallableKHR = 5318,
|
||||
CallableNV = 5318,
|
||||
TaskEXT = 5364,
|
||||
MeshEXT = 5365,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -150,17 +156,28 @@ enum class ExecutionMode : unsigned {
|
||||
SubgroupsPerWorkgroupId = 37,
|
||||
LocalSizeId = 38,
|
||||
LocalSizeHintId = 39,
|
||||
SubgroupUniformControlFlowKHR = 4421,
|
||||
PostDepthCoverage = 4446,
|
||||
DenormPreserve = 4459,
|
||||
DenormFlushToZero = 4460,
|
||||
SignedZeroInfNanPreserve = 4461,
|
||||
RoundingModeRTE = 4462,
|
||||
RoundingModeRTZ = 4463,
|
||||
EarlyAndLateFragmentTestsAMD = 5017,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
StencilRefUnchangedFrontAMD = 5079,
|
||||
StencilRefGreaterFrontAMD = 5080,
|
||||
StencilRefLessFrontAMD = 5081,
|
||||
StencilRefUnchangedBackAMD = 5082,
|
||||
StencilRefGreaterBackAMD = 5083,
|
||||
StencilRefLessBackAMD = 5084,
|
||||
OutputLinesEXT = 5269,
|
||||
OutputLinesNV = 5269,
|
||||
OutputPrimitivesEXT = 5270,
|
||||
OutputPrimitivesNV = 5270,
|
||||
DerivativeGroupQuadsNV = 5289,
|
||||
DerivativeGroupLinearNV = 5290,
|
||||
OutputTrianglesEXT = 5298,
|
||||
OutputTrianglesNV = 5298,
|
||||
PixelInterlockOrderedEXT = 5366,
|
||||
PixelInterlockUnorderedEXT = 5367,
|
||||
@ -168,10 +185,17 @@ enum class ExecutionMode : unsigned {
|
||||
SampleInterlockUnorderedEXT = 5369,
|
||||
ShadingRateInterlockOrderedEXT = 5370,
|
||||
ShadingRateInterlockUnorderedEXT = 5371,
|
||||
SharedLocalMemorySizeINTEL = 5618,
|
||||
RoundingModeRTPINTEL = 5620,
|
||||
RoundingModeRTNINTEL = 5621,
|
||||
FloatingPointModeALTINTEL = 5622,
|
||||
FloatingPointModeIEEEINTEL = 5623,
|
||||
MaxWorkgroupSizeINTEL = 5893,
|
||||
MaxWorkDimINTEL = 5894,
|
||||
NoGlobalOffsetINTEL = 5895,
|
||||
NumSIMDWorkitemsINTEL = 5896,
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -203,7 +227,10 @@ enum class StorageClass : unsigned {
|
||||
ShaderRecordBufferNV = 5343,
|
||||
PhysicalStorageBuffer = 5349,
|
||||
PhysicalStorageBufferEXT = 5349,
|
||||
TaskPayloadWorkgroupEXT = 5402,
|
||||
CodeSectionINTEL = 5605,
|
||||
DeviceOnlyINTEL = 5936,
|
||||
HostOnlyINTEL = 5937,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -343,6 +370,8 @@ enum class ImageOperandsShift : unsigned {
|
||||
VolatileTexelKHR = 11,
|
||||
SignExtend = 12,
|
||||
ZeroExtend = 13,
|
||||
Nontemporal = 14,
|
||||
Offsets = 16,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -366,6 +395,8 @@ enum class ImageOperandsMask : unsigned {
|
||||
VolatileTexelKHR = 0x00000800,
|
||||
SignExtend = 0x00001000,
|
||||
ZeroExtend = 0x00002000,
|
||||
Nontemporal = 0x00004000,
|
||||
Offsets = 0x00010000,
|
||||
};
|
||||
|
||||
enum class FPFastMathModeShift : unsigned {
|
||||
@ -374,6 +405,8 @@ enum class FPFastMathModeShift : unsigned {
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
AllowContractFastINTEL = 16,
|
||||
AllowReassocINTEL = 17,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -384,6 +417,8 @@ enum class FPFastMathModeMask : unsigned {
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
AllowContractFastINTEL = 0x00010000,
|
||||
AllowReassocINTEL = 0x00020000,
|
||||
};
|
||||
|
||||
enum class FPRoundingMode : unsigned {
|
||||
@ -397,6 +432,7 @@ enum class FPRoundingMode : unsigned {
|
||||
enum class LinkageType : unsigned {
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -474,9 +510,11 @@ enum class Decoration : unsigned {
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
PerPrimitiveEXT = 5271,
|
||||
PerPrimitiveNV = 5271,
|
||||
PerViewNV = 5272,
|
||||
PerTaskNV = 5273,
|
||||
PerVertexKHR = 5285,
|
||||
PerVertexNV = 5285,
|
||||
NonUniform = 5300,
|
||||
NonUniformEXT = 5300,
|
||||
@ -484,12 +522,26 @@ enum class Decoration : unsigned {
|
||||
RestrictPointerEXT = 5355,
|
||||
AliasedPointer = 5356,
|
||||
AliasedPointerEXT = 5356,
|
||||
BindlessSamplerNV = 5398,
|
||||
BindlessImageNV = 5399,
|
||||
BoundSamplerNV = 5400,
|
||||
BoundImageNV = 5401,
|
||||
SIMTCallINTEL = 5599,
|
||||
ReferencedIndirectlyINTEL = 5602,
|
||||
ClobberINTEL = 5607,
|
||||
SideEffectsINTEL = 5608,
|
||||
VectorComputeVariableINTEL = 5624,
|
||||
FuncParamIOKindINTEL = 5625,
|
||||
VectorComputeFunctionINTEL = 5626,
|
||||
StackCallINTEL = 5627,
|
||||
GlobalVariableOffsetINTEL = 5628,
|
||||
CounterBuffer = 5634,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
UserSemantic = 5635,
|
||||
UserTypeGOOGLE = 5636,
|
||||
FunctionRoundingModeINTEL = 5822,
|
||||
FunctionDenormModeINTEL = 5823,
|
||||
RegisterINTEL = 5825,
|
||||
MemoryINTEL = 5826,
|
||||
NumbanksINTEL = 5827,
|
||||
@ -502,6 +554,20 @@ enum class Decoration : unsigned {
|
||||
MergeINTEL = 5834,
|
||||
BankBitsINTEL = 5835,
|
||||
ForcePow2DepthINTEL = 5836,
|
||||
BurstCoalesceINTEL = 5899,
|
||||
CacheSizeINTEL = 5900,
|
||||
DontStaticallyCoalesceINTEL = 5901,
|
||||
PrefetchINTEL = 5902,
|
||||
StallEnableINTEL = 5905,
|
||||
FuseLoopsInFunctionINTEL = 5907,
|
||||
AliasScopeINTEL = 5914,
|
||||
NoAliasINTEL = 5915,
|
||||
BufferLocationINTEL = 5921,
|
||||
IOPipeStorageINTEL = 5944,
|
||||
FunctionFloatingPointModeINTEL = 6080,
|
||||
SingleElementVectorINTEL = 6085,
|
||||
VectorComputeCallableFunctionINTEL = 6087,
|
||||
MediaBlockIOINTEL = 6140,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -547,6 +613,11 @@ enum class BuiltIn : unsigned {
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
WarpIDARM = 4163,
|
||||
WarpMaxIDARM = 4164,
|
||||
SubgroupEqMask = 4416,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMask = 4417,
|
||||
@ -586,12 +657,18 @@ enum class BuiltIn : unsigned {
|
||||
LayerPerViewNV = 5279,
|
||||
MeshViewCountNV = 5280,
|
||||
MeshViewIndicesNV = 5281,
|
||||
BaryCoordKHR = 5286,
|
||||
BaryCoordNV = 5286,
|
||||
BaryCoordNoPerspKHR = 5287,
|
||||
BaryCoordNoPerspNV = 5287,
|
||||
FragSizeEXT = 5292,
|
||||
FragmentSizeNV = 5292,
|
||||
FragInvocationCountEXT = 5293,
|
||||
InvocationsPerPixelNV = 5293,
|
||||
PrimitivePointIndicesEXT = 5294,
|
||||
PrimitiveLineIndicesEXT = 5295,
|
||||
PrimitiveTriangleIndicesEXT = 5296,
|
||||
CullPrimitiveEXT = 5299,
|
||||
LaunchIdKHR = 5319,
|
||||
LaunchIdNV = 5319,
|
||||
LaunchSizeKHR = 5320,
|
||||
@ -617,6 +694,7 @@ enum class BuiltIn : unsigned {
|
||||
HitTNV = 5332,
|
||||
HitKindKHR = 5333,
|
||||
HitKindNV = 5333,
|
||||
CurrentRayTimeNV = 5334,
|
||||
IncomingRayFlagsKHR = 5351,
|
||||
IncomingRayFlagsNV = 5351,
|
||||
RayGeometryIndexKHR = 5352,
|
||||
@ -624,6 +702,7 @@ enum class BuiltIn : unsigned {
|
||||
SMCountNV = 5375,
|
||||
WarpIDNV = 5376,
|
||||
SMIDNV = 5377,
|
||||
CullMaskKHR = 6021,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -656,6 +735,7 @@ enum class LoopControlShift : unsigned {
|
||||
LoopCoalesceINTEL = 20,
|
||||
MaxInterleavingINTEL = 21,
|
||||
SpeculatedIterationsINTEL = 22,
|
||||
NoFusionINTEL = 23,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -677,6 +757,7 @@ enum class LoopControlMask : unsigned {
|
||||
LoopCoalesceINTEL = 0x00100000,
|
||||
MaxInterleavingINTEL = 0x00200000,
|
||||
SpeculatedIterationsINTEL = 0x00400000,
|
||||
NoFusionINTEL = 0x00800000,
|
||||
};
|
||||
|
||||
enum class FunctionControlShift : unsigned {
|
||||
@ -684,6 +765,7 @@ enum class FunctionControlShift : unsigned {
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
OptNoneINTEL = 16,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -693,6 +775,7 @@ enum class FunctionControlMask : unsigned {
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
OptNoneINTEL = 0x00010000,
|
||||
};
|
||||
|
||||
enum class MemorySemanticsShift : unsigned {
|
||||
@ -747,6 +830,8 @@ enum class MemoryAccessShift : unsigned {
|
||||
MakePointerVisibleKHR = 4,
|
||||
NonPrivatePointer = 5,
|
||||
NonPrivatePointerKHR = 5,
|
||||
AliasScopeINTELMask = 16,
|
||||
NoAliasINTELMask = 17,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -761,6 +846,8 @@ enum class MemoryAccessMask : unsigned {
|
||||
MakePointerVisibleKHR = 0x00000010,
|
||||
NonPrivatePointer = 0x00000020,
|
||||
NonPrivatePointerKHR = 0x00000020,
|
||||
AliasScopeINTELMask = 0x00010000,
|
||||
NoAliasINTELMask = 0x00020000,
|
||||
};
|
||||
|
||||
enum class Scope : unsigned {
|
||||
@ -873,9 +960,14 @@ enum class Capability : unsigned {
|
||||
GroupNonUniformQuad = 68,
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
CoreBuiltinsARM = 4165,
|
||||
FragmentShadingRateKHR = 4422,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
WorkgroupMemoryExplicitLayoutKHR = 4428,
|
||||
WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
||||
WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
@ -918,6 +1010,8 @@ enum class Capability : unsigned {
|
||||
FragmentFullyCoveredEXT = 5265,
|
||||
MeshShadingNV = 5266,
|
||||
ImageFootprintNV = 5282,
|
||||
MeshShadingEXT = 5283,
|
||||
FragmentBarycentricKHR = 5284,
|
||||
FragmentBarycentricNV = 5284,
|
||||
ComputeDerivativeGroupQuadsNV = 5288,
|
||||
FragmentDensityEXT = 5291,
|
||||
@ -948,6 +1042,7 @@ enum class Capability : unsigned {
|
||||
StorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
RayTracingNV = 5340,
|
||||
RayTracingMotionBlurNV = 5341,
|
||||
VulkanMemoryModel = 5345,
|
||||
VulkanMemoryModelKHR = 5345,
|
||||
VulkanMemoryModelDeviceScope = 5346,
|
||||
@ -961,26 +1056,68 @@ enum class Capability : unsigned {
|
||||
FragmentShaderShadingRateInterlockEXT = 5372,
|
||||
ShaderSMBuiltinsNV = 5373,
|
||||
FragmentShaderPixelInterlockEXT = 5378,
|
||||
DemoteToHelperInvocation = 5379,
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
BindlessTextureNV = 5390,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
SubgroupImageMediaBlockIOINTEL = 5579,
|
||||
RoundToInfinityINTEL = 5582,
|
||||
FloatingPointModeINTEL = 5583,
|
||||
IntegerFunctions2INTEL = 5584,
|
||||
FunctionPointersINTEL = 5603,
|
||||
IndirectReferencesINTEL = 5604,
|
||||
AsmINTEL = 5606,
|
||||
AtomicFloat32MinMaxEXT = 5612,
|
||||
AtomicFloat64MinMaxEXT = 5613,
|
||||
AtomicFloat16MinMaxEXT = 5616,
|
||||
VectorComputeINTEL = 5617,
|
||||
VectorAnyINTEL = 5619,
|
||||
ExpectAssumeKHR = 5629,
|
||||
SubgroupAvcMotionEstimationINTEL = 5696,
|
||||
SubgroupAvcMotionEstimationIntraINTEL = 5697,
|
||||
SubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
VariableLengthArrayINTEL = 5817,
|
||||
FunctionFloatControlINTEL = 5821,
|
||||
FPGAMemoryAttributesINTEL = 5824,
|
||||
FPFastMathModeINTEL = 5837,
|
||||
ArbitraryPrecisionIntegersINTEL = 5844,
|
||||
ArbitraryPrecisionFloatingPointINTEL = 5845,
|
||||
UnstructuredLoopControlsINTEL = 5886,
|
||||
FPGALoopControlsINTEL = 5888,
|
||||
KernelAttributesINTEL = 5892,
|
||||
FPGAKernelAttributesINTEL = 5897,
|
||||
FPGAMemoryAccessesINTEL = 5898,
|
||||
FPGAClusterAttributesINTEL = 5904,
|
||||
LoopFuseINTEL = 5906,
|
||||
MemoryAccessAliasingINTEL = 5910,
|
||||
FPGABufferLocationINTEL = 5920,
|
||||
ArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
USMStorageClassesINTEL = 5935,
|
||||
IOPipesINTEL = 5943,
|
||||
BlockingPipesINTEL = 5945,
|
||||
FPGARegINTEL = 5948,
|
||||
DotProductInputAll = 6016,
|
||||
DotProductInputAllKHR = 6016,
|
||||
DotProductInput4x8Bit = 6017,
|
||||
DotProductInput4x8BitKHR = 6017,
|
||||
DotProductInput4x8BitPacked = 6018,
|
||||
DotProductInput4x8BitPackedKHR = 6018,
|
||||
DotProduct = 6019,
|
||||
DotProductKHR = 6019,
|
||||
RayCullMaskKHR = 6020,
|
||||
BitInstructions = 6025,
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongConstantCompositeINTEL = 6089,
|
||||
OptNoneINTEL = 6094,
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
SplitBarrierINTEL = 6141,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -995,6 +1132,7 @@ enum class RayFlagsShift : unsigned {
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -1010,6 +1148,7 @@ enum class RayFlagsMask : unsigned {
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
};
|
||||
|
||||
enum class RayQueryIntersection : unsigned {
|
||||
@ -1047,6 +1186,44 @@ enum class FragmentShadingRateMask : unsigned {
|
||||
Horizontal4Pixels = 0x00000008,
|
||||
};
|
||||
|
||||
enum class FPDenormMode : unsigned {
|
||||
Preserve = 0,
|
||||
FlushToZero = 1,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class FPOperationMode : unsigned {
|
||||
IEEE = 0,
|
||||
ALT = 1,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class QuantizationModes : unsigned {
|
||||
TRN = 0,
|
||||
TRN_ZERO = 1,
|
||||
RND = 2,
|
||||
RND_ZERO = 3,
|
||||
RND_INF = 4,
|
||||
RND_MIN_INF = 5,
|
||||
RND_CONV = 6,
|
||||
RND_CONV_ODD = 7,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class OverflowModes : unsigned {
|
||||
WRAP = 0,
|
||||
SAT = 1,
|
||||
SAT_ZERO = 2,
|
||||
SAT_SYM = 3,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class PackedVectorFormat : unsigned {
|
||||
PackedVectorFormat4x8Bit = 0,
|
||||
PackedVectorFormat4x8BitKHR = 0,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum class Op : unsigned {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
@ -1398,12 +1575,25 @@ enum class Op : unsigned {
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpGroupNonUniformRotateKHR = 4431,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTraceRayKHR = 4445,
|
||||
OpExecuteCallableKHR = 4446,
|
||||
OpConvertUToAccelerationStructureKHR = 4447,
|
||||
OpIgnoreIntersectionKHR = 4448,
|
||||
OpTerminateRayKHR = 4449,
|
||||
OpSDot = 4450,
|
||||
OpSDotKHR = 4450,
|
||||
OpUDot = 4451,
|
||||
OpUDotKHR = 4451,
|
||||
OpSUDot = 4452,
|
||||
OpSUDotKHR = 4452,
|
||||
OpSDotAccSat = 4453,
|
||||
OpSDotAccSatKHR = 4453,
|
||||
OpUDotAccSat = 4454,
|
||||
OpUDotAccSatKHR = 4454,
|
||||
OpSUDotAccSat = 4455,
|
||||
OpSUDotAccSatKHR = 4455,
|
||||
OpTypeRayQueryKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
@ -1423,6 +1613,8 @@ enum class Op : unsigned {
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpReadClockKHR = 5056,
|
||||
OpImageSampleFootprintNV = 5283,
|
||||
OpEmitMeshTasksEXT = 5294,
|
||||
OpSetMeshOutputsEXT = 5295,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
OpReportIntersectionKHR = 5334,
|
||||
@ -1430,6 +1622,8 @@ enum class Op : unsigned {
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTraceMotionNV = 5338,
|
||||
OpTraceRayMotionNV = 5339,
|
||||
OpTypeAccelerationStructureKHR = 5341,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
@ -1440,8 +1634,16 @@ enum class Op : unsigned {
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocation = 5380,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpConvertUToImageNV = 5391,
|
||||
OpConvertUToSamplerNV = 5392,
|
||||
OpConvertImageToUNV = 5393,
|
||||
OpConvertSamplerToUNV = 5394,
|
||||
OpConvertUToSampledImageNV = 5395,
|
||||
OpConvertSampledImageToUNV = 5396,
|
||||
OpSamplerImageAddressingModeNV = 5397,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1466,8 +1668,15 @@ enum class Op : unsigned {
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpFunctionPointerINTEL = 5600,
|
||||
OpConstantFunctionPointerINTEL = 5600,
|
||||
OpFunctionPointerCallINTEL = 5601,
|
||||
OpAsmTargetINTEL = 5609,
|
||||
OpAsmINTEL = 5610,
|
||||
OpAsmCallINTEL = 5611,
|
||||
OpAtomicFMinEXT = 5614,
|
||||
OpAtomicFMaxEXT = 5615,
|
||||
OpAssumeTrueKHR = 5630,
|
||||
OpExpectKHR = 5631,
|
||||
OpDecorateString = 5632,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateString = 5633,
|
||||
@ -1590,7 +1799,67 @@ enum class Op : unsigned {
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpVariableLengthArrayINTEL = 5818,
|
||||
OpSaveMemoryINTEL = 5819,
|
||||
OpRestoreMemoryINTEL = 5820,
|
||||
OpArbitraryFloatSinCosPiINTEL = 5840,
|
||||
OpArbitraryFloatCastINTEL = 5841,
|
||||
OpArbitraryFloatCastFromIntINTEL = 5842,
|
||||
OpArbitraryFloatCastToIntINTEL = 5843,
|
||||
OpArbitraryFloatAddINTEL = 5846,
|
||||
OpArbitraryFloatSubINTEL = 5847,
|
||||
OpArbitraryFloatMulINTEL = 5848,
|
||||
OpArbitraryFloatDivINTEL = 5849,
|
||||
OpArbitraryFloatGTINTEL = 5850,
|
||||
OpArbitraryFloatGEINTEL = 5851,
|
||||
OpArbitraryFloatLTINTEL = 5852,
|
||||
OpArbitraryFloatLEINTEL = 5853,
|
||||
OpArbitraryFloatEQINTEL = 5854,
|
||||
OpArbitraryFloatRecipINTEL = 5855,
|
||||
OpArbitraryFloatRSqrtINTEL = 5856,
|
||||
OpArbitraryFloatCbrtINTEL = 5857,
|
||||
OpArbitraryFloatHypotINTEL = 5858,
|
||||
OpArbitraryFloatSqrtINTEL = 5859,
|
||||
OpArbitraryFloatLogINTEL = 5860,
|
||||
OpArbitraryFloatLog2INTEL = 5861,
|
||||
OpArbitraryFloatLog10INTEL = 5862,
|
||||
OpArbitraryFloatLog1pINTEL = 5863,
|
||||
OpArbitraryFloatExpINTEL = 5864,
|
||||
OpArbitraryFloatExp2INTEL = 5865,
|
||||
OpArbitraryFloatExp10INTEL = 5866,
|
||||
OpArbitraryFloatExpm1INTEL = 5867,
|
||||
OpArbitraryFloatSinINTEL = 5868,
|
||||
OpArbitraryFloatCosINTEL = 5869,
|
||||
OpArbitraryFloatSinCosINTEL = 5870,
|
||||
OpArbitraryFloatSinPiINTEL = 5871,
|
||||
OpArbitraryFloatCosPiINTEL = 5872,
|
||||
OpArbitraryFloatASinINTEL = 5873,
|
||||
OpArbitraryFloatASinPiINTEL = 5874,
|
||||
OpArbitraryFloatACosINTEL = 5875,
|
||||
OpArbitraryFloatACosPiINTEL = 5876,
|
||||
OpArbitraryFloatATanINTEL = 5877,
|
||||
OpArbitraryFloatATanPiINTEL = 5878,
|
||||
OpArbitraryFloatATan2INTEL = 5879,
|
||||
OpArbitraryFloatPowINTEL = 5880,
|
||||
OpArbitraryFloatPowRINTEL = 5881,
|
||||
OpArbitraryFloatPowNINTEL = 5882,
|
||||
OpLoopControlINTEL = 5887,
|
||||
OpAliasDomainDeclINTEL = 5911,
|
||||
OpAliasScopeDeclINTEL = 5912,
|
||||
OpAliasScopeListDeclINTEL = 5913,
|
||||
OpFixedSqrtINTEL = 5923,
|
||||
OpFixedRecipINTEL = 5924,
|
||||
OpFixedRsqrtINTEL = 5925,
|
||||
OpFixedSinINTEL = 5926,
|
||||
OpFixedCosINTEL = 5927,
|
||||
OpFixedSinCosINTEL = 5928,
|
||||
OpFixedSinPiINTEL = 5929,
|
||||
OpFixedCosPiINTEL = 5930,
|
||||
OpFixedSinCosPiINTEL = 5931,
|
||||
OpFixedLogINTEL = 5932,
|
||||
OpFixedExpINTEL = 5933,
|
||||
OpPtrCastToCrossWorkgroupINTEL = 5934,
|
||||
OpCrossWorkgroupCastToPtrINTEL = 5938,
|
||||
OpReadPipeBlockingINTEL = 5946,
|
||||
OpWritePipeBlockingINTEL = 5947,
|
||||
OpFPGARegINTEL = 5949,
|
||||
@ -1612,10 +1881,27 @@ enum class Op : unsigned {
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
OpAtomicFAddEXT = 6035,
|
||||
OpTypeBufferSurfaceINTEL = 6086,
|
||||
OpTypeStructContinuedINTEL = 6090,
|
||||
OpConstantCompositeContinuedINTEL = 6091,
|
||||
OpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
OpGroupBitwiseOrKHR = 6404,
|
||||
OpGroupBitwiseXorKHR = 6405,
|
||||
OpGroupLogicalAndKHR = 6406,
|
||||
OpGroupLogicalOrKHR = 6407,
|
||||
OpGroupLogicalXorKHR = 6408,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
#ifdef SPV_ENABLE_UTILITY_CODE
|
||||
#ifndef __cplusplus
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
*hasResult = *hasResultType = false;
|
||||
switch (opcode) {
|
||||
@ -1970,12 +2256,19 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
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::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpSDot: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
@ -1995,12 +2288,16 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; 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::OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
@ -2010,8 +2307,15 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
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::OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; 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;
|
||||
@ -2036,8 +2340,15 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpExpectKHR: *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;
|
||||
@ -2158,7 +2469,67 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2180,6 +2551,20 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case Op::OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
|
||||
}
|
||||
}
|
||||
#endif /* SPV_ENABLE_UTILITY_CODE */
|
||||
|
@ -36,7 +36,7 @@
|
||||
],
|
||||
[
|
||||
"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#, D, Beef",
|
||||
"",
|
||||
"- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL",
|
||||
"- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL",
|
||||
@ -46,6 +46,8 @@
|
||||
"- 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",
|
||||
"- Beef 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",
|
||||
@ -54,8 +56,8 @@
|
||||
]
|
||||
],
|
||||
"MagicNumber": 119734787,
|
||||
"Version": 66816,
|
||||
"Revision": 4,
|
||||
"Version": 67072,
|
||||
"Revision": 1,
|
||||
"OpCodeMask": 65535,
|
||||
"WordCountShift": 16
|
||||
},
|
||||
@ -71,7 +73,9 @@
|
||||
"GLSL": 2,
|
||||
"OpenCL_C": 3,
|
||||
"OpenCL_CPP": 4,
|
||||
"HLSL": 5
|
||||
"HLSL": 5,
|
||||
"CPP_for_OpenCL": 6,
|
||||
"SYCL": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -99,7 +103,9 @@
|
||||
"MissKHR": 5317,
|
||||
"MissNV": 5317,
|
||||
"CallableKHR": 5318,
|
||||
"CallableNV": 5318
|
||||
"CallableNV": 5318,
|
||||
"TaskEXT": 5364,
|
||||
"MeshEXT": 5365
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -169,17 +175,28 @@
|
||||
"SubgroupsPerWorkgroupId": 37,
|
||||
"LocalSizeId": 38,
|
||||
"LocalSizeHintId": 39,
|
||||
"SubgroupUniformControlFlowKHR": 4421,
|
||||
"PostDepthCoverage": 4446,
|
||||
"DenormPreserve": 4459,
|
||||
"DenormFlushToZero": 4460,
|
||||
"SignedZeroInfNanPreserve": 4461,
|
||||
"RoundingModeRTE": 4462,
|
||||
"RoundingModeRTZ": 4463,
|
||||
"EarlyAndLateFragmentTestsAMD": 5017,
|
||||
"StencilRefReplacingEXT": 5027,
|
||||
"StencilRefUnchangedFrontAMD": 5079,
|
||||
"StencilRefGreaterFrontAMD": 5080,
|
||||
"StencilRefLessFrontAMD": 5081,
|
||||
"StencilRefUnchangedBackAMD": 5082,
|
||||
"StencilRefGreaterBackAMD": 5083,
|
||||
"StencilRefLessBackAMD": 5084,
|
||||
"OutputLinesEXT": 5269,
|
||||
"OutputLinesNV": 5269,
|
||||
"OutputPrimitivesEXT": 5270,
|
||||
"OutputPrimitivesNV": 5270,
|
||||
"DerivativeGroupQuadsNV": 5289,
|
||||
"DerivativeGroupLinearNV": 5290,
|
||||
"OutputTrianglesEXT": 5298,
|
||||
"OutputTrianglesNV": 5298,
|
||||
"PixelInterlockOrderedEXT": 5366,
|
||||
"PixelInterlockUnorderedEXT": 5367,
|
||||
@ -187,10 +204,17 @@
|
||||
"SampleInterlockUnorderedEXT": 5369,
|
||||
"ShadingRateInterlockOrderedEXT": 5370,
|
||||
"ShadingRateInterlockUnorderedEXT": 5371,
|
||||
"SharedLocalMemorySizeINTEL": 5618,
|
||||
"RoundingModeRTPINTEL": 5620,
|
||||
"RoundingModeRTNINTEL": 5621,
|
||||
"FloatingPointModeALTINTEL": 5622,
|
||||
"FloatingPointModeIEEEINTEL": 5623,
|
||||
"MaxWorkgroupSizeINTEL": 5893,
|
||||
"MaxWorkDimINTEL": 5894,
|
||||
"NoGlobalOffsetINTEL": 5895,
|
||||
"NumSIMDWorkitemsINTEL": 5896
|
||||
"NumSIMDWorkitemsINTEL": 5896,
|
||||
"SchedulerTargetFmaxMhzINTEL": 5903,
|
||||
"NamedBarrierCountINTEL": 6417
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -225,7 +249,10 @@
|
||||
"ShaderRecordBufferNV": 5343,
|
||||
"PhysicalStorageBuffer": 5349,
|
||||
"PhysicalStorageBufferEXT": 5349,
|
||||
"CodeSectionINTEL": 5605
|
||||
"TaskPayloadWorkgroupEXT": 5402,
|
||||
"CodeSectionINTEL": 5605,
|
||||
"DeviceOnlyINTEL": 5936,
|
||||
"HostOnlyINTEL": 5937
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -385,7 +412,9 @@
|
||||
"VolatileTexel": 11,
|
||||
"VolatileTexelKHR": 11,
|
||||
"SignExtend": 12,
|
||||
"ZeroExtend": 13
|
||||
"ZeroExtend": 13,
|
||||
"Nontemporal": 14,
|
||||
"Offsets": 16
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -397,7 +426,9 @@
|
||||
"NotInf": 1,
|
||||
"NSZ": 2,
|
||||
"AllowRecip": 3,
|
||||
"Fast": 4
|
||||
"Fast": 4,
|
||||
"AllowContractFastINTEL": 16,
|
||||
"AllowReassocINTEL": 17
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -417,7 +448,8 @@
|
||||
"Values":
|
||||
{
|
||||
"Export": 0,
|
||||
"Import": 1
|
||||
"Import": 1,
|
||||
"LinkOnceODR": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -504,9 +536,11 @@
|
||||
"PassthroughNV": 5250,
|
||||
"ViewportRelativeNV": 5252,
|
||||
"SecondaryViewportRelativeNV": 5256,
|
||||
"PerPrimitiveEXT": 5271,
|
||||
"PerPrimitiveNV": 5271,
|
||||
"PerViewNV": 5272,
|
||||
"PerTaskNV": 5273,
|
||||
"PerVertexKHR": 5285,
|
||||
"PerVertexNV": 5285,
|
||||
"NonUniform": 5300,
|
||||
"NonUniformEXT": 5300,
|
||||
@ -514,12 +548,26 @@
|
||||
"RestrictPointerEXT": 5355,
|
||||
"AliasedPointer": 5356,
|
||||
"AliasedPointerEXT": 5356,
|
||||
"BindlessSamplerNV": 5398,
|
||||
"BindlessImageNV": 5399,
|
||||
"BoundSamplerNV": 5400,
|
||||
"BoundImageNV": 5401,
|
||||
"SIMTCallINTEL": 5599,
|
||||
"ReferencedIndirectlyINTEL": 5602,
|
||||
"ClobberINTEL": 5607,
|
||||
"SideEffectsINTEL": 5608,
|
||||
"VectorComputeVariableINTEL": 5624,
|
||||
"FuncParamIOKindINTEL": 5625,
|
||||
"VectorComputeFunctionINTEL": 5626,
|
||||
"StackCallINTEL": 5627,
|
||||
"GlobalVariableOffsetINTEL": 5628,
|
||||
"CounterBuffer": 5634,
|
||||
"HlslCounterBufferGOOGLE": 5634,
|
||||
"HlslSemanticGOOGLE": 5635,
|
||||
"UserSemantic": 5635,
|
||||
"UserTypeGOOGLE": 5636,
|
||||
"FunctionRoundingModeINTEL": 5822,
|
||||
"FunctionDenormModeINTEL": 5823,
|
||||
"RegisterINTEL": 5825,
|
||||
"MemoryINTEL": 5826,
|
||||
"NumbanksINTEL": 5827,
|
||||
@ -531,7 +579,21 @@
|
||||
"SimpleDualPortINTEL": 5833,
|
||||
"MergeINTEL": 5834,
|
||||
"BankBitsINTEL": 5835,
|
||||
"ForcePow2DepthINTEL": 5836
|
||||
"ForcePow2DepthINTEL": 5836,
|
||||
"BurstCoalesceINTEL": 5899,
|
||||
"CacheSizeINTEL": 5900,
|
||||
"DontStaticallyCoalesceINTEL": 5901,
|
||||
"PrefetchINTEL": 5902,
|
||||
"StallEnableINTEL": 5905,
|
||||
"FuseLoopsInFunctionINTEL": 5907,
|
||||
"AliasScopeINTEL": 5914,
|
||||
"NoAliasINTEL": 5915,
|
||||
"BufferLocationINTEL": 5921,
|
||||
"IOPipeStorageINTEL": 5944,
|
||||
"FunctionFloatingPointModeINTEL": 6080,
|
||||
"SingleElementVectorINTEL": 6085,
|
||||
"VectorComputeCallableFunctionINTEL": 6087,
|
||||
"MediaBlockIOINTEL": 6140
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -580,6 +642,11 @@
|
||||
"SubgroupLocalInvocationId": 41,
|
||||
"VertexIndex": 42,
|
||||
"InstanceIndex": 43,
|
||||
"CoreIDARM": 4160,
|
||||
"CoreCountARM": 4161,
|
||||
"CoreMaxIDARM": 4162,
|
||||
"WarpIDARM": 4163,
|
||||
"WarpMaxIDARM": 4164,
|
||||
"SubgroupEqMask": 4416,
|
||||
"SubgroupEqMaskKHR": 4416,
|
||||
"SubgroupGeMask": 4417,
|
||||
@ -619,12 +686,18 @@
|
||||
"LayerPerViewNV": 5279,
|
||||
"MeshViewCountNV": 5280,
|
||||
"MeshViewIndicesNV": 5281,
|
||||
"BaryCoordKHR": 5286,
|
||||
"BaryCoordNV": 5286,
|
||||
"BaryCoordNoPerspKHR": 5287,
|
||||
"BaryCoordNoPerspNV": 5287,
|
||||
"FragSizeEXT": 5292,
|
||||
"FragmentSizeNV": 5292,
|
||||
"FragInvocationCountEXT": 5293,
|
||||
"InvocationsPerPixelNV": 5293,
|
||||
"PrimitivePointIndicesEXT": 5294,
|
||||
"PrimitiveLineIndicesEXT": 5295,
|
||||
"PrimitiveTriangleIndicesEXT": 5296,
|
||||
"CullPrimitiveEXT": 5299,
|
||||
"LaunchIdKHR": 5319,
|
||||
"LaunchIdNV": 5319,
|
||||
"LaunchSizeKHR": 5320,
|
||||
@ -650,13 +723,15 @@
|
||||
"HitTNV": 5332,
|
||||
"HitKindKHR": 5333,
|
||||
"HitKindNV": 5333,
|
||||
"CurrentRayTimeNV": 5334,
|
||||
"IncomingRayFlagsKHR": 5351,
|
||||
"IncomingRayFlagsNV": 5351,
|
||||
"RayGeometryIndexKHR": 5352,
|
||||
"WarpsPerSMNV": 5374,
|
||||
"SMCountNV": 5375,
|
||||
"WarpIDNV": 5376,
|
||||
"SMIDNV": 5377
|
||||
"SMIDNV": 5377,
|
||||
"CullMaskKHR": 6021
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -688,7 +763,8 @@
|
||||
"PipelineEnableINTEL": 19,
|
||||
"LoopCoalesceINTEL": 20,
|
||||
"MaxInterleavingINTEL": 21,
|
||||
"SpeculatedIterationsINTEL": 22
|
||||
"SpeculatedIterationsINTEL": 22,
|
||||
"NoFusionINTEL": 23
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -699,7 +775,8 @@
|
||||
"Inline": 0,
|
||||
"DontInline": 1,
|
||||
"Pure": 2,
|
||||
"Const": 3
|
||||
"Const": 3,
|
||||
"OptNoneINTEL": 16
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -739,7 +816,9 @@
|
||||
"MakePointerVisible": 4,
|
||||
"MakePointerVisibleKHR": 4,
|
||||
"NonPrivatePointer": 5,
|
||||
"NonPrivatePointerKHR": 5
|
||||
"NonPrivatePointerKHR": 5,
|
||||
"AliasScopeINTELMask": 16,
|
||||
"NoAliasINTELMask": 17
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -863,9 +942,14 @@
|
||||
"GroupNonUniformQuad": 68,
|
||||
"ShaderLayer": 69,
|
||||
"ShaderViewportIndex": 70,
|
||||
"UniformDecoration": 71,
|
||||
"CoreBuiltinsARM": 4165,
|
||||
"FragmentShadingRateKHR": 4422,
|
||||
"SubgroupBallotKHR": 4423,
|
||||
"DrawParameters": 4427,
|
||||
"WorkgroupMemoryExplicitLayoutKHR": 4428,
|
||||
"WorkgroupMemoryExplicitLayout8BitAccessKHR": 4429,
|
||||
"WorkgroupMemoryExplicitLayout16BitAccessKHR": 4430,
|
||||
"SubgroupVoteKHR": 4431,
|
||||
"StorageBuffer16BitAccess": 4433,
|
||||
"StorageUniformBufferBlock16": 4433,
|
||||
@ -908,6 +992,8 @@
|
||||
"FragmentFullyCoveredEXT": 5265,
|
||||
"MeshShadingNV": 5266,
|
||||
"ImageFootprintNV": 5282,
|
||||
"MeshShadingEXT": 5283,
|
||||
"FragmentBarycentricKHR": 5284,
|
||||
"FragmentBarycentricNV": 5284,
|
||||
"ComputeDerivativeGroupQuadsNV": 5288,
|
||||
"FragmentDensityEXT": 5291,
|
||||
@ -938,6 +1024,7 @@
|
||||
"StorageTexelBufferArrayNonUniformIndexing": 5312,
|
||||
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
|
||||
"RayTracingNV": 5340,
|
||||
"RayTracingMotionBlurNV": 5341,
|
||||
"VulkanMemoryModel": 5345,
|
||||
"VulkanMemoryModelKHR": 5345,
|
||||
"VulkanMemoryModelDeviceScope": 5346,
|
||||
@ -951,26 +1038,68 @@
|
||||
"FragmentShaderShadingRateInterlockEXT": 5372,
|
||||
"ShaderSMBuiltinsNV": 5373,
|
||||
"FragmentShaderPixelInterlockEXT": 5378,
|
||||
"DemoteToHelperInvocation": 5379,
|
||||
"DemoteToHelperInvocationEXT": 5379,
|
||||
"RayTracingOpacityMicromapEXT": 5381,
|
||||
"BindlessTextureNV": 5390,
|
||||
"SubgroupShuffleINTEL": 5568,
|
||||
"SubgroupBufferBlockIOINTEL": 5569,
|
||||
"SubgroupImageBlockIOINTEL": 5570,
|
||||
"SubgroupImageMediaBlockIOINTEL": 5579,
|
||||
"RoundToInfinityINTEL": 5582,
|
||||
"FloatingPointModeINTEL": 5583,
|
||||
"IntegerFunctions2INTEL": 5584,
|
||||
"FunctionPointersINTEL": 5603,
|
||||
"IndirectReferencesINTEL": 5604,
|
||||
"AsmINTEL": 5606,
|
||||
"AtomicFloat32MinMaxEXT": 5612,
|
||||
"AtomicFloat64MinMaxEXT": 5613,
|
||||
"AtomicFloat16MinMaxEXT": 5616,
|
||||
"VectorComputeINTEL": 5617,
|
||||
"VectorAnyINTEL": 5619,
|
||||
"ExpectAssumeKHR": 5629,
|
||||
"SubgroupAvcMotionEstimationINTEL": 5696,
|
||||
"SubgroupAvcMotionEstimationIntraINTEL": 5697,
|
||||
"SubgroupAvcMotionEstimationChromaINTEL": 5698,
|
||||
"VariableLengthArrayINTEL": 5817,
|
||||
"FunctionFloatControlINTEL": 5821,
|
||||
"FPGAMemoryAttributesINTEL": 5824,
|
||||
"FPFastMathModeINTEL": 5837,
|
||||
"ArbitraryPrecisionIntegersINTEL": 5844,
|
||||
"ArbitraryPrecisionFloatingPointINTEL": 5845,
|
||||
"UnstructuredLoopControlsINTEL": 5886,
|
||||
"FPGALoopControlsINTEL": 5888,
|
||||
"KernelAttributesINTEL": 5892,
|
||||
"FPGAKernelAttributesINTEL": 5897,
|
||||
"FPGAMemoryAccessesINTEL": 5898,
|
||||
"FPGAClusterAttributesINTEL": 5904,
|
||||
"LoopFuseINTEL": 5906,
|
||||
"MemoryAccessAliasingINTEL": 5910,
|
||||
"FPGABufferLocationINTEL": 5920,
|
||||
"ArbitraryPrecisionFixedPointINTEL": 5922,
|
||||
"USMStorageClassesINTEL": 5935,
|
||||
"IOPipesINTEL": 5943,
|
||||
"BlockingPipesINTEL": 5945,
|
||||
"FPGARegINTEL": 5948,
|
||||
"DotProductInputAll": 6016,
|
||||
"DotProductInputAllKHR": 6016,
|
||||
"DotProductInput4x8Bit": 6017,
|
||||
"DotProductInput4x8BitKHR": 6017,
|
||||
"DotProductInput4x8BitPacked": 6018,
|
||||
"DotProductInput4x8BitPackedKHR": 6018,
|
||||
"DotProduct": 6019,
|
||||
"DotProductKHR": 6019,
|
||||
"RayCullMaskKHR": 6020,
|
||||
"BitInstructions": 6025,
|
||||
"GroupNonUniformRotateKHR": 6026,
|
||||
"AtomicFloat32AddEXT": 6033,
|
||||
"AtomicFloat64AddEXT": 6034
|
||||
"AtomicFloat64AddEXT": 6034,
|
||||
"LongConstantCompositeINTEL": 6089,
|
||||
"OptNoneINTEL": 6094,
|
||||
"AtomicFloat16AddEXT": 6095,
|
||||
"DebugInfoModuleINTEL": 6114,
|
||||
"SplitBarrierINTEL": 6141,
|
||||
"GroupUniformArithmeticKHR": 6400
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -987,7 +1116,8 @@
|
||||
"CullOpaqueKHR": 6,
|
||||
"CullNoOpaqueKHR": 7,
|
||||
"SkipTrianglesKHR": 8,
|
||||
"SkipAABBsKHR": 9
|
||||
"SkipAABBsKHR": 9,
|
||||
"ForceOpacityMicromap2StateEXT": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -1029,6 +1159,59 @@
|
||||
"Horizontal4Pixels": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "FPDenormMode",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"Preserve": 0,
|
||||
"FlushToZero": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "FPOperationMode",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"IEEE": 0,
|
||||
"ALT": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "QuantizationModes",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"TRN": 0,
|
||||
"TRN_ZERO": 1,
|
||||
"RND": 2,
|
||||
"RND_ZERO": 3,
|
||||
"RND_INF": 4,
|
||||
"RND_MIN_INF": 5,
|
||||
"RND_CONV": 6,
|
||||
"RND_CONV_ODD": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "OverflowModes",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"WRAP": 0,
|
||||
"SAT": 1,
|
||||
"SAT_ZERO": 2,
|
||||
"SAT_SYM": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "PackedVectorFormat",
|
||||
"Type": "Value",
|
||||
"Values":
|
||||
{
|
||||
"PackedVectorFormat4x8Bit": 0,
|
||||
"PackedVectorFormat4x8BitKHR": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "Op",
|
||||
"Type": "Value",
|
||||
@ -1384,12 +1567,25 @@
|
||||
"OpSubgroupAllKHR": 4428,
|
||||
"OpSubgroupAnyKHR": 4429,
|
||||
"OpSubgroupAllEqualKHR": 4430,
|
||||
"OpGroupNonUniformRotateKHR": 4431,
|
||||
"OpSubgroupReadInvocationKHR": 4432,
|
||||
"OpTraceRayKHR": 4445,
|
||||
"OpExecuteCallableKHR": 4446,
|
||||
"OpConvertUToAccelerationStructureKHR": 4447,
|
||||
"OpIgnoreIntersectionKHR": 4448,
|
||||
"OpTerminateRayKHR": 4449,
|
||||
"OpSDot": 4450,
|
||||
"OpSDotKHR": 4450,
|
||||
"OpUDot": 4451,
|
||||
"OpUDotKHR": 4451,
|
||||
"OpSUDot": 4452,
|
||||
"OpSUDotKHR": 4452,
|
||||
"OpSDotAccSat": 4453,
|
||||
"OpSDotAccSatKHR": 4453,
|
||||
"OpUDotAccSat": 4454,
|
||||
"OpUDotAccSatKHR": 4454,
|
||||
"OpSUDotAccSat": 4455,
|
||||
"OpSUDotAccSatKHR": 4455,
|
||||
"OpTypeRayQueryKHR": 4472,
|
||||
"OpRayQueryInitializeKHR": 4473,
|
||||
"OpRayQueryTerminateKHR": 4474,
|
||||
@ -1409,6 +1605,8 @@
|
||||
"OpFragmentFetchAMD": 5012,
|
||||
"OpReadClockKHR": 5056,
|
||||
"OpImageSampleFootprintNV": 5283,
|
||||
"OpEmitMeshTasksEXT": 5294,
|
||||
"OpSetMeshOutputsEXT": 5295,
|
||||
"OpGroupNonUniformPartitionNV": 5296,
|
||||
"OpWritePackedPrimitiveIndices4x8NV": 5299,
|
||||
"OpReportIntersectionKHR": 5334,
|
||||
@ -1416,6 +1614,8 @@
|
||||
"OpIgnoreIntersectionNV": 5335,
|
||||
"OpTerminateRayNV": 5336,
|
||||
"OpTraceNV": 5337,
|
||||
"OpTraceMotionNV": 5338,
|
||||
"OpTraceRayMotionNV": 5339,
|
||||
"OpTypeAccelerationStructureKHR": 5341,
|
||||
"OpTypeAccelerationStructureNV": 5341,
|
||||
"OpExecuteCallableNV": 5344,
|
||||
@ -1426,8 +1626,16 @@
|
||||
"OpCooperativeMatrixLengthNV": 5362,
|
||||
"OpBeginInvocationInterlockEXT": 5364,
|
||||
"OpEndInvocationInterlockEXT": 5365,
|
||||
"OpDemoteToHelperInvocation": 5380,
|
||||
"OpDemoteToHelperInvocationEXT": 5380,
|
||||
"OpIsHelperInvocationEXT": 5381,
|
||||
"OpConvertUToImageNV": 5391,
|
||||
"OpConvertUToSamplerNV": 5392,
|
||||
"OpConvertImageToUNV": 5393,
|
||||
"OpConvertSamplerToUNV": 5394,
|
||||
"OpConvertUToSampledImageNV": 5395,
|
||||
"OpConvertSampledImageToUNV": 5396,
|
||||
"OpSamplerImageAddressingModeNV": 5397,
|
||||
"OpSubgroupShuffleINTEL": 5571,
|
||||
"OpSubgroupShuffleDownINTEL": 5572,
|
||||
"OpSubgroupShuffleUpINTEL": 5573,
|
||||
@ -1452,8 +1660,15 @@
|
||||
"OpUSubSatINTEL": 5596,
|
||||
"OpIMul32x16INTEL": 5597,
|
||||
"OpUMul32x16INTEL": 5598,
|
||||
"OpFunctionPointerINTEL": 5600,
|
||||
"OpConstantFunctionPointerINTEL": 5600,
|
||||
"OpFunctionPointerCallINTEL": 5601,
|
||||
"OpAsmTargetINTEL": 5609,
|
||||
"OpAsmINTEL": 5610,
|
||||
"OpAsmCallINTEL": 5611,
|
||||
"OpAtomicFMinEXT": 5614,
|
||||
"OpAtomicFMaxEXT": 5615,
|
||||
"OpAssumeTrueKHR": 5630,
|
||||
"OpExpectKHR": 5631,
|
||||
"OpDecorateString": 5632,
|
||||
"OpDecorateStringGOOGLE": 5632,
|
||||
"OpMemberDecorateString": 5633,
|
||||
@ -1576,7 +1791,67 @@
|
||||
"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": 5814,
|
||||
"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": 5815,
|
||||
"OpSubgroupAvcSicGetInterRawSadsINTEL": 5816,
|
||||
"OpVariableLengthArrayINTEL": 5818,
|
||||
"OpSaveMemoryINTEL": 5819,
|
||||
"OpRestoreMemoryINTEL": 5820,
|
||||
"OpArbitraryFloatSinCosPiINTEL": 5840,
|
||||
"OpArbitraryFloatCastINTEL": 5841,
|
||||
"OpArbitraryFloatCastFromIntINTEL": 5842,
|
||||
"OpArbitraryFloatCastToIntINTEL": 5843,
|
||||
"OpArbitraryFloatAddINTEL": 5846,
|
||||
"OpArbitraryFloatSubINTEL": 5847,
|
||||
"OpArbitraryFloatMulINTEL": 5848,
|
||||
"OpArbitraryFloatDivINTEL": 5849,
|
||||
"OpArbitraryFloatGTINTEL": 5850,
|
||||
"OpArbitraryFloatGEINTEL": 5851,
|
||||
"OpArbitraryFloatLTINTEL": 5852,
|
||||
"OpArbitraryFloatLEINTEL": 5853,
|
||||
"OpArbitraryFloatEQINTEL": 5854,
|
||||
"OpArbitraryFloatRecipINTEL": 5855,
|
||||
"OpArbitraryFloatRSqrtINTEL": 5856,
|
||||
"OpArbitraryFloatCbrtINTEL": 5857,
|
||||
"OpArbitraryFloatHypotINTEL": 5858,
|
||||
"OpArbitraryFloatSqrtINTEL": 5859,
|
||||
"OpArbitraryFloatLogINTEL": 5860,
|
||||
"OpArbitraryFloatLog2INTEL": 5861,
|
||||
"OpArbitraryFloatLog10INTEL": 5862,
|
||||
"OpArbitraryFloatLog1pINTEL": 5863,
|
||||
"OpArbitraryFloatExpINTEL": 5864,
|
||||
"OpArbitraryFloatExp2INTEL": 5865,
|
||||
"OpArbitraryFloatExp10INTEL": 5866,
|
||||
"OpArbitraryFloatExpm1INTEL": 5867,
|
||||
"OpArbitraryFloatSinINTEL": 5868,
|
||||
"OpArbitraryFloatCosINTEL": 5869,
|
||||
"OpArbitraryFloatSinCosINTEL": 5870,
|
||||
"OpArbitraryFloatSinPiINTEL": 5871,
|
||||
"OpArbitraryFloatCosPiINTEL": 5872,
|
||||
"OpArbitraryFloatASinINTEL": 5873,
|
||||
"OpArbitraryFloatASinPiINTEL": 5874,
|
||||
"OpArbitraryFloatACosINTEL": 5875,
|
||||
"OpArbitraryFloatACosPiINTEL": 5876,
|
||||
"OpArbitraryFloatATanINTEL": 5877,
|
||||
"OpArbitraryFloatATanPiINTEL": 5878,
|
||||
"OpArbitraryFloatATan2INTEL": 5879,
|
||||
"OpArbitraryFloatPowINTEL": 5880,
|
||||
"OpArbitraryFloatPowRINTEL": 5881,
|
||||
"OpArbitraryFloatPowNINTEL": 5882,
|
||||
"OpLoopControlINTEL": 5887,
|
||||
"OpAliasDomainDeclINTEL": 5911,
|
||||
"OpAliasScopeDeclINTEL": 5912,
|
||||
"OpAliasScopeListDeclINTEL": 5913,
|
||||
"OpFixedSqrtINTEL": 5923,
|
||||
"OpFixedRecipINTEL": 5924,
|
||||
"OpFixedRsqrtINTEL": 5925,
|
||||
"OpFixedSinINTEL": 5926,
|
||||
"OpFixedCosINTEL": 5927,
|
||||
"OpFixedSinCosINTEL": 5928,
|
||||
"OpFixedSinPiINTEL": 5929,
|
||||
"OpFixedCosPiINTEL": 5930,
|
||||
"OpFixedSinCosPiINTEL": 5931,
|
||||
"OpFixedLogINTEL": 5932,
|
||||
"OpFixedExpINTEL": 5933,
|
||||
"OpPtrCastToCrossWorkgroupINTEL": 5934,
|
||||
"OpCrossWorkgroupCastToPtrINTEL": 5938,
|
||||
"OpReadPipeBlockingINTEL": 5946,
|
||||
"OpWritePipeBlockingINTEL": 5947,
|
||||
"OpFPGARegINTEL": 5949,
|
||||
@ -1597,7 +1872,21 @@
|
||||
"OpRayQueryGetWorldRayOriginKHR": 6030,
|
||||
"OpRayQueryGetIntersectionObjectToWorldKHR": 6031,
|
||||
"OpRayQueryGetIntersectionWorldToObjectKHR": 6032,
|
||||
"OpAtomicFAddEXT": 6035
|
||||
"OpAtomicFAddEXT": 6035,
|
||||
"OpTypeBufferSurfaceINTEL": 6086,
|
||||
"OpTypeStructContinuedINTEL": 6090,
|
||||
"OpConstantCompositeContinuedINTEL": 6091,
|
||||
"OpSpecConstantCompositeContinuedINTEL": 6092,
|
||||
"OpControlBarrierArriveINTEL": 6142,
|
||||
"OpControlBarrierWaitINTEL": 6143,
|
||||
"OpGroupIMulKHR": 6401,
|
||||
"OpGroupFMulKHR": 6402,
|
||||
"OpGroupBitwiseAndKHR": 6403,
|
||||
"OpGroupBitwiseOrKHR": 6404,
|
||||
"OpGroupBitwiseXorKHR": 6405,
|
||||
"OpGroupLogicalAndKHR": 6406,
|
||||
"OpGroupLogicalOrKHR": 6407,
|
||||
"OpGroupLogicalXorKHR": 6408
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -26,7 +26,7 @@
|
||||
-- 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#, D, Beef
|
||||
--
|
||||
-- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
-- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
@ -36,6 +36,8 @@
|
||||
-- - 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
|
||||
-- - Beef 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
|
||||
@ -44,8 +46,8 @@
|
||||
|
||||
spv = {
|
||||
MagicNumber = 0x07230203,
|
||||
Version = 0x00010500,
|
||||
Revision = 4,
|
||||
Version = 0x00010600,
|
||||
Revision = 1,
|
||||
OpCodeMask = 0xffff,
|
||||
WordCountShift = 16,
|
||||
|
||||
@ -56,6 +58,8 @@ spv = {
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
CPP_for_OpenCL = 6,
|
||||
SYCL = 7,
|
||||
},
|
||||
|
||||
ExecutionModel = {
|
||||
@ -80,6 +84,8 @@ spv = {
|
||||
MissNV = 5317,
|
||||
CallableKHR = 5318,
|
||||
CallableNV = 5318,
|
||||
TaskEXT = 5364,
|
||||
MeshEXT = 5365,
|
||||
},
|
||||
|
||||
AddressingModel = {
|
||||
@ -137,17 +143,28 @@ spv = {
|
||||
SubgroupsPerWorkgroupId = 37,
|
||||
LocalSizeId = 38,
|
||||
LocalSizeHintId = 39,
|
||||
SubgroupUniformControlFlowKHR = 4421,
|
||||
PostDepthCoverage = 4446,
|
||||
DenormPreserve = 4459,
|
||||
DenormFlushToZero = 4460,
|
||||
SignedZeroInfNanPreserve = 4461,
|
||||
RoundingModeRTE = 4462,
|
||||
RoundingModeRTZ = 4463,
|
||||
EarlyAndLateFragmentTestsAMD = 5017,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
StencilRefUnchangedFrontAMD = 5079,
|
||||
StencilRefGreaterFrontAMD = 5080,
|
||||
StencilRefLessFrontAMD = 5081,
|
||||
StencilRefUnchangedBackAMD = 5082,
|
||||
StencilRefGreaterBackAMD = 5083,
|
||||
StencilRefLessBackAMD = 5084,
|
||||
OutputLinesEXT = 5269,
|
||||
OutputLinesNV = 5269,
|
||||
OutputPrimitivesEXT = 5270,
|
||||
OutputPrimitivesNV = 5270,
|
||||
DerivativeGroupQuadsNV = 5289,
|
||||
DerivativeGroupLinearNV = 5290,
|
||||
OutputTrianglesEXT = 5298,
|
||||
OutputTrianglesNV = 5298,
|
||||
PixelInterlockOrderedEXT = 5366,
|
||||
PixelInterlockUnorderedEXT = 5367,
|
||||
@ -155,10 +172,17 @@ spv = {
|
||||
SampleInterlockUnorderedEXT = 5369,
|
||||
ShadingRateInterlockOrderedEXT = 5370,
|
||||
ShadingRateInterlockUnorderedEXT = 5371,
|
||||
SharedLocalMemorySizeINTEL = 5618,
|
||||
RoundingModeRTPINTEL = 5620,
|
||||
RoundingModeRTNINTEL = 5621,
|
||||
FloatingPointModeALTINTEL = 5622,
|
||||
FloatingPointModeIEEEINTEL = 5623,
|
||||
MaxWorkgroupSizeINTEL = 5893,
|
||||
MaxWorkDimINTEL = 5894,
|
||||
NoGlobalOffsetINTEL = 5895,
|
||||
NumSIMDWorkitemsINTEL = 5896,
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
},
|
||||
|
||||
StorageClass = {
|
||||
@ -189,7 +213,10 @@ spv = {
|
||||
ShaderRecordBufferNV = 5343,
|
||||
PhysicalStorageBuffer = 5349,
|
||||
PhysicalStorageBufferEXT = 5349,
|
||||
TaskPayloadWorkgroupEXT = 5402,
|
||||
CodeSectionINTEL = 5605,
|
||||
DeviceOnlyINTEL = 5936,
|
||||
HostOnlyINTEL = 5937,
|
||||
},
|
||||
|
||||
Dim = {
|
||||
@ -322,6 +349,8 @@ spv = {
|
||||
VolatileTexelKHR = 11,
|
||||
SignExtend = 12,
|
||||
ZeroExtend = 13,
|
||||
Nontemporal = 14,
|
||||
Offsets = 16,
|
||||
},
|
||||
|
||||
ImageOperandsMask = {
|
||||
@ -344,6 +373,8 @@ spv = {
|
||||
VolatileTexelKHR = 0x00000800,
|
||||
SignExtend = 0x00001000,
|
||||
ZeroExtend = 0x00002000,
|
||||
Nontemporal = 0x00004000,
|
||||
Offsets = 0x00010000,
|
||||
},
|
||||
|
||||
FPFastMathModeShift = {
|
||||
@ -352,6 +383,8 @@ spv = {
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
AllowContractFastINTEL = 16,
|
||||
AllowReassocINTEL = 17,
|
||||
},
|
||||
|
||||
FPFastMathModeMask = {
|
||||
@ -361,6 +394,8 @@ spv = {
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
AllowContractFastINTEL = 0x00010000,
|
||||
AllowReassocINTEL = 0x00020000,
|
||||
},
|
||||
|
||||
FPRoundingMode = {
|
||||
@ -373,6 +408,7 @@ spv = {
|
||||
LinkageType = {
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
},
|
||||
|
||||
AccessQualifier = {
|
||||
@ -447,9 +483,11 @@ spv = {
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
PerPrimitiveEXT = 5271,
|
||||
PerPrimitiveNV = 5271,
|
||||
PerViewNV = 5272,
|
||||
PerTaskNV = 5273,
|
||||
PerVertexKHR = 5285,
|
||||
PerVertexNV = 5285,
|
||||
NonUniform = 5300,
|
||||
NonUniformEXT = 5300,
|
||||
@ -457,12 +495,26 @@ spv = {
|
||||
RestrictPointerEXT = 5355,
|
||||
AliasedPointer = 5356,
|
||||
AliasedPointerEXT = 5356,
|
||||
BindlessSamplerNV = 5398,
|
||||
BindlessImageNV = 5399,
|
||||
BoundSamplerNV = 5400,
|
||||
BoundImageNV = 5401,
|
||||
SIMTCallINTEL = 5599,
|
||||
ReferencedIndirectlyINTEL = 5602,
|
||||
ClobberINTEL = 5607,
|
||||
SideEffectsINTEL = 5608,
|
||||
VectorComputeVariableINTEL = 5624,
|
||||
FuncParamIOKindINTEL = 5625,
|
||||
VectorComputeFunctionINTEL = 5626,
|
||||
StackCallINTEL = 5627,
|
||||
GlobalVariableOffsetINTEL = 5628,
|
||||
CounterBuffer = 5634,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
UserSemantic = 5635,
|
||||
UserTypeGOOGLE = 5636,
|
||||
FunctionRoundingModeINTEL = 5822,
|
||||
FunctionDenormModeINTEL = 5823,
|
||||
RegisterINTEL = 5825,
|
||||
MemoryINTEL = 5826,
|
||||
NumbanksINTEL = 5827,
|
||||
@ -475,6 +527,20 @@ spv = {
|
||||
MergeINTEL = 5834,
|
||||
BankBitsINTEL = 5835,
|
||||
ForcePow2DepthINTEL = 5836,
|
||||
BurstCoalesceINTEL = 5899,
|
||||
CacheSizeINTEL = 5900,
|
||||
DontStaticallyCoalesceINTEL = 5901,
|
||||
PrefetchINTEL = 5902,
|
||||
StallEnableINTEL = 5905,
|
||||
FuseLoopsInFunctionINTEL = 5907,
|
||||
AliasScopeINTEL = 5914,
|
||||
NoAliasINTEL = 5915,
|
||||
BufferLocationINTEL = 5921,
|
||||
IOPipeStorageINTEL = 5944,
|
||||
FunctionFloatingPointModeINTEL = 6080,
|
||||
SingleElementVectorINTEL = 6085,
|
||||
VectorComputeCallableFunctionINTEL = 6087,
|
||||
MediaBlockIOINTEL = 6140,
|
||||
},
|
||||
|
||||
BuiltIn = {
|
||||
@ -519,6 +585,11 @@ spv = {
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
WarpIDARM = 4163,
|
||||
WarpMaxIDARM = 4164,
|
||||
SubgroupEqMask = 4416,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMask = 4417,
|
||||
@ -558,12 +629,18 @@ spv = {
|
||||
LayerPerViewNV = 5279,
|
||||
MeshViewCountNV = 5280,
|
||||
MeshViewIndicesNV = 5281,
|
||||
BaryCoordKHR = 5286,
|
||||
BaryCoordNV = 5286,
|
||||
BaryCoordNoPerspKHR = 5287,
|
||||
BaryCoordNoPerspNV = 5287,
|
||||
FragSizeEXT = 5292,
|
||||
FragmentSizeNV = 5292,
|
||||
FragInvocationCountEXT = 5293,
|
||||
InvocationsPerPixelNV = 5293,
|
||||
PrimitivePointIndicesEXT = 5294,
|
||||
PrimitiveLineIndicesEXT = 5295,
|
||||
PrimitiveTriangleIndicesEXT = 5296,
|
||||
CullPrimitiveEXT = 5299,
|
||||
LaunchIdKHR = 5319,
|
||||
LaunchIdNV = 5319,
|
||||
LaunchSizeKHR = 5320,
|
||||
@ -589,6 +666,7 @@ spv = {
|
||||
HitTNV = 5332,
|
||||
HitKindKHR = 5333,
|
||||
HitKindNV = 5333,
|
||||
CurrentRayTimeNV = 5334,
|
||||
IncomingRayFlagsKHR = 5351,
|
||||
IncomingRayFlagsNV = 5351,
|
||||
RayGeometryIndexKHR = 5352,
|
||||
@ -596,6 +674,7 @@ spv = {
|
||||
SMCountNV = 5375,
|
||||
WarpIDNV = 5376,
|
||||
SMIDNV = 5377,
|
||||
CullMaskKHR = 6021,
|
||||
},
|
||||
|
||||
SelectionControlShift = {
|
||||
@ -626,6 +705,7 @@ spv = {
|
||||
LoopCoalesceINTEL = 20,
|
||||
MaxInterleavingINTEL = 21,
|
||||
SpeculatedIterationsINTEL = 22,
|
||||
NoFusionINTEL = 23,
|
||||
},
|
||||
|
||||
LoopControlMask = {
|
||||
@ -646,6 +726,7 @@ spv = {
|
||||
LoopCoalesceINTEL = 0x00100000,
|
||||
MaxInterleavingINTEL = 0x00200000,
|
||||
SpeculatedIterationsINTEL = 0x00400000,
|
||||
NoFusionINTEL = 0x00800000,
|
||||
},
|
||||
|
||||
FunctionControlShift = {
|
||||
@ -653,6 +734,7 @@ spv = {
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
OptNoneINTEL = 16,
|
||||
},
|
||||
|
||||
FunctionControlMask = {
|
||||
@ -661,6 +743,7 @@ spv = {
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
OptNoneINTEL = 0x00010000,
|
||||
},
|
||||
|
||||
MemorySemanticsShift = {
|
||||
@ -714,6 +797,8 @@ spv = {
|
||||
MakePointerVisibleKHR = 4,
|
||||
NonPrivatePointer = 5,
|
||||
NonPrivatePointerKHR = 5,
|
||||
AliasScopeINTELMask = 16,
|
||||
NoAliasINTELMask = 17,
|
||||
},
|
||||
|
||||
MemoryAccessMask = {
|
||||
@ -727,6 +812,8 @@ spv = {
|
||||
MakePointerVisibleKHR = 0x00000010,
|
||||
NonPrivatePointer = 0x00000020,
|
||||
NonPrivatePointerKHR = 0x00000020,
|
||||
AliasScopeINTELMask = 0x00010000,
|
||||
NoAliasINTELMask = 0x00020000,
|
||||
},
|
||||
|
||||
Scope = {
|
||||
@ -835,9 +922,14 @@ spv = {
|
||||
GroupNonUniformQuad = 68,
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
CoreBuiltinsARM = 4165,
|
||||
FragmentShadingRateKHR = 4422,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
WorkgroupMemoryExplicitLayoutKHR = 4428,
|
||||
WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
||||
WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
@ -880,6 +972,8 @@ spv = {
|
||||
FragmentFullyCoveredEXT = 5265,
|
||||
MeshShadingNV = 5266,
|
||||
ImageFootprintNV = 5282,
|
||||
MeshShadingEXT = 5283,
|
||||
FragmentBarycentricKHR = 5284,
|
||||
FragmentBarycentricNV = 5284,
|
||||
ComputeDerivativeGroupQuadsNV = 5288,
|
||||
FragmentDensityEXT = 5291,
|
||||
@ -910,6 +1004,7 @@ spv = {
|
||||
StorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
RayTracingNV = 5340,
|
||||
RayTracingMotionBlurNV = 5341,
|
||||
VulkanMemoryModel = 5345,
|
||||
VulkanMemoryModelKHR = 5345,
|
||||
VulkanMemoryModelDeviceScope = 5346,
|
||||
@ -923,26 +1018,68 @@ spv = {
|
||||
FragmentShaderShadingRateInterlockEXT = 5372,
|
||||
ShaderSMBuiltinsNV = 5373,
|
||||
FragmentShaderPixelInterlockEXT = 5378,
|
||||
DemoteToHelperInvocation = 5379,
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
BindlessTextureNV = 5390,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
SubgroupImageMediaBlockIOINTEL = 5579,
|
||||
RoundToInfinityINTEL = 5582,
|
||||
FloatingPointModeINTEL = 5583,
|
||||
IntegerFunctions2INTEL = 5584,
|
||||
FunctionPointersINTEL = 5603,
|
||||
IndirectReferencesINTEL = 5604,
|
||||
AsmINTEL = 5606,
|
||||
AtomicFloat32MinMaxEXT = 5612,
|
||||
AtomicFloat64MinMaxEXT = 5613,
|
||||
AtomicFloat16MinMaxEXT = 5616,
|
||||
VectorComputeINTEL = 5617,
|
||||
VectorAnyINTEL = 5619,
|
||||
ExpectAssumeKHR = 5629,
|
||||
SubgroupAvcMotionEstimationINTEL = 5696,
|
||||
SubgroupAvcMotionEstimationIntraINTEL = 5697,
|
||||
SubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
VariableLengthArrayINTEL = 5817,
|
||||
FunctionFloatControlINTEL = 5821,
|
||||
FPGAMemoryAttributesINTEL = 5824,
|
||||
FPFastMathModeINTEL = 5837,
|
||||
ArbitraryPrecisionIntegersINTEL = 5844,
|
||||
ArbitraryPrecisionFloatingPointINTEL = 5845,
|
||||
UnstructuredLoopControlsINTEL = 5886,
|
||||
FPGALoopControlsINTEL = 5888,
|
||||
KernelAttributesINTEL = 5892,
|
||||
FPGAKernelAttributesINTEL = 5897,
|
||||
FPGAMemoryAccessesINTEL = 5898,
|
||||
FPGAClusterAttributesINTEL = 5904,
|
||||
LoopFuseINTEL = 5906,
|
||||
MemoryAccessAliasingINTEL = 5910,
|
||||
FPGABufferLocationINTEL = 5920,
|
||||
ArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
USMStorageClassesINTEL = 5935,
|
||||
IOPipesINTEL = 5943,
|
||||
BlockingPipesINTEL = 5945,
|
||||
FPGARegINTEL = 5948,
|
||||
DotProductInputAll = 6016,
|
||||
DotProductInputAllKHR = 6016,
|
||||
DotProductInput4x8Bit = 6017,
|
||||
DotProductInput4x8BitKHR = 6017,
|
||||
DotProductInput4x8BitPacked = 6018,
|
||||
DotProductInput4x8BitPackedKHR = 6018,
|
||||
DotProduct = 6019,
|
||||
DotProductKHR = 6019,
|
||||
RayCullMaskKHR = 6020,
|
||||
BitInstructions = 6025,
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongConstantCompositeINTEL = 6089,
|
||||
OptNoneINTEL = 6094,
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
SplitBarrierINTEL = 6141,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
},
|
||||
|
||||
RayFlagsShift = {
|
||||
@ -956,6 +1093,7 @@ spv = {
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
},
|
||||
|
||||
RayFlagsMask = {
|
||||
@ -970,6 +1108,7 @@ spv = {
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
},
|
||||
|
||||
RayQueryIntersection = {
|
||||
@ -1003,6 +1142,39 @@ spv = {
|
||||
Horizontal4Pixels = 0x00000008,
|
||||
},
|
||||
|
||||
FPDenormMode = {
|
||||
Preserve = 0,
|
||||
FlushToZero = 1,
|
||||
},
|
||||
|
||||
FPOperationMode = {
|
||||
IEEE = 0,
|
||||
ALT = 1,
|
||||
},
|
||||
|
||||
QuantizationModes = {
|
||||
TRN = 0,
|
||||
TRN_ZERO = 1,
|
||||
RND = 2,
|
||||
RND_ZERO = 3,
|
||||
RND_INF = 4,
|
||||
RND_MIN_INF = 5,
|
||||
RND_CONV = 6,
|
||||
RND_CONV_ODD = 7,
|
||||
},
|
||||
|
||||
OverflowModes = {
|
||||
WRAP = 0,
|
||||
SAT = 1,
|
||||
SAT_ZERO = 2,
|
||||
SAT_SYM = 3,
|
||||
},
|
||||
|
||||
PackedVectorFormat = {
|
||||
PackedVectorFormat4x8Bit = 0,
|
||||
PackedVectorFormat4x8BitKHR = 0,
|
||||
},
|
||||
|
||||
Op = {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
@ -1354,12 +1526,25 @@ spv = {
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpGroupNonUniformRotateKHR = 4431,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTraceRayKHR = 4445,
|
||||
OpExecuteCallableKHR = 4446,
|
||||
OpConvertUToAccelerationStructureKHR = 4447,
|
||||
OpIgnoreIntersectionKHR = 4448,
|
||||
OpTerminateRayKHR = 4449,
|
||||
OpSDot = 4450,
|
||||
OpSDotKHR = 4450,
|
||||
OpUDot = 4451,
|
||||
OpUDotKHR = 4451,
|
||||
OpSUDot = 4452,
|
||||
OpSUDotKHR = 4452,
|
||||
OpSDotAccSat = 4453,
|
||||
OpSDotAccSatKHR = 4453,
|
||||
OpUDotAccSat = 4454,
|
||||
OpUDotAccSatKHR = 4454,
|
||||
OpSUDotAccSat = 4455,
|
||||
OpSUDotAccSatKHR = 4455,
|
||||
OpTypeRayQueryKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
@ -1379,6 +1564,8 @@ spv = {
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpReadClockKHR = 5056,
|
||||
OpImageSampleFootprintNV = 5283,
|
||||
OpEmitMeshTasksEXT = 5294,
|
||||
OpSetMeshOutputsEXT = 5295,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
OpReportIntersectionKHR = 5334,
|
||||
@ -1386,6 +1573,8 @@ spv = {
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTraceMotionNV = 5338,
|
||||
OpTraceRayMotionNV = 5339,
|
||||
OpTypeAccelerationStructureKHR = 5341,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
@ -1396,8 +1585,16 @@ spv = {
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocation = 5380,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpConvertUToImageNV = 5391,
|
||||
OpConvertUToSamplerNV = 5392,
|
||||
OpConvertImageToUNV = 5393,
|
||||
OpConvertSamplerToUNV = 5394,
|
||||
OpConvertUToSampledImageNV = 5395,
|
||||
OpConvertSampledImageToUNV = 5396,
|
||||
OpSamplerImageAddressingModeNV = 5397,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1422,8 +1619,15 @@ spv = {
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpFunctionPointerINTEL = 5600,
|
||||
OpConstantFunctionPointerINTEL = 5600,
|
||||
OpFunctionPointerCallINTEL = 5601,
|
||||
OpAsmTargetINTEL = 5609,
|
||||
OpAsmINTEL = 5610,
|
||||
OpAsmCallINTEL = 5611,
|
||||
OpAtomicFMinEXT = 5614,
|
||||
OpAtomicFMaxEXT = 5615,
|
||||
OpAssumeTrueKHR = 5630,
|
||||
OpExpectKHR = 5631,
|
||||
OpDecorateString = 5632,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateString = 5633,
|
||||
@ -1546,7 +1750,67 @@ spv = {
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpVariableLengthArrayINTEL = 5818,
|
||||
OpSaveMemoryINTEL = 5819,
|
||||
OpRestoreMemoryINTEL = 5820,
|
||||
OpArbitraryFloatSinCosPiINTEL = 5840,
|
||||
OpArbitraryFloatCastINTEL = 5841,
|
||||
OpArbitraryFloatCastFromIntINTEL = 5842,
|
||||
OpArbitraryFloatCastToIntINTEL = 5843,
|
||||
OpArbitraryFloatAddINTEL = 5846,
|
||||
OpArbitraryFloatSubINTEL = 5847,
|
||||
OpArbitraryFloatMulINTEL = 5848,
|
||||
OpArbitraryFloatDivINTEL = 5849,
|
||||
OpArbitraryFloatGTINTEL = 5850,
|
||||
OpArbitraryFloatGEINTEL = 5851,
|
||||
OpArbitraryFloatLTINTEL = 5852,
|
||||
OpArbitraryFloatLEINTEL = 5853,
|
||||
OpArbitraryFloatEQINTEL = 5854,
|
||||
OpArbitraryFloatRecipINTEL = 5855,
|
||||
OpArbitraryFloatRSqrtINTEL = 5856,
|
||||
OpArbitraryFloatCbrtINTEL = 5857,
|
||||
OpArbitraryFloatHypotINTEL = 5858,
|
||||
OpArbitraryFloatSqrtINTEL = 5859,
|
||||
OpArbitraryFloatLogINTEL = 5860,
|
||||
OpArbitraryFloatLog2INTEL = 5861,
|
||||
OpArbitraryFloatLog10INTEL = 5862,
|
||||
OpArbitraryFloatLog1pINTEL = 5863,
|
||||
OpArbitraryFloatExpINTEL = 5864,
|
||||
OpArbitraryFloatExp2INTEL = 5865,
|
||||
OpArbitraryFloatExp10INTEL = 5866,
|
||||
OpArbitraryFloatExpm1INTEL = 5867,
|
||||
OpArbitraryFloatSinINTEL = 5868,
|
||||
OpArbitraryFloatCosINTEL = 5869,
|
||||
OpArbitraryFloatSinCosINTEL = 5870,
|
||||
OpArbitraryFloatSinPiINTEL = 5871,
|
||||
OpArbitraryFloatCosPiINTEL = 5872,
|
||||
OpArbitraryFloatASinINTEL = 5873,
|
||||
OpArbitraryFloatASinPiINTEL = 5874,
|
||||
OpArbitraryFloatACosINTEL = 5875,
|
||||
OpArbitraryFloatACosPiINTEL = 5876,
|
||||
OpArbitraryFloatATanINTEL = 5877,
|
||||
OpArbitraryFloatATanPiINTEL = 5878,
|
||||
OpArbitraryFloatATan2INTEL = 5879,
|
||||
OpArbitraryFloatPowINTEL = 5880,
|
||||
OpArbitraryFloatPowRINTEL = 5881,
|
||||
OpArbitraryFloatPowNINTEL = 5882,
|
||||
OpLoopControlINTEL = 5887,
|
||||
OpAliasDomainDeclINTEL = 5911,
|
||||
OpAliasScopeDeclINTEL = 5912,
|
||||
OpAliasScopeListDeclINTEL = 5913,
|
||||
OpFixedSqrtINTEL = 5923,
|
||||
OpFixedRecipINTEL = 5924,
|
||||
OpFixedRsqrtINTEL = 5925,
|
||||
OpFixedSinINTEL = 5926,
|
||||
OpFixedCosINTEL = 5927,
|
||||
OpFixedSinCosINTEL = 5928,
|
||||
OpFixedSinPiINTEL = 5929,
|
||||
OpFixedCosPiINTEL = 5930,
|
||||
OpFixedSinCosPiINTEL = 5931,
|
||||
OpFixedLogINTEL = 5932,
|
||||
OpFixedExpINTEL = 5933,
|
||||
OpPtrCastToCrossWorkgroupINTEL = 5934,
|
||||
OpCrossWorkgroupCastToPtrINTEL = 5938,
|
||||
OpReadPipeBlockingINTEL = 5946,
|
||||
OpWritePipeBlockingINTEL = 5947,
|
||||
OpFPGARegINTEL = 5949,
|
||||
@ -1568,6 +1832,20 @@ spv = {
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
OpAtomicFAddEXT = 6035,
|
||||
OpTypeBufferSurfaceINTEL = 6086,
|
||||
OpTypeStructContinuedINTEL = 6090,
|
||||
OpConstantCompositeContinuedINTEL = 6091,
|
||||
OpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
OpGroupBitwiseOrKHR = 6404,
|
||||
OpGroupBitwiseXorKHR = 6405,
|
||||
OpGroupLogicalAndKHR = 6406,
|
||||
OpGroupLogicalOrKHR = 6407,
|
||||
OpGroupLogicalXorKHR = 6408,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -26,7 +26,7 @@
|
||||
# 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#, D, Beef
|
||||
#
|
||||
# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
@ -36,6 +36,8 @@
|
||||
# - 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
|
||||
# - Beef 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
|
||||
@ -44,8 +46,8 @@
|
||||
|
||||
spv = {
|
||||
'MagicNumber' : 0x07230203,
|
||||
'Version' : 0x00010500,
|
||||
'Revision' : 4,
|
||||
'Version' : 0x00010600,
|
||||
'Revision' : 1,
|
||||
'OpCodeMask' : 0xffff,
|
||||
'WordCountShift' : 16,
|
||||
|
||||
@ -56,6 +58,8 @@ spv = {
|
||||
'OpenCL_C' : 3,
|
||||
'OpenCL_CPP' : 4,
|
||||
'HLSL' : 5,
|
||||
'CPP_for_OpenCL' : 6,
|
||||
'SYCL' : 7,
|
||||
},
|
||||
|
||||
'ExecutionModel' : {
|
||||
@ -80,6 +84,8 @@ spv = {
|
||||
'MissNV' : 5317,
|
||||
'CallableKHR' : 5318,
|
||||
'CallableNV' : 5318,
|
||||
'TaskEXT' : 5364,
|
||||
'MeshEXT' : 5365,
|
||||
},
|
||||
|
||||
'AddressingModel' : {
|
||||
@ -137,17 +143,28 @@ spv = {
|
||||
'SubgroupsPerWorkgroupId' : 37,
|
||||
'LocalSizeId' : 38,
|
||||
'LocalSizeHintId' : 39,
|
||||
'SubgroupUniformControlFlowKHR' : 4421,
|
||||
'PostDepthCoverage' : 4446,
|
||||
'DenormPreserve' : 4459,
|
||||
'DenormFlushToZero' : 4460,
|
||||
'SignedZeroInfNanPreserve' : 4461,
|
||||
'RoundingModeRTE' : 4462,
|
||||
'RoundingModeRTZ' : 4463,
|
||||
'EarlyAndLateFragmentTestsAMD' : 5017,
|
||||
'StencilRefReplacingEXT' : 5027,
|
||||
'StencilRefUnchangedFrontAMD' : 5079,
|
||||
'StencilRefGreaterFrontAMD' : 5080,
|
||||
'StencilRefLessFrontAMD' : 5081,
|
||||
'StencilRefUnchangedBackAMD' : 5082,
|
||||
'StencilRefGreaterBackAMD' : 5083,
|
||||
'StencilRefLessBackAMD' : 5084,
|
||||
'OutputLinesEXT' : 5269,
|
||||
'OutputLinesNV' : 5269,
|
||||
'OutputPrimitivesEXT' : 5270,
|
||||
'OutputPrimitivesNV' : 5270,
|
||||
'DerivativeGroupQuadsNV' : 5289,
|
||||
'DerivativeGroupLinearNV' : 5290,
|
||||
'OutputTrianglesEXT' : 5298,
|
||||
'OutputTrianglesNV' : 5298,
|
||||
'PixelInterlockOrderedEXT' : 5366,
|
||||
'PixelInterlockUnorderedEXT' : 5367,
|
||||
@ -155,10 +172,17 @@ spv = {
|
||||
'SampleInterlockUnorderedEXT' : 5369,
|
||||
'ShadingRateInterlockOrderedEXT' : 5370,
|
||||
'ShadingRateInterlockUnorderedEXT' : 5371,
|
||||
'SharedLocalMemorySizeINTEL' : 5618,
|
||||
'RoundingModeRTPINTEL' : 5620,
|
||||
'RoundingModeRTNINTEL' : 5621,
|
||||
'FloatingPointModeALTINTEL' : 5622,
|
||||
'FloatingPointModeIEEEINTEL' : 5623,
|
||||
'MaxWorkgroupSizeINTEL' : 5893,
|
||||
'MaxWorkDimINTEL' : 5894,
|
||||
'NoGlobalOffsetINTEL' : 5895,
|
||||
'NumSIMDWorkitemsINTEL' : 5896,
|
||||
'SchedulerTargetFmaxMhzINTEL' : 5903,
|
||||
'NamedBarrierCountINTEL' : 6417,
|
||||
},
|
||||
|
||||
'StorageClass' : {
|
||||
@ -189,7 +213,10 @@ spv = {
|
||||
'ShaderRecordBufferNV' : 5343,
|
||||
'PhysicalStorageBuffer' : 5349,
|
||||
'PhysicalStorageBufferEXT' : 5349,
|
||||
'TaskPayloadWorkgroupEXT' : 5402,
|
||||
'CodeSectionINTEL' : 5605,
|
||||
'DeviceOnlyINTEL' : 5936,
|
||||
'HostOnlyINTEL' : 5937,
|
||||
},
|
||||
|
||||
'Dim' : {
|
||||
@ -322,6 +349,8 @@ spv = {
|
||||
'VolatileTexelKHR' : 11,
|
||||
'SignExtend' : 12,
|
||||
'ZeroExtend' : 13,
|
||||
'Nontemporal' : 14,
|
||||
'Offsets' : 16,
|
||||
},
|
||||
|
||||
'ImageOperandsMask' : {
|
||||
@ -344,6 +373,8 @@ spv = {
|
||||
'VolatileTexelKHR' : 0x00000800,
|
||||
'SignExtend' : 0x00001000,
|
||||
'ZeroExtend' : 0x00002000,
|
||||
'Nontemporal' : 0x00004000,
|
||||
'Offsets' : 0x00010000,
|
||||
},
|
||||
|
||||
'FPFastMathModeShift' : {
|
||||
@ -352,6 +383,8 @@ spv = {
|
||||
'NSZ' : 2,
|
||||
'AllowRecip' : 3,
|
||||
'Fast' : 4,
|
||||
'AllowContractFastINTEL' : 16,
|
||||
'AllowReassocINTEL' : 17,
|
||||
},
|
||||
|
||||
'FPFastMathModeMask' : {
|
||||
@ -361,6 +394,8 @@ spv = {
|
||||
'NSZ' : 0x00000004,
|
||||
'AllowRecip' : 0x00000008,
|
||||
'Fast' : 0x00000010,
|
||||
'AllowContractFastINTEL' : 0x00010000,
|
||||
'AllowReassocINTEL' : 0x00020000,
|
||||
},
|
||||
|
||||
'FPRoundingMode' : {
|
||||
@ -373,6 +408,7 @@ spv = {
|
||||
'LinkageType' : {
|
||||
'Export' : 0,
|
||||
'Import' : 1,
|
||||
'LinkOnceODR' : 2,
|
||||
},
|
||||
|
||||
'AccessQualifier' : {
|
||||
@ -447,9 +483,11 @@ spv = {
|
||||
'PassthroughNV' : 5250,
|
||||
'ViewportRelativeNV' : 5252,
|
||||
'SecondaryViewportRelativeNV' : 5256,
|
||||
'PerPrimitiveEXT' : 5271,
|
||||
'PerPrimitiveNV' : 5271,
|
||||
'PerViewNV' : 5272,
|
||||
'PerTaskNV' : 5273,
|
||||
'PerVertexKHR' : 5285,
|
||||
'PerVertexNV' : 5285,
|
||||
'NonUniform' : 5300,
|
||||
'NonUniformEXT' : 5300,
|
||||
@ -457,12 +495,26 @@ spv = {
|
||||
'RestrictPointerEXT' : 5355,
|
||||
'AliasedPointer' : 5356,
|
||||
'AliasedPointerEXT' : 5356,
|
||||
'BindlessSamplerNV' : 5398,
|
||||
'BindlessImageNV' : 5399,
|
||||
'BoundSamplerNV' : 5400,
|
||||
'BoundImageNV' : 5401,
|
||||
'SIMTCallINTEL' : 5599,
|
||||
'ReferencedIndirectlyINTEL' : 5602,
|
||||
'ClobberINTEL' : 5607,
|
||||
'SideEffectsINTEL' : 5608,
|
||||
'VectorComputeVariableINTEL' : 5624,
|
||||
'FuncParamIOKindINTEL' : 5625,
|
||||
'VectorComputeFunctionINTEL' : 5626,
|
||||
'StackCallINTEL' : 5627,
|
||||
'GlobalVariableOffsetINTEL' : 5628,
|
||||
'CounterBuffer' : 5634,
|
||||
'HlslCounterBufferGOOGLE' : 5634,
|
||||
'HlslSemanticGOOGLE' : 5635,
|
||||
'UserSemantic' : 5635,
|
||||
'UserTypeGOOGLE' : 5636,
|
||||
'FunctionRoundingModeINTEL' : 5822,
|
||||
'FunctionDenormModeINTEL' : 5823,
|
||||
'RegisterINTEL' : 5825,
|
||||
'MemoryINTEL' : 5826,
|
||||
'NumbanksINTEL' : 5827,
|
||||
@ -475,6 +527,20 @@ spv = {
|
||||
'MergeINTEL' : 5834,
|
||||
'BankBitsINTEL' : 5835,
|
||||
'ForcePow2DepthINTEL' : 5836,
|
||||
'BurstCoalesceINTEL' : 5899,
|
||||
'CacheSizeINTEL' : 5900,
|
||||
'DontStaticallyCoalesceINTEL' : 5901,
|
||||
'PrefetchINTEL' : 5902,
|
||||
'StallEnableINTEL' : 5905,
|
||||
'FuseLoopsInFunctionINTEL' : 5907,
|
||||
'AliasScopeINTEL' : 5914,
|
||||
'NoAliasINTEL' : 5915,
|
||||
'BufferLocationINTEL' : 5921,
|
||||
'IOPipeStorageINTEL' : 5944,
|
||||
'FunctionFloatingPointModeINTEL' : 6080,
|
||||
'SingleElementVectorINTEL' : 6085,
|
||||
'VectorComputeCallableFunctionINTEL' : 6087,
|
||||
'MediaBlockIOINTEL' : 6140,
|
||||
},
|
||||
|
||||
'BuiltIn' : {
|
||||
@ -519,6 +585,11 @@ spv = {
|
||||
'SubgroupLocalInvocationId' : 41,
|
||||
'VertexIndex' : 42,
|
||||
'InstanceIndex' : 43,
|
||||
'CoreIDARM' : 4160,
|
||||
'CoreCountARM' : 4161,
|
||||
'CoreMaxIDARM' : 4162,
|
||||
'WarpIDARM' : 4163,
|
||||
'WarpMaxIDARM' : 4164,
|
||||
'SubgroupEqMask' : 4416,
|
||||
'SubgroupEqMaskKHR' : 4416,
|
||||
'SubgroupGeMask' : 4417,
|
||||
@ -558,12 +629,18 @@ spv = {
|
||||
'LayerPerViewNV' : 5279,
|
||||
'MeshViewCountNV' : 5280,
|
||||
'MeshViewIndicesNV' : 5281,
|
||||
'BaryCoordKHR' : 5286,
|
||||
'BaryCoordNV' : 5286,
|
||||
'BaryCoordNoPerspKHR' : 5287,
|
||||
'BaryCoordNoPerspNV' : 5287,
|
||||
'FragSizeEXT' : 5292,
|
||||
'FragmentSizeNV' : 5292,
|
||||
'FragInvocationCountEXT' : 5293,
|
||||
'InvocationsPerPixelNV' : 5293,
|
||||
'PrimitivePointIndicesEXT' : 5294,
|
||||
'PrimitiveLineIndicesEXT' : 5295,
|
||||
'PrimitiveTriangleIndicesEXT' : 5296,
|
||||
'CullPrimitiveEXT' : 5299,
|
||||
'LaunchIdKHR' : 5319,
|
||||
'LaunchIdNV' : 5319,
|
||||
'LaunchSizeKHR' : 5320,
|
||||
@ -589,6 +666,7 @@ spv = {
|
||||
'HitTNV' : 5332,
|
||||
'HitKindKHR' : 5333,
|
||||
'HitKindNV' : 5333,
|
||||
'CurrentRayTimeNV' : 5334,
|
||||
'IncomingRayFlagsKHR' : 5351,
|
||||
'IncomingRayFlagsNV' : 5351,
|
||||
'RayGeometryIndexKHR' : 5352,
|
||||
@ -596,6 +674,7 @@ spv = {
|
||||
'SMCountNV' : 5375,
|
||||
'WarpIDNV' : 5376,
|
||||
'SMIDNV' : 5377,
|
||||
'CullMaskKHR' : 6021,
|
||||
},
|
||||
|
||||
'SelectionControlShift' : {
|
||||
@ -626,6 +705,7 @@ spv = {
|
||||
'LoopCoalesceINTEL' : 20,
|
||||
'MaxInterleavingINTEL' : 21,
|
||||
'SpeculatedIterationsINTEL' : 22,
|
||||
'NoFusionINTEL' : 23,
|
||||
},
|
||||
|
||||
'LoopControlMask' : {
|
||||
@ -646,6 +726,7 @@ spv = {
|
||||
'LoopCoalesceINTEL' : 0x00100000,
|
||||
'MaxInterleavingINTEL' : 0x00200000,
|
||||
'SpeculatedIterationsINTEL' : 0x00400000,
|
||||
'NoFusionINTEL' : 0x00800000,
|
||||
},
|
||||
|
||||
'FunctionControlShift' : {
|
||||
@ -653,6 +734,7 @@ spv = {
|
||||
'DontInline' : 1,
|
||||
'Pure' : 2,
|
||||
'Const' : 3,
|
||||
'OptNoneINTEL' : 16,
|
||||
},
|
||||
|
||||
'FunctionControlMask' : {
|
||||
@ -661,6 +743,7 @@ spv = {
|
||||
'DontInline' : 0x00000002,
|
||||
'Pure' : 0x00000004,
|
||||
'Const' : 0x00000008,
|
||||
'OptNoneINTEL' : 0x00010000,
|
||||
},
|
||||
|
||||
'MemorySemanticsShift' : {
|
||||
@ -714,6 +797,8 @@ spv = {
|
||||
'MakePointerVisibleKHR' : 4,
|
||||
'NonPrivatePointer' : 5,
|
||||
'NonPrivatePointerKHR' : 5,
|
||||
'AliasScopeINTELMask' : 16,
|
||||
'NoAliasINTELMask' : 17,
|
||||
},
|
||||
|
||||
'MemoryAccessMask' : {
|
||||
@ -727,6 +812,8 @@ spv = {
|
||||
'MakePointerVisibleKHR' : 0x00000010,
|
||||
'NonPrivatePointer' : 0x00000020,
|
||||
'NonPrivatePointerKHR' : 0x00000020,
|
||||
'AliasScopeINTELMask' : 0x00010000,
|
||||
'NoAliasINTELMask' : 0x00020000,
|
||||
},
|
||||
|
||||
'Scope' : {
|
||||
@ -835,9 +922,14 @@ spv = {
|
||||
'GroupNonUniformQuad' : 68,
|
||||
'ShaderLayer' : 69,
|
||||
'ShaderViewportIndex' : 70,
|
||||
'UniformDecoration' : 71,
|
||||
'CoreBuiltinsARM' : 4165,
|
||||
'FragmentShadingRateKHR' : 4422,
|
||||
'SubgroupBallotKHR' : 4423,
|
||||
'DrawParameters' : 4427,
|
||||
'WorkgroupMemoryExplicitLayoutKHR' : 4428,
|
||||
'WorkgroupMemoryExplicitLayout8BitAccessKHR' : 4429,
|
||||
'WorkgroupMemoryExplicitLayout16BitAccessKHR' : 4430,
|
||||
'SubgroupVoteKHR' : 4431,
|
||||
'StorageBuffer16BitAccess' : 4433,
|
||||
'StorageUniformBufferBlock16' : 4433,
|
||||
@ -880,6 +972,8 @@ spv = {
|
||||
'FragmentFullyCoveredEXT' : 5265,
|
||||
'MeshShadingNV' : 5266,
|
||||
'ImageFootprintNV' : 5282,
|
||||
'MeshShadingEXT' : 5283,
|
||||
'FragmentBarycentricKHR' : 5284,
|
||||
'FragmentBarycentricNV' : 5284,
|
||||
'ComputeDerivativeGroupQuadsNV' : 5288,
|
||||
'FragmentDensityEXT' : 5291,
|
||||
@ -910,6 +1004,7 @@ spv = {
|
||||
'StorageTexelBufferArrayNonUniformIndexing' : 5312,
|
||||
'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
|
||||
'RayTracingNV' : 5340,
|
||||
'RayTracingMotionBlurNV' : 5341,
|
||||
'VulkanMemoryModel' : 5345,
|
||||
'VulkanMemoryModelKHR' : 5345,
|
||||
'VulkanMemoryModelDeviceScope' : 5346,
|
||||
@ -923,26 +1018,68 @@ spv = {
|
||||
'FragmentShaderShadingRateInterlockEXT' : 5372,
|
||||
'ShaderSMBuiltinsNV' : 5373,
|
||||
'FragmentShaderPixelInterlockEXT' : 5378,
|
||||
'DemoteToHelperInvocation' : 5379,
|
||||
'DemoteToHelperInvocationEXT' : 5379,
|
||||
'RayTracingOpacityMicromapEXT' : 5381,
|
||||
'BindlessTextureNV' : 5390,
|
||||
'SubgroupShuffleINTEL' : 5568,
|
||||
'SubgroupBufferBlockIOINTEL' : 5569,
|
||||
'SubgroupImageBlockIOINTEL' : 5570,
|
||||
'SubgroupImageMediaBlockIOINTEL' : 5579,
|
||||
'RoundToInfinityINTEL' : 5582,
|
||||
'FloatingPointModeINTEL' : 5583,
|
||||
'IntegerFunctions2INTEL' : 5584,
|
||||
'FunctionPointersINTEL' : 5603,
|
||||
'IndirectReferencesINTEL' : 5604,
|
||||
'AsmINTEL' : 5606,
|
||||
'AtomicFloat32MinMaxEXT' : 5612,
|
||||
'AtomicFloat64MinMaxEXT' : 5613,
|
||||
'AtomicFloat16MinMaxEXT' : 5616,
|
||||
'VectorComputeINTEL' : 5617,
|
||||
'VectorAnyINTEL' : 5619,
|
||||
'ExpectAssumeKHR' : 5629,
|
||||
'SubgroupAvcMotionEstimationINTEL' : 5696,
|
||||
'SubgroupAvcMotionEstimationIntraINTEL' : 5697,
|
||||
'SubgroupAvcMotionEstimationChromaINTEL' : 5698,
|
||||
'VariableLengthArrayINTEL' : 5817,
|
||||
'FunctionFloatControlINTEL' : 5821,
|
||||
'FPGAMemoryAttributesINTEL' : 5824,
|
||||
'FPFastMathModeINTEL' : 5837,
|
||||
'ArbitraryPrecisionIntegersINTEL' : 5844,
|
||||
'ArbitraryPrecisionFloatingPointINTEL' : 5845,
|
||||
'UnstructuredLoopControlsINTEL' : 5886,
|
||||
'FPGALoopControlsINTEL' : 5888,
|
||||
'KernelAttributesINTEL' : 5892,
|
||||
'FPGAKernelAttributesINTEL' : 5897,
|
||||
'FPGAMemoryAccessesINTEL' : 5898,
|
||||
'FPGAClusterAttributesINTEL' : 5904,
|
||||
'LoopFuseINTEL' : 5906,
|
||||
'MemoryAccessAliasingINTEL' : 5910,
|
||||
'FPGABufferLocationINTEL' : 5920,
|
||||
'ArbitraryPrecisionFixedPointINTEL' : 5922,
|
||||
'USMStorageClassesINTEL' : 5935,
|
||||
'IOPipesINTEL' : 5943,
|
||||
'BlockingPipesINTEL' : 5945,
|
||||
'FPGARegINTEL' : 5948,
|
||||
'DotProductInputAll' : 6016,
|
||||
'DotProductInputAllKHR' : 6016,
|
||||
'DotProductInput4x8Bit' : 6017,
|
||||
'DotProductInput4x8BitKHR' : 6017,
|
||||
'DotProductInput4x8BitPacked' : 6018,
|
||||
'DotProductInput4x8BitPackedKHR' : 6018,
|
||||
'DotProduct' : 6019,
|
||||
'DotProductKHR' : 6019,
|
||||
'RayCullMaskKHR' : 6020,
|
||||
'BitInstructions' : 6025,
|
||||
'GroupNonUniformRotateKHR' : 6026,
|
||||
'AtomicFloat32AddEXT' : 6033,
|
||||
'AtomicFloat64AddEXT' : 6034,
|
||||
'LongConstantCompositeINTEL' : 6089,
|
||||
'OptNoneINTEL' : 6094,
|
||||
'AtomicFloat16AddEXT' : 6095,
|
||||
'DebugInfoModuleINTEL' : 6114,
|
||||
'SplitBarrierINTEL' : 6141,
|
||||
'GroupUniformArithmeticKHR' : 6400,
|
||||
},
|
||||
|
||||
'RayFlagsShift' : {
|
||||
@ -956,6 +1093,7 @@ spv = {
|
||||
'CullNoOpaqueKHR' : 7,
|
||||
'SkipTrianglesKHR' : 8,
|
||||
'SkipAABBsKHR' : 9,
|
||||
'ForceOpacityMicromap2StateEXT' : 10,
|
||||
},
|
||||
|
||||
'RayFlagsMask' : {
|
||||
@ -970,6 +1108,7 @@ spv = {
|
||||
'CullNoOpaqueKHR' : 0x00000080,
|
||||
'SkipTrianglesKHR' : 0x00000100,
|
||||
'SkipAABBsKHR' : 0x00000200,
|
||||
'ForceOpacityMicromap2StateEXT' : 0x00000400,
|
||||
},
|
||||
|
||||
'RayQueryIntersection' : {
|
||||
@ -1003,6 +1142,39 @@ spv = {
|
||||
'Horizontal4Pixels' : 0x00000008,
|
||||
},
|
||||
|
||||
'FPDenormMode' : {
|
||||
'Preserve' : 0,
|
||||
'FlushToZero' : 1,
|
||||
},
|
||||
|
||||
'FPOperationMode' : {
|
||||
'IEEE' : 0,
|
||||
'ALT' : 1,
|
||||
},
|
||||
|
||||
'QuantizationModes' : {
|
||||
'TRN' : 0,
|
||||
'TRN_ZERO' : 1,
|
||||
'RND' : 2,
|
||||
'RND_ZERO' : 3,
|
||||
'RND_INF' : 4,
|
||||
'RND_MIN_INF' : 5,
|
||||
'RND_CONV' : 6,
|
||||
'RND_CONV_ODD' : 7,
|
||||
},
|
||||
|
||||
'OverflowModes' : {
|
||||
'WRAP' : 0,
|
||||
'SAT' : 1,
|
||||
'SAT_ZERO' : 2,
|
||||
'SAT_SYM' : 3,
|
||||
},
|
||||
|
||||
'PackedVectorFormat' : {
|
||||
'PackedVectorFormat4x8Bit' : 0,
|
||||
'PackedVectorFormat4x8BitKHR' : 0,
|
||||
},
|
||||
|
||||
'Op' : {
|
||||
'OpNop' : 0,
|
||||
'OpUndef' : 1,
|
||||
@ -1354,12 +1526,25 @@ spv = {
|
||||
'OpSubgroupAllKHR' : 4428,
|
||||
'OpSubgroupAnyKHR' : 4429,
|
||||
'OpSubgroupAllEqualKHR' : 4430,
|
||||
'OpGroupNonUniformRotateKHR' : 4431,
|
||||
'OpSubgroupReadInvocationKHR' : 4432,
|
||||
'OpTraceRayKHR' : 4445,
|
||||
'OpExecuteCallableKHR' : 4446,
|
||||
'OpConvertUToAccelerationStructureKHR' : 4447,
|
||||
'OpIgnoreIntersectionKHR' : 4448,
|
||||
'OpTerminateRayKHR' : 4449,
|
||||
'OpSDot' : 4450,
|
||||
'OpSDotKHR' : 4450,
|
||||
'OpUDot' : 4451,
|
||||
'OpUDotKHR' : 4451,
|
||||
'OpSUDot' : 4452,
|
||||
'OpSUDotKHR' : 4452,
|
||||
'OpSDotAccSat' : 4453,
|
||||
'OpSDotAccSatKHR' : 4453,
|
||||
'OpUDotAccSat' : 4454,
|
||||
'OpUDotAccSatKHR' : 4454,
|
||||
'OpSUDotAccSat' : 4455,
|
||||
'OpSUDotAccSatKHR' : 4455,
|
||||
'OpTypeRayQueryKHR' : 4472,
|
||||
'OpRayQueryInitializeKHR' : 4473,
|
||||
'OpRayQueryTerminateKHR' : 4474,
|
||||
@ -1379,6 +1564,8 @@ spv = {
|
||||
'OpFragmentFetchAMD' : 5012,
|
||||
'OpReadClockKHR' : 5056,
|
||||
'OpImageSampleFootprintNV' : 5283,
|
||||
'OpEmitMeshTasksEXT' : 5294,
|
||||
'OpSetMeshOutputsEXT' : 5295,
|
||||
'OpGroupNonUniformPartitionNV' : 5296,
|
||||
'OpWritePackedPrimitiveIndices4x8NV' : 5299,
|
||||
'OpReportIntersectionKHR' : 5334,
|
||||
@ -1386,6 +1573,8 @@ spv = {
|
||||
'OpIgnoreIntersectionNV' : 5335,
|
||||
'OpTerminateRayNV' : 5336,
|
||||
'OpTraceNV' : 5337,
|
||||
'OpTraceMotionNV' : 5338,
|
||||
'OpTraceRayMotionNV' : 5339,
|
||||
'OpTypeAccelerationStructureKHR' : 5341,
|
||||
'OpTypeAccelerationStructureNV' : 5341,
|
||||
'OpExecuteCallableNV' : 5344,
|
||||
@ -1396,8 +1585,16 @@ spv = {
|
||||
'OpCooperativeMatrixLengthNV' : 5362,
|
||||
'OpBeginInvocationInterlockEXT' : 5364,
|
||||
'OpEndInvocationInterlockEXT' : 5365,
|
||||
'OpDemoteToHelperInvocation' : 5380,
|
||||
'OpDemoteToHelperInvocationEXT' : 5380,
|
||||
'OpIsHelperInvocationEXT' : 5381,
|
||||
'OpConvertUToImageNV' : 5391,
|
||||
'OpConvertUToSamplerNV' : 5392,
|
||||
'OpConvertImageToUNV' : 5393,
|
||||
'OpConvertSamplerToUNV' : 5394,
|
||||
'OpConvertUToSampledImageNV' : 5395,
|
||||
'OpConvertSampledImageToUNV' : 5396,
|
||||
'OpSamplerImageAddressingModeNV' : 5397,
|
||||
'OpSubgroupShuffleINTEL' : 5571,
|
||||
'OpSubgroupShuffleDownINTEL' : 5572,
|
||||
'OpSubgroupShuffleUpINTEL' : 5573,
|
||||
@ -1422,8 +1619,15 @@ spv = {
|
||||
'OpUSubSatINTEL' : 5596,
|
||||
'OpIMul32x16INTEL' : 5597,
|
||||
'OpUMul32x16INTEL' : 5598,
|
||||
'OpFunctionPointerINTEL' : 5600,
|
||||
'OpConstantFunctionPointerINTEL' : 5600,
|
||||
'OpFunctionPointerCallINTEL' : 5601,
|
||||
'OpAsmTargetINTEL' : 5609,
|
||||
'OpAsmINTEL' : 5610,
|
||||
'OpAsmCallINTEL' : 5611,
|
||||
'OpAtomicFMinEXT' : 5614,
|
||||
'OpAtomicFMaxEXT' : 5615,
|
||||
'OpAssumeTrueKHR' : 5630,
|
||||
'OpExpectKHR' : 5631,
|
||||
'OpDecorateString' : 5632,
|
||||
'OpDecorateStringGOOGLE' : 5632,
|
||||
'OpMemberDecorateString' : 5633,
|
||||
@ -1546,7 +1750,67 @@ spv = {
|
||||
'OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL' : 5814,
|
||||
'OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL' : 5815,
|
||||
'OpSubgroupAvcSicGetInterRawSadsINTEL' : 5816,
|
||||
'OpVariableLengthArrayINTEL' : 5818,
|
||||
'OpSaveMemoryINTEL' : 5819,
|
||||
'OpRestoreMemoryINTEL' : 5820,
|
||||
'OpArbitraryFloatSinCosPiINTEL' : 5840,
|
||||
'OpArbitraryFloatCastINTEL' : 5841,
|
||||
'OpArbitraryFloatCastFromIntINTEL' : 5842,
|
||||
'OpArbitraryFloatCastToIntINTEL' : 5843,
|
||||
'OpArbitraryFloatAddINTEL' : 5846,
|
||||
'OpArbitraryFloatSubINTEL' : 5847,
|
||||
'OpArbitraryFloatMulINTEL' : 5848,
|
||||
'OpArbitraryFloatDivINTEL' : 5849,
|
||||
'OpArbitraryFloatGTINTEL' : 5850,
|
||||
'OpArbitraryFloatGEINTEL' : 5851,
|
||||
'OpArbitraryFloatLTINTEL' : 5852,
|
||||
'OpArbitraryFloatLEINTEL' : 5853,
|
||||
'OpArbitraryFloatEQINTEL' : 5854,
|
||||
'OpArbitraryFloatRecipINTEL' : 5855,
|
||||
'OpArbitraryFloatRSqrtINTEL' : 5856,
|
||||
'OpArbitraryFloatCbrtINTEL' : 5857,
|
||||
'OpArbitraryFloatHypotINTEL' : 5858,
|
||||
'OpArbitraryFloatSqrtINTEL' : 5859,
|
||||
'OpArbitraryFloatLogINTEL' : 5860,
|
||||
'OpArbitraryFloatLog2INTEL' : 5861,
|
||||
'OpArbitraryFloatLog10INTEL' : 5862,
|
||||
'OpArbitraryFloatLog1pINTEL' : 5863,
|
||||
'OpArbitraryFloatExpINTEL' : 5864,
|
||||
'OpArbitraryFloatExp2INTEL' : 5865,
|
||||
'OpArbitraryFloatExp10INTEL' : 5866,
|
||||
'OpArbitraryFloatExpm1INTEL' : 5867,
|
||||
'OpArbitraryFloatSinINTEL' : 5868,
|
||||
'OpArbitraryFloatCosINTEL' : 5869,
|
||||
'OpArbitraryFloatSinCosINTEL' : 5870,
|
||||
'OpArbitraryFloatSinPiINTEL' : 5871,
|
||||
'OpArbitraryFloatCosPiINTEL' : 5872,
|
||||
'OpArbitraryFloatASinINTEL' : 5873,
|
||||
'OpArbitraryFloatASinPiINTEL' : 5874,
|
||||
'OpArbitraryFloatACosINTEL' : 5875,
|
||||
'OpArbitraryFloatACosPiINTEL' : 5876,
|
||||
'OpArbitraryFloatATanINTEL' : 5877,
|
||||
'OpArbitraryFloatATanPiINTEL' : 5878,
|
||||
'OpArbitraryFloatATan2INTEL' : 5879,
|
||||
'OpArbitraryFloatPowINTEL' : 5880,
|
||||
'OpArbitraryFloatPowRINTEL' : 5881,
|
||||
'OpArbitraryFloatPowNINTEL' : 5882,
|
||||
'OpLoopControlINTEL' : 5887,
|
||||
'OpAliasDomainDeclINTEL' : 5911,
|
||||
'OpAliasScopeDeclINTEL' : 5912,
|
||||
'OpAliasScopeListDeclINTEL' : 5913,
|
||||
'OpFixedSqrtINTEL' : 5923,
|
||||
'OpFixedRecipINTEL' : 5924,
|
||||
'OpFixedRsqrtINTEL' : 5925,
|
||||
'OpFixedSinINTEL' : 5926,
|
||||
'OpFixedCosINTEL' : 5927,
|
||||
'OpFixedSinCosINTEL' : 5928,
|
||||
'OpFixedSinPiINTEL' : 5929,
|
||||
'OpFixedCosPiINTEL' : 5930,
|
||||
'OpFixedSinCosPiINTEL' : 5931,
|
||||
'OpFixedLogINTEL' : 5932,
|
||||
'OpFixedExpINTEL' : 5933,
|
||||
'OpPtrCastToCrossWorkgroupINTEL' : 5934,
|
||||
'OpCrossWorkgroupCastToPtrINTEL' : 5938,
|
||||
'OpReadPipeBlockingINTEL' : 5946,
|
||||
'OpWritePipeBlockingINTEL' : 5947,
|
||||
'OpFPGARegINTEL' : 5949,
|
||||
@ -1568,6 +1832,20 @@ spv = {
|
||||
'OpRayQueryGetIntersectionObjectToWorldKHR' : 6031,
|
||||
'OpRayQueryGetIntersectionWorldToObjectKHR' : 6032,
|
||||
'OpAtomicFAddEXT' : 6035,
|
||||
'OpTypeBufferSurfaceINTEL' : 6086,
|
||||
'OpTypeStructContinuedINTEL' : 6090,
|
||||
'OpConstantCompositeContinuedINTEL' : 6091,
|
||||
'OpSpecConstantCompositeContinuedINTEL' : 6092,
|
||||
'OpControlBarrierArriveINTEL' : 6142,
|
||||
'OpControlBarrierWaitINTEL' : 6143,
|
||||
'OpGroupIMulKHR' : 6401,
|
||||
'OpGroupFMulKHR' : 6402,
|
||||
'OpGroupBitwiseAndKHR' : 6403,
|
||||
'OpGroupBitwiseOrKHR' : 6404,
|
||||
'OpGroupBitwiseXorKHR' : 6405,
|
||||
'OpGroupLogicalAndKHR' : 6406,
|
||||
'OpGroupLogicalOrKHR' : 6407,
|
||||
'OpGroupLogicalXorKHR' : 6408,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
/+
|
||||
+ 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#, D, Beef
|
||||
+
|
||||
+ - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
+ - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
@ -41,6 +41,8 @@
|
||||
+ - 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
|
||||
+ - Beef 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
|
||||
@ -51,8 +53,8 @@
|
||||
module spv;
|
||||
|
||||
enum uint MagicNumber = 0x07230203;
|
||||
enum uint Version = 0x00010500;
|
||||
enum uint Revision = 4;
|
||||
enum uint Version = 0x00010600;
|
||||
enum uint Revision = 1;
|
||||
enum uint OpCodeMask = 0xffff;
|
||||
enum uint WordCountShift = 16;
|
||||
|
||||
@ -64,6 +66,8 @@ enum SourceLanguage : uint
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
CPP_for_OpenCL = 6,
|
||||
SYCL = 7,
|
||||
}
|
||||
|
||||
enum ExecutionModel : uint
|
||||
@ -89,6 +93,8 @@ enum ExecutionModel : uint
|
||||
MissNV = 5317,
|
||||
CallableKHR = 5318,
|
||||
CallableNV = 5318,
|
||||
TaskEXT = 5364,
|
||||
MeshEXT = 5365,
|
||||
}
|
||||
|
||||
enum AddressingModel : uint
|
||||
@ -149,17 +155,28 @@ enum ExecutionMode : uint
|
||||
SubgroupsPerWorkgroupId = 37,
|
||||
LocalSizeId = 38,
|
||||
LocalSizeHintId = 39,
|
||||
SubgroupUniformControlFlowKHR = 4421,
|
||||
PostDepthCoverage = 4446,
|
||||
DenormPreserve = 4459,
|
||||
DenormFlushToZero = 4460,
|
||||
SignedZeroInfNanPreserve = 4461,
|
||||
RoundingModeRTE = 4462,
|
||||
RoundingModeRTZ = 4463,
|
||||
EarlyAndLateFragmentTestsAMD = 5017,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
StencilRefUnchangedFrontAMD = 5079,
|
||||
StencilRefGreaterFrontAMD = 5080,
|
||||
StencilRefLessFrontAMD = 5081,
|
||||
StencilRefUnchangedBackAMD = 5082,
|
||||
StencilRefGreaterBackAMD = 5083,
|
||||
StencilRefLessBackAMD = 5084,
|
||||
OutputLinesEXT = 5269,
|
||||
OutputLinesNV = 5269,
|
||||
OutputPrimitivesEXT = 5270,
|
||||
OutputPrimitivesNV = 5270,
|
||||
DerivativeGroupQuadsNV = 5289,
|
||||
DerivativeGroupLinearNV = 5290,
|
||||
OutputTrianglesEXT = 5298,
|
||||
OutputTrianglesNV = 5298,
|
||||
PixelInterlockOrderedEXT = 5366,
|
||||
PixelInterlockUnorderedEXT = 5367,
|
||||
@ -167,10 +184,17 @@ enum ExecutionMode : uint
|
||||
SampleInterlockUnorderedEXT = 5369,
|
||||
ShadingRateInterlockOrderedEXT = 5370,
|
||||
ShadingRateInterlockUnorderedEXT = 5371,
|
||||
SharedLocalMemorySizeINTEL = 5618,
|
||||
RoundingModeRTPINTEL = 5620,
|
||||
RoundingModeRTNINTEL = 5621,
|
||||
FloatingPointModeALTINTEL = 5622,
|
||||
FloatingPointModeIEEEINTEL = 5623,
|
||||
MaxWorkgroupSizeINTEL = 5893,
|
||||
MaxWorkDimINTEL = 5894,
|
||||
NoGlobalOffsetINTEL = 5895,
|
||||
NumSIMDWorkitemsINTEL = 5896,
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
}
|
||||
|
||||
enum StorageClass : uint
|
||||
@ -202,7 +226,10 @@ enum StorageClass : uint
|
||||
ShaderRecordBufferNV = 5343,
|
||||
PhysicalStorageBuffer = 5349,
|
||||
PhysicalStorageBufferEXT = 5349,
|
||||
TaskPayloadWorkgroupEXT = 5402,
|
||||
CodeSectionINTEL = 5605,
|
||||
DeviceOnlyINTEL = 5936,
|
||||
HostOnlyINTEL = 5937,
|
||||
}
|
||||
|
||||
enum Dim : uint
|
||||
@ -342,6 +369,8 @@ enum ImageOperandsShift : uint
|
||||
VolatileTexelKHR = 11,
|
||||
SignExtend = 12,
|
||||
ZeroExtend = 13,
|
||||
Nontemporal = 14,
|
||||
Offsets = 16,
|
||||
}
|
||||
|
||||
enum ImageOperandsMask : uint
|
||||
@ -365,6 +394,8 @@ enum ImageOperandsMask : uint
|
||||
VolatileTexelKHR = 0x00000800,
|
||||
SignExtend = 0x00001000,
|
||||
ZeroExtend = 0x00002000,
|
||||
Nontemporal = 0x00004000,
|
||||
Offsets = 0x00010000,
|
||||
}
|
||||
|
||||
enum FPFastMathModeShift : uint
|
||||
@ -374,6 +405,8 @@ enum FPFastMathModeShift : uint
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
AllowContractFastINTEL = 16,
|
||||
AllowReassocINTEL = 17,
|
||||
}
|
||||
|
||||
enum FPFastMathModeMask : uint
|
||||
@ -384,6 +417,8 @@ enum FPFastMathModeMask : uint
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
AllowContractFastINTEL = 0x00010000,
|
||||
AllowReassocINTEL = 0x00020000,
|
||||
}
|
||||
|
||||
enum FPRoundingMode : uint
|
||||
@ -398,6 +433,7 @@ enum LinkageType : uint
|
||||
{
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
}
|
||||
|
||||
enum AccessQualifier : uint
|
||||
@ -475,9 +511,11 @@ enum Decoration : uint
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
PerPrimitiveEXT = 5271,
|
||||
PerPrimitiveNV = 5271,
|
||||
PerViewNV = 5272,
|
||||
PerTaskNV = 5273,
|
||||
PerVertexKHR = 5285,
|
||||
PerVertexNV = 5285,
|
||||
NonUniform = 5300,
|
||||
NonUniformEXT = 5300,
|
||||
@ -485,12 +523,26 @@ enum Decoration : uint
|
||||
RestrictPointerEXT = 5355,
|
||||
AliasedPointer = 5356,
|
||||
AliasedPointerEXT = 5356,
|
||||
BindlessSamplerNV = 5398,
|
||||
BindlessImageNV = 5399,
|
||||
BoundSamplerNV = 5400,
|
||||
BoundImageNV = 5401,
|
||||
SIMTCallINTEL = 5599,
|
||||
ReferencedIndirectlyINTEL = 5602,
|
||||
ClobberINTEL = 5607,
|
||||
SideEffectsINTEL = 5608,
|
||||
VectorComputeVariableINTEL = 5624,
|
||||
FuncParamIOKindINTEL = 5625,
|
||||
VectorComputeFunctionINTEL = 5626,
|
||||
StackCallINTEL = 5627,
|
||||
GlobalVariableOffsetINTEL = 5628,
|
||||
CounterBuffer = 5634,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
UserSemantic = 5635,
|
||||
UserTypeGOOGLE = 5636,
|
||||
FunctionRoundingModeINTEL = 5822,
|
||||
FunctionDenormModeINTEL = 5823,
|
||||
RegisterINTEL = 5825,
|
||||
MemoryINTEL = 5826,
|
||||
NumbanksINTEL = 5827,
|
||||
@ -503,6 +555,20 @@ enum Decoration : uint
|
||||
MergeINTEL = 5834,
|
||||
BankBitsINTEL = 5835,
|
||||
ForcePow2DepthINTEL = 5836,
|
||||
BurstCoalesceINTEL = 5899,
|
||||
CacheSizeINTEL = 5900,
|
||||
DontStaticallyCoalesceINTEL = 5901,
|
||||
PrefetchINTEL = 5902,
|
||||
StallEnableINTEL = 5905,
|
||||
FuseLoopsInFunctionINTEL = 5907,
|
||||
AliasScopeINTEL = 5914,
|
||||
NoAliasINTEL = 5915,
|
||||
BufferLocationINTEL = 5921,
|
||||
IOPipeStorageINTEL = 5944,
|
||||
FunctionFloatingPointModeINTEL = 6080,
|
||||
SingleElementVectorINTEL = 6085,
|
||||
VectorComputeCallableFunctionINTEL = 6087,
|
||||
MediaBlockIOINTEL = 6140,
|
||||
}
|
||||
|
||||
enum BuiltIn : uint
|
||||
@ -548,6 +614,11 @@ enum BuiltIn : uint
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
WarpIDARM = 4163,
|
||||
WarpMaxIDARM = 4164,
|
||||
SubgroupEqMask = 4416,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMask = 4417,
|
||||
@ -587,12 +658,18 @@ enum BuiltIn : uint
|
||||
LayerPerViewNV = 5279,
|
||||
MeshViewCountNV = 5280,
|
||||
MeshViewIndicesNV = 5281,
|
||||
BaryCoordKHR = 5286,
|
||||
BaryCoordNV = 5286,
|
||||
BaryCoordNoPerspKHR = 5287,
|
||||
BaryCoordNoPerspNV = 5287,
|
||||
FragSizeEXT = 5292,
|
||||
FragmentSizeNV = 5292,
|
||||
FragInvocationCountEXT = 5293,
|
||||
InvocationsPerPixelNV = 5293,
|
||||
PrimitivePointIndicesEXT = 5294,
|
||||
PrimitiveLineIndicesEXT = 5295,
|
||||
PrimitiveTriangleIndicesEXT = 5296,
|
||||
CullPrimitiveEXT = 5299,
|
||||
LaunchIdKHR = 5319,
|
||||
LaunchIdNV = 5319,
|
||||
LaunchSizeKHR = 5320,
|
||||
@ -618,6 +695,7 @@ enum BuiltIn : uint
|
||||
HitTNV = 5332,
|
||||
HitKindKHR = 5333,
|
||||
HitKindNV = 5333,
|
||||
CurrentRayTimeNV = 5334,
|
||||
IncomingRayFlagsKHR = 5351,
|
||||
IncomingRayFlagsNV = 5351,
|
||||
RayGeometryIndexKHR = 5352,
|
||||
@ -625,6 +703,7 @@ enum BuiltIn : uint
|
||||
SMCountNV = 5375,
|
||||
WarpIDNV = 5376,
|
||||
SMIDNV = 5377,
|
||||
CullMaskKHR = 6021,
|
||||
}
|
||||
|
||||
enum SelectionControlShift : uint
|
||||
@ -658,6 +737,7 @@ enum LoopControlShift : uint
|
||||
LoopCoalesceINTEL = 20,
|
||||
MaxInterleavingINTEL = 21,
|
||||
SpeculatedIterationsINTEL = 22,
|
||||
NoFusionINTEL = 23,
|
||||
}
|
||||
|
||||
enum LoopControlMask : uint
|
||||
@ -679,6 +759,7 @@ enum LoopControlMask : uint
|
||||
LoopCoalesceINTEL = 0x00100000,
|
||||
MaxInterleavingINTEL = 0x00200000,
|
||||
SpeculatedIterationsINTEL = 0x00400000,
|
||||
NoFusionINTEL = 0x00800000,
|
||||
}
|
||||
|
||||
enum FunctionControlShift : uint
|
||||
@ -687,6 +768,7 @@ enum FunctionControlShift : uint
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
OptNoneINTEL = 16,
|
||||
}
|
||||
|
||||
enum FunctionControlMask : uint
|
||||
@ -696,6 +778,7 @@ enum FunctionControlMask : uint
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
OptNoneINTEL = 0x00010000,
|
||||
}
|
||||
|
||||
enum MemorySemanticsShift : uint
|
||||
@ -752,6 +835,8 @@ enum MemoryAccessShift : uint
|
||||
MakePointerVisibleKHR = 4,
|
||||
NonPrivatePointer = 5,
|
||||
NonPrivatePointerKHR = 5,
|
||||
AliasScopeINTELMask = 16,
|
||||
NoAliasINTELMask = 17,
|
||||
}
|
||||
|
||||
enum MemoryAccessMask : uint
|
||||
@ -766,6 +851,8 @@ enum MemoryAccessMask : uint
|
||||
MakePointerVisibleKHR = 0x00000010,
|
||||
NonPrivatePointer = 0x00000020,
|
||||
NonPrivatePointerKHR = 0x00000020,
|
||||
AliasScopeINTELMask = 0x00010000,
|
||||
NoAliasINTELMask = 0x00020000,
|
||||
}
|
||||
|
||||
enum Scope : uint
|
||||
@ -880,9 +967,14 @@ enum Capability : uint
|
||||
GroupNonUniformQuad = 68,
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
CoreBuiltinsARM = 4165,
|
||||
FragmentShadingRateKHR = 4422,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
WorkgroupMemoryExplicitLayoutKHR = 4428,
|
||||
WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
||||
WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
@ -925,6 +1017,8 @@ enum Capability : uint
|
||||
FragmentFullyCoveredEXT = 5265,
|
||||
MeshShadingNV = 5266,
|
||||
ImageFootprintNV = 5282,
|
||||
MeshShadingEXT = 5283,
|
||||
FragmentBarycentricKHR = 5284,
|
||||
FragmentBarycentricNV = 5284,
|
||||
ComputeDerivativeGroupQuadsNV = 5288,
|
||||
FragmentDensityEXT = 5291,
|
||||
@ -955,6 +1049,7 @@ enum Capability : uint
|
||||
StorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
RayTracingNV = 5340,
|
||||
RayTracingMotionBlurNV = 5341,
|
||||
VulkanMemoryModel = 5345,
|
||||
VulkanMemoryModelKHR = 5345,
|
||||
VulkanMemoryModelDeviceScope = 5346,
|
||||
@ -968,26 +1063,68 @@ enum Capability : uint
|
||||
FragmentShaderShadingRateInterlockEXT = 5372,
|
||||
ShaderSMBuiltinsNV = 5373,
|
||||
FragmentShaderPixelInterlockEXT = 5378,
|
||||
DemoteToHelperInvocation = 5379,
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
BindlessTextureNV = 5390,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
SubgroupImageMediaBlockIOINTEL = 5579,
|
||||
RoundToInfinityINTEL = 5582,
|
||||
FloatingPointModeINTEL = 5583,
|
||||
IntegerFunctions2INTEL = 5584,
|
||||
FunctionPointersINTEL = 5603,
|
||||
IndirectReferencesINTEL = 5604,
|
||||
AsmINTEL = 5606,
|
||||
AtomicFloat32MinMaxEXT = 5612,
|
||||
AtomicFloat64MinMaxEXT = 5613,
|
||||
AtomicFloat16MinMaxEXT = 5616,
|
||||
VectorComputeINTEL = 5617,
|
||||
VectorAnyINTEL = 5619,
|
||||
ExpectAssumeKHR = 5629,
|
||||
SubgroupAvcMotionEstimationINTEL = 5696,
|
||||
SubgroupAvcMotionEstimationIntraINTEL = 5697,
|
||||
SubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
VariableLengthArrayINTEL = 5817,
|
||||
FunctionFloatControlINTEL = 5821,
|
||||
FPGAMemoryAttributesINTEL = 5824,
|
||||
FPFastMathModeINTEL = 5837,
|
||||
ArbitraryPrecisionIntegersINTEL = 5844,
|
||||
ArbitraryPrecisionFloatingPointINTEL = 5845,
|
||||
UnstructuredLoopControlsINTEL = 5886,
|
||||
FPGALoopControlsINTEL = 5888,
|
||||
KernelAttributesINTEL = 5892,
|
||||
FPGAKernelAttributesINTEL = 5897,
|
||||
FPGAMemoryAccessesINTEL = 5898,
|
||||
FPGAClusterAttributesINTEL = 5904,
|
||||
LoopFuseINTEL = 5906,
|
||||
MemoryAccessAliasingINTEL = 5910,
|
||||
FPGABufferLocationINTEL = 5920,
|
||||
ArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
USMStorageClassesINTEL = 5935,
|
||||
IOPipesINTEL = 5943,
|
||||
BlockingPipesINTEL = 5945,
|
||||
FPGARegINTEL = 5948,
|
||||
DotProductInputAll = 6016,
|
||||
DotProductInputAllKHR = 6016,
|
||||
DotProductInput4x8Bit = 6017,
|
||||
DotProductInput4x8BitKHR = 6017,
|
||||
DotProductInput4x8BitPacked = 6018,
|
||||
DotProductInput4x8BitPackedKHR = 6018,
|
||||
DotProduct = 6019,
|
||||
DotProductKHR = 6019,
|
||||
RayCullMaskKHR = 6020,
|
||||
BitInstructions = 6025,
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongConstantCompositeINTEL = 6089,
|
||||
OptNoneINTEL = 6094,
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
SplitBarrierINTEL = 6141,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
}
|
||||
|
||||
enum RayFlagsShift : uint
|
||||
@ -1002,6 +1139,7 @@ enum RayFlagsShift : uint
|
||||
CullNoOpaqueKHR = 7,
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
}
|
||||
|
||||
enum RayFlagsMask : uint
|
||||
@ -1017,6 +1155,7 @@ enum RayFlagsMask : uint
|
||||
CullNoOpaqueKHR = 0x00000080,
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
}
|
||||
|
||||
enum RayQueryIntersection : uint
|
||||
@ -1055,6 +1194,44 @@ enum FragmentShadingRateMask : uint
|
||||
Horizontal4Pixels = 0x00000008,
|
||||
}
|
||||
|
||||
enum FPDenormMode : uint
|
||||
{
|
||||
Preserve = 0,
|
||||
FlushToZero = 1,
|
||||
}
|
||||
|
||||
enum FPOperationMode : uint
|
||||
{
|
||||
IEEE = 0,
|
||||
ALT = 1,
|
||||
}
|
||||
|
||||
enum QuantizationModes : uint
|
||||
{
|
||||
TRN = 0,
|
||||
TRN_ZERO = 1,
|
||||
RND = 2,
|
||||
RND_ZERO = 3,
|
||||
RND_INF = 4,
|
||||
RND_MIN_INF = 5,
|
||||
RND_CONV = 6,
|
||||
RND_CONV_ODD = 7,
|
||||
}
|
||||
|
||||
enum OverflowModes : uint
|
||||
{
|
||||
WRAP = 0,
|
||||
SAT = 1,
|
||||
SAT_ZERO = 2,
|
||||
SAT_SYM = 3,
|
||||
}
|
||||
|
||||
enum PackedVectorFormat : uint
|
||||
{
|
||||
PackedVectorFormat4x8Bit = 0,
|
||||
PackedVectorFormat4x8BitKHR = 0,
|
||||
}
|
||||
|
||||
enum Op : uint
|
||||
{
|
||||
OpNop = 0,
|
||||
@ -1407,12 +1584,25 @@ enum Op : uint
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpGroupNonUniformRotateKHR = 4431,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpTraceRayKHR = 4445,
|
||||
OpExecuteCallableKHR = 4446,
|
||||
OpConvertUToAccelerationStructureKHR = 4447,
|
||||
OpIgnoreIntersectionKHR = 4448,
|
||||
OpTerminateRayKHR = 4449,
|
||||
OpSDot = 4450,
|
||||
OpSDotKHR = 4450,
|
||||
OpUDot = 4451,
|
||||
OpUDotKHR = 4451,
|
||||
OpSUDot = 4452,
|
||||
OpSUDotKHR = 4452,
|
||||
OpSDotAccSat = 4453,
|
||||
OpSDotAccSatKHR = 4453,
|
||||
OpUDotAccSat = 4454,
|
||||
OpUDotAccSatKHR = 4454,
|
||||
OpSUDotAccSat = 4455,
|
||||
OpSUDotAccSatKHR = 4455,
|
||||
OpTypeRayQueryKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
@ -1432,6 +1622,8 @@ enum Op : uint
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpReadClockKHR = 5056,
|
||||
OpImageSampleFootprintNV = 5283,
|
||||
OpEmitMeshTasksEXT = 5294,
|
||||
OpSetMeshOutputsEXT = 5295,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
OpReportIntersectionKHR = 5334,
|
||||
@ -1439,6 +1631,8 @@ enum Op : uint
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTraceMotionNV = 5338,
|
||||
OpTraceRayMotionNV = 5339,
|
||||
OpTypeAccelerationStructureKHR = 5341,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
@ -1449,8 +1643,16 @@ enum Op : uint
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocation = 5380,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpConvertUToImageNV = 5391,
|
||||
OpConvertUToSamplerNV = 5392,
|
||||
OpConvertImageToUNV = 5393,
|
||||
OpConvertSamplerToUNV = 5394,
|
||||
OpConvertUToSampledImageNV = 5395,
|
||||
OpConvertSampledImageToUNV = 5396,
|
||||
OpSamplerImageAddressingModeNV = 5397,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1475,8 +1677,15 @@ enum Op : uint
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpFunctionPointerINTEL = 5600,
|
||||
OpConstantFunctionPointerINTEL = 5600,
|
||||
OpFunctionPointerCallINTEL = 5601,
|
||||
OpAsmTargetINTEL = 5609,
|
||||
OpAsmINTEL = 5610,
|
||||
OpAsmCallINTEL = 5611,
|
||||
OpAtomicFMinEXT = 5614,
|
||||
OpAtomicFMaxEXT = 5615,
|
||||
OpAssumeTrueKHR = 5630,
|
||||
OpExpectKHR = 5631,
|
||||
OpDecorateString = 5632,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateString = 5633,
|
||||
@ -1599,7 +1808,67 @@ enum Op : uint
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpVariableLengthArrayINTEL = 5818,
|
||||
OpSaveMemoryINTEL = 5819,
|
||||
OpRestoreMemoryINTEL = 5820,
|
||||
OpArbitraryFloatSinCosPiINTEL = 5840,
|
||||
OpArbitraryFloatCastINTEL = 5841,
|
||||
OpArbitraryFloatCastFromIntINTEL = 5842,
|
||||
OpArbitraryFloatCastToIntINTEL = 5843,
|
||||
OpArbitraryFloatAddINTEL = 5846,
|
||||
OpArbitraryFloatSubINTEL = 5847,
|
||||
OpArbitraryFloatMulINTEL = 5848,
|
||||
OpArbitraryFloatDivINTEL = 5849,
|
||||
OpArbitraryFloatGTINTEL = 5850,
|
||||
OpArbitraryFloatGEINTEL = 5851,
|
||||
OpArbitraryFloatLTINTEL = 5852,
|
||||
OpArbitraryFloatLEINTEL = 5853,
|
||||
OpArbitraryFloatEQINTEL = 5854,
|
||||
OpArbitraryFloatRecipINTEL = 5855,
|
||||
OpArbitraryFloatRSqrtINTEL = 5856,
|
||||
OpArbitraryFloatCbrtINTEL = 5857,
|
||||
OpArbitraryFloatHypotINTEL = 5858,
|
||||
OpArbitraryFloatSqrtINTEL = 5859,
|
||||
OpArbitraryFloatLogINTEL = 5860,
|
||||
OpArbitraryFloatLog2INTEL = 5861,
|
||||
OpArbitraryFloatLog10INTEL = 5862,
|
||||
OpArbitraryFloatLog1pINTEL = 5863,
|
||||
OpArbitraryFloatExpINTEL = 5864,
|
||||
OpArbitraryFloatExp2INTEL = 5865,
|
||||
OpArbitraryFloatExp10INTEL = 5866,
|
||||
OpArbitraryFloatExpm1INTEL = 5867,
|
||||
OpArbitraryFloatSinINTEL = 5868,
|
||||
OpArbitraryFloatCosINTEL = 5869,
|
||||
OpArbitraryFloatSinCosINTEL = 5870,
|
||||
OpArbitraryFloatSinPiINTEL = 5871,
|
||||
OpArbitraryFloatCosPiINTEL = 5872,
|
||||
OpArbitraryFloatASinINTEL = 5873,
|
||||
OpArbitraryFloatASinPiINTEL = 5874,
|
||||
OpArbitraryFloatACosINTEL = 5875,
|
||||
OpArbitraryFloatACosPiINTEL = 5876,
|
||||
OpArbitraryFloatATanINTEL = 5877,
|
||||
OpArbitraryFloatATanPiINTEL = 5878,
|
||||
OpArbitraryFloatATan2INTEL = 5879,
|
||||
OpArbitraryFloatPowINTEL = 5880,
|
||||
OpArbitraryFloatPowRINTEL = 5881,
|
||||
OpArbitraryFloatPowNINTEL = 5882,
|
||||
OpLoopControlINTEL = 5887,
|
||||
OpAliasDomainDeclINTEL = 5911,
|
||||
OpAliasScopeDeclINTEL = 5912,
|
||||
OpAliasScopeListDeclINTEL = 5913,
|
||||
OpFixedSqrtINTEL = 5923,
|
||||
OpFixedRecipINTEL = 5924,
|
||||
OpFixedRsqrtINTEL = 5925,
|
||||
OpFixedSinINTEL = 5926,
|
||||
OpFixedCosINTEL = 5927,
|
||||
OpFixedSinCosINTEL = 5928,
|
||||
OpFixedSinPiINTEL = 5929,
|
||||
OpFixedCosPiINTEL = 5930,
|
||||
OpFixedSinCosPiINTEL = 5931,
|
||||
OpFixedLogINTEL = 5932,
|
||||
OpFixedExpINTEL = 5933,
|
||||
OpPtrCastToCrossWorkgroupINTEL = 5934,
|
||||
OpCrossWorkgroupCastToPtrINTEL = 5938,
|
||||
OpReadPipeBlockingINTEL = 5946,
|
||||
OpWritePipeBlockingINTEL = 5947,
|
||||
OpFPGARegINTEL = 5949,
|
||||
@ -1621,6 +1890,20 @@ enum Op : uint
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
OpAtomicFAddEXT = 6035,
|
||||
OpTypeBufferSurfaceINTEL = 6086,
|
||||
OpTypeStructContinuedINTEL = 6090,
|
||||
OpConstantCompositeContinuedINTEL = 6091,
|
||||
OpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
OpGroupBitwiseOrKHR = 6404,
|
||||
OpGroupBitwiseXorKHR = 6405,
|
||||
OpGroupLogicalAndKHR = 6406,
|
||||
OpGroupLogicalOrKHR = 6407,
|
||||
OpGroupLogicalXorKHR = 6408,
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
set(CMAKE_INSTALL_PREFIX "install" CACHE STRING "prefix" FORCE)
|
||||
|
||||
|
@ -4,4 +4,4 @@ python3 bin/makeExtinstHeaders.py
|
||||
|
||||
cd ../../include/spirv/unified1
|
||||
../../../tools/buildHeaders/build/install/bin/buildSpvHeaders -H spirv.core.grammar.json
|
||||
dos2unix spirv.* SpirV.* spv.*
|
||||
dos2unix spirv.* spv.*
|
||||
|
@ -69,9 +69,9 @@ namespace {
|
||||
TPrinter();
|
||||
|
||||
static const int DocMagicNumber = 0x07230203;
|
||||
static const int DocVersion = 0x00010500;
|
||||
static const int DocRevision = 4;
|
||||
#define DocRevisionString "4"
|
||||
static const int DocVersion = 0x00010600;
|
||||
static const int DocRevision = 1;
|
||||
#define DocRevisionString "1"
|
||||
static const std::string DocCopyright;
|
||||
static const std::string DocComment1;
|
||||
static const std::string DocComment2;
|
||||
@ -199,7 +199,7 @@ 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, C#, D, Beef\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"
|
||||
@ -209,6 +209,8 @@ namespace {
|
||||
"- 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"
|
||||
"- Beef will use enum classes in the Specification class located in the \"Spv\" namespace,\n"
|
||||
" e.g.: Spv.Specification.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"
|
||||
@ -500,7 +502,7 @@ namespace {
|
||||
|
||||
virtual std::string fmtEnumUse(const std::string& opPrefix, const std::string& name) const { return pre() + name; }
|
||||
|
||||
virtual void printHasResultType(std::ostream& out) const
|
||||
virtual void printHasResultType(std::ostream& out) const override
|
||||
{
|
||||
const Json::Value& enums = spvRoot["spv"]["enum"];
|
||||
|
||||
@ -513,6 +515,9 @@ namespace {
|
||||
}
|
||||
|
||||
out << "#ifdef SPV_ENABLE_UTILITY_CODE" << std::endl;
|
||||
out << "#ifndef __cplusplus" << std::endl;
|
||||
out << "#include <stdbool.h>" << std::endl;
|
||||
out << "#endif" << 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;
|
||||
@ -643,7 +648,7 @@ namespace {
|
||||
}
|
||||
|
||||
// Add type prefix for scoped enum
|
||||
virtual std::string fmtEnumUse(const std::string& opPrefix, const std::string& name) const { return opPrefix + "::" + name; }
|
||||
virtual std::string fmtEnumUse(const std::string& opPrefix, const std::string& name) const override { return opPrefix + "::" + name; }
|
||||
|
||||
std::string headerGuardSuffix() const override { return "HPP"; }
|
||||
};
|
||||
@ -776,6 +781,43 @@ namespace {
|
||||
}
|
||||
};
|
||||
|
||||
// Beef printer
|
||||
class TPrinterBeef final : public TPrinter {
|
||||
private:
|
||||
std::string commentBOL() const override { return "// "; }
|
||||
|
||||
void printPrologue(std::ostream& out) const override {
|
||||
out << "namespace Spv\n{\n";
|
||||
out << indent() << "using System;\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) + "[AllowDuplicates, CRepr] 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 uint32 ") + name +
|
||||
" = " + fmtNum(fmt, val) + (isLast ? ";\n\n" : ";\n");
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
namespace spv {
|
||||
@ -792,6 +834,7 @@ namespace spv {
|
||||
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"));
|
||||
langInfo.push_back(std::make_pair(ELangBeef, "spirv.bf"));
|
||||
|
||||
for (const auto& lang : langInfo) {
|
||||
std::ofstream out(lang.second, std::ios::out);
|
||||
@ -819,6 +862,7 @@ namespace spv {
|
||||
case ELangPython: p = TPrinterPtr(new TPrinterPython); break;
|
||||
case ELangCSharp: p = TPrinterPtr(new TPrinterCSharp); break;
|
||||
case ELangD: p = TPrinterPtr(new TPrinterD); break;
|
||||
case ELangBeef: p = TPrinterPtr(new TPrinterBeef); break;
|
||||
case ELangAll: PrintAllHeaders(); break;
|
||||
default:
|
||||
std::cerr << "Unknown language." << std::endl;
|
||||
|
@ -43,6 +43,7 @@ namespace spv {
|
||||
ELangPython, // Python
|
||||
ELangCSharp, // CSharp
|
||||
ELangD, // D
|
||||
ELangBeef, // Beef
|
||||
|
||||
ELangAll, // print headers in all languages to files
|
||||
};
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include <algorithm>
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
@ -61,6 +62,10 @@ EnumValues ImageChannelDataTypeParams;
|
||||
EnumValues ImageOperandsParams;
|
||||
EnumValues FPFastMathParams;
|
||||
EnumValues FPRoundingModeParams;
|
||||
EnumValues FPDenormModeParams;
|
||||
EnumValues FPOperationModeParams;
|
||||
EnumValues QuantizationModesParams;
|
||||
EnumValues OverflowModesParams;
|
||||
EnumValues LinkageTypeParams;
|
||||
EnumValues DecorationParams;
|
||||
EnumValues BuiltInParams;
|
||||
@ -82,6 +87,7 @@ EnumValues RayQueryIntersectionParams;
|
||||
EnumValues RayQueryCommittedIntersectionTypeParams;
|
||||
EnumValues RayQueryCandidateIntersectionTypeParams;
|
||||
EnumValues FragmentShadingRateParams;
|
||||
EnumValues PackedVectorFormatParams;
|
||||
|
||||
std::pair<bool, std::string> ReadFile(const std::string& path)
|
||||
{
|
||||
@ -178,6 +184,14 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
|
||||
type = OperandImageChannelDataType;
|
||||
} else if (operandKind == "FPRoundingMode") {
|
||||
type = OperandFPRoundingMode;
|
||||
} else if (operandKind == "FPDenormMode") {
|
||||
type = OperandFPDenormMode;
|
||||
} else if (operandKind == "FPOperationMode") {
|
||||
type = OperandFPOperationMode;
|
||||
} else if (operandKind == "QuantizationModes") {
|
||||
type = OperandQuantizationModes;
|
||||
} else if (operandKind == "OverflowModes") {
|
||||
type = OperandOverflowModes;
|
||||
} else if (operandKind == "LinkageType") {
|
||||
type = OperandLinkageType;
|
||||
} else if (operandKind == "AccessQualifier") {
|
||||
@ -218,6 +232,8 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
|
||||
type = OperandRayQueryCandidateIntersectionType;
|
||||
} else if (operandKind == "FragmentShadingRate") {
|
||||
type = OperandFragmentShadingRate;
|
||||
} else if (operandKind == "PackedVectorFormat") {
|
||||
type = OperandPackedVectorFormat;
|
||||
}
|
||||
|
||||
if (type == OperandNone) {
|
||||
@ -320,6 +336,8 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
|
||||
|
||||
// process the instructions
|
||||
const Json::Value insts = root["instructions"];
|
||||
unsigned maxOpcode = 0;
|
||||
bool firstOpcode = true;
|
||||
for (const auto& inst : insts) {
|
||||
const auto printingClass = inst["class"].asString();
|
||||
if (printingClass.size() == 0) {
|
||||
@ -335,6 +353,19 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
|
||||
}
|
||||
const auto opcode = inst["opcode"].asUInt();
|
||||
const std::string name = inst["opname"].asString();
|
||||
if (firstOpcode) {
|
||||
maxOpcode = opcode;
|
||||
firstOpcode = false;
|
||||
} else {
|
||||
if (maxOpcode > opcode) {
|
||||
std::cerr << "Error: " << name
|
||||
<< " is out of order. It follows the instruction with opcode " << maxOpcode
|
||||
<< std::endl;
|
||||
std::exit(1);
|
||||
} else {
|
||||
maxOpcode = opcode;
|
||||
}
|
||||
}
|
||||
EnumCaps caps = getCaps(inst);
|
||||
std::string version = inst["version"].asString();
|
||||
std::string lastVersion = inst["lastVersion"].asString();
|
||||
@ -378,12 +409,27 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
|
||||
return result;
|
||||
};
|
||||
|
||||
unsigned maxValue = 0;
|
||||
bool firstValue = true;
|
||||
for (const auto& enumerant : source["enumerants"]) {
|
||||
unsigned value;
|
||||
bool skip_zero_in_bitfield;
|
||||
std::tie(value, skip_zero_in_bitfield) = getValue(enumerant);
|
||||
if (skip_zero_in_bitfield)
|
||||
continue;
|
||||
if (firstValue) {
|
||||
maxValue = value;
|
||||
firstValue = false;
|
||||
} else {
|
||||
if (maxValue > value) {
|
||||
std::cerr << "Error: " << source["kind"] << " enumerant " << enumerant["enumerant"]
|
||||
<< " is out of order. It has value " << value
|
||||
<< " but follows the enumerant with value " << maxValue << std::endl;
|
||||
std::exit(1);
|
||||
} else {
|
||||
maxValue = value;
|
||||
}
|
||||
}
|
||||
EnumCaps caps(getCaps(enumerant));
|
||||
std::string version = enumerant["version"].asString();
|
||||
std::string lastVersion = enumerant["lastVersion"].asString();
|
||||
@ -452,6 +498,14 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
|
||||
establishOperandClass(enumName, OperandFPFastMath, &FPFastMathParams, operandEnum, category);
|
||||
} else if (enumName == "FPRoundingMode") {
|
||||
establishOperandClass(enumName, OperandFPRoundingMode, &FPRoundingModeParams, operandEnum, category);
|
||||
} else if (enumName == "FPDenormMode") {
|
||||
establishOperandClass(enumName, OperandFPDenormMode, &FPDenormModeParams, operandEnum, category);
|
||||
} else if (enumName == "FPOperationMode") {
|
||||
establishOperandClass(enumName, OperandFPOperationMode, &FPOperationModeParams, operandEnum, category);
|
||||
} else if (enumName == "QuantizationModes") {
|
||||
establishOperandClass(enumName, OperandQuantizationModes, &QuantizationModesParams, operandEnum, category);
|
||||
} else if (enumName == "OverflowModes") {
|
||||
establishOperandClass(enumName, OperandOverflowModes, &OverflowModesParams, operandEnum, category);
|
||||
} else if (enumName == "LinkageType") {
|
||||
establishOperandClass(enumName, OperandLinkageType, &LinkageTypeParams, operandEnum, category);
|
||||
} else if (enumName == "FunctionParameterAttribute") {
|
||||
@ -488,6 +542,8 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
|
||||
establishOperandClass(enumName, OperandRayQueryCandidateIntersectionType, &RayQueryCandidateIntersectionTypeParams, operandEnum, category);
|
||||
} else if (enumName == "FragmentShadingRate") {
|
||||
establishOperandClass(enumName, OperandFragmentShadingRate, &FragmentShadingRateParams, operandEnum, category);
|
||||
} else if (enumName == "PackedVectorFormat") {
|
||||
establishOperandClass(enumName, OperandPackedVectorFormat, &PackedVectorFormatParams, operandEnum, category);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -41,6 +41,8 @@ std::pair<bool, std::string> ReadFile(const std::string& path);
|
||||
void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders);
|
||||
|
||||
// For parameterizing operands.
|
||||
// The ordering here affects the printing order in the SPIR-V specification.
|
||||
// Please add new operand classes at the end.
|
||||
enum OperandClass {
|
||||
OperandNone,
|
||||
OperandId,
|
||||
@ -89,6 +91,11 @@ enum OperandClass {
|
||||
OperandRayQueryCommittedIntersectionType,
|
||||
OperandRayQueryCandidateIntersectionType,
|
||||
OperandFragmentShadingRate,
|
||||
OperandFPDenormMode,
|
||||
OperandFPOperationMode,
|
||||
OperandQuantizationModes,
|
||||
OperandOverflowModes,
|
||||
OperandPackedVectorFormat,
|
||||
|
||||
OperandOpcode,
|
||||
|
||||
|
@ -52,6 +52,7 @@ void Usage()
|
||||
" Python - Python module (also accepts Py)\n"
|
||||
" C# - C# module (also accepts CSharp)\n"
|
||||
" D - D module\n"
|
||||
" Beef - Beef module\n"
|
||||
" -H print header in all supported languages to files in current directory\n"
|
||||
);
|
||||
}
|
||||
@ -96,6 +97,8 @@ bool ProcessArguments(int argc, char* argv[])
|
||||
Language = spv::ELangCSharp;
|
||||
} else if (language == "d") {
|
||||
Language = spv::ELangD;
|
||||
} else if (language == "beef") {
|
||||
Language = spv::ELangBeef;
|
||||
} else
|
||||
return false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user