Merge tag 'vulkan-sdk-1.3.268.0'
Bug:b/319117470
Change-Id: I2dc31f4214dd6230c22f73b49cda1167ec9ccbee
diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml
index d9c25fa..306f50e 100644
--- a/.github/workflows/presubmit.yml
+++ b/.github/workflows/presubmit.yml
@@ -1,6 +1,9 @@
name: Presubmit
on: [push, pull_request]
+permissions:
+ contents: read
+
jobs:
build:
name: Build ${{ matrix.os }}
@@ -9,7 +12,7 @@
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Ubuntu packages
if: matrix.os == 'ubuntu-latest'
run: sudo apt install -y dos2unix
@@ -35,3 +38,86 @@
./bin/makeHeaders
- name: Check generated headers
run: git diff --exit-code
+
+ test_cmake_min_required:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: lukka/get-cmake@latest
+ with:
+ cmakeVersion: 3.14.0
+ - name: CMake build
+ run: |
+ cmake -S . -B build/ -D CMAKE_BUILD_TYPE=Debug -G "Ninja" -D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/build/install/
+ cmake --build build --target install
+
+ test_cmake_latest:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: lukka/get-cmake@latest
+ - name: CMake build
+ run: |
+ cmake -S . -B build/ -D CMAKE_BUILD_TYPE=Debug -G "Ninja"
+ cmake --install build/ --prefix build/install
+
+ add_subdirectory:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: lukka/get-cmake@latest
+ with:
+ cmakeVersion: 3.15.0
+ - name: Build spirv-headers with testing enabled
+ run: |
+ cmake -S . -B build/ -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug -G "Ninja"
+ cmake --build build
+
+ find_package:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: lukka/get-cmake@latest
+ with:
+ cmakeVersion: 3.15.0
+ - name: Install spirv-headers
+ run: |
+ cmake -S . -B build/
+ cmake --install build/ --prefix build/install
+ - name: Check spirv-headers find_package support
+ run: |
+ cmake -S tests/find_package -B tests/find_package/build/ -D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build/install
+ cmake --build tests/find_package/build/
+
+ find_pkg_config:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: lukka/get-cmake@latest
+ with:
+ cmakeVersion: 3.15.0
+ - name: Install spirv-headers
+ run: |
+ cmake -S . -B build/ -D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/build/install/
+ cmake --install build/
+ - name: Check spirv-headers pkg_config support
+ run: |
+ cmake -S tests/pkg_config -B tests/pkg_config/build/ -D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build/install
+ cmake --build tests/pkg_config/build/
+
+ # https://github.com/KhronosGroup/SPIRV-Headers/issues/282
+ find_pkg_config_absolute:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: lukka/get-cmake@latest
+ with:
+ cmakeVersion: 3.15.0
+ - name: Install spirv-headers with CMAKE_INSTALL_INCLUDEDIR being absolute
+ run: |
+ cmake -S . -B build/ -D CMAKE_INSTALL_INCLUDEDIR=${GITHUB_WORKSPACE}/build/install/include -D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/build/install/
+ cmake --install build/
+ - name: Check spirv-headers pkg_config support
+ run: |
+ cmake -S tests/pkg_config -B tests/pkg_config/build/ -D CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/build/install
+ cmake --build tests/pkg_config/build/
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9cfba73..e3d76d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015-2016 The Khronos Group Inc.
+# Copyright (c) 2015-2023 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
@@ -23,115 +23,43 @@
# 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.
+cmake_minimum_required(VERSION 3.14)
+project(SPIRV-Headers LANGUAGES CXX VERSION 1.5.5)
-#
-# The SPIR-V headers from the SPIR-V Registry
-# https://www.khronos.org/registry/spir-v/
-#
-cmake_minimum_required(VERSION 3.0)
-project(SPIRV-Headers VERSION 1.5.5)
-
-# There are two ways to use this project.
-#
-# Using this source tree directly from a CMake-based project:
-# 1. Add an add_subdirectory directive to include this sub directory.
-# 2. Use ${SPIRV-Headers_SOURCE_DIR}/include} in a target_include_directories
-# command.
-#
-# Installing the headers first, then using them with an implicit include
-# directory. To install the headers:
-# 1. mkdir build ; cd build
-# 2. cmake ..
-# 3. cmake --build . --target install
-
-option(SPIRV_HEADERS_SKIP_EXAMPLES "Skip building examples"
- ${SPIRV_HEADERS_SKIP_EXAMPLES})
-
-option(SPIRV_HEADERS_SKIP_INSTALL "Skip install"
- ${SPIRV_HEADERS_SKIP_INSTALL})
-
-if(NOT ${SPIRV_HEADERS_SKIP_EXAMPLES})
- set(SPIRV_HEADERS_ENABLE_EXAMPLES ON)
+if (CMAKE_VERSION VERSION_LESS "3.21")
+ # https://cmake.org/cmake/help/latest/variable/PROJECT_IS_TOP_LEVEL.html
+ string(COMPARE EQUAL ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} PROJECT_IS_TOP_LEVEL)
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()
+add_library(SPIRV-Headers INTERFACE)
+add_library(SPIRV-Headers::SPIRV-Headers ALIAS SPIRV-Headers)
+target_include_directories(SPIRV-Headers INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
-if (SPIRV_HEADERS_ENABLE_EXAMPLES)
- message(STATUS "Building SPIRV-Header examples")
- add_subdirectory(example)
-endif()
+if (PROJECT_IS_TOP_LEVEL)
+ option(BUILD_TESTS "Build the tests")
+ if (BUILD_TESTS)
+ add_subdirectory(tests)
+ endif()
-include(GNUInstallDirs)
-add_library(${PROJECT_NAME} INTERFACE)
-target_include_directories(${PROJECT_NAME} INTERFACE
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-)
-
-# Installation
-
-if (SPIRV_HEADERS_ENABLE_INSTALL)
- message(STATUS "Installing SPIRV-Header")
-
- set(config_install_dir "${CMAKE_INSTALL_DATADIR}/cmake/${PROJECT_NAME}")
-
- set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-
- set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
- set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
- set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
- set(namespace "${PROJECT_NAME}::")
-
+ include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
- if (NOT CMAKE_VERSION VERSION_LESS 3.14)
- set(arch_independent_str ARCH_INDEPENDENT)
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ set(cmake_install_dir "${CMAKE_INSTALL_DATADIR}/cmake/SPIRV-Headers")
+ set(version_config "${CMAKE_CURRENT_BINARY_DIR}/generated/SPIRV-HeadersConfigVersion.cmake")
+
+ write_basic_package_version_file("${version_config}" COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
+ install(FILES "${version_config}" DESTINATION "${cmake_install_dir}")
+
+ install(TARGETS SPIRV-Headers EXPORT "SPIRV-HeadersConfig" INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(EXPORT "SPIRV-HeadersConfig" NAMESPACE "SPIRV-Headers::" DESTINATION "${cmake_install_dir}")
+
+ if (IS_ABSOLUTE ${CMAKE_INSTALL_INCLUDEDIR})
+ set(SPIRV_HEADERS_PKGCONFIG_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR})
+ else()
+ set(SPIRV_HEADERS_PKGCONFIG_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
endif()
- write_basic_package_version_file(
- "${version_config}"
- COMPATIBILITY SameMajorVersion
- ${arch_independent_str}
- )
-
- configure_package_config_file(
- "cmake/Config.cmake.in"
- "${project_config}"
- INSTALL_DESTINATION "${config_install_dir}"
- )
-
- install(
- TARGETS ${PROJECT_NAME}
- EXPORT "${TARGETS_EXPORT_NAME}"
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- )
-
- install(
- DIRECTORY include/spirv
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- )
-
- install(
- FILES "${project_config}" "${version_config}"
- DESTINATION "${config_install_dir}"
- )
-
- install(
- EXPORT "${TARGETS_EXPORT_NAME}"
- NAMESPACE "${namespace}"
- DESTINATION "${config_install_dir}"
- )
-
- 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
- )
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Headers.pc.in ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Headers.pc @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Headers.pc" DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
endif()
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 0000000..9b51f0c
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,13 @@
+# Security Policy
+
+## Supported Versions
+
+Security updates are applied only to the latest release.
+
+## Reporting a Vulnerability
+
+If you have discovered a security vulnerability in this project, please report it privately. **Do not disclose it as a public issue.** This gives us time to work with you to fix the issue before public exposure, reducing the chance that the exploit will be used before a patch is released.
+
+Please disclose it at [security advisory](https://github.com/KhronosGroup/SPIRV-Headers/security/advisories/new).
+
+This project is maintained by a team of volunteers on a reasonable-effort basis. As such, please give us at least 90 days to work on a fix before public exposure.
diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
deleted file mode 100644
index 38bbde7..0000000
--- a/cmake/Config.cmake.in
+++ /dev/null
@@ -1,4 +0,0 @@
-@PACKAGE_INIT@
-
-include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
-check_required_components("@PROJECT_NAME@")
diff --git a/SPIRV-Headers.pc.in b/cmake/SPIRV-Headers.pc.in
similarity index 64%
rename from SPIRV-Headers.pc.in
rename to cmake/SPIRV-Headers.pc.in
index 345f5f8..843b0a7 100644
--- a/SPIRV-Headers.pc.in
+++ b/cmake/SPIRV-Headers.pc.in
@@ -1,5 +1,4 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+includedir=@SPIRV_HEADERS_PKGCONFIG_INCLUDE_DIR@
Name: SPIRV-Headers
Description: Header files from the SPIR-V registry
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
deleted file mode 100644
index 8b22f60..0000000
--- a/example/CMakeLists.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-add_library(SPIRV-Headers-example
- ${CMAKE_CURRENT_SOURCE_DIR}/example.cpp)
-target_include_directories(SPIRV-Headers-example
- PRIVATE ${SPIRV-Headers_SOURCE_DIR}/include)
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index dad141b..1305df5 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -62,7 +62,7 @@
<id value="9" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
<id value="10" vendor="AMD" comment="Contact Daniel Rakos, daniel.rakos@amd.com"/>
<id value="11" vendor="Intel" comment="Contact Alexey, alexey.bader@intel.com"/>
- <id value="12" vendor="Imagination" comment="Contact James Jones"/>
+ <id value="12" vendor="Imagination" comment="Contact Stephen Clarke, stephen.clarke@imgtec.com"/>
<id value="13" vendor="Google" tool="Shaderc over Glslang" comment="Contact David Neto, dneto@google.com"/>
<id value="14" vendor="Google" tool="spiregg" comment="Contact Lei Zhang, antiagainst@google.com"/>
<id value="15" vendor="Google" tool="rspirv" comment="Contact Lei Zhang, antiagainst@gmail.com"/>
@@ -82,11 +82,16 @@
<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="32" vendor="TornadoVM" tool="Beehive SPIRV Toolkit" comment="https://github.com/beehive-lab/beehive-spirv-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"/>
+ <id value="36" vendor="Taichi Graphics" tool="Taichi" comment="Contact Rendong Liang rendongliang@taichi.graphics, Repo https://github.com/taichi-dev/taichi"/>
+ <id value="37" vendor="heroseh" tool="Hero C Compiler" comment="https://github.com/heroseh/hcc"/>
+ <id value="38" vendor="Meta" tool="SparkSL" comment="Contact Dunfan Lu, dunfanlu@meta.com, https://sparkar.facebook.com/ar-studio/learn/sparksl/sparksl-overview"/>
+ <id value="39" vendor="SirLynix" tool="Nazara ShaderLang Compiler" comment="Contact Jérôme Leclercq, https://github.com/NazaraEngine/ShaderLang"/>
+ <id value="40" vendor="NVIDIA" tool="Slang Compiler" comment="Contact Theresa Foley, tfoley@nvidia.com, https://github.com/shader-slang/slang/"/>
+ <unused start="41" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -139,13 +144,17 @@
<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"/>
+ <ids type="opcode" start="6464" end="6527" vendor="N/A" comment="Blank range to keep alignment with non-opcodes"/>
+ <ids type="opcode" start="6528" end="6591" vendor="Codeplay" comment="Contact duncan.brawley@codeplay.com"/>
+ <ids type="opcode" start="6592" end="6655" vendor="Saarland University" comment="Contact devillers@cg.uni-saarland.de"/>
+ <ids type="opcode" start="6656" end="6719" vendor="Meta" comment="Contact dunfanlu@meta.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="6464" end="65535" comment="Opcode range reservable for future use by vendors"/>
+ <ids type="opcode" start="6656" end="65535" comment="Opcode range reservable for future use by vendors"/>
<!-- End reservations of opcodes -->
@@ -169,13 +178,16 @@
<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"/>
+ <ids type="enumerant" start="6528" end="6591" vendor="Codeplay" comment="Contact duncan.brawley@codeplay.com"/>
+ <ids type="enumerant" start="6592" end="6655" vendor="Saarland University" comment="Contact devillers@cg.uni-saarland.de"/>
+ <ids type="enumerant" start="6656" end="6719" vendor="Meta" comment="Contact dunfanlu@meta.com"/>
<!-- 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="6528" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
+ <ids type="enumerant" start="6656" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
<!-- End reservations of enumerants -->
diff --git a/include/spirv/unified1/NonSemanticClspvReflection.h b/include/spirv/unified1/NonSemanticClspvReflection.h
index 0cdf29d..1a31549 100644
--- a/include/spirv/unified1/NonSemanticClspvReflection.h
+++ b/include/spirv/unified1/NonSemanticClspvReflection.h
@@ -33,7 +33,7 @@
#endif
enum {
- NonSemanticClspvReflectionRevision = 4,
+ NonSemanticClspvReflectionRevision = 5,
NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
};
@@ -73,10 +73,22 @@
NonSemanticClspvReflectionImageArgumentInfoChannelDataTypeUniform = 33,
NonSemanticClspvReflectionArgumentStorageTexelBuffer = 34,
NonSemanticClspvReflectionArgumentUniformTexelBuffer = 35,
+ NonSemanticClspvReflectionConstantDataPointerPushConstant = 36,
+ NonSemanticClspvReflectionProgramScopeVariablePointerPushConstant = 37,
+ NonSemanticClspvReflectionPrintfInfo = 38,
+ NonSemanticClspvReflectionPrintfBufferStorageBuffer = 39,
+ NonSemanticClspvReflectionPrintfBufferPointerPushConstant = 40,
NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
};
+enum NonSemanticClspvReflectionKernelPropertyFlags {
+ NonSemanticClspvReflectionNone = 0x0,
+ NonSemanticClspvReflectionMayUsePrintf = 0x1,
+ NonSemanticClspvReflectionKernelPropertyFlagsMax = 0x7fffffff
+};
+
+
#ifdef __cplusplus
}
#endif
diff --git a/include/spirv/unified1/NonSemanticDebugBreak.h b/include/spirv/unified1/NonSemanticDebugBreak.h
new file mode 100644
index 0000000..6ec2b5b
--- /dev/null
+++ b/include/spirv/unified1/NonSemanticDebugBreak.h
@@ -0,0 +1,50 @@
+// Copyright (c) 2020 The Khronos Group Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and/or associated documentation files (the
+// "Materials"), to deal in the Materials without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Materials, and to
+// permit persons to whom the Materials are furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Materials.
+//
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
+// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
+// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
+// https://www.khronos.org/registry/
+//
+// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+//
+
+#ifndef SPIRV_UNIFIED1_NonSemanticDebugBreak_H_
+#define SPIRV_UNIFIED1_NonSemanticDebugBreak_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum {
+ NonSemanticDebugBreakRevision = 1,
+ NonSemanticDebugBreakRevision_BitWidthPadding = 0x7fffffff
+};
+
+enum NonSemanticDebugBreakInstructions {
+ NonSemanticDebugBreakDebugBreak = 1,
+ NonSemanticDebugBreakInstructionsMax = 0x7fffffff
+};
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // SPIRV_UNIFIED1_NonSemanticDebugBreak_H_
diff --git a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
index b5a6637..d6499cc 100644
--- a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
+++ b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
@@ -1,12 +1,15 @@
{
- "revision" : 4,
+ "revision" : 5,
"instructions" : [
{
"opname" : "Kernel",
"opcode" : 1,
"operands" : [
{ "kind" : "IdRef", "name" : "Kernel" },
- { "kind" : "IdRef", "name" : "Name" }
+ { "kind" : "IdRef", "name" : "Name" },
+ { "kind" : "IdRef", "name" : "NumArguments", "quantifier" : "?" },
+ { "kind" : "IdRef", "name" : "Flags", "quantifier" : "?" },
+ { "kind" : "IdRef", "name" : "Attributes", "quantifier" : "?" }
]
},
{
@@ -347,6 +350,67 @@
{ "kind" : "IdRef", "name" : "Binding" },
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
]
+ },
+ {
+ "opname" : "ConstantDataPointerPushConstant",
+ "opcode" : 36,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "Offset"},
+ { "kind" : "IdRef", "name" : "Size"},
+ { "kind" : "IdRef", "name" : "Data" }
+ ]
+ },
+ {
+ "opname" : "ProgramScopeVariablePointerPushConstant",
+ "opcode" : 37,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "Offset"},
+ { "kind" : "IdRef", "name" : "Size"},
+ { "kind" : "IdRef", "name" : "Data" }
+ ]
+ },
+ {
+ "opname" : "PrintfInfo",
+ "opcode" : 38,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "PrintfID" },
+ { "kind" : "IdRef", "name" : "FormatString" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "ArgumentSizes"}
+ ]
+ },
+ {
+ "opname" : "PrintfBufferStorageBuffer",
+ "opcode" : 39,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "DescriptorSet" },
+ { "kind" : "IdRef", "name" : "Binding" },
+ { "kind" : "IdRef", "name" : "BufferSize"}
+ ]
+ },
+ {
+ "opname" : "PrintfBufferPointerPushConstant",
+ "opcode" : 40,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "Offset" },
+ { "kind" : "IdRef", "name" : "Size"},
+ { "kind" : "IdRef", "name" : "BufferSize"}
+ ]
+ }
+ ],
+ "operand_kinds" : [
+ {
+ "category" : "BitEnum",
+ "kind" : "KernelPropertyFlags",
+ "enumerants" : [
+ {
+ "enumerant" : "None",
+ "value" : "0x0"
+ },
+ {
+ "enumerant" : "MayUsePrintf",
+ "value" : "0x1"
+ }
+ ]
}
]
}
diff --git a/include/spirv/unified1/extinst.nonsemantic.debugbreak.grammar.json b/include/spirv/unified1/extinst.nonsemantic.debugbreak.grammar.json
new file mode 100644
index 0000000..ae28883
--- /dev/null
+++ b/include/spirv/unified1/extinst.nonsemantic.debugbreak.grammar.json
@@ -0,0 +1,9 @@
+{
+ "revision" : 1,
+ "instructions" : [
+ {
+ "opname" : "DebugBreak",
+ "opcode" : 1
+ }
+ ]
+}
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
index 4bdb937..bd86e70 100644
--- a/include/spirv/unified1/spirv.bf
+++ b/include/spirv/unified1/spirv.bf
@@ -66,6 +66,10 @@
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
}
[AllowDuplicates, CRepr] public enum ExecutionModel
@@ -153,6 +157,9 @@
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -162,6 +169,11 @@
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -192,6 +204,8 @@
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
}
@@ -210,6 +224,9 @@
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -224,6 +241,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -239,6 +257,7 @@
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
}
[AllowDuplicates, CRepr] public enum SamplerAddressingMode
@@ -345,6 +364,8 @@
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
}
[AllowDuplicates, CRepr] public enum ImageOperandsShift
@@ -451,6 +472,7 @@
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
}
[AllowDuplicates, CRepr] public enum Decoration
@@ -504,7 +526,13 @@
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
+ WeightTextureQCOM = 4487,
+ BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -521,6 +549,7 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -559,14 +588,35 @@
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
+ MathOpDSPModeINTEL = 5909,
AliasScopeINTEL = 5914,
NoAliasINTEL = 5915,
+ InitiationIntervalINTEL = 5917,
+ MaxConcurrencyINTEL = 5918,
+ PipelineEnableINTEL = 5919,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
SingleElementVectorINTEL = 6085,
VectorComputeCallableFunctionINTEL = 6087,
MediaBlockIOINTEL = 6140,
+ InitModeINTEL = 6147,
+ ImplementInRegisterMapINTEL = 6148,
+ HostAccessINTEL = 6168,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
}
[AllowDuplicates, CRepr] public enum BuiltIn
@@ -642,6 +692,8 @@
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -694,6 +746,9 @@
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -701,6 +756,8 @@
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
}
@@ -736,6 +793,8 @@
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
}
[AllowDuplicates, CRepr] public enum LoopControlMask
@@ -758,6 +817,8 @@
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
}
[AllowDuplicates, CRepr] public enum FunctionControlShift
@@ -967,6 +1028,9 @@
ShaderViewportIndex = 70,
UniformDecoration = 71,
CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -998,6 +1062,9 @@
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -1005,6 +1072,7 @@
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1046,6 +1114,7 @@
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1063,8 +1132,12 @@
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1097,10 +1170,13 @@
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
+ FPGADSPControlINTEL = 5908,
MemoryAccessAliasingINTEL = 5910,
+ FPGAInvocationPipeliningAttributesINTEL = 5916,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
+ RuntimeAlignedAttributeINTEL = 5939,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
@@ -1113,6 +1189,7 @@
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
@@ -1121,8 +1198,16 @@
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ GlobalVariableFPGADecorationsINTEL = 6146,
+ FPGAKernelAttributesv2INTEL = 6161,
+ GlobalVariableHostAccessINTEL = 6167,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
GroupUniformArithmeticKHR = 6400,
+ CacheControlsINTEL = 6441,
}
[AllowDuplicates, CRepr] public enum RayFlagsShift
@@ -1230,6 +1315,69 @@
PackedVectorFormat4x8BitKHR = 0,
}
+ [AllowDuplicates, CRepr] public enum CooperativeMatrixOperandsShift
+ {
+ MatrixASignedComponentsKHR = 0,
+ MatrixBSignedComponentsKHR = 1,
+ MatrixCSignedComponentsKHR = 2,
+ MatrixResultSignedComponentsKHR = 3,
+ SaturatingAccumulationKHR = 4,
+ }
+
+ [AllowDuplicates, CRepr] public enum CooperativeMatrixOperandsMask
+ {
+ MaskNone = 0,
+ MatrixASignedComponentsKHR = 0x00000001,
+ MatrixBSignedComponentsKHR = 0x00000002,
+ MatrixCSignedComponentsKHR = 0x00000004,
+ MatrixResultSignedComponentsKHR = 0x00000008,
+ SaturatingAccumulationKHR = 0x00000010,
+ }
+
+ [AllowDuplicates, CRepr] public enum CooperativeMatrixLayout
+ {
+ RowMajorKHR = 0,
+ ColumnMajorKHR = 1,
+ }
+
+ [AllowDuplicates, CRepr] public enum CooperativeMatrixUse
+ {
+ MatrixAKHR = 0,
+ MatrixBKHR = 1,
+ MatrixAccumulatorKHR = 2,
+ }
+
+ [AllowDuplicates, CRepr] public enum InitializationModeQualifier
+ {
+ InitOnDeviceReprogramINTEL = 0,
+ InitOnDeviceResetINTEL = 1,
+ }
+
+ [AllowDuplicates, CRepr] public enum HostAccessQualifier
+ {
+ NoneINTEL = 0,
+ ReadINTEL = 1,
+ WriteINTEL = 2,
+ ReadWriteINTEL = 3,
+ }
+
+ [AllowDuplicates, CRepr] public enum LoadCacheControl
+ {
+ UncachedINTEL = 0,
+ CachedINTEL = 1,
+ StreamingINTEL = 2,
+ InvalidateAfterReadINTEL = 3,
+ ConstCachedINTEL = 4,
+ }
+
+ [AllowDuplicates, CRepr] public enum StoreCacheControl
+ {
+ UncachedINTEL = 0,
+ WriteThroughINTEL = 1,
+ WriteBackINTEL = 2,
+ StreamingINTEL = 3,
+ }
+
[AllowDuplicates, CRepr] public enum Op
{
OpNop = 0,
@@ -1576,6 +1724,9 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1601,6 +1752,11 @@
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1608,6 +1764,10 @@
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1619,11 +1779,49 @@
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
OpEmitMeshTasksEXT = 5294,
OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpFetchMicroTriangleVertexPositionNV = 5300,
+ OpFetchMicroTriangleVertexBarycentricNV = 5301,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
OpIgnoreIntersectionNV = 5335,
@@ -1631,6 +1829,7 @@
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1892,6 +2091,8 @@
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index c6517c4..161a8f2 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -137,7 +137,8 @@
{
"opname" : "OpNop",
"class" : "Miscellaneous",
- "opcode" : 0
+ "opcode" : 0,
+ "version" : "1.0"
},
{
"opname" : "OpUndef",
@@ -146,7 +147,8 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
- ]
+ ],
+ "version" : "1.0"
},
{
"opname" : "OpSourceContinued",
@@ -154,7 +156,8 @@
"opcode" : 2,
"operands" : [
{ "kind" : "LiteralString", "name" : "'Continued Source'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSource",
@@ -165,7 +168,8 @@
{ "kind" : "LiteralInteger", "name" : "'Version'" },
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'File'" },
{ "kind" : "LiteralString", "quantifier" : "?", "name" : "'Source'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSourceExtension",
@@ -173,7 +177,8 @@
"opcode" : 4,
"operands" : [
{ "kind" : "LiteralString", "name" : "'Extension'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpName",
@@ -182,7 +187,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
{ "kind" : "LiteralString", "name" : "'Name'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpMemberName",
@@ -192,7 +198,8 @@
{ "kind" : "IdRef", "name" : "'Type'" },
{ "kind" : "LiteralInteger", "name" : "'Member'" },
{ "kind" : "LiteralString", "name" : "'Name'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpString",
@@ -201,7 +208,8 @@
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "LiteralString", "name" : "'String'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpLine",
@@ -211,7 +219,8 @@
{ "kind" : "IdRef", "name" : "'File'" },
{ "kind" : "LiteralInteger", "name" : "'Line'" },
{ "kind" : "LiteralInteger", "name" : "'Column'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpExtension",
@@ -219,7 +228,8 @@
"opcode" : 10,
"operands" : [
{ "kind" : "LiteralString", "name" : "'Name'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpExtInstImport",
@@ -228,7 +238,8 @@
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "LiteralString", "name" : "'Name'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpExtInst",
@@ -240,7 +251,8 @@
{ "kind" : "IdRef", "name" : "'Set'" },
{ "kind" : "LiteralExtInstInteger", "name" : "'Instruction'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpMemoryModel",
@@ -249,7 +261,8 @@
"operands" : [
{ "kind" : "AddressingModel" },
{ "kind" : "MemoryModel" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpEntryPoint",
@@ -260,7 +273,8 @@
{ "kind" : "IdRef", "name" : "'Entry Point'" },
{ "kind" : "LiteralString", "name" : "'Name'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Interface'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpExecutionMode",
@@ -269,7 +283,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Entry Point'" },
{ "kind" : "ExecutionMode", "name" : "'Mode'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpCapability",
@@ -277,7 +292,8 @@
"opcode" : 17,
"operands" : [
{ "kind" : "Capability", "name" : "'Capability'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeVoid",
@@ -285,7 +301,8 @@
"opcode" : 19,
"operands" : [
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeBool",
@@ -293,7 +310,8 @@
"opcode" : 20,
"operands" : [
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeInt",
@@ -303,7 +321,8 @@
{ "kind" : "IdResult" },
{ "kind" : "LiteralInteger", "name" : "'Width'" },
{ "kind" : "LiteralInteger", "name" : "'Signedness'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeFloat",
@@ -312,7 +331,8 @@
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "LiteralInteger", "name" : "'Width'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeVector",
@@ -322,7 +342,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Component Type'" },
{ "kind" : "LiteralInteger", "name" : "'Component Count'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeMatrix",
@@ -333,7 +354,8 @@
{ "kind" : "IdRef", "name" : "'Column Type'" },
{ "kind" : "LiteralInteger", "name" : "'Column Count'" }
],
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"opname" : "OpTypeImage",
@@ -349,7 +371,8 @@
{ "kind" : "LiteralInteger", "name" : "'Sampled'" },
{ "kind" : "ImageFormat" },
{ "kind" : "AccessQualifier", "quantifier" : "?" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeSampler",
@@ -357,7 +380,8 @@
"opcode" : 26,
"operands" : [
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeSampledImage",
@@ -366,7 +390,8 @@
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Image Type'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeArray",
@@ -376,7 +401,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Element Type'" },
{ "kind" : "IdRef", "name" : "'Length'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeRuntimeArray",
@@ -386,7 +412,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Element Type'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpTypeStruct",
@@ -395,7 +422,8 @@
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeOpaque",
@@ -405,7 +433,8 @@
{ "kind" : "IdResult" },
{ "kind" : "LiteralString", "name" : "The name of the opaque type." }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpTypePointer",
@@ -415,7 +444,8 @@
{ "kind" : "IdResult" },
{ "kind" : "StorageClass" },
{ "kind" : "IdRef", "name" : "'Type'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeFunction",
@@ -425,7 +455,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Return Type'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTypeEvent",
@@ -434,7 +465,8 @@
"operands" : [
{ "kind" : "IdResult" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpTypeDeviceEvent",
@@ -443,7 +475,8 @@
"operands" : [
{ "kind" : "IdResult" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpTypeReserveId",
@@ -452,7 +485,8 @@
"operands" : [
{ "kind" : "IdResult" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpTypeQueue",
@@ -461,7 +495,8 @@
"operands" : [
{ "kind" : "IdResult" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpTypePipe",
@@ -471,7 +506,8 @@
{ "kind" : "IdResult" },
{ "kind" : "AccessQualifier", "name" : "'Qualifier'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpTypeForwardPointer",
@@ -484,7 +520,8 @@
"capabilities" : [
"Addresses",
"PhysicalStorageBufferAddresses"
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConstantTrue",
@@ -493,7 +530,8 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConstantFalse",
@@ -502,7 +540,8 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConstant",
@@ -512,7 +551,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConstantComposite",
@@ -522,7 +562,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConstantSampler",
@@ -535,7 +576,8 @@
{ "kind" : "LiteralInteger", "name" : "'Param'" },
{ "kind" : "SamplerFilterMode" }
],
- "capabilities" : [ "LiteralSampler" ]
+ "capabilities" : [ "LiteralSampler" ],
+ "version": "1.0"
},
{
"opname" : "OpConstantNull",
@@ -544,7 +586,8 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSpecConstantTrue",
@@ -553,7 +596,8 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSpecConstantFalse",
@@ -562,7 +606,8 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSpecConstant",
@@ -572,7 +617,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSpecConstantComposite",
@@ -582,7 +628,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSpecConstantOp",
@@ -592,7 +639,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFunction",
@@ -603,7 +651,8 @@
{ "kind" : "IdResult" },
{ "kind" : "FunctionControl" },
{ "kind" : "IdRef", "name" : "'Function Type'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFunctionParameter",
@@ -612,12 +661,14 @@
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFunctionEnd",
"class" : "Function",
- "opcode" : 56
+ "opcode" : 56,
+ "version" : "1.0"
},
{
"opname" : "OpFunctionCall",
@@ -628,7 +679,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Function'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpVariable",
@@ -639,7 +691,8 @@
{ "kind" : "IdResult" },
{ "kind" : "StorageClass" },
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Initializer'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpImageTexelPointer",
@@ -651,7 +704,8 @@
{ "kind" : "IdRef", "name" : "'Image'" },
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "IdRef", "name" : "'Sample'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpLoad",
@@ -662,7 +716,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpStore",
@@ -672,7 +727,8 @@
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "IdRef", "name" : "'Object'" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpCopyMemory",
@@ -683,7 +739,8 @@
{ "kind" : "IdRef", "name" : "'Source'" },
{ "kind" : "MemoryAccess", "quantifier" : "?" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpCopyMemorySized",
@@ -696,7 +753,8 @@
{ "kind" : "MemoryAccess", "quantifier" : "?" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
],
- "capabilities" : [ "Addresses" ]
+ "capabilities" : [ "Addresses" ],
+ "version": "1.0"
},
{
"opname" : "OpAccessChain",
@@ -707,7 +765,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpInBoundsAccessChain",
@@ -718,7 +777,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpPtrAccessChain",
@@ -736,7 +796,8 @@
"VariablePointers",
"VariablePointersStorageBuffer",
"PhysicalStorageBufferAddresses"
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpArrayLength",
@@ -748,7 +809,8 @@
{ "kind" : "IdRef", "name" : "'Structure'" },
{ "kind" : "LiteralInteger", "name" : "'Array member'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpGenericPtrMemSemantics",
@@ -759,7 +821,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpInBoundsPtrAccessChain",
@@ -772,7 +835,8 @@
{ "kind" : "IdRef", "name" : "'Element'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
],
- "capabilities" : [ "Addresses" ]
+ "capabilities" : [ "Addresses" ],
+ "version": "1.0"
},
{
"opname" : "OpDecorate",
@@ -781,7 +845,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Target'" },
{ "kind" : "Decoration" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpMemberDecorate",
@@ -791,7 +856,8 @@
{ "kind" : "IdRef", "name" : "'Structure Type'" },
{ "kind" : "LiteralInteger", "name" : "'Member'" },
{ "kind" : "Decoration" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpDecorationGroup",
@@ -799,7 +865,8 @@
"opcode" : 73,
"operands" : [
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpGroupDecorate",
@@ -808,7 +875,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Decoration Group'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpGroupMemberDecorate",
@@ -817,7 +885,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Decoration Group'" },
{ "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpVectorExtractDynamic",
@@ -828,7 +897,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Vector'" },
{ "kind" : "IdRef", "name" : "'Index'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpVectorInsertDynamic",
@@ -840,7 +910,8 @@
{ "kind" : "IdRef", "name" : "'Vector'" },
{ "kind" : "IdRef", "name" : "'Component'" },
{ "kind" : "IdRef", "name" : "'Index'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpVectorShuffle",
@@ -852,7 +923,8 @@
{ "kind" : "IdRef", "name" : "'Vector 1'" },
{ "kind" : "IdRef", "name" : "'Vector 2'" },
{ "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpCompositeConstruct",
@@ -862,7 +934,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpCompositeExtract",
@@ -873,7 +946,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Composite'" },
{ "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpCompositeInsert",
@@ -885,7 +959,8 @@
{ "kind" : "IdRef", "name" : "'Object'" },
{ "kind" : "IdRef", "name" : "'Composite'" },
{ "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpCopyObject",
@@ -895,7 +970,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpTranspose",
@@ -906,7 +982,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Matrix'" }
],
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"opname" : "OpSampledImage",
@@ -917,7 +994,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Image'" },
{ "kind" : "IdRef", "name" : "'Sampler'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleImplicitLod",
@@ -930,7 +1008,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleExplicitLod",
@@ -942,7 +1021,8 @@
{ "kind" : "IdRef", "name" : "'Sampled Image'" },
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleDrefImplicitLod",
@@ -956,7 +1036,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleDrefExplicitLod",
@@ -970,7 +1051,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleProjImplicitLod",
@@ -983,7 +1065,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleProjExplicitLod",
@@ -996,7 +1079,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleProjDrefImplicitLod",
@@ -1010,7 +1094,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSampleProjDrefExplicitLod",
@@ -1024,7 +1109,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageFetch",
@@ -1036,7 +1122,8 @@
{ "kind" : "IdRef", "name" : "'Image'" },
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpImageGather",
@@ -1050,7 +1137,8 @@
{ "kind" : "IdRef", "name" : "'Component'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageDrefGather",
@@ -1064,7 +1152,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpImageRead",
@@ -1076,7 +1165,8 @@
{ "kind" : "IdRef", "name" : "'Image'" },
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpImageWrite",
@@ -1087,7 +1177,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "IdRef", "name" : "'Texel'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpImage",
@@ -1097,7 +1188,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Sampled Image'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpImageQueryFormat",
@@ -1108,7 +1200,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Image'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpImageQueryOrder",
@@ -1119,7 +1212,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Image'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpImageQuerySizeLod",
@@ -1131,7 +1225,8 @@
{ "kind" : "IdRef", "name" : "'Image'" },
{ "kind" : "IdRef", "name" : "'Level of Detail'" }
],
- "capabilities" : [ "Kernel", "ImageQuery" ]
+ "capabilities" : [ "Kernel", "ImageQuery" ],
+ "version": "1.0"
},
{
"opname" : "OpImageQuerySize",
@@ -1142,7 +1237,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Image'" }
],
- "capabilities" : [ "Kernel", "ImageQuery" ]
+ "capabilities" : [ "Kernel", "ImageQuery" ],
+ "version": "1.0"
},
{
"opname" : "OpImageQueryLod",
@@ -1154,7 +1250,8 @@
{ "kind" : "IdRef", "name" : "'Sampled Image'" },
{ "kind" : "IdRef", "name" : "'Coordinate'" }
],
- "capabilities" : [ "ImageQuery" ]
+ "capabilities" : [ "ImageQuery" ],
+ "version": "1.0"
},
{
"opname" : "OpImageQueryLevels",
@@ -1165,7 +1262,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Image'" }
],
- "capabilities" : [ "Kernel", "ImageQuery" ]
+ "capabilities" : [ "Kernel", "ImageQuery" ],
+ "version": "1.0"
},
{
"opname" : "OpImageQuerySamples",
@@ -1176,7 +1274,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Image'" }
],
- "capabilities" : [ "Kernel", "ImageQuery" ]
+ "capabilities" : [ "Kernel", "ImageQuery" ],
+ "version": "1.0"
},
{
"opname" : "OpConvertFToU",
@@ -1186,7 +1285,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Float Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConvertFToS",
@@ -1196,7 +1296,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Float Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConvertSToF",
@@ -1206,7 +1307,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Signed Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConvertUToF",
@@ -1216,7 +1318,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Unsigned Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpUConvert",
@@ -1226,7 +1329,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Unsigned Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSConvert",
@@ -1236,7 +1340,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Signed Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFConvert",
@@ -1246,7 +1351,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Float Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpQuantizeToF16",
@@ -1256,7 +1362,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpConvertPtrToU",
@@ -1270,7 +1377,8 @@
"capabilities" : [
"Addresses",
"PhysicalStorageBufferAddresses"
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSatConvertSToU",
@@ -1281,7 +1389,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Signed Value'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpSatConvertUToS",
@@ -1292,7 +1401,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Unsigned Value'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpConvertUToPtr",
@@ -1306,7 +1416,8 @@
"capabilities" : [
"Addresses",
"PhysicalStorageBufferAddresses"
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpPtrCastToGeneric",
@@ -1317,7 +1428,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpGenericCastToPtr",
@@ -1328,7 +1440,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Pointer'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpGenericCastToPtrExplicit",
@@ -1340,7 +1453,8 @@
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "StorageClass", "name" : "'Storage'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpBitcast",
@@ -1350,7 +1464,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSNegate",
@@ -1360,7 +1475,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFNegate",
@@ -1370,7 +1486,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpIAdd",
@@ -1381,7 +1498,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFAdd",
@@ -1392,7 +1510,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpISub",
@@ -1403,7 +1522,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFSub",
@@ -1414,7 +1534,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpIMul",
@@ -1425,7 +1546,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFMul",
@@ -1436,7 +1558,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpUDiv",
@@ -1447,7 +1570,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSDiv",
@@ -1458,7 +1582,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFDiv",
@@ -1469,7 +1594,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpUMod",
@@ -1480,7 +1606,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSRem",
@@ -1491,7 +1618,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSMod",
@@ -1502,7 +1630,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFRem",
@@ -1513,7 +1642,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFMod",
@@ -1524,7 +1654,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpVectorTimesScalar",
@@ -1535,7 +1666,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Vector'" },
{ "kind" : "IdRef", "name" : "'Scalar'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpMatrixTimesScalar",
@@ -1547,7 +1679,8 @@
{ "kind" : "IdRef", "name" : "'Matrix'" },
{ "kind" : "IdRef", "name" : "'Scalar'" }
],
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"opname" : "OpVectorTimesMatrix",
@@ -1559,7 +1692,8 @@
{ "kind" : "IdRef", "name" : "'Vector'" },
{ "kind" : "IdRef", "name" : "'Matrix'" }
],
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"opname" : "OpMatrixTimesVector",
@@ -1571,7 +1705,8 @@
{ "kind" : "IdRef", "name" : "'Matrix'" },
{ "kind" : "IdRef", "name" : "'Vector'" }
],
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"opname" : "OpMatrixTimesMatrix",
@@ -1583,7 +1718,8 @@
{ "kind" : "IdRef", "name" : "'LeftMatrix'" },
{ "kind" : "IdRef", "name" : "'RightMatrix'" }
],
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"opname" : "OpOuterProduct",
@@ -1595,7 +1731,8 @@
{ "kind" : "IdRef", "name" : "'Vector 1'" },
{ "kind" : "IdRef", "name" : "'Vector 2'" }
],
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"opname" : "OpDot",
@@ -1606,7 +1743,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Vector 1'" },
{ "kind" : "IdRef", "name" : "'Vector 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpIAddCarry",
@@ -1617,7 +1755,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpISubBorrow",
@@ -1628,7 +1767,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpUMulExtended",
@@ -1639,7 +1779,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSMulExtended",
@@ -1650,7 +1791,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAny",
@@ -1660,7 +1802,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Vector'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAll",
@@ -1670,7 +1813,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Vector'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpIsNan",
@@ -1680,7 +1824,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'x'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpIsInf",
@@ -1690,7 +1835,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'x'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpIsFinite",
@@ -1701,7 +1847,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'x'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpIsNormal",
@@ -1712,7 +1859,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'x'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpSignBitSet",
@@ -1723,7 +1871,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'x'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpLessOrGreater",
@@ -1736,6 +1885,7 @@
{ "kind" : "IdRef", "name" : "'y'" }
],
"capabilities" : [ "Kernel" ],
+ "version" : "1.0",
"lastVersion" : "1.5"
},
{
@@ -1748,7 +1898,8 @@
{ "kind" : "IdRef", "name" : "'x'" },
{ "kind" : "IdRef", "name" : "'y'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpUnordered",
@@ -1760,7 +1911,8 @@
{ "kind" : "IdRef", "name" : "'x'" },
{ "kind" : "IdRef", "name" : "'y'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpLogicalEqual",
@@ -1771,7 +1923,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpLogicalNotEqual",
@@ -1782,7 +1935,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpLogicalOr",
@@ -1793,7 +1947,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpLogicalAnd",
@@ -1804,7 +1959,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version" : "1.0"
},
{
"opname" : "OpLogicalNot",
@@ -1814,7 +1970,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSelect",
@@ -1826,7 +1983,8 @@
{ "kind" : "IdRef", "name" : "'Condition'" },
{ "kind" : "IdRef", "name" : "'Object 1'" },
{ "kind" : "IdRef", "name" : "'Object 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpIEqual",
@@ -1837,7 +1995,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpINotEqual",
@@ -1848,7 +2007,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpUGreaterThan",
@@ -1859,7 +2019,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSGreaterThan",
@@ -1870,7 +2031,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpUGreaterThanEqual",
@@ -1881,7 +2043,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSGreaterThanEqual",
@@ -1892,7 +2055,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpULessThan",
@@ -1903,7 +2067,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSLessThan",
@@ -1914,7 +2079,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpULessThanEqual",
@@ -1925,7 +2091,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSLessThanEqual",
@@ -1936,7 +2103,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFOrdEqual",
@@ -1947,7 +2115,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFUnordEqual",
@@ -1958,7 +2127,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFOrdNotEqual",
@@ -1969,7 +2139,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFUnordNotEqual",
@@ -1980,7 +2151,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFOrdLessThan",
@@ -1991,7 +2163,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFUnordLessThan",
@@ -2002,7 +2175,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFOrdGreaterThan",
@@ -2013,7 +2187,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFUnordGreaterThan",
@@ -2024,7 +2199,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFOrdLessThanEqual",
@@ -2035,7 +2211,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFUnordLessThanEqual",
@@ -2046,7 +2223,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFOrdGreaterThanEqual",
@@ -2057,7 +2235,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpFUnordGreaterThanEqual",
@@ -2068,7 +2247,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpShiftRightLogical",
@@ -2079,7 +2259,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "name" : "'Shift'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpShiftRightArithmetic",
@@ -2090,7 +2271,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "name" : "'Shift'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpShiftLeftLogical",
@@ -2101,7 +2283,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "name" : "'Shift'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpBitwiseOr",
@@ -2112,7 +2295,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpBitwiseXor",
@@ -2123,7 +2307,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpBitwiseAnd",
@@ -2134,7 +2319,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand 1'" },
{ "kind" : "IdRef", "name" : "'Operand 2'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpNot",
@@ -2144,7 +2330,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Operand'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpBitFieldInsert",
@@ -2158,7 +2345,8 @@
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader", "BitInstructions" ]
+ "capabilities" : [ "Shader", "BitInstructions" ],
+ "version": "1.0"
},
{
"opname" : "OpBitFieldSExtract",
@@ -2171,7 +2359,8 @@
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader", "BitInstructions" ]
+ "capabilities" : [ "Shader", "BitInstructions" ],
+ "version": "1.0"
},
{
"opname" : "OpBitFieldUExtract",
@@ -2184,7 +2373,8 @@
{ "kind" : "IdRef", "name" : "'Offset'" },
{ "kind" : "IdRef", "name" : "'Count'" }
],
- "capabilities" : [ "Shader", "BitInstructions" ]
+ "capabilities" : [ "Shader", "BitInstructions" ],
+ "version": "1.0"
},
{
"opname" : "OpBitReverse",
@@ -2195,7 +2385,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" }
],
- "capabilities" : [ "Shader", "BitInstructions" ]
+ "capabilities" : [ "Shader", "BitInstructions" ],
+ "version": "1.0"
},
{
"opname" : "OpBitCount",
@@ -2205,7 +2396,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpDPdx",
@@ -2216,7 +2408,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpDPdy",
@@ -2227,7 +2420,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpFwidth",
@@ -2238,7 +2432,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpDPdxFine",
@@ -2249,7 +2444,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "DerivativeControl" ]
+ "capabilities" : [ "DerivativeControl" ],
+ "version": "1.0"
},
{
"opname" : "OpDPdyFine",
@@ -2260,7 +2456,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "DerivativeControl" ]
+ "capabilities" : [ "DerivativeControl" ],
+ "version": "1.0"
},
{
"opname" : "OpFwidthFine",
@@ -2271,7 +2468,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "DerivativeControl" ]
+ "capabilities" : [ "DerivativeControl" ],
+ "version": "1.0"
},
{
"opname" : "OpDPdxCoarse",
@@ -2282,7 +2480,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "DerivativeControl" ]
+ "capabilities" : [ "DerivativeControl" ],
+ "version": "1.0"
},
{
"opname" : "OpDPdyCoarse",
@@ -2293,7 +2492,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "DerivativeControl" ]
+ "capabilities" : [ "DerivativeControl" ],
+ "version": "1.0"
},
{
"opname" : "OpFwidthCoarse",
@@ -2304,19 +2504,22 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'P'" }
],
- "capabilities" : [ "DerivativeControl" ]
+ "capabilities" : [ "DerivativeControl" ],
+ "version": "1.0"
},
{
"opname" : "OpEmitVertex",
"class" : "Primitive",
"opcode" : 218,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"opname" : "OpEndPrimitive",
"class" : "Primitive",
"opcode" : 219,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"opname" : "OpEmitStreamVertex",
@@ -2325,7 +2528,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Stream'" }
],
- "capabilities" : [ "GeometryStreams" ]
+ "capabilities" : [ "GeometryStreams" ],
+ "version": "1.0"
},
{
"opname" : "OpEndStreamPrimitive",
@@ -2334,7 +2538,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Stream'" }
],
- "capabilities" : [ "GeometryStreams" ]
+ "capabilities" : [ "GeometryStreams" ],
+ "version": "1.0"
},
{
"opname" : "OpControlBarrier",
@@ -2344,7 +2549,8 @@
{ "kind" : "IdScope", "name" : "'Execution'" },
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpMemoryBarrier",
@@ -2353,7 +2559,8 @@
"operands" : [
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicLoad",
@@ -2365,7 +2572,8 @@
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicStore",
@@ -2376,7 +2584,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicExchange",
@@ -2389,7 +2598,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicCompareExchange",
@@ -2404,7 +2614,8 @@
{ "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'Comparator'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicCompareExchangeWeak",
@@ -2421,6 +2632,7 @@
{ "kind" : "IdRef", "name" : "'Comparator'" }
],
"capabilities" : [ "Kernel" ],
+ "version" : "1.0",
"lastVersion" : "1.3"
},
{
@@ -2433,7 +2645,8 @@
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicIDecrement",
@@ -2445,7 +2658,8 @@
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicIAdd",
@@ -2458,7 +2672,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicISub",
@@ -2471,7 +2686,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicSMin",
@@ -2484,7 +2700,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicUMin",
@@ -2497,7 +2714,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicSMax",
@@ -2510,7 +2728,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicUMax",
@@ -2523,7 +2742,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicAnd",
@@ -2536,7 +2756,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicOr",
@@ -2549,7 +2770,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicXor",
@@ -2562,7 +2784,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpPhi",
@@ -2572,7 +2795,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpLoopMerge",
@@ -2582,7 +2806,8 @@
{ "kind" : "IdRef", "name" : "'Merge Block'" },
{ "kind" : "IdRef", "name" : "'Continue Target'" },
{ "kind" : "LoopControl" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSelectionMerge",
@@ -2591,7 +2816,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Merge Block'" },
{ "kind" : "SelectionControl" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpLabel",
@@ -2599,7 +2825,8 @@
"opcode" : 248,
"operands" : [
{ "kind" : "IdResult" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpBranch",
@@ -2607,7 +2834,8 @@
"opcode" : 249,
"operands" : [
{ "kind" : "IdRef", "name" : "'Target Label'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpBranchConditional",
@@ -2618,7 +2846,8 @@
{ "kind" : "IdRef", "name" : "'True Label'" },
{ "kind" : "IdRef", "name" : "'False Label'" },
{ "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpSwitch",
@@ -2628,18 +2857,21 @@
{ "kind" : "IdRef", "name" : "'Selector'" },
{ "kind" : "IdRef", "name" : "'Default'" },
{ "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpKill",
"class" : "Control-Flow",
"opcode" : 252,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"opname" : "OpReturn",
"class" : "Control-Flow",
- "opcode" : 253
+ "opcode" : 253,
+ "version" : "1.0"
},
{
"opname" : "OpReturnValue",
@@ -2647,12 +2879,14 @@
"opcode" : 254,
"operands" : [
{ "kind" : "IdRef", "name" : "'Value'" }
- ]
+ ],
+ "version": "1.0"
},
{
"opname" : "OpUnreachable",
"class" : "Control-Flow",
- "opcode" : 255
+ "opcode" : 255,
+ "version" : "1.0"
},
{
"opname" : "OpLifetimeStart",
@@ -2662,7 +2896,8 @@
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "LiteralInteger", "name" : "'Size'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpLifetimeStop",
@@ -2672,7 +2907,8 @@
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "LiteralInteger", "name" : "'Size'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupAsyncCopy",
@@ -2688,7 +2924,8 @@
{ "kind" : "IdRef", "name" : "'Stride'" },
{ "kind" : "IdRef", "name" : "'Event'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupWaitEvents",
@@ -2699,7 +2936,8 @@
{ "kind" : "IdRef", "name" : "'Num Events'" },
{ "kind" : "IdRef", "name" : "'Events List'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupAll",
@@ -2711,7 +2949,8 @@
{ "kind" : "IdScope", "name" : "'Execution'" },
{ "kind" : "IdRef", "name" : "'Predicate'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupAny",
@@ -2723,7 +2962,8 @@
{ "kind" : "IdScope", "name" : "'Execution'" },
{ "kind" : "IdRef", "name" : "'Predicate'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupBroadcast",
@@ -2736,7 +2976,8 @@
{ "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'LocalId'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupIAdd",
@@ -2749,7 +2990,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupFAdd",
@@ -2762,7 +3004,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupFMin",
@@ -2775,7 +3018,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupUMin",
@@ -2788,7 +3032,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupSMin",
@@ -2801,7 +3046,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupFMax",
@@ -2814,7 +3060,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupUMax",
@@ -2827,7 +3074,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupSMax",
@@ -2840,7 +3088,8 @@
{ "kind" : "GroupOperation", "name" : "'Operation'" },
{ "kind" : "IdRef", "name" : "'X'" }
],
- "capabilities" : [ "Groups" ]
+ "capabilities" : [ "Groups" ],
+ "version": "1.0"
},
{
"opname" : "OpReadPipe",
@@ -2854,7 +3103,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpWritePipe",
@@ -2868,7 +3118,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpReservedReadPipe",
@@ -2884,7 +3135,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpReservedWritePipe",
@@ -2900,7 +3152,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpReserveReadPipePackets",
@@ -2914,7 +3167,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpReserveWritePipePackets",
@@ -2928,7 +3182,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpCommitReadPipe",
@@ -2940,7 +3195,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpCommitWritePipe",
@@ -2952,7 +3208,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpIsValidReserveId",
@@ -2963,7 +3220,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Reserve Id'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpGetNumPipePackets",
@@ -2976,7 +3234,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpGetMaxPipePackets",
@@ -2989,7 +3248,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupReserveReadPipePackets",
@@ -3004,7 +3264,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupReserveWritePipePackets",
@@ -3019,7 +3280,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupCommitReadPipe",
@@ -3032,7 +3294,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpGroupCommitWritePipe",
@@ -3045,7 +3308,8 @@
{ "kind" : "IdRef", "name" : "'Packet Size'" },
{ "kind" : "IdRef", "name" : "'Packet Alignment'" }
],
- "capabilities" : [ "Pipes" ]
+ "capabilities" : [ "Pipes" ],
+ "version": "1.0"
},
{
"opname" : "OpEnqueueMarker",
@@ -3059,7 +3323,8 @@
{ "kind" : "IdRef", "name" : "'Wait Events'" },
{ "kind" : "IdRef", "name" : "'Ret Event'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpEnqueueKernel",
@@ -3080,7 +3345,8 @@
{ "kind" : "IdRef", "name" : "'Param Align'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Local Size'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpGetKernelNDrangeSubGroupCount",
@@ -3095,7 +3361,8 @@
{ "kind" : "IdRef", "name" : "'Param Size'" },
{ "kind" : "IdRef", "name" : "'Param Align'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpGetKernelNDrangeMaxSubGroupSize",
@@ -3110,7 +3377,8 @@
{ "kind" : "IdRef", "name" : "'Param Size'" },
{ "kind" : "IdRef", "name" : "'Param Align'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpGetKernelWorkGroupSize",
@@ -3124,7 +3392,8 @@
{ "kind" : "IdRef", "name" : "'Param Size'" },
{ "kind" : "IdRef", "name" : "'Param Align'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
@@ -3138,7 +3407,8 @@
{ "kind" : "IdRef", "name" : "'Param Size'" },
{ "kind" : "IdRef", "name" : "'Param Align'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpRetainEvent",
@@ -3147,7 +3417,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Event'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpReleaseEvent",
@@ -3156,7 +3427,8 @@
"operands" : [
{ "kind" : "IdRef", "name" : "'Event'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpCreateUserEvent",
@@ -3166,7 +3438,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpIsValidEvent",
@@ -3177,7 +3450,8 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Event'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpSetUserEventStatus",
@@ -3187,7 +3461,8 @@
{ "kind" : "IdRef", "name" : "'Event'" },
{ "kind" : "IdRef", "name" : "'Status'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpCaptureEventProfilingInfo",
@@ -3198,7 +3473,8 @@
{ "kind" : "IdRef", "name" : "'Profiling Info'" },
{ "kind" : "IdRef", "name" : "'Value'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpGetDefaultQueue",
@@ -3208,7 +3484,8 @@
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpBuildNDRange",
@@ -3221,7 +3498,8 @@
{ "kind" : "IdRef", "name" : "'LocalWorkSize'" },
{ "kind" : "IdRef", "name" : "'GlobalWorkOffset'" }
],
- "capabilities" : [ "DeviceEnqueue" ]
+ "capabilities" : [ "DeviceEnqueue" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseSampleImplicitLod",
@@ -3234,7 +3512,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseSampleExplicitLod",
@@ -3247,7 +3526,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseSampleDrefImplicitLod",
@@ -3261,7 +3541,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseSampleDrefExplicitLod",
@@ -3275,7 +3556,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseSampleProjImplicitLod",
@@ -3346,7 +3628,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseGather",
@@ -3360,7 +3643,8 @@
{ "kind" : "IdRef", "name" : "'Component'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseDrefGather",
@@ -3374,7 +3658,8 @@
{ "kind" : "IdRef", "name" : "'D~ref~'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseTexelsResident",
@@ -3385,12 +3670,14 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Resident Code'" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpNoLine",
"class" : "Debug",
- "opcode" : 317
+ "opcode" : 317,
+ "version" : "1.0"
},
{
"opname" : "OpAtomicFlagTestAndSet",
@@ -3403,7 +3690,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpAtomicFlagClear",
@@ -3414,7 +3702,8 @@
{ "kind" : "IdScope", "name" : "'Memory'" },
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
],
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"opname" : "OpImageSparseRead",
@@ -3427,7 +3716,8 @@
{ "kind" : "IdRef", "name" : "'Coordinate'" },
{ "kind" : "ImageOperands", "quantifier" : "?" }
],
- "capabilities" : [ "SparseResidency" ]
+ "capabilities" : [ "SparseResidency" ],
+ "version": "1.0"
},
{
"opname" : "OpSizeOf",
@@ -4103,6 +4393,43 @@
"version" : "1.4"
},
{
+ "opname" : "OpColorAttachmentReadEXT",
+ "class" : "Image",
+ "opcode" : 4160,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Attachment'" },
+ { "kind" : "IdRef", "name" : "'Sample'", "quantifier" : "?" }
+ ],
+ "capabilities": [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpDepthAttachmentReadEXT",
+ "class" : "Image",
+ "opcode" : 4161,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Sample'", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "TileImageDepthReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpStencilAttachmentReadEXT",
+ "class" : "Image",
+ "opcode" : 4162,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Sample'", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "TileImageStencilReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpTerminateInvocation",
"class" : "Control-Flow",
"opcode" : 4416,
@@ -4457,6 +4784,77 @@
"version" : "1.6"
},
{
+ "opname" : "OpTypeCooperativeMatrixKHR",
+ "class" : "Type-Declaration",
+ "opcode" : 4456,
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Component Type'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
+ { "kind" : "IdRef", "name" : "'Rows'" },
+ { "kind" : "IdRef", "name" : "'Columns'" },
+ { "kind" : "IdRef", "name" : "'Use'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixLoadKHR",
+ "class" : "Memory",
+ "opcode" : 4457,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "IdRef", "name" : "'MemoryLayout'" },
+ { "kind" : "IdRef", "name" : "'Stride'", "quantifier": "?" },
+ { "kind" : "MemoryAccess", "name" : "'Memory Operand'", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "CooperativeMatrixKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixStoreKHR",
+ "class" : "Memory",
+ "opcode" : 4458,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "IdRef", "name" : "'Object'" },
+ { "kind" : "IdRef", "name" : "'MemoryLayout'" },
+ { "kind" : "IdRef", "name" : "'Stride'", "quantifier": "?" },
+ { "kind" : "MemoryAccess", "name" : "'Memory Operand'", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "CooperativeMatrixKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixMulAddKHR",
+ "class" : "Arithmetic",
+ "opcode" : 4459,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "IdRef", "name" : "'C'" },
+ { "kind" : "CooperativeMatrixOperands", "name" : "'Cooperative Matrix Operands'", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "CooperativeMatrixKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixLengthKHR",
+ "class" : "Miscellaneous",
+ "opcode" : 4460,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Type'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixKHR" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpTypeRayQueryKHR",
"class" : "Reserved",
"opcode" : 4472,
@@ -4593,6 +4991,66 @@
"version" : "None"
},
{
+ "opname" : "OpImageSampleWeightedQCOM",
+ "class" : "Image",
+ "opcode" : 4480,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Texture'" },
+ { "kind" : "IdRef", "name" : "'Coordinates'" },
+ { "kind" : "IdRef", "name" : "'Weights'" }
+ ],
+ "capabilities" : [ "TextureSampleWeightedQCOM" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpImageBoxFilterQCOM",
+ "class" : "Image",
+ "opcode" : 4481,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Texture'" },
+ { "kind" : "IdRef", "name" : "'Coordinates'" },
+ { "kind" : "IdRef", "name" : "'Box Size'" }
+ ],
+ "capabilities" : [ "TextureBoxFilterQCOM" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpImageBlockMatchSSDQCOM",
+ "class" : "Image",
+ "opcode" : 4482,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Target'" },
+ { "kind" : "IdRef", "name" : "'Target Coordinates'" },
+ { "kind" : "IdRef", "name" : "'Reference'" },
+ { "kind" : "IdRef", "name" : "'Reference Coordinates'" },
+ { "kind" : "IdRef", "name" : "'Block Size'" }
+ ],
+ "capabilities" : [ "TextureBlockMatchQCOM" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpImageBlockMatchSADQCOM",
+ "class" : "Image",
+ "opcode" : 4483,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Target'" },
+ { "kind" : "IdRef", "name" : "'Target Coordinates'" },
+ { "kind" : "IdRef", "name" : "'Reference'" },
+ { "kind" : "IdRef", "name" : "'Reference Coordinates'" },
+ { "kind" : "IdRef", "name" : "'Block Size'" }
+ ],
+ "capabilities" : [ "TextureBlockMatchQCOM" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpGroupIAddNonUniformAMD",
"class" : "Group",
"opcode" : 5000,
@@ -4751,7 +5209,496 @@
{ "kind" : "IdScope", "name" : "'Scope'" }
],
"capabilities" : [ "ShaderClockKHR" ],
- "extensions" : [ "SPV_KHR_shader_clock" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFinalizeNodePayloadsAMDX",
+ "class" : "Reserved",
+ "opcode" : 5075,
+ "operands" : [
+ { "kind" : "IdRef", "name": "'Payload Array'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFinishWritingNodePayloadAMDX",
+ "class" : "Reserved",
+ "opcode" : 5078,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name": "'Payload'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpInitializeNodePayloadsAMDX",
+ "class" : "Reserved",
+ "opcode" : 5090,
+ "operands" : [
+ { "kind" : "IdRef", "name": "'Payload Array'" },
+ { "kind" : "IdScope", "name": "'Visibility'" },
+ { "kind" : "IdRef", "name": "'Payload Count'" },
+ { "kind" : "IdRef", "name": "'Node Index'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectRecordHitMotionNV",
+ "class" : "Reserved",
+ "opcode" : 5249,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+ { "kind" : "IdRef", "name" : "'InstanceId'" },
+ { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+ { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+ { "kind" : "IdRef", "name" : "'Hit Kind'" },
+ { "kind" : "IdRef", "name" : "'SBT Record Offset'" },
+ { "kind" : "IdRef", "name" : "'SBT Record Stride'" },
+ { "kind" : "IdRef", "name" : "'Origin'" },
+ { "kind" : "IdRef", "name" : "'TMin'" },
+ { "kind" : "IdRef", "name" : "'Direction'" },
+ { "kind" : "IdRef", "name" : "'TMax'" },
+ { "kind" : "IdRef", "name" : "'Current Time'" },
+ { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectRecordHitWithIndexMotionNV",
+ "class" : "Reserved",
+ "opcode" : 5250,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+ { "kind" : "IdRef", "name" : "'InstanceId'" },
+ { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+ { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+ { "kind" : "IdRef", "name" : "'Hit Kind'" },
+ { "kind" : "IdRef", "name" : "'SBT Record Index'" },
+ { "kind" : "IdRef", "name" : "'Origin'" },
+ { "kind" : "IdRef", "name" : "'TMin'" },
+ { "kind" : "IdRef", "name" : "'Direction'" },
+ { "kind" : "IdRef", "name" : "'TMax'" },
+ { "kind" : "IdRef", "name" : "'Current Time'" },
+ { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectRecordMissMotionNV",
+ "class" : "Reserved",
+ "opcode" : 5251,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'SBT Index'" },
+ { "kind" : "IdRef", "name" : "'Origin'" },
+ { "kind" : "IdRef", "name" : "'TMin'" },
+ { "kind" : "IdRef", "name" : "'Direction'" },
+ { "kind" : "IdRef", "name" : "'TMax'" },
+ { "kind" : "IdRef", "name" : "'Current Time'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetWorldToObjectNV",
+ "class" : "Reserved",
+ "opcode" : 5252,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetObjectToWorldNV",
+ "class" : "Reserved",
+ "opcode" : 5253,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetObjectRayDirectionNV",
+ "class" : "Reserved",
+ "opcode" : 5254,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetObjectRayOriginNV",
+ "class" : "Reserved",
+ "opcode" : 5255,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectTraceRayMotionNV",
+ "class" : "Reserved",
+ "opcode" : 5256,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Acceleration Structure'"},
+ { "kind" : "IdRef", "name" : "'RayFlags'"},
+ { "kind" : "IdRef", "name" : "'Cullmask'"},
+ { "kind" : "IdRef", "name" : "'SBT Record Offset'"},
+ { "kind" : "IdRef", "name" : "'SBT Record Stride'"},
+ { "kind" : "IdRef", "name" : "'Miss Index'"},
+ { "kind" : "IdRef", "name" : "'Origin'"},
+ { "kind" : "IdRef", "name" : "'TMin'"},
+ { "kind" : "IdRef", "name" : "'Direction'"},
+ { "kind" : "IdRef", "name" : "'TMax'"},
+ { "kind" : "IdRef", "name" : "'Time'"},
+ { "kind" : "IdRef", "name" : "'Payload'"}
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetShaderRecordBufferHandleNV",
+ "class" : "Reserved",
+ "opcode" : 5257,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetShaderBindingTableRecordIndexNV",
+ "class" : "Reserved",
+ "opcode" : 5258,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectRecordEmptyNV",
+ "class" : "Reserved",
+ "opcode" : 5259,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectTraceRayNV",
+ "class" : "Reserved",
+ "opcode" : 5260,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Acceleration Structure'"},
+ { "kind" : "IdRef", "name" : "'RayFlags'"},
+ { "kind" : "IdRef", "name" : "'Cullmask'"},
+ { "kind" : "IdRef", "name" : "'SBT Record Offset'"},
+ { "kind" : "IdRef", "name" : "'SBT Record Stride'"},
+ { "kind" : "IdRef", "name" : "'Miss Index'"},
+ { "kind" : "IdRef", "name" : "'Origin'"},
+ { "kind" : "IdRef", "name" : "'TMin'"},
+ { "kind" : "IdRef", "name" : "'Direction'"},
+ { "kind" : "IdRef", "name" : "'TMax'"},
+ { "kind" : "IdRef", "name" : "'Payload'"}
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectRecordHitNV",
+ "class" : "Reserved",
+ "opcode" : 5261,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+ { "kind" : "IdRef", "name" : "'InstanceId'" },
+ { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+ { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+ { "kind" : "IdRef", "name" : "'Hit Kind'" },
+ { "kind" : "IdRef", "name" : "'SBT Record Offset'" },
+ { "kind" : "IdRef", "name" : "'SBT Record Stride'" },
+ { "kind" : "IdRef", "name" : "'Origin'" },
+ { "kind" : "IdRef", "name" : "'TMin'" },
+ { "kind" : "IdRef", "name" : "'Direction'" },
+ { "kind" : "IdRef", "name" : "'TMax'" },
+ { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectRecordHitWithIndexNV",
+ "class" : "Reserved",
+ "opcode" : 5262,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Acceleration Structure'" },
+ { "kind" : "IdRef", "name" : "'InstanceId'" },
+ { "kind" : "IdRef", "name" : "'PrimitiveId'" },
+ { "kind" : "IdRef", "name" : "'GeometryIndex'" },
+ { "kind" : "IdRef", "name" : "'Hit Kind'" },
+ { "kind" : "IdRef", "name" : "'SBT Record Index'" },
+ { "kind" : "IdRef", "name" : "'Origin'" },
+ { "kind" : "IdRef", "name" : "'TMin'" },
+ { "kind" : "IdRef", "name" : "'Direction'" },
+ { "kind" : "IdRef", "name" : "'TMax'" },
+ { "kind" : "IdRef", "name" : "'HitObject Attributes'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectRecordMissNV",
+ "class" : "Reserved",
+ "opcode" : 5263,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'SBT Index'" },
+ { "kind" : "IdRef", "name" : "'Origin'" },
+ { "kind" : "IdRef", "name" : "'TMin'" },
+ { "kind" : "IdRef", "name" : "'Direction'" },
+ { "kind" : "IdRef", "name" : "'TMax'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectExecuteShaderNV",
+ "class" : "Reserved",
+ "opcode" : 5264,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Payload'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetCurrentTimeNV",
+ "class" : "Reserved",
+ "opcode" : 5265,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetAttributesNV",
+ "class" : "Reserved",
+ "opcode" : 5266,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "name" : "'Hit Object Attribute'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetHitKindNV",
+ "class" : "Reserved",
+ "opcode" : 5267,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetPrimitiveIndexNV",
+ "class" : "Reserved",
+ "opcode" : 5268,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetGeometryIndexNV",
+ "class" : "Reserved",
+ "opcode" : 5269,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetInstanceIdNV",
+ "class" : "Reserved",
+ "opcode" : 5270,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetInstanceCustomIndexNV",
+ "class" : "Reserved",
+ "opcode" : 5271,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetWorldRayDirectionNV",
+ "class" : "Reserved",
+ "opcode" : 5272,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetWorldRayOriginNV",
+ "class" : "Reserved",
+ "opcode" : 5273,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetRayTMaxNV",
+ "class" : "Reserved",
+ "opcode" : 5274,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectGetRayTMinNV",
+ "class" : "Reserved",
+ "opcode" : 5275,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectIsEmptyNV",
+ "class" : "Reserved",
+ "opcode" : 5276,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectIsHitNV",
+ "class" : "Reserved",
+ "opcode" : 5277,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpHitObjectIsMissNV",
+ "class" : "Reserved",
+ "opcode" : 5278,
+ "operands" : [
+ { "kind" : "IdResultType"},
+ { "kind" : "IdResult"},
+ { "kind" : "IdRef", "name" : "'Hit Object'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpReorderThreadWithHitObjectNV",
+ "class" : "Reserved",
+ "opcode" : 5279,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hit Object'" },
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Hint'" },
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Bits'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpReorderThreadWithHintNV",
+ "class" : "Reserved",
+ "opcode" : 5280,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Hint'" },
+ { "kind" : "IdRef", "name" : "'Bits'" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTypeHitObjectNV",
+ "class" : "Reserved",
+ "opcode" : 5281,
+ "operands" : [
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
"version" : "None"
},
{
@@ -4821,6 +5768,38 @@
"version" : "None"
},
{
+ "opname" : "OpFetchMicroTriangleVertexPositionNV",
+ "class" : "Reserved",
+ "opcode" : 5300,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Accel'" },
+ { "kind" : "IdRef", "name" : "'Instance Id'" },
+ { "kind" : "IdRef", "name" : "'Geometry Index'" },
+ { "kind" : "IdRef", "name" : "'Primitive Index'" },
+ { "kind" : "IdRef", "name" : "'Barycentric'" }
+ ],
+ "capabilities" : [ "DisplacementMicromapNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFetchMicroTriangleVertexBarycentricNV",
+ "class" : "Reserved",
+ "opcode" : 5301,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Accel'" },
+ { "kind" : "IdRef", "name" : "'Instance Id'" },
+ { "kind" : "IdRef", "name" : "'Geometry Index'" },
+ { "kind" : "IdRef", "name" : "'Primitive Index'" },
+ { "kind" : "IdRef", "name" : "'Barycentric'" }
+ ],
+ "capabilities" : [ "DisplacementMicromapNV" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpReportIntersectionNV",
"class" : "Reserved",
"opcode" : 5334,
@@ -4933,6 +5912,25 @@
"version" : "None"
},
{
+ "opname" : "OpRayQueryGetIntersectionTriangleVertexPositionsKHR",
+ "class" : "Reserved",
+ "opcode" : 5340,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ {
+ "kind" : "IdRef",
+ "name" : "'RayQuery'"
+ },
+ {
+ "kind" : "IdRef",
+ "name" : "'Intersection'"
+ }
+ ],
+ "capabilities" : [ "RayQueryPositionFetchKHR" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpTypeAccelerationStructureNV",
"class" : "Reserved",
"opcode" : 5341,
@@ -8590,6 +9588,30 @@
"version" : "None"
},
{
+ "opname" : "OpConvertFToBF16INTEL",
+ "class" : "Conversion",
+ "opcode" : 6116,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Float Value'" }
+ ],
+ "capabilities" : [ "BFloat16ConversionINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpConvertBF16ToFINTEL",
+ "class" : "Conversion",
+ "opcode" : 6117,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'BFloat16 Value'" }
+ ],
+ "capabilities" : [ "BFloat16ConversionINTEL" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpControlBarrierArriveINTEL",
"class" : "Barrier",
"opcode" : 6142,
@@ -8741,14 +9763,16 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Lod",
"value" : "0x0002",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Grad",
@@ -8756,14 +9780,16 @@
"parameters" : [
{ "kind" : "IdRef" },
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "ConstOffset",
"value" : "0x0008",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Offset",
@@ -8771,7 +9797,8 @@
"capabilities" : [ "ImageGatherExtended" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "ConstOffsets",
@@ -8779,14 +9806,16 @@
"capabilities" : [ "ImageGatherExtended" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Sample",
"value" : "0x0040",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MinLod",
@@ -8794,7 +9823,8 @@
"capabilities" : [ "MinLod" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MakeTexelAvailable",
@@ -8880,7 +9910,8 @@
"value" : "0x10000",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
}
]
},
@@ -8890,27 +9921,33 @@
"enumerants" : [
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "NotNaN",
- "value" : "0x0001"
+ "value" : "0x0001",
+ "version" : "1.0"
},
{
"enumerant" : "NotInf",
- "value" : "0x0002"
+ "value" : "0x0002",
+ "version" : "1.0"
},
{
"enumerant" : "NSZ",
- "value" : "0x0004"
+ "value" : "0x0004",
+ "version" : "1.0"
},
{
"enumerant" : "AllowRecip",
- "value" : "0x0008"
+ "value" : "0x0008",
+ "version" : "1.0"
},
{
"enumerant" : "Fast",
- "value" : "0x0010"
+ "value" : "0x0010",
+ "version" : "1.0"
},
{
"enumerant" : "AllowContractFastINTEL",
@@ -8932,15 +9969,18 @@
"enumerants" : [
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "Flatten",
- "value" : "0x0001"
+ "value" : "0x0001",
+ "version" : "1.0"
},
{
"enumerant" : "DontFlatten",
- "value" : "0x0002"
+ "value" : "0x0002",
+ "version" : "1.0"
}
]
},
@@ -8950,15 +9990,18 @@
"enumerants" : [
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "Unroll",
- "value" : "0x0001"
+ "value" : "0x0001",
+ "version" : "1.0"
},
{
"enumerant" : "DontUnroll",
- "value" : "0x0002"
+ "value" : "0x0002",
+ "version" : "1.0"
},
{
"enumerant" : "DependencyInfinite",
@@ -9020,7 +10063,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9030,7 +10072,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9040,7 +10081,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9050,7 +10090,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9060,7 +10099,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9070,7 +10108,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9080,17 +10117,30 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
"enumerant" : "NoFusionINTEL",
"value" : "0x800000",
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "LoopCountINTEL",
+ "value" : "0x1000000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxReinvocationDelayINTEL",
+ "value" : "0x2000000",
+ "parameters" : [
+ { "kind" : "LiteralInteger" }
+ ],
+ "capabilities" : [ "FPGALoopControlsINTEL" ],
"version" : "None"
}
]
@@ -9101,23 +10151,28 @@
"enumerants" : [
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "Inline",
- "value" : "0x0001"
+ "value" : "0x0001",
+ "version" : "1.0"
},
{
"enumerant" : "DontInline",
- "value" : "0x0002"
+ "value" : "0x0002",
+ "version" : "1.0"
},
{
"enumerant" : "Pure",
- "value" : "0x0004"
+ "value" : "0x0004",
+ "version" : "1.0"
},
{
"enumerant" : "Const",
- "value" : "0x0008"
+ "value" : "0x0008",
+ "version" : "1.0"
},
{
"enumerant" : "OptNoneINTEL",
@@ -9133,53 +10188,65 @@
"enumerants" : [
{
"enumerant" : "Relaxed",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "Acquire",
- "value" : "0x0002"
+ "value" : "0x0002",
+ "version" : "1.0"
},
{
"enumerant" : "Release",
- "value" : "0x0004"
+ "value" : "0x0004",
+ "version" : "1.0"
},
{
"enumerant" : "AcquireRelease",
- "value" : "0x0008"
+ "value" : "0x0008",
+ "version" : "1.0"
},
{
"enumerant" : "SequentiallyConsistent",
- "value" : "0x0010"
+ "value" : "0x0010",
+ "version" : "1.0"
},
{
"enumerant" : "UniformMemory",
"value" : "0x0040",
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupMemory",
- "value" : "0x0080"
+ "value" : "0x0080",
+ "version" : "1.0"
},
{
"enumerant" : "WorkgroupMemory",
- "value" : "0x0100"
+ "value" : "0x0100",
+ "version" : "1.0"
},
{
"enumerant" : "CrossWorkgroupMemory",
- "value" : "0x0200"
+ "value" : "0x0200",
+ "version" : "1.0"
},
{
"enumerant" : "AtomicCounterMemory",
"value" : "0x0400",
- "capabilities" : [ "AtomicStorage" ]
+ "capabilities" : [ "AtomicStorage" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageMemory",
- "value" : "0x0800"
+ "value" : "0x0800",
+ "version" : "1.0"
},
{
"enumerant" : "OutputMemory",
@@ -9235,22 +10302,26 @@
"enumerants" : [
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "Volatile",
- "value" : "0x0001"
+ "value" : "0x0001",
+ "version" : "1.0"
},
{
"enumerant" : "Aligned",
"value" : "0x0002",
"parameters" : [
{ "kind" : "LiteralInteger" }
- ]
+ ],
+ "version" : "1.0"
},
{
"enumerant" : "Nontemporal",
- "value" : "0x0004"
+ "value" : "0x0004",
+ "version" : "1.0"
},
{
"enumerant" : "MakePointerAvailable",
@@ -9331,12 +10402,14 @@
"enumerants" : [
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "CmdExecTime",
"value" : "0x0001",
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
}
]
},
@@ -9454,35 +10527,63 @@
"enumerants" : [
{
"enumerant" : "Unknown",
- "value" : 0
+ "value" : 0,
+ "version" : "1.0"
},
{
"enumerant" : "ESSL",
- "value" : 1
+ "value" : 1,
+ "version" : "1.0"
},
{
"enumerant" : "GLSL",
- "value" : 2
+ "value" : 2,
+ "version" : "1.0"
},
{
"enumerant" : "OpenCL_C",
- "value" : 3
+ "value" : 3,
+ "version" : "1.0"
},
{
"enumerant" : "OpenCL_CPP",
- "value" : 4
+ "value" : 4,
+ "version" : "1.0"
},
{
"enumerant" : "HLSL",
- "value" : 5
+ "value" : 5,
+ "version" : "1.0"
},
{
"enumerant" : "CPP_for_OpenCL",
- "value" : 6
+ "value" : 6,
+ "version" : "1.0"
},
{
"enumerant" : "SYCL",
- "value" : 7
+ "value" : 7,
+ "version" : "1.0"
+ },
+ {
+ "enumerant" : "HERO_C",
+ "value" : 8,
+ "version" : "1.0"
+ },
+ {
+ "enumerant" : "NZSL",
+ "value" : 9,
+ "version" : "1.0"
+ },
+ {
+ "enumerant" : "WGSL",
+ "value" : 10,
+ "version" : "1.0"
+ },
+ {
+ "enumerant" : "Slang",
+ "value" : 11,
+ "version" : "1.0"
}
]
},
@@ -9493,37 +10594,44 @@
{
"enumerant" : "Vertex",
"value" : 0,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "TessellationControl",
"value" : 1,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "TessellationEvaluation",
"value" : 2,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "Geometry",
"value" : 3,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "Fragment",
"value" : 4,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "GLCompute",
"value" : 5,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Kernel",
"value" : 6,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "TaskNV",
@@ -9629,17 +10737,20 @@
"enumerants" : [
{
"enumerant" : "Logical",
- "value" : 0
+ "value" : 0,
+ "version" : "1.0"
},
{
"enumerant" : "Physical32",
"value" : 1,
- "capabilities" : [ "Addresses" ]
+ "capabilities" : [ "Addresses" ],
+ "version": "1.0"
},
{
"enumerant" : "Physical64",
"value" : 2,
- "capabilities" : [ "Addresses" ]
+ "capabilities" : [ "Addresses" ],
+ "version": "1.0"
},
{
"enumerant" : "PhysicalStorageBuffer64",
@@ -9664,17 +10775,20 @@
{
"enumerant" : "Simple",
"value" : 0,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "GLSL450",
"value" : 1,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "OpenCL",
"value" : 2,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Vulkan",
@@ -9701,82 +10815,98 @@
"capabilities" : [ "Geometry" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "SpacingEqual",
"value" : 1,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "SpacingFractionalEven",
"value" : 2,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "SpacingFractionalOdd",
"value" : 3,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "VertexOrderCw",
"value" : 4,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "VertexOrderCcw",
"value" : 5,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "PixelCenterInteger",
"value" : 6,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "OriginUpperLeft",
"value" : 7,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "OriginLowerLeft",
"value" : 8,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "EarlyFragmentTests",
"value" : 9,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "PointMode",
"value" : 10,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "Xfb",
"value" : 11,
- "capabilities" : [ "TransformFeedback" ]
+ "capabilities" : [ "TransformFeedback" ],
+ "version": "1.0"
},
{
"enumerant" : "DepthReplacing",
"value" : 12,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "DepthGreater",
"value" : 14,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "DepthLess",
"value" : 15,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "DepthUnchanged",
"value" : 16,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "LocalSize",
@@ -9785,7 +10915,8 @@
{ "kind" : "LiteralInteger", "name" : "'x size'" },
{ "kind" : "LiteralInteger", "name" : "'y size'" },
{ "kind" : "LiteralInteger", "name" : "'z size'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "LocalSizeHint",
@@ -9795,42 +10926,50 @@
{ "kind" : "LiteralInteger", "name" : "'x size'" },
{ "kind" : "LiteralInteger", "name" : "'y size'" },
{ "kind" : "LiteralInteger", "name" : "'z size'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "InputPoints",
"value" : 19,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "InputLines",
"value" : 20,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "InputLinesAdjacency",
"value" : 21,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "Triangles",
"value" : 22,
- "capabilities" : [ "Geometry", "Tessellation" ]
+ "capabilities" : [ "Geometry", "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "InputTrianglesAdjacency",
"value" : 23,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "Quads",
"value" : 24,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "Isolines",
"value" : 25,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "OutputVertices",
@@ -9838,22 +10977,26 @@
"capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV", "MeshShadingEXT" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Vertex count'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "OutputPoints",
"value" : 27,
- "capabilities" : [ "Geometry", "MeshShadingNV", "MeshShadingEXT" ]
+ "capabilities" : [ "Geometry", "MeshShadingNV", "MeshShadingEXT" ],
+ "version": "1.0"
},
{
"enumerant" : "OutputLineStrip",
"value" : 28,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "OutputTriangleStrip",
"value" : 29,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "VecTypeHint",
@@ -9861,12 +11004,14 @@
"capabilities" : [ "Kernel" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Vector type'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "ContractionOff",
"value" : 31,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Initializer",
@@ -9929,6 +11074,24 @@
"version" : "1.2"
},
{
+ "enumerant" : "NonCoherentColorAttachmentReadEXT",
+ "value" : 4169,
+ "capabilities" : [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NonCoherentDepthAttachmentReadEXT",
+ "value" : 4170,
+ "capabilities" : [ "TileImageDepthReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NonCoherentStencilAttachmentReadEXT",
+ "value" : 4171,
+ "capabilities" : [ "TileImageStencilReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SubgroupUniformControlFlowKHR",
"value" : 4421,
"capabilities" : [ "Shader" ],
@@ -10007,6 +11170,52 @@
"version" : "None"
},
{
+ "enumerant" : "CoalescingAMDX",
+ "value" : 5069,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxNodeRecursionAMDX",
+ "value" : 5071,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Number of recursions'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "StaticNumWorkgroupsAMDX",
+ "value" : 5072,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'x size'" },
+ { "kind" : "IdRef", "name" : "'y size'" },
+ { "kind" : "IdRef", "name" : "'z size'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ShaderIndexAMDX",
+ "value" : 5073,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Shader Index'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxNumWorkgroupsAMDX",
+ "value" : 5077,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'x size'" },
+ { "kind" : "IdRef", "name" : "'y size'" },
+ { "kind" : "IdRef", "name" : "'z size'" }
+ ],
+ "version" : "None"
+ },
+ {
"enumerant": "StencilRefUnchangedFrontAMD",
"value": 5079,
"capabilities": [ "StencilExportEXT" ],
@@ -10246,6 +11455,24 @@
"version" : "None"
},
{
+ "enumerant" : "StreamingInterfaceINTEL",
+ "value" : 6154,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'StallFreeReturn'" }
+ ],
+ "capabilities" : [ "FPGAKernelAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "RegisterMapInterfaceINTEL",
+ "value" : 6160,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'WaitForDoneWrite'" }
+ ],
+ "capabilities" : [ "FPGAKernelAttributesv2INTEL" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "NamedBarrierCountINTEL",
"value" : 6417,
"parameters" : [
@@ -10262,57 +11489,69 @@
"enumerants" : [
{
"enumerant" : "UniformConstant",
- "value" : 0
+ "value" : 0,
+ "version" : "1.0"
},
{
"enumerant" : "Input",
- "value" : 1
+ "value" : 1,
+ "version" : "1.0"
},
{
"enumerant" : "Uniform",
"value" : 2,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Output",
"value" : 3,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Workgroup",
- "value" : 4
+ "value" : 4,
+ "version" : "1.0"
},
{
"enumerant" : "CrossWorkgroup",
- "value" : 5
+ "value" : 5,
+ "version" : "1.0"
},
{
"enumerant" : "Private",
"value" : 6,
- "capabilities" : [ "Shader", "VectorComputeINTEL" ]
+ "capabilities" : [ "Shader", "VectorComputeINTEL" ],
+ "version": "1.0"
},
{
"enumerant" : "Function",
- "value" : 7
+ "value" : 7,
+ "version" : "1.0"
},
{
"enumerant" : "Generic",
"value" : 8,
- "capabilities" : [ "GenericPointer" ]
+ "capabilities" : [ "GenericPointer" ],
+ "version": "1.0"
},
{
"enumerant" : "PushConstant",
"value" : 9,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "AtomicCounter",
"value" : 10,
- "capabilities" : [ "AtomicStorage" ]
+ "capabilities" : [ "AtomicStorage" ],
+ "version": "1.0"
},
{
"enumerant" : "Image",
- "value" : 11
+ "value" : 11,
+ "version" : "1.0"
},
{
"enumerant" : "StorageBuffer",
@@ -10325,6 +11564,24 @@
"version" : "1.3"
},
{
+ "enumerant" : "TileImageEXT",
+ "value" : 4172,
+ "capabilities" : [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NodePayloadAMDX",
+ "value" : 5068,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NodeOutputPayloadAMDX",
+ "value" : 5076,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "CallableDataNV",
"value" : 5328,
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
@@ -10423,6 +11680,12 @@
"version" : "1.5"
},
{
+ "enumerant" : "HitObjectAttributeNV",
+ "value" : 5385,
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "TaskPayloadWorkgroupEXT",
"value" : 5402,
"extensions" : [ "SPV_EXT_mesh_shader" ],
@@ -10463,36 +11726,48 @@
{
"enumerant" : "1D",
"value" : 0,
- "capabilities" : [ "Sampled1D", "Image1D" ]
+ "capabilities" : [ "Sampled1D" ],
+ "version": "1.0"
},
{
"enumerant" : "2D",
"value" : 1,
- "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
+ "version" : "1.0"
},
{
"enumerant" : "3D",
- "value" : 2
+ "value" : 2,
+ "version" : "1.0"
},
{
"enumerant" : "Cube",
"value" : 3,
- "capabilities" : [ "Shader", "ImageCubeArray" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rect",
"value" : 4,
- "capabilities" : [ "SampledRect", "ImageRect" ]
+ "capabilities" : [ "SampledRect" ],
+ "version": "1.0"
},
{
"enumerant" : "Buffer",
"value" : 5,
- "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
+ "capabilities" : [ "SampledBuffer" ],
+ "version": "1.0"
},
{
"enumerant" : "SubpassData",
"value" : 6,
- "capabilities" : [ "InputAttachment" ]
+ "capabilities" : [ "InputAttachment" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "TileImageDataEXT",
+ "value" : 4173,
+ "capabilities" : [ "TileImageColorReadAccessEXT" ],
+ "version" : "None"
}
]
},
@@ -10503,27 +11778,27 @@
{
"enumerant" : "None",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
},
{
"enumerant" : "ClampToEdge",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
},
{
"enumerant" : "Clamp",
"value" : 2,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
},
{
"enumerant" : "Repeat",
"value" : 3,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
},
{
"enumerant" : "RepeatMirrored",
"value" : 4,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
}
]
},
@@ -10534,12 +11809,12 @@
{
"enumerant" : "Nearest",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
},
{
"enumerant" : "Linear",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
}
]
},
@@ -10549,212 +11824,254 @@
"enumerants" : [
{
"enumerant" : "Unknown",
- "value" : 0
+ "value" : 0,
+ "version" : "1.0"
},
{
"enumerant" : "Rgba32f",
"value" : 1,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba16f",
"value" : 2,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "R32f",
"value" : 3,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba8",
"value" : 4,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba8Snorm",
"value" : 5,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg32f",
"value" : 6,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg16f",
"value" : 7,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R11fG11fB10f",
"value" : 8,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R16f",
"value" : 9,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba16",
"value" : 10,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgb10A2",
"value" : 11,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg16",
"value" : 12,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg8",
"value" : 13,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R16",
"value" : 14,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R8",
"value" : 15,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba16Snorm",
"value" : 16,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg16Snorm",
"value" : 17,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg8Snorm",
"value" : 18,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R16Snorm",
"value" : 19,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R8Snorm",
"value" : 20,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba32i",
"value" : 21,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba16i",
"value" : 22,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba8i",
"value" : 23,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "R32i",
"value" : 24,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg32i",
"value" : 25,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg16i",
"value" : 26,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg8i",
"value" : 27,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R16i",
"value" : 28,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R8i",
"value" : 29,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba32ui",
"value" : 30,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba16ui",
"value" : 31,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgba8ui",
"value" : 32,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "R32ui",
"value" : 33,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Rgb10a2ui",
"value" : 34,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg32ui",
"value" : 35,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg16ui",
"value" : 36,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "Rg8ui",
"value" : 37,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R16ui",
"value" : 38,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R8ui",
"value" : 39,
- "capabilities" : [ "StorageImageExtendedFormats" ]
+ "capabilities" : [ "StorageImageExtendedFormats" ],
+ "version": "1.0"
},
{
"enumerant" : "R64ui",
"value" : 40,
- "capabilities" : [ "Int64ImageEXT" ]
+ "capabilities" : [ "Int64ImageEXT" ],
+ "version": "1.0"
},
{
"enumerant" : "R64i",
"value" : 41,
- "capabilities" : [ "Int64ImageEXT" ]
+ "capabilities" : [ "Int64ImageEXT" ],
+ "version": "1.0"
}
]
},
@@ -10765,102 +12082,122 @@
{
"enumerant" : "R",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "A",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "RG",
"value" : 2,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "RA",
"value" : 3,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "RGB",
"value" : 4,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "RGBA",
"value" : 5,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "BGRA",
"value" : 6,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "ARGB",
"value" : 7,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Intensity",
"value" : 8,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Luminance",
"value" : 9,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Rx",
"value" : 10,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "RGx",
"value" : 11,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "RGBx",
"value" : 12,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Depth",
"value" : 13,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "DepthStencil",
"value" : 14,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "sRGB",
"value" : 15,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "sRGBx",
"value" : 16,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "sRGBA",
"value" : 17,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "sBGRA",
"value" : 18,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "ABGR",
"value" : 19,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
}
]
},
@@ -10871,87 +12208,116 @@
{
"enumerant" : "SnormInt8",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "SnormInt16",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnormInt8",
"value" : 2,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnormInt16",
"value" : 3,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnormShort565",
"value" : 4,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnormShort555",
"value" : 5,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnormInt101010",
"value" : 6,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "SignedInt8",
"value" : 7,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "SignedInt16",
"value" : 8,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "SignedInt32",
"value" : 9,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnsignedInt8",
"value" : 10,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnsignedInt16",
"value" : 11,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnsignedInt32",
"value" : 12,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "HalfFloat",
"value" : 13,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Float",
"value" : 14,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnormInt24",
"value" : 15,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "UnormInt101010_2",
"value" : 16,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "UnsignedIntRaw10EXT",
+ "value" : 19,
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "UnsignedIntRaw12EXT",
+ "value" : 20,
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
}
]
},
@@ -10961,19 +12327,23 @@
"enumerants" : [
{
"enumerant" : "RTE",
- "value" : 0
+ "value" : 0,
+ "version" : "1.0"
},
{
"enumerant" : "RTZ",
- "value" : 1
+ "value" : 1,
+ "version" : "1.0"
},
{
"enumerant" : "RTP",
- "value" : 2
+ "value" : 2,
+ "version" : "1.0"
},
{
"enumerant" : "RTN",
- "value" : 3
+ "value" : 3,
+ "version" : "1.0"
}
]
},
@@ -11104,12 +12474,14 @@
{
"enumerant" : "Export",
"value" : 0,
- "capabilities" : [ "Linkage" ]
+ "capabilities" : [ "Linkage" ],
+ "version": "1.0"
},
{
"enumerant" : "Import",
"value" : 1,
- "capabilities" : [ "Linkage" ]
+ "capabilities" : [ "Linkage" ],
+ "version": "1.0"
},
{
"enumerant" : "LinkOnceODR",
@@ -11127,17 +12499,50 @@
{
"enumerant" : "ReadOnly",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "WriteOnly",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "ReadWrite",
"value" : 2,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "HostAccessQualifier",
+ "enumerants" : [
+ {
+ "enumerant" : "NoneINTEL",
+ "value" : 0,
+ "capabilities" : [ "GlobalVariableHostAccessINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ReadINTEL",
+ "value" : 1,
+ "capabilities" : [ "GlobalVariableHostAccessINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "WriteINTEL",
+ "value" : 2,
+ "capabilities" : [ "GlobalVariableHostAccessINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ReadWriteINTEL",
+ "value" : 3,
+ "capabilities" : [ "GlobalVariableHostAccessINTEL" ],
+ "version" : "None"
}
]
},
@@ -11148,42 +12553,56 @@
{
"enumerant" : "Zext",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Sext",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "ByVal",
"value" : 2,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Sret",
"value" : 3,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "NoAlias",
"value" : 4,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "NoCapture",
"value" : 5,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "NoWrite",
"value" : 6,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "NoReadWrite",
"value" : 7,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "RuntimeAlignedINTEL",
+ "value" : 5940,
+ "capabilities" : [ "RuntimeAlignedAttributeINTEL" ],
+ "version": "1.0"
}
]
},
@@ -11194,7 +12613,8 @@
{
"enumerant" : "RelaxedPrecision",
"value" : 0,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "SpecId",
@@ -11202,28 +12622,33 @@
"capabilities" : [ "Shader", "Kernel" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Block",
"value" : 2,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "BufferBlock",
"value" : 3,
"capabilities" : [ "Shader" ],
+ "version": "1.0",
"lastVersion" : "1.3"
},
{
"enumerant" : "RowMajor",
"value" : 4,
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"enumerant" : "ColMajor",
"value" : 5,
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"enumerant" : "ArrayStride",
@@ -11231,7 +12656,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Array Stride'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MatrixStride",
@@ -11239,93 +12665,112 @@
"capabilities" : [ "Matrix" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "GLSLShared",
"value" : 8,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "GLSLPacked",
"value" : 9,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "CPacked",
"value" : 10,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "BuiltIn",
"value" : 11,
"parameters" : [
{ "kind" : "BuiltIn" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "NoPerspective",
"value" : 13,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Flat",
"value" : 14,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Patch",
"value" : 15,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "Centroid",
"value" : 16,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Sample",
"value" : 17,
- "capabilities" : [ "SampleRateShading" ]
+ "capabilities" : [ "SampleRateShading" ],
+ "version": "1.0"
},
{
"enumerant" : "Invariant",
"value" : 18,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Restrict",
- "value" : 19
+ "value" : 19,
+ "version" : "1.0"
},
{
"enumerant" : "Aliased",
- "value" : 20
+ "value" : 20,
+ "version" : "1.0"
},
{
"enumerant" : "Volatile",
- "value" : 21
+ "value" : 21,
+ "version" : "1.0"
},
{
"enumerant" : "Constant",
"value" : 22,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Coherent",
- "value" : 23
+ "value" : 23,
+ "version": "1.0"
},
{
"enumerant" : "NonWritable",
- "value" : 24
+ "value" : 24,
+ "version": "1.0"
},
{
"enumerant" : "NonReadable",
- "value" : 25
+ "value" : 25,
+ "version": "1.0"
},
{
"enumerant" : "Uniform",
"value" : 26,
- "capabilities" : [ "Shader", "UniformDecoration" ]
+ "capabilities" : [ "Shader", "UniformDecoration" ],
+ "version": "1.0"
},
{
"enumerant" : "UniformId",
@@ -11339,7 +12784,8 @@
{
"enumerant" : "SaturatedConversion",
"value" : 28,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Stream",
@@ -11347,7 +12793,8 @@
"capabilities" : [ "GeometryStreams" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Stream Number'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Location",
@@ -11355,7 +12802,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Location'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Component",
@@ -11363,7 +12811,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Component'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Index",
@@ -11371,7 +12820,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Index'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Binding",
@@ -11379,7 +12829,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Binding Point'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "DescriptorSet",
@@ -11387,7 +12838,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Offset",
@@ -11395,7 +12847,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "XfbBuffer",
@@ -11403,7 +12856,8 @@
"capabilities" : [ "TransformFeedback" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "XfbStride",
@@ -11411,7 +12865,8 @@
"capabilities" : [ "TransformFeedback" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "FuncParamAttr",
@@ -11419,14 +12874,16 @@
"capabilities" : [ "Kernel" ],
"parameters" : [
{ "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "FPRoundingMode",
"value" : 39,
"parameters" : [
{ "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "FPFastMathMode",
@@ -11434,7 +12891,8 @@
"capabilities" : [ "Kernel" ],
"parameters" : [
{ "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "LinkageAttributes",
@@ -11443,12 +12901,14 @@
"parameters" : [
{ "kind" : "LiteralString", "name" : "'Name'" },
{ "kind" : "LinkageType", "name" : "'Linkage Type'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "NoContraction",
"value" : 42,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "InputAttachmentIndex",
@@ -11456,7 +12916,8 @@
"capabilities" : [ "InputAttachment" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Alignment",
@@ -11464,7 +12925,8 @@
"capabilities" : [ "Kernel" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Alignment'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MaxByteOffset",
@@ -11506,12 +12968,57 @@
"version" : "1.4"
},
{
+ "enumerant" : "WeightTextureQCOM",
+ "value" : 4487,
+ "extensions" : [ "SPV_QCOM_image_processing" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "BlockMatchTextureQCOM",
+ "value" : 4488,
+ "extensions" : [ "SPV_QCOM_image_processing" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "ExplicitInterpAMD",
"value" : 4999,
"extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
"version" : "None"
},
{
+ "enumerant" : "NodeSharesPayloadLimitsWithAMDX",
+ "value" : 5019,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Payload Array'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NodeMaxPayloadsAMDX",
+ "value" : 5020,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Max number of payloads'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TrackFinishWritingAMDX",
+ "value" : 5078,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PayloadNodeNameAMDX",
+ "value" : 5091,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "LiteralString", "name" : "'Node Name'" }
+ ],
+ "version" : "None"
+ },
+ {
"enumerant" : "OverrideCoverageNV",
"value" : 5248,
"capabilities" : [ "SampleMaskOverrideCoverageNV" ],
@@ -11625,6 +13132,12 @@
"version" : "1.5"
},
{
+ "enumerant" : "HitObjectShaderRecordBufferNV",
+ "value" : 5386,
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BindlessSamplerNV",
"value" : 5398,
"capabilities" : [ "BindlessTextureNV" ],
@@ -11930,6 +13443,16 @@
"version" : "None"
},
{
+ "enumerant" : "MathOpDSPModeINTEL",
+ "value" : 5909,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Mode'" },
+ { "kind" : "LiteralInteger", "name" : "'Propagate'" }
+ ],
+ "capabilities" : [ "FPGADSPControlINTEL" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "AliasScopeINTEL",
"value" : 5914,
"parameters" : [
@@ -11948,6 +13471,33 @@
"version" : "None"
},
{
+ "enumerant" : "InitiationIntervalINTEL",
+ "value" : 5917,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Cycles'" }
+ ],
+ "capabilities" : [ "FPGAInvocationPipeliningAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxConcurrencyINTEL",
+ "value" : 5918,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Invocations'" }
+ ],
+ "capabilities" : [ "FPGAInvocationPipeliningAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PipelineEnableINTEL",
+ "value" : 5919,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Enable'" }
+ ],
+ "capabilities" : [ "FPGAInvocationPipeliningAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BufferLocationINTEL",
"value" : 5921,
"parameters" : [
@@ -11992,6 +13542,155 @@
"value" : 6140,
"capabilities" : [ "VectorComputeINTEL" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "InitModeINTEL",
+ "value" : 6147,
+ "parameters": [
+ { "kind" : "InitializationModeQualifier", "name" : "'Trigger'" }
+ ],
+ "capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ImplementInRegisterMapINTEL",
+ "value" : 6148,
+ "parameters": [
+ { "kind" : "LiteralInteger", "name" : "Value" }
+ ],
+ "capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "HostAccessINTEL",
+ "value" : 6168,
+ "parameters": [
+ { "kind" : "HostAccessQualifier", "name" : "'Access'" },
+ { "kind" : "LiteralString", "name" : "'Name'" }
+ ],
+ "capabilities" : [ "GlobalVariableHostAccessINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPMaxErrorDecorationINTEL",
+ "value" : 6170,
+ "parameters" : [
+ { "kind" : "LiteralFloat", "name" : "'Max Error'" }
+ ],
+ "capabilities" : [ "FPMaxErrorINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "LatencyControlLabelINTEL",
+ "value" : 6172,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Latency Label'" }
+ ],
+ "capabilities" : [ "FPGALatencyControlINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "LatencyControlConstraintINTEL",
+ "value" : 6173,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Relative To'" },
+ { "kind" : "LiteralInteger", "name" : "'Control Type'" },
+ { "kind" : "LiteralInteger", "name" : "'Relative Cycle'" }
+ ],
+ "capabilities" : [ "FPGALatencyControlINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ConduitKernelArgumentINTEL",
+ "value" : 6175,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "RegisterMapKernelArgumentINTEL",
+ "value" : 6176,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MMHostInterfaceAddressWidthINTEL",
+ "value" : 6177,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'AddressWidth'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MMHostInterfaceDataWidthINTEL",
+ "value" : 6178,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'DataWidth'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MMHostInterfaceLatencyINTEL",
+ "value" : 6179,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Latency'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MMHostInterfaceReadWriteModeINTEL",
+ "value" : 6180,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "parameters" : [
+ { "kind" : "AccessQualifier", "name" : "'ReadWriteMode'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MMHostInterfaceMaxBurstINTEL",
+ "value" : 6181,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'MaxBurstCount'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MMHostInterfaceWaitRequestINTEL",
+ "value" : 6182,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Waitrequest'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "StableKernelArgumentINTEL",
+ "value" : 6183,
+ "capabilities" : [ "FPGAArgumentInterfacesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CacheControlLoadINTEL",
+ "value" : 6442,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Cache Level'" },
+ { "kind" : "LoadCacheControl", "name" : "'Cache Control'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CacheControlStoreINTEL",
+ "value" : 6443,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Cache Level'" },
+ { "kind" : "StoreCacheControl", "name" : "'Cache Control'" }
+ ],
+ "version" : "None"
}
]
},
@@ -12002,226 +13701,272 @@
{
"enumerant" : "Position",
"value" : 0,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "PointSize",
"value" : 1,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "ClipDistance",
"value" : 3,
- "capabilities" : [ "ClipDistance" ]
+ "capabilities" : [ "ClipDistance" ],
+ "version": "1.0"
},
{
"enumerant" : "CullDistance",
"value" : 4,
- "capabilities" : [ "CullDistance" ]
+ "capabilities" : [ "CullDistance" ],
+ "version": "1.0"
},
{
"enumerant" : "VertexId",
"value" : 5,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "InstanceId",
"value" : 6,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "PrimitiveId",
"value" : 7,
- "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV", "MeshShadingEXT" ]
+ "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV", "MeshShadingEXT" ],
+ "version": "1.0"
},
{
"enumerant" : "InvocationId",
"value" : 8,
- "capabilities" : [ "Geometry", "Tessellation" ]
+ "capabilities" : [ "Geometry", "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "Layer",
"value" : 9,
- "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ]
+ "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ],
+ "version": "1.0"
},
{
"enumerant" : "ViewportIndex",
"value" : 10,
- "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ]
+ "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ],
+ "version": "1.0"
},
{
"enumerant" : "TessLevelOuter",
"value" : 11,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "TessLevelInner",
"value" : 12,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "TessCoord",
"value" : 13,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "PatchVertices",
"value" : 14,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "FragCoord",
"value" : 15,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "PointCoord",
"value" : 16,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "FrontFacing",
"value" : 17,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "SampleId",
"value" : 18,
- "capabilities" : [ "SampleRateShading" ]
+ "capabilities" : [ "SampleRateShading" ],
+ "version": "1.0"
},
{
"enumerant" : "SamplePosition",
"value" : 19,
- "capabilities" : [ "SampleRateShading" ]
+ "capabilities" : [ "SampleRateShading" ],
+ "version": "1.0"
},
{
"enumerant" : "SampleMask",
"value" : 20,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "FragDepth",
"value" : 22,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "HelperInvocation",
"value" : 23,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "NumWorkgroups",
- "value" : 24
+ "value" : 24,
+ "version" : "1.0"
},
{
"enumerant" : "WorkgroupSize",
- "value" : 25
+ "value" : 25,
+ "version" : "1.0"
},
{
"enumerant" : "WorkgroupId",
- "value" : 26
+ "value" : 26,
+ "version" : "1.0"
},
{
"enumerant" : "LocalInvocationId",
- "value" : 27
+ "value" : 27,
+ "version" : "1.0"
},
{
"enumerant" : "GlobalInvocationId",
- "value" : 28
+ "value" : 28,
+ "version" : "1.0"
},
{
"enumerant" : "LocalInvocationIndex",
- "value" : 29
+ "value" : 29,
+ "version" : "1.0"
},
{
"enumerant" : "WorkDim",
"value" : 30,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "GlobalSize",
"value" : 31,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "EnqueuedWorkgroupSize",
"value" : 32,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "GlobalOffset",
"value" : 33,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "GlobalLinearId",
"value" : 34,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupSize",
"value" : 36,
- "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
+ "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupMaxSize",
"value" : 37,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "NumSubgroups",
"value" : 38,
- "capabilities" : [ "Kernel", "GroupNonUniform" ]
+ "capabilities" : [ "Kernel", "GroupNonUniform" ],
+ "version": "1.0"
},
{
"enumerant" : "NumEnqueuedSubgroups",
"value" : 39,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupId",
"value" : 40,
- "capabilities" : [ "Kernel", "GroupNonUniform" ]
+ "capabilities" : [ "Kernel", "GroupNonUniform" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupLocalInvocationId",
"value" : 41,
- "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
+ "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ],
+ "version": "1.0"
},
{
"enumerant" : "VertexIndex",
"value" : 42,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "InstanceIndex",
"value" : 43,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "CoreIDARM",
"value" : 4160,
- "capabilities" : [ "CoreBuiltinsARM" ]
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
},
{
"enumerant" : "CoreCountARM",
"value" : 4161,
- "capabilities" : [ "CoreBuiltinsARM" ]
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
},
{
"enumerant" : "CoreMaxIDARM",
"value" : 4162,
- "capabilities" : [ "CoreBuiltinsARM" ]
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
},
{
"enumerant" : "WarpIDARM",
"value" : 4163,
- "capabilities" : [ "CoreBuiltinsARM" ]
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
},
{
"enumerant" : "WarpMaxIDARM",
"value" : 4164,
- "capabilities" : [ "CoreBuiltinsARM" ]
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupEqMask",
@@ -12387,6 +14132,18 @@
"version" : "None"
},
{
+ "enumerant" : "CoalescedInputCountAMDX",
+ "value" : 5021,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ShaderIndexAMDX",
+ "value" : 5073,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "ViewportMaskNV",
"value" : 5253,
"capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
@@ -12751,6 +14508,24 @@
"version" : "None"
},
{
+ "enumerant" : "HitTriangleVertexPositionsKHR",
+ "value" : 5335,
+ "capabilities" : [ "RayTracingPositionFetchKHR" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "HitMicroTriangleVertexPositionsNV",
+ "value" : 5337,
+ "capabilities" : [ "RayTracingDisplacementMicromapNV" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "HitMicroTriangleVertexBarycentricsNV",
+ "value" : 5344,
+ "capabilities" : [ "RayTracingDisplacementMicromapNV" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "IncomingRayFlagsNV",
"value" : 5351,
"capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
@@ -12800,6 +14575,18 @@
"version" : "None"
},
{
+ "enumerant" : "HitKindFrontFacingMicroTriangleNV",
+ "value" : 5405,
+ "capabilities" : [ "RayTracingDisplacementMicromapNV" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "HitKindBackFacingMicroTriangleNV",
+ "value" : 5406,
+ "capabilities" : [ "RayTracingDisplacementMicromapNV" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "CullMaskKHR",
"value" : 6021,
"capabilities" : [ "RayCullMaskKHR" ],
@@ -12814,23 +14601,28 @@
"enumerants" : [
{
"enumerant" : "CrossDevice",
- "value" : 0
+ "value" : 0,
+ "version" : "1.0"
},
{
"enumerant" : "Device",
- "value" : 1
+ "value" : 1,
+ "version" : "1.0"
},
{
"enumerant" : "Workgroup",
- "value" : 2
+ "value" : 2,
+ "version" : "1.0"
},
{
"enumerant" : "Subgroup",
- "value" : 3
+ "value" : 3,
+ "version" : "1.0"
},
{
"enumerant" : "Invocation",
- "value" : 4
+ "value" : 4,
+ "version" : "1.0"
},
{
"enumerant" : "QueueFamily",
@@ -12859,17 +14651,20 @@
{
"enumerant" : "Reduce",
"value" : 0,
- "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
+ "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ],
+ "version": "1.0"
},
{
"enumerant" : "InclusiveScan",
"value" : 1,
- "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
+ "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ],
+ "version": "1.0"
},
{
"enumerant" : "ExclusiveScan",
"value" : 2,
- "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
+ "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ],
+ "version": "1.0"
},
{
"enumerant" : "ClusteredReduce",
@@ -12907,17 +14702,20 @@
{
"enumerant" : "NoWait",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "WaitKernel",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "WaitWorkGroup",
"value" : 2,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
}
]
},
@@ -12927,272 +14725,328 @@
"enumerants" : [
{
"enumerant" : "Matrix",
- "value" : 0
+ "value" : 0,
+ "version" : "1.0"
},
{
"enumerant" : "Shader",
"value" : 1,
- "capabilities" : [ "Matrix" ]
+ "capabilities" : [ "Matrix" ],
+ "version": "1.0"
},
{
"enumerant" : "Geometry",
"value" : 2,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Tessellation",
"value" : 3,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Addresses",
- "value" : 4
+ "value" : 4,
+ "version" : "1.0"
},
{
"enumerant" : "Linkage",
- "value" : 5
+ "value" : 5,
+ "version" : "1.0"
},
{
"enumerant" : "Kernel",
- "value" : 6
+ "value" : 6,
+ "version" : "1.0"
},
{
"enumerant" : "Vector16",
"value" : 7,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Float16Buffer",
"value" : 8,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Float16",
- "value" : 9
+ "value" : 9,
+ "version" : "1.0"
},
{
"enumerant" : "Float64",
- "value" : 10
+ "value" : 10,
+ "version" : "1.0"
},
{
"enumerant" : "Int64",
- "value" : 11
+ "value" : 11,
+ "version" : "1.0"
},
{
"enumerant" : "Int64Atomics",
"value" : 12,
- "capabilities" : [ "Int64" ]
+ "capabilities" : [ "Int64" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageBasic",
"value" : 13,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageReadWrite",
"value" : 14,
- "capabilities" : [ "ImageBasic" ]
+ "capabilities" : [ "ImageBasic" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageMipmap",
"value" : 15,
- "capabilities" : [ "ImageBasic" ]
+ "capabilities" : [ "ImageBasic" ],
+ "version": "1.0"
},
{
"enumerant" : "Pipes",
"value" : 17,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Groups",
"value" : 18,
- "extensions" : [ "SPV_AMD_shader_ballot" ]
+ "extensions" : [ "SPV_AMD_shader_ballot" ],
+ "version": "1.0"
},
{
"enumerant" : "DeviceEnqueue",
"value" : 19,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "LiteralSampler",
"value" : 20,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "AtomicStorage",
"value" : 21,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Int16",
- "value" : 22
+ "value" : 22,
+ "version" : "1.0"
},
{
"enumerant" : "TessellationPointSize",
"value" : 23,
- "capabilities" : [ "Tessellation" ]
+ "capabilities" : [ "Tessellation" ],
+ "version": "1.0"
},
{
"enumerant" : "GeometryPointSize",
"value" : 24,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageGatherExtended",
"value" : 25,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "StorageImageMultisample",
"value" : 27,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "UniformBufferArrayDynamicIndexing",
"value" : 28,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "SampledImageArrayDynamicIndexing",
"value" : 29,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "StorageBufferArrayDynamicIndexing",
"value" : 30,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "StorageImageArrayDynamicIndexing",
"value" : 31,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "ClipDistance",
"value" : 32,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "CullDistance",
"value" : 33,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageCubeArray",
"value" : 34,
- "capabilities" : [ "SampledCubeArray" ]
+ "capabilities" : [ "SampledCubeArray" ],
+ "version": "1.0"
},
{
"enumerant" : "SampleRateShading",
"value" : 35,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageRect",
"value" : 36,
- "capabilities" : [ "SampledRect" ]
+ "capabilities" : [ "SampledRect" ],
+ "version": "1.0"
},
{
"enumerant" : "SampledRect",
"value" : 37,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "GenericPointer",
"value" : 38,
- "capabilities" : [ "Addresses" ]
+ "capabilities" : [ "Addresses" ],
+ "version": "1.0"
},
{
"enumerant" : "Int8",
- "value" : 39
+ "value" : 39,
+ "version" : "1.0"
},
{
"enumerant" : "InputAttachment",
"value" : 40,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "SparseResidency",
"value" : 41,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "MinLod",
"value" : 42,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "Sampled1D",
- "value" : 43
+ "value" : 43,
+ "version" : "1.0"
},
{
"enumerant" : "Image1D",
"value" : 44,
- "capabilities" : [ "Sampled1D" ]
+ "capabilities" : [ "Sampled1D" ],
+ "version": "1.0"
},
{
"enumerant" : "SampledCubeArray",
"value" : 45,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "SampledBuffer",
- "value" : 46
+ "value" : 46,
+ "version" : "1.0"
},
{
"enumerant" : "ImageBuffer",
"value" : 47,
- "capabilities" : [ "SampledBuffer" ]
+ "capabilities" : [ "SampledBuffer" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageMSArray",
"value" : 48,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "StorageImageExtendedFormats",
"value" : 49,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "ImageQuery",
"value" : 50,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "DerivativeControl",
"value" : 51,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "InterpolationFunction",
"value" : 52,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "TransformFeedback",
"value" : 53,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "GeometryStreams",
"value" : 54,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "StorageImageReadWithoutFormat",
"value" : 55,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "StorageImageWriteWithoutFormat",
"value" : 56,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "MultiViewport",
"value" : 57,
- "capabilities" : [ "Geometry" ]
+ "capabilities" : [ "Geometry" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupDispatch",
@@ -13277,7 +15131,26 @@
{
"enumerant" : "CoreBuiltinsARM",
"value" : 4165,
- "extensions" : [ "SPV_ARM_core_builtins" ]
+ "extensions" : [ "SPV_ARM_core_builtins" ],
+ "version": "None"
+ },
+ {
+ "enumerant" : "TileImageColorReadAccessEXT",
+ "value" : 4166,
+ "extensions" : [ "SPV_EXT_shader_tile_image" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TileImageDepthReadAccessEXT",
+ "value" : 4167,
+ "extensions" : [ "SPV_EXT_shader_tile_image" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TileImageStencilReadAccessEXT",
+ "value" : 4168,
+ "extensions" : [ "SPV_EXT_shader_tile_image" ],
+ "version" : "None"
},
{
"enumerant" : "FragmentShadingRateKHR",
@@ -13487,6 +15360,24 @@
"version" : "None"
},
{
+ "enumerant" : "TextureSampleWeightedQCOM",
+ "value" : 4484,
+ "extensions" : [ "SPV_QCOM_image_processing" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TextureBoxFilterQCOM",
+ "value" : 4485,
+ "extensions" : [ "SPV_QCOM_image_processing" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TextureBlockMatchQCOM",
+ "value" : 4486,
+ "extensions" : [ "SPV_QCOM_image_processing" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "Float16ImageAMD",
"value" : 5008,
"capabilities" : [ "Shader" ],
@@ -13531,11 +15422,17 @@
{
"enumerant" : "ShaderClockKHR",
"value" : 5055,
- "capabilities" : [ "Shader" ],
"extensions" : [ "SPV_KHR_shader_clock" ],
"version" : "None"
},
{
+ "enumerant" : "ShaderEnqueueAMDX",
+ "value" : 5067,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_AMDX_shader_enqueue" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SampleMaskOverrideCoverageNV",
"value" : 5249,
"capabilities" : [ "SampleRateShading" ],
@@ -13806,6 +15703,13 @@
"version" : "1.5"
},
{
+ "enumerant" : "RayTracingPositionFetchKHR",
+ "value" : 5336,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "RayTracingNV",
"value" : 5340,
"capabilities" : [ "Shader" ],
@@ -13917,6 +15821,13 @@
"version" : "1.6"
},
{
+ "enumerant" : "DisplacementMicromapNV",
+ "value" : 5380,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_displacement_micromap" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "RayTracingOpacityMicromapEXT",
"value" : 5381,
"capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
@@ -13924,12 +15835,33 @@
"version" : "None"
},
{
+ "enumerant" : "ShaderInvocationReorderNV",
+ "value" : 5383,
+ "capabilities" : [ "RayTracingKHR" ],
+ "extensions" : [ "SPV_NV_shader_invocation_reorder" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BindlessTextureNV",
"value" : 5390,
"extensions" : [ "SPV_NV_bindless_texture" ],
"version" : "None"
},
{
+ "enumerant" : "RayQueryPositionFetchKHR",
+ "value" : 5391,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "RayTracingDisplacementMicromapNV",
+ "value" : 5409,
+ "capabilities" : [ "RayTracingKHR" ],
+ "extensions" : [ "SPV_NV_displacement_micromap" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SubgroupShuffleINTEL",
"value" : 5568,
"extensions" : [ "SPV_INTEL_subgroups" ],
@@ -14125,12 +16057,24 @@
"version" : "None"
},
{
+ "enumerant" : "FPGADSPControlINTEL",
+ "value" : 5908,
+ "extensions" : [ "SPV_INTEL_fpga_dsp_control" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "MemoryAccessAliasingINTEL",
"value" : 5910,
"extensions" : [ "SPV_INTEL_memory_access_aliasing" ],
"version" : "None"
},
{
+ "enumerant" : "FPGAInvocationPipeliningAttributesINTEL",
+ "value" : 5916,
+ "extensions" : [ "SPV_INTEL_fpga_invocation_pipelining_attributes" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "FPGABufferLocationINTEL",
"value" : 5920,
"extensions" : [ "SPV_INTEL_fpga_buffer_location" ],
@@ -14149,6 +16093,12 @@
"version" : "None"
},
{
+ "enumerant" : "RuntimeAlignedAttributeINTEL",
+ "value" : 5939,
+ "extensions" : [ "SPV_INTEL_runtime_aligned" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "IOPipesINTEL",
"value" : 5943,
"extensions" : [ "SPV_INTEL_io_pipes" ],
@@ -14219,6 +16169,12 @@
"version" : "None"
},
{
+ "enumerant" : "CooperativeMatrixKHR",
+ "value" : 6022,
+ "extensions" : [ "SPV_KHR_cooperative_matrix" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BitInstructions",
"value" : 6025,
"extensions" : [ "SPV_KHR_bit_instructions" ],
@@ -14268,16 +16224,65 @@
"version" : "None"
},
{
+ "enumerant" : "BFloat16ConversionINTEL",
+ "value" : 6115,
+ "extensions" : [ "SPV_INTEL_bfloat16_conversion" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SplitBarrierINTEL",
"value" : 6141,
"extensions" : [ "SPV_INTEL_split_barrier" ],
"version" : "None"
},
{
+ "enumerant" : "GlobalVariableFPGADecorationsINTEL",
+ "value" : 6146,
+ "extensions": [ "SPV_INTEL_global_variable_fpga_decorations" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGAKernelAttributesv2INTEL",
+ "value" : 6161,
+ "capabilities" : [ "FPGAKernelAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "GlobalVariableHostAccessINTEL",
+ "value" : 6167,
+ "extensions": [ "SPV_INTEL_global_variable_host_access" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPMaxErrorINTEL",
+ "value" : 6169,
+ "extensions" : [ "SPV_INTEL_fp_max_error" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGALatencyControlINTEL",
+ "value" : 6171,
+ "extensions" : [ "SPV_INTEL_fpga_latency_control" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGAArgumentInterfacesINTEL",
+ "value" : 6174,
+ "extensions" : [ "SPV_INTEL_fpga_argument_interfaces" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "GroupUniformArithmeticKHR",
"value" : 6400,
"extensions" : [ "SPV_KHR_uniform_group_instructions"],
"version" : "None"
+ },
+ {
+ "enumerant" : "CacheControlsINTEL",
+ "value" : 6441,
+ "extensions" : [ "SPV_INTEL_cache_controls" ],
+ "version" : "None"
}
]
},
@@ -14359,6 +16364,163 @@
]
},
{
+ "category" : "BitEnum",
+ "kind" : "CooperativeMatrixOperands",
+ "enumerants" : [
+ {
+ "enumerant" : "NoneKHR",
+ "value" : "0x0000",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MatrixASignedComponentsKHR",
+ "value" : "0x0001",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MatrixBSignedComponentsKHR",
+ "value" : "0x0002",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MatrixCSignedComponentsKHR",
+ "value" : "0x0004",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MatrixResultSignedComponentsKHR",
+ "value" : "0x0008",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "SaturatingAccumulationKHR",
+ "value" : "0x0010",
+ "version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "CooperativeMatrixLayout",
+ "enumerants" : [
+ {
+ "enumerant" : "RowMajorKHR",
+ "value" : 0,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ColumnMajorKHR",
+ "value" : 1,
+ "version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "CooperativeMatrixUse",
+ "enumerants" : [
+ {
+ "enumerant" : "MatrixAKHR",
+ "value" : 0,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MatrixBKHR",
+ "value" : 1,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MatrixAccumulatorKHR",
+ "value" : 2,
+ "version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "InitializationModeQualifier",
+ "enumerants" : [
+ {
+ "enumerant" : "InitOnDeviceReprogramINTEL",
+ "value" : 0,
+ "capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "InitOnDeviceResetINTEL",
+ "value" : 1,
+ "capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
+ "version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "LoadCacheControl",
+ "enumerants" : [
+ {
+ "enumerant" : "UncachedINTEL",
+ "value" : 0,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CachedINTEL",
+ "value" : 1,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "StreamingINTEL",
+ "value" : 2,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "InvalidateAfterReadINTEL",
+ "value" : 3,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ConstCachedINTEL",
+ "value" : 4,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "StoreCacheControl",
+ "enumerants" : [
+ {
+ "enumerant" : "UncachedINTEL",
+ "value" : 0,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "WriteThroughINTEL",
+ "value" : 1,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "WriteBackINTEL",
+ "value" : 2,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "StreamingINTEL",
+ "value" : 3,
+ "capabilities" : [ "CacheControlsINTEL" ],
+ "version" : "None"
+ }
+ ]
+ },
+ {
"category" : "Id",
"kind" : "IdResultType",
"doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
@@ -14395,6 +16557,11 @@
},
{
"category" : "Literal",
+ "kind" : "LiteralFloat",
+ "doc" : "A float consuming one word"
+ },
+ {
+ "category" : "Literal",
"kind" : "LiteralContextDependentNumber",
"doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
},
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index 0cf3d34..0906c28 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -65,6 +65,10 @@
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
}
public enum ExecutionModel
@@ -152,6 +156,9 @@
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -161,6 +168,11 @@
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -191,6 +203,8 @@
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
}
@@ -209,6 +223,9 @@
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -223,6 +240,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -238,6 +256,7 @@
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
}
public enum SamplerAddressingMode
@@ -344,6 +363,8 @@
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
}
public enum ImageOperandsShift
@@ -450,6 +471,7 @@
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
}
public enum Decoration
@@ -503,7 +525,13 @@
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
+ WeightTextureQCOM = 4487,
+ BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -520,6 +548,7 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -558,14 +587,35 @@
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
+ MathOpDSPModeINTEL = 5909,
AliasScopeINTEL = 5914,
NoAliasINTEL = 5915,
+ InitiationIntervalINTEL = 5917,
+ MaxConcurrencyINTEL = 5918,
+ PipelineEnableINTEL = 5919,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
SingleElementVectorINTEL = 6085,
VectorComputeCallableFunctionINTEL = 6087,
MediaBlockIOINTEL = 6140,
+ InitModeINTEL = 6147,
+ ImplementInRegisterMapINTEL = 6148,
+ HostAccessINTEL = 6168,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
}
public enum BuiltIn
@@ -641,6 +691,8 @@
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -693,6 +745,9 @@
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -700,6 +755,8 @@
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
}
@@ -735,6 +792,8 @@
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
}
public enum LoopControlMask
@@ -757,6 +816,8 @@
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
}
public enum FunctionControlShift
@@ -966,6 +1027,9 @@
ShaderViewportIndex = 70,
UniformDecoration = 71,
CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -997,6 +1061,9 @@
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -1004,6 +1071,7 @@
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1045,6 +1113,7 @@
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1062,8 +1131,12 @@
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1096,10 +1169,13 @@
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
+ FPGADSPControlINTEL = 5908,
MemoryAccessAliasingINTEL = 5910,
+ FPGAInvocationPipeliningAttributesINTEL = 5916,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
+ RuntimeAlignedAttributeINTEL = 5939,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
@@ -1112,6 +1188,7 @@
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
@@ -1120,8 +1197,16 @@
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ GlobalVariableFPGADecorationsINTEL = 6146,
+ FPGAKernelAttributesv2INTEL = 6161,
+ GlobalVariableHostAccessINTEL = 6167,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
GroupUniformArithmeticKHR = 6400,
+ CacheControlsINTEL = 6441,
}
public enum RayFlagsShift
@@ -1229,6 +1314,69 @@
PackedVectorFormat4x8BitKHR = 0,
}
+ public enum CooperativeMatrixOperandsShift
+ {
+ MatrixASignedComponentsKHR = 0,
+ MatrixBSignedComponentsKHR = 1,
+ MatrixCSignedComponentsKHR = 2,
+ MatrixResultSignedComponentsKHR = 3,
+ SaturatingAccumulationKHR = 4,
+ }
+
+ public enum CooperativeMatrixOperandsMask
+ {
+ MaskNone = 0,
+ MatrixASignedComponentsKHR = 0x00000001,
+ MatrixBSignedComponentsKHR = 0x00000002,
+ MatrixCSignedComponentsKHR = 0x00000004,
+ MatrixResultSignedComponentsKHR = 0x00000008,
+ SaturatingAccumulationKHR = 0x00000010,
+ }
+
+ public enum CooperativeMatrixLayout
+ {
+ RowMajorKHR = 0,
+ ColumnMajorKHR = 1,
+ }
+
+ public enum CooperativeMatrixUse
+ {
+ MatrixAKHR = 0,
+ MatrixBKHR = 1,
+ MatrixAccumulatorKHR = 2,
+ }
+
+ public enum InitializationModeQualifier
+ {
+ InitOnDeviceReprogramINTEL = 0,
+ InitOnDeviceResetINTEL = 1,
+ }
+
+ public enum HostAccessQualifier
+ {
+ NoneINTEL = 0,
+ ReadINTEL = 1,
+ WriteINTEL = 2,
+ ReadWriteINTEL = 3,
+ }
+
+ public enum LoadCacheControl
+ {
+ UncachedINTEL = 0,
+ CachedINTEL = 1,
+ StreamingINTEL = 2,
+ InvalidateAfterReadINTEL = 3,
+ ConstCachedINTEL = 4,
+ }
+
+ public enum StoreCacheControl
+ {
+ UncachedINTEL = 0,
+ WriteThroughINTEL = 1,
+ WriteBackINTEL = 2,
+ StreamingINTEL = 3,
+ }
+
public enum Op
{
OpNop = 0,
@@ -1575,6 +1723,9 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1600,6 +1751,11 @@
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1607,6 +1763,10 @@
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1618,11 +1778,49 @@
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
OpEmitMeshTasksEXT = 5294,
OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpFetchMicroTriangleVertexPositionNV = 5300,
+ OpFetchMicroTriangleVertexBarycentricNV = 5301,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
OpIgnoreIntersectionNV = 5335,
@@ -1630,6 +1828,7 @@
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1891,6 +2090,8 @@
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index af4f06b..bae4784 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -73,6 +73,10 @@
SpvSourceLanguageHLSL = 5,
SpvSourceLanguageCPP_for_OpenCL = 6,
SpvSourceLanguageSYCL = 7,
+ SpvSourceLanguageHERO_C = 8,
+ SpvSourceLanguageNZSL = 9,
+ SpvSourceLanguageWGSL = 10,
+ SpvSourceLanguageSlang = 11,
SpvSourceLanguageMax = 0x7fffffff,
} SpvSourceLanguage;
@@ -160,6 +164,9 @@
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
SpvExecutionModeLocalSizeId = 38,
SpvExecutionModeLocalSizeHintId = 39,
+ SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
+ SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
+ SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
SpvExecutionModePostDepthCoverage = 4446,
SpvExecutionModeDenormPreserve = 4459,
@@ -169,6 +176,11 @@
SpvExecutionModeRoundingModeRTZ = 4463,
SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
SpvExecutionModeStencilRefReplacingEXT = 5027,
+ SpvExecutionModeCoalescingAMDX = 5069,
+ SpvExecutionModeMaxNodeRecursionAMDX = 5071,
+ SpvExecutionModeStaticNumWorkgroupsAMDX = 5072,
+ SpvExecutionModeShaderIndexAMDX = 5073,
+ SpvExecutionModeMaxNumWorkgroupsAMDX = 5077,
SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
SpvExecutionModeStencilRefLessFrontAMD = 5081,
@@ -199,6 +211,8 @@
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+ SpvExecutionModeStreamingInterfaceINTEL = 6154,
+ SpvExecutionModeRegisterMapInterfaceINTEL = 6160,
SpvExecutionModeNamedBarrierCountINTEL = 6417,
SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
@@ -217,6 +231,9 @@
SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11,
SpvStorageClassStorageBuffer = 12,
+ SpvStorageClassTileImageEXT = 4172,
+ SpvStorageClassNodePayloadAMDX = 5068,
+ SpvStorageClassNodeOutputPayloadAMDX = 5076,
SpvStorageClassCallableDataKHR = 5328,
SpvStorageClassCallableDataNV = 5328,
SpvStorageClassIncomingCallableDataKHR = 5329,
@@ -231,6 +248,7 @@
SpvStorageClassShaderRecordBufferNV = 5343,
SpvStorageClassPhysicalStorageBuffer = 5349,
SpvStorageClassPhysicalStorageBufferEXT = 5349,
+ SpvStorageClassHitObjectAttributeNV = 5385,
SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
SpvStorageClassCodeSectionINTEL = 5605,
SpvStorageClassDeviceOnlyINTEL = 5936,
@@ -246,6 +264,7 @@
SpvDimRect = 4,
SpvDimBuffer = 5,
SpvDimSubpassData = 6,
+ SpvDimTileImageDataEXT = 4173,
SpvDimMax = 0x7fffffff,
} SpvDim;
@@ -352,6 +371,8 @@
SpvImageChannelDataTypeFloat = 14,
SpvImageChannelDataTypeUnormInt24 = 15,
SpvImageChannelDataTypeUnormInt101010_2 = 16,
+ SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
+ SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
SpvImageChannelDataTypeMax = 0x7fffffff,
} SpvImageChannelDataType;
@@ -456,6 +477,7 @@
SpvFunctionParameterAttributeNoCapture = 5,
SpvFunctionParameterAttributeNoWrite = 6,
SpvFunctionParameterAttributeNoReadWrite = 7,
+ SpvFunctionParameterAttributeRuntimeAlignedINTEL = 5940,
SpvFunctionParameterAttributeMax = 0x7fffffff,
} SpvFunctionParameterAttribute;
@@ -509,7 +531,13 @@
SpvDecorationMaxByteOffsetId = 47,
SpvDecorationNoSignedWrap = 4469,
SpvDecorationNoUnsignedWrap = 4470,
+ SpvDecorationWeightTextureQCOM = 4487,
+ SpvDecorationBlockMatchTextureQCOM = 4488,
SpvDecorationExplicitInterpAMD = 4999,
+ SpvDecorationNodeSharesPayloadLimitsWithAMDX = 5019,
+ SpvDecorationNodeMaxPayloadsAMDX = 5020,
+ SpvDecorationTrackFinishWritingAMDX = 5078,
+ SpvDecorationPayloadNodeNameAMDX = 5091,
SpvDecorationOverrideCoverageNV = 5248,
SpvDecorationPassthroughNV = 5250,
SpvDecorationViewportRelativeNV = 5252,
@@ -526,6 +554,7 @@
SpvDecorationRestrictPointerEXT = 5355,
SpvDecorationAliasedPointer = 5356,
SpvDecorationAliasedPointerEXT = 5356,
+ SpvDecorationHitObjectShaderRecordBufferNV = 5386,
SpvDecorationBindlessSamplerNV = 5398,
SpvDecorationBindlessImageNV = 5399,
SpvDecorationBoundSamplerNV = 5400,
@@ -564,14 +593,35 @@
SpvDecorationPrefetchINTEL = 5902,
SpvDecorationStallEnableINTEL = 5905,
SpvDecorationFuseLoopsInFunctionINTEL = 5907,
+ SpvDecorationMathOpDSPModeINTEL = 5909,
SpvDecorationAliasScopeINTEL = 5914,
SpvDecorationNoAliasINTEL = 5915,
+ SpvDecorationInitiationIntervalINTEL = 5917,
+ SpvDecorationMaxConcurrencyINTEL = 5918,
+ SpvDecorationPipelineEnableINTEL = 5919,
SpvDecorationBufferLocationINTEL = 5921,
SpvDecorationIOPipeStorageINTEL = 5944,
SpvDecorationFunctionFloatingPointModeINTEL = 6080,
SpvDecorationSingleElementVectorINTEL = 6085,
SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
SpvDecorationMediaBlockIOINTEL = 6140,
+ SpvDecorationInitModeINTEL = 6147,
+ SpvDecorationImplementInRegisterMapINTEL = 6148,
+ SpvDecorationHostAccessINTEL = 6168,
+ SpvDecorationFPMaxErrorDecorationINTEL = 6170,
+ SpvDecorationLatencyControlLabelINTEL = 6172,
+ SpvDecorationLatencyControlConstraintINTEL = 6173,
+ SpvDecorationConduitKernelArgumentINTEL = 6175,
+ SpvDecorationRegisterMapKernelArgumentINTEL = 6176,
+ SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177,
+ SpvDecorationMMHostInterfaceDataWidthINTEL = 6178,
+ SpvDecorationMMHostInterfaceLatencyINTEL = 6179,
+ SpvDecorationMMHostInterfaceReadWriteModeINTEL = 6180,
+ SpvDecorationMMHostInterfaceMaxBurstINTEL = 6181,
+ SpvDecorationMMHostInterfaceWaitRequestINTEL = 6182,
+ SpvDecorationStableKernelArgumentINTEL = 6183,
+ SpvDecorationCacheControlLoadINTEL = 6442,
+ SpvDecorationCacheControlStoreINTEL = 6443,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
@@ -647,6 +697,8 @@
SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
SpvBuiltInBaryCoordPullModelAMD = 4998,
SpvBuiltInFragStencilRefEXT = 5014,
+ SpvBuiltInCoalescedInputCountAMDX = 5021,
+ SpvBuiltInShaderIndexAMDX = 5073,
SpvBuiltInViewportMaskNV = 5253,
SpvBuiltInSecondaryPositionNV = 5257,
SpvBuiltInSecondaryViewportMaskNV = 5258,
@@ -699,6 +751,9 @@
SpvBuiltInHitKindKHR = 5333,
SpvBuiltInHitKindNV = 5333,
SpvBuiltInCurrentRayTimeNV = 5334,
+ SpvBuiltInHitTriangleVertexPositionsKHR = 5335,
+ SpvBuiltInHitMicroTriangleVertexPositionsNV = 5337,
+ SpvBuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
SpvBuiltInIncomingRayFlagsKHR = 5351,
SpvBuiltInIncomingRayFlagsNV = 5351,
SpvBuiltInRayGeometryIndexKHR = 5352,
@@ -706,6 +761,8 @@
SpvBuiltInSMCountNV = 5375,
SpvBuiltInWarpIDNV = 5376,
SpvBuiltInSMIDNV = 5377,
+ SpvBuiltInHitKindFrontFacingMicroTriangleNV = 5405,
+ SpvBuiltInHitKindBackFacingMicroTriangleNV = 5406,
SpvBuiltInCullMaskKHR = 6021,
SpvBuiltInMax = 0x7fffffff,
} SpvBuiltIn;
@@ -740,6 +797,8 @@
SpvLoopControlMaxInterleavingINTELShift = 21,
SpvLoopControlSpeculatedIterationsINTELShift = 22,
SpvLoopControlNoFusionINTELShift = 23,
+ SpvLoopControlLoopCountINTELShift = 24,
+ SpvLoopControlMaxReinvocationDelayINTELShift = 25,
SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
@@ -762,6 +821,8 @@
SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
SpvLoopControlNoFusionINTELMask = 0x00800000,
+ SpvLoopControlLoopCountINTELMask = 0x01000000,
+ SpvLoopControlMaxReinvocationDelayINTELMask = 0x02000000,
} SpvLoopControlMask;
typedef enum SpvFunctionControlShift_ {
@@ -966,6 +1027,9 @@
SpvCapabilityShaderViewportIndex = 70,
SpvCapabilityUniformDecoration = 71,
SpvCapabilityCoreBuiltinsARM = 4165,
+ SpvCapabilityTileImageColorReadAccessEXT = 4166,
+ SpvCapabilityTileImageDepthReadAccessEXT = 4167,
+ SpvCapabilityTileImageStencilReadAccessEXT = 4168,
SpvCapabilityFragmentShadingRateKHR = 4422,
SpvCapabilitySubgroupBallotKHR = 4423,
SpvCapabilityDrawParameters = 4427,
@@ -997,6 +1061,9 @@
SpvCapabilityRayQueryKHR = 4472,
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
SpvCapabilityRayTracingKHR = 4479,
+ SpvCapabilityTextureSampleWeightedQCOM = 4484,
+ SpvCapabilityTextureBoxFilterQCOM = 4485,
+ SpvCapabilityTextureBlockMatchQCOM = 4486,
SpvCapabilityFloat16ImageAMD = 5008,
SpvCapabilityImageGatherBiasLodAMD = 5009,
SpvCapabilityFragmentMaskAMD = 5010,
@@ -1004,6 +1071,7 @@
SpvCapabilityImageReadWriteLodAMD = 5015,
SpvCapabilityInt64ImageEXT = 5016,
SpvCapabilityShaderClockKHR = 5055,
+ SpvCapabilityShaderEnqueueAMDX = 5067,
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
SpvCapabilityGeometryShaderPassthroughNV = 5251,
SpvCapabilityShaderViewportIndexLayerEXT = 5254,
@@ -1045,6 +1113,7 @@
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ SpvCapabilityRayTracingPositionFetchKHR = 5336,
SpvCapabilityRayTracingNV = 5340,
SpvCapabilityRayTracingMotionBlurNV = 5341,
SpvCapabilityVulkanMemoryModel = 5345,
@@ -1062,8 +1131,12 @@
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
SpvCapabilityDemoteToHelperInvocation = 5379,
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
+ SpvCapabilityDisplacementMicromapNV = 5380,
SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
+ SpvCapabilityShaderInvocationReorderNV = 5383,
SpvCapabilityBindlessTextureNV = 5390,
+ SpvCapabilityRayQueryPositionFetchKHR = 5391,
+ SpvCapabilityRayTracingDisplacementMicromapNV = 5409,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1096,10 +1169,13 @@
SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
SpvCapabilityLoopFuseINTEL = 5906,
+ SpvCapabilityFPGADSPControlINTEL = 5908,
SpvCapabilityMemoryAccessAliasingINTEL = 5910,
+ SpvCapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,
SpvCapabilityFPGABufferLocationINTEL = 5920,
SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
SpvCapabilityUSMStorageClassesINTEL = 5935,
+ SpvCapabilityRuntimeAlignedAttributeINTEL = 5939,
SpvCapabilityIOPipesINTEL = 5943,
SpvCapabilityBlockingPipesINTEL = 5945,
SpvCapabilityFPGARegINTEL = 5948,
@@ -1112,6 +1188,7 @@
SpvCapabilityDotProduct = 6019,
SpvCapabilityDotProductKHR = 6019,
SpvCapabilityRayCullMaskKHR = 6020,
+ SpvCapabilityCooperativeMatrixKHR = 6022,
SpvCapabilityBitInstructions = 6025,
SpvCapabilityGroupNonUniformRotateKHR = 6026,
SpvCapabilityAtomicFloat32AddEXT = 6033,
@@ -1120,8 +1197,16 @@
SpvCapabilityOptNoneINTEL = 6094,
SpvCapabilityAtomicFloat16AddEXT = 6095,
SpvCapabilityDebugInfoModuleINTEL = 6114,
+ SpvCapabilityBFloat16ConversionINTEL = 6115,
SpvCapabilitySplitBarrierINTEL = 6141,
+ SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6146,
+ SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,
+ SpvCapabilityGlobalVariableHostAccessINTEL = 6167,
+ SpvCapabilityFPMaxErrorINTEL = 6169,
+ SpvCapabilityFPGALatencyControlINTEL = 6171,
+ SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
SpvCapabilityGroupUniformArithmeticKHR = 6400,
+ SpvCapabilityCacheControlsINTEL = 6441,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -1228,6 +1313,68 @@
SpvPackedVectorFormatMax = 0x7fffffff,
} SpvPackedVectorFormat;
+typedef enum SpvCooperativeMatrixOperandsShift_ {
+ SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,
+ SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,
+ SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,
+ SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,
+ SpvCooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,
+ SpvCooperativeMatrixOperandsMax = 0x7fffffff,
+} SpvCooperativeMatrixOperandsShift;
+
+typedef enum SpvCooperativeMatrixOperandsMask_ {
+ SpvCooperativeMatrixOperandsMaskNone = 0,
+ SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,
+ SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,
+ SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,
+ SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,
+ SpvCooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,
+} SpvCooperativeMatrixOperandsMask;
+
+typedef enum SpvCooperativeMatrixLayout_ {
+ SpvCooperativeMatrixLayoutRowMajorKHR = 0,
+ SpvCooperativeMatrixLayoutColumnMajorKHR = 1,
+ SpvCooperativeMatrixLayoutMax = 0x7fffffff,
+} SpvCooperativeMatrixLayout;
+
+typedef enum SpvCooperativeMatrixUse_ {
+ SpvCooperativeMatrixUseMatrixAKHR = 0,
+ SpvCooperativeMatrixUseMatrixBKHR = 1,
+ SpvCooperativeMatrixUseMatrixAccumulatorKHR = 2,
+ SpvCooperativeMatrixUseMax = 0x7fffffff,
+} SpvCooperativeMatrixUse;
+
+typedef enum SpvInitializationModeQualifier_ {
+ SpvInitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
+ SpvInitializationModeQualifierInitOnDeviceResetINTEL = 1,
+ SpvInitializationModeQualifierMax = 0x7fffffff,
+} SpvInitializationModeQualifier;
+
+typedef enum SpvHostAccessQualifier_ {
+ SpvHostAccessQualifierNoneINTEL = 0,
+ SpvHostAccessQualifierReadINTEL = 1,
+ SpvHostAccessQualifierWriteINTEL = 2,
+ SpvHostAccessQualifierReadWriteINTEL = 3,
+ SpvHostAccessQualifierMax = 0x7fffffff,
+} SpvHostAccessQualifier;
+
+typedef enum SpvLoadCacheControl_ {
+ SpvLoadCacheControlUncachedINTEL = 0,
+ SpvLoadCacheControlCachedINTEL = 1,
+ SpvLoadCacheControlStreamingINTEL = 2,
+ SpvLoadCacheControlInvalidateAfterReadINTEL = 3,
+ SpvLoadCacheControlConstCachedINTEL = 4,
+ SpvLoadCacheControlMax = 0x7fffffff,
+} SpvLoadCacheControl;
+
+typedef enum SpvStoreCacheControl_ {
+ SpvStoreCacheControlUncachedINTEL = 0,
+ SpvStoreCacheControlWriteThroughINTEL = 1,
+ SpvStoreCacheControlWriteBackINTEL = 2,
+ SpvStoreCacheControlStreamingINTEL = 3,
+ SpvStoreCacheControlMax = 0x7fffffff,
+} SpvStoreCacheControl;
+
typedef enum SpvOp_ {
SpvOpNop = 0,
SpvOpUndef = 1,
@@ -1573,6 +1720,9 @@
SpvOpPtrEqual = 401,
SpvOpPtrNotEqual = 402,
SpvOpPtrDiff = 403,
+ SpvOpColorAttachmentReadEXT = 4160,
+ SpvOpDepthAttachmentReadEXT = 4161,
+ SpvOpStencilAttachmentReadEXT = 4162,
SpvOpTerminateInvocation = 4416,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
@@ -1598,6 +1748,11 @@
SpvOpUDotAccSatKHR = 4454,
SpvOpSUDotAccSat = 4455,
SpvOpSUDotAccSatKHR = 4455,
+ SpvOpTypeCooperativeMatrixKHR = 4456,
+ SpvOpCooperativeMatrixLoadKHR = 4457,
+ SpvOpCooperativeMatrixStoreKHR = 4458,
+ SpvOpCooperativeMatrixMulAddKHR = 4459,
+ SpvOpCooperativeMatrixLengthKHR = 4460,
SpvOpTypeRayQueryKHR = 4472,
SpvOpRayQueryInitializeKHR = 4473,
SpvOpRayQueryTerminateKHR = 4474,
@@ -1605,6 +1760,10 @@
SpvOpRayQueryConfirmIntersectionKHR = 4476,
SpvOpRayQueryProceedKHR = 4477,
SpvOpRayQueryGetIntersectionTypeKHR = 4479,
+ SpvOpImageSampleWeightedQCOM = 4480,
+ SpvOpImageBoxFilterQCOM = 4481,
+ SpvOpImageBlockMatchSSDQCOM = 4482,
+ SpvOpImageBlockMatchSADQCOM = 4483,
SpvOpGroupIAddNonUniformAMD = 5000,
SpvOpGroupFAddNonUniformAMD = 5001,
SpvOpGroupFMinNonUniformAMD = 5002,
@@ -1616,11 +1775,49 @@
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
SpvOpReadClockKHR = 5056,
+ SpvOpFinalizeNodePayloadsAMDX = 5075,
+ SpvOpFinishWritingNodePayloadAMDX = 5078,
+ SpvOpInitializeNodePayloadsAMDX = 5090,
+ SpvOpHitObjectRecordHitMotionNV = 5249,
+ SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,
+ SpvOpHitObjectRecordMissMotionNV = 5251,
+ SpvOpHitObjectGetWorldToObjectNV = 5252,
+ SpvOpHitObjectGetObjectToWorldNV = 5253,
+ SpvOpHitObjectGetObjectRayDirectionNV = 5254,
+ SpvOpHitObjectGetObjectRayOriginNV = 5255,
+ SpvOpHitObjectTraceRayMotionNV = 5256,
+ SpvOpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ SpvOpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ SpvOpHitObjectRecordEmptyNV = 5259,
+ SpvOpHitObjectTraceRayNV = 5260,
+ SpvOpHitObjectRecordHitNV = 5261,
+ SpvOpHitObjectRecordHitWithIndexNV = 5262,
+ SpvOpHitObjectRecordMissNV = 5263,
+ SpvOpHitObjectExecuteShaderNV = 5264,
+ SpvOpHitObjectGetCurrentTimeNV = 5265,
+ SpvOpHitObjectGetAttributesNV = 5266,
+ SpvOpHitObjectGetHitKindNV = 5267,
+ SpvOpHitObjectGetPrimitiveIndexNV = 5268,
+ SpvOpHitObjectGetGeometryIndexNV = 5269,
+ SpvOpHitObjectGetInstanceIdNV = 5270,
+ SpvOpHitObjectGetInstanceCustomIndexNV = 5271,
+ SpvOpHitObjectGetWorldRayDirectionNV = 5272,
+ SpvOpHitObjectGetWorldRayOriginNV = 5273,
+ SpvOpHitObjectGetRayTMaxNV = 5274,
+ SpvOpHitObjectGetRayTMinNV = 5275,
+ SpvOpHitObjectIsEmptyNV = 5276,
+ SpvOpHitObjectIsHitNV = 5277,
+ SpvOpHitObjectIsMissNV = 5278,
+ SpvOpReorderThreadWithHitObjectNV = 5279,
+ SpvOpReorderThreadWithHintNV = 5280,
+ SpvOpTypeHitObjectNV = 5281,
SpvOpImageSampleFootprintNV = 5283,
SpvOpEmitMeshTasksEXT = 5294,
SpvOpSetMeshOutputsEXT = 5295,
SpvOpGroupNonUniformPartitionNV = 5296,
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
+ SpvOpFetchMicroTriangleVertexPositionNV = 5300,
+ SpvOpFetchMicroTriangleVertexBarycentricNV = 5301,
SpvOpReportIntersectionKHR = 5334,
SpvOpReportIntersectionNV = 5334,
SpvOpIgnoreIntersectionNV = 5335,
@@ -1628,6 +1825,7 @@
SpvOpTraceNV = 5337,
SpvOpTraceMotionNV = 5338,
SpvOpTraceRayMotionNV = 5339,
+ SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
SpvOpTypeAccelerationStructureKHR = 5341,
SpvOpTypeAccelerationStructureNV = 5341,
SpvOpExecuteCallableNV = 5344,
@@ -1889,6 +2087,8 @@
SpvOpTypeStructContinuedINTEL = 6090,
SpvOpConstantCompositeContinuedINTEL = 6091,
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
+ SpvOpConvertFToBF16INTEL = 6116,
+ SpvOpConvertBF16ToFINTEL = 6117,
SpvOpControlBarrierArriveINTEL = 6142,
SpvOpControlBarrierWaitINTEL = 6143,
SpvOpGroupIMulKHR = 6401,
@@ -2254,6 +2454,9 @@
case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
+ case SpvOpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case SpvOpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case SpvOpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
@@ -2273,6 +2476,11 @@
case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
+ case SpvOpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
+ case SpvOpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCooperativeMatrixLengthKHR: *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;
@@ -2280,6 +2488,10 @@
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
+ case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
+ case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
+ case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
@@ -2291,17 +2503,56 @@
case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case SpvOpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
+ case SpvOpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpTypeHitObjectNV: *hasResult = true; *hasResultType = false; 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 SpvOpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break;
case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
@@ -2559,6 +2810,8 @@
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index b7ec5d7..1531e8b 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -69,6 +69,10 @@
SourceLanguageHLSL = 5,
SourceLanguageCPP_for_OpenCL = 6,
SourceLanguageSYCL = 7,
+ SourceLanguageHERO_C = 8,
+ SourceLanguageNZSL = 9,
+ SourceLanguageWGSL = 10,
+ SourceLanguageSlang = 11,
SourceLanguageMax = 0x7fffffff,
};
@@ -156,6 +160,9 @@
ExecutionModeSubgroupsPerWorkgroupId = 37,
ExecutionModeLocalSizeId = 38,
ExecutionModeLocalSizeHintId = 39,
+ ExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
+ ExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
+ ExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
ExecutionModeSubgroupUniformControlFlowKHR = 4421,
ExecutionModePostDepthCoverage = 4446,
ExecutionModeDenormPreserve = 4459,
@@ -165,6 +172,11 @@
ExecutionModeRoundingModeRTZ = 4463,
ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
ExecutionModeStencilRefReplacingEXT = 5027,
+ ExecutionModeCoalescingAMDX = 5069,
+ ExecutionModeMaxNodeRecursionAMDX = 5071,
+ ExecutionModeStaticNumWorkgroupsAMDX = 5072,
+ ExecutionModeShaderIndexAMDX = 5073,
+ ExecutionModeMaxNumWorkgroupsAMDX = 5077,
ExecutionModeStencilRefUnchangedFrontAMD = 5079,
ExecutionModeStencilRefGreaterFrontAMD = 5080,
ExecutionModeStencilRefLessFrontAMD = 5081,
@@ -195,6 +207,8 @@
ExecutionModeNoGlobalOffsetINTEL = 5895,
ExecutionModeNumSIMDWorkitemsINTEL = 5896,
ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+ ExecutionModeStreamingInterfaceINTEL = 6154,
+ ExecutionModeRegisterMapInterfaceINTEL = 6160,
ExecutionModeNamedBarrierCountINTEL = 6417,
ExecutionModeMax = 0x7fffffff,
};
@@ -213,6 +227,9 @@
StorageClassAtomicCounter = 10,
StorageClassImage = 11,
StorageClassStorageBuffer = 12,
+ StorageClassTileImageEXT = 4172,
+ StorageClassNodePayloadAMDX = 5068,
+ StorageClassNodeOutputPayloadAMDX = 5076,
StorageClassCallableDataKHR = 5328,
StorageClassCallableDataNV = 5328,
StorageClassIncomingCallableDataKHR = 5329,
@@ -227,6 +244,7 @@
StorageClassShaderRecordBufferNV = 5343,
StorageClassPhysicalStorageBuffer = 5349,
StorageClassPhysicalStorageBufferEXT = 5349,
+ StorageClassHitObjectAttributeNV = 5385,
StorageClassTaskPayloadWorkgroupEXT = 5402,
StorageClassCodeSectionINTEL = 5605,
StorageClassDeviceOnlyINTEL = 5936,
@@ -242,6 +260,7 @@
DimRect = 4,
DimBuffer = 5,
DimSubpassData = 6,
+ DimTileImageDataEXT = 4173,
DimMax = 0x7fffffff,
};
@@ -348,6 +367,8 @@
ImageChannelDataTypeFloat = 14,
ImageChannelDataTypeUnormInt24 = 15,
ImageChannelDataTypeUnormInt101010_2 = 16,
+ ImageChannelDataTypeUnsignedIntRaw10EXT = 19,
+ ImageChannelDataTypeUnsignedIntRaw12EXT = 20,
ImageChannelDataTypeMax = 0x7fffffff,
};
@@ -452,6 +473,7 @@
FunctionParameterAttributeNoCapture = 5,
FunctionParameterAttributeNoWrite = 6,
FunctionParameterAttributeNoReadWrite = 7,
+ FunctionParameterAttributeRuntimeAlignedINTEL = 5940,
FunctionParameterAttributeMax = 0x7fffffff,
};
@@ -505,7 +527,13 @@
DecorationMaxByteOffsetId = 47,
DecorationNoSignedWrap = 4469,
DecorationNoUnsignedWrap = 4470,
+ DecorationWeightTextureQCOM = 4487,
+ DecorationBlockMatchTextureQCOM = 4488,
DecorationExplicitInterpAMD = 4999,
+ DecorationNodeSharesPayloadLimitsWithAMDX = 5019,
+ DecorationNodeMaxPayloadsAMDX = 5020,
+ DecorationTrackFinishWritingAMDX = 5078,
+ DecorationPayloadNodeNameAMDX = 5091,
DecorationOverrideCoverageNV = 5248,
DecorationPassthroughNV = 5250,
DecorationViewportRelativeNV = 5252,
@@ -522,6 +550,7 @@
DecorationRestrictPointerEXT = 5355,
DecorationAliasedPointer = 5356,
DecorationAliasedPointerEXT = 5356,
+ DecorationHitObjectShaderRecordBufferNV = 5386,
DecorationBindlessSamplerNV = 5398,
DecorationBindlessImageNV = 5399,
DecorationBoundSamplerNV = 5400,
@@ -560,14 +589,35 @@
DecorationPrefetchINTEL = 5902,
DecorationStallEnableINTEL = 5905,
DecorationFuseLoopsInFunctionINTEL = 5907,
+ DecorationMathOpDSPModeINTEL = 5909,
DecorationAliasScopeINTEL = 5914,
DecorationNoAliasINTEL = 5915,
+ DecorationInitiationIntervalINTEL = 5917,
+ DecorationMaxConcurrencyINTEL = 5918,
+ DecorationPipelineEnableINTEL = 5919,
DecorationBufferLocationINTEL = 5921,
DecorationIOPipeStorageINTEL = 5944,
DecorationFunctionFloatingPointModeINTEL = 6080,
DecorationSingleElementVectorINTEL = 6085,
DecorationVectorComputeCallableFunctionINTEL = 6087,
DecorationMediaBlockIOINTEL = 6140,
+ DecorationInitModeINTEL = 6147,
+ DecorationImplementInRegisterMapINTEL = 6148,
+ DecorationHostAccessINTEL = 6168,
+ DecorationFPMaxErrorDecorationINTEL = 6170,
+ DecorationLatencyControlLabelINTEL = 6172,
+ DecorationLatencyControlConstraintINTEL = 6173,
+ DecorationConduitKernelArgumentINTEL = 6175,
+ DecorationRegisterMapKernelArgumentINTEL = 6176,
+ DecorationMMHostInterfaceAddressWidthINTEL = 6177,
+ DecorationMMHostInterfaceDataWidthINTEL = 6178,
+ DecorationMMHostInterfaceLatencyINTEL = 6179,
+ DecorationMMHostInterfaceReadWriteModeINTEL = 6180,
+ DecorationMMHostInterfaceMaxBurstINTEL = 6181,
+ DecorationMMHostInterfaceWaitRequestINTEL = 6182,
+ DecorationStableKernelArgumentINTEL = 6183,
+ DecorationCacheControlLoadINTEL = 6442,
+ DecorationCacheControlStoreINTEL = 6443,
DecorationMax = 0x7fffffff,
};
@@ -643,6 +693,8 @@
BuiltInBaryCoordSmoothSampleAMD = 4997,
BuiltInBaryCoordPullModelAMD = 4998,
BuiltInFragStencilRefEXT = 5014,
+ BuiltInCoalescedInputCountAMDX = 5021,
+ BuiltInShaderIndexAMDX = 5073,
BuiltInViewportMaskNV = 5253,
BuiltInSecondaryPositionNV = 5257,
BuiltInSecondaryViewportMaskNV = 5258,
@@ -695,6 +747,9 @@
BuiltInHitKindKHR = 5333,
BuiltInHitKindNV = 5333,
BuiltInCurrentRayTimeNV = 5334,
+ BuiltInHitTriangleVertexPositionsKHR = 5335,
+ BuiltInHitMicroTriangleVertexPositionsNV = 5337,
+ BuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
BuiltInIncomingRayFlagsKHR = 5351,
BuiltInIncomingRayFlagsNV = 5351,
BuiltInRayGeometryIndexKHR = 5352,
@@ -702,6 +757,8 @@
BuiltInSMCountNV = 5375,
BuiltInWarpIDNV = 5376,
BuiltInSMIDNV = 5377,
+ BuiltInHitKindFrontFacingMicroTriangleNV = 5405,
+ BuiltInHitKindBackFacingMicroTriangleNV = 5406,
BuiltInCullMaskKHR = 6021,
BuiltInMax = 0x7fffffff,
};
@@ -736,6 +793,8 @@
LoopControlMaxInterleavingINTELShift = 21,
LoopControlSpeculatedIterationsINTELShift = 22,
LoopControlNoFusionINTELShift = 23,
+ LoopControlLoopCountINTELShift = 24,
+ LoopControlMaxReinvocationDelayINTELShift = 25,
LoopControlMax = 0x7fffffff,
};
@@ -758,6 +817,8 @@
LoopControlMaxInterleavingINTELMask = 0x00200000,
LoopControlSpeculatedIterationsINTELMask = 0x00400000,
LoopControlNoFusionINTELMask = 0x00800000,
+ LoopControlLoopCountINTELMask = 0x01000000,
+ LoopControlMaxReinvocationDelayINTELMask = 0x02000000,
};
enum FunctionControlShift {
@@ -962,6 +1023,9 @@
CapabilityShaderViewportIndex = 70,
CapabilityUniformDecoration = 71,
CapabilityCoreBuiltinsARM = 4165,
+ CapabilityTileImageColorReadAccessEXT = 4166,
+ CapabilityTileImageDepthReadAccessEXT = 4167,
+ CapabilityTileImageStencilReadAccessEXT = 4168,
CapabilityFragmentShadingRateKHR = 4422,
CapabilitySubgroupBallotKHR = 4423,
CapabilityDrawParameters = 4427,
@@ -993,6 +1057,9 @@
CapabilityRayQueryKHR = 4472,
CapabilityRayTraversalPrimitiveCullingKHR = 4478,
CapabilityRayTracingKHR = 4479,
+ CapabilityTextureSampleWeightedQCOM = 4484,
+ CapabilityTextureBoxFilterQCOM = 4485,
+ CapabilityTextureBlockMatchQCOM = 4486,
CapabilityFloat16ImageAMD = 5008,
CapabilityImageGatherBiasLodAMD = 5009,
CapabilityFragmentMaskAMD = 5010,
@@ -1000,6 +1067,7 @@
CapabilityImageReadWriteLodAMD = 5015,
CapabilityInt64ImageEXT = 5016,
CapabilityShaderClockKHR = 5055,
+ CapabilityShaderEnqueueAMDX = 5067,
CapabilitySampleMaskOverrideCoverageNV = 5249,
CapabilityGeometryShaderPassthroughNV = 5251,
CapabilityShaderViewportIndexLayerEXT = 5254,
@@ -1041,6 +1109,7 @@
CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ CapabilityRayTracingPositionFetchKHR = 5336,
CapabilityRayTracingNV = 5340,
CapabilityRayTracingMotionBlurNV = 5341,
CapabilityVulkanMemoryModel = 5345,
@@ -1058,8 +1127,12 @@
CapabilityFragmentShaderPixelInterlockEXT = 5378,
CapabilityDemoteToHelperInvocation = 5379,
CapabilityDemoteToHelperInvocationEXT = 5379,
+ CapabilityDisplacementMicromapNV = 5380,
CapabilityRayTracingOpacityMicromapEXT = 5381,
+ CapabilityShaderInvocationReorderNV = 5383,
CapabilityBindlessTextureNV = 5390,
+ CapabilityRayQueryPositionFetchKHR = 5391,
+ CapabilityRayTracingDisplacementMicromapNV = 5409,
CapabilitySubgroupShuffleINTEL = 5568,
CapabilitySubgroupBufferBlockIOINTEL = 5569,
CapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1092,10 +1165,13 @@
CapabilityFPGAMemoryAccessesINTEL = 5898,
CapabilityFPGAClusterAttributesINTEL = 5904,
CapabilityLoopFuseINTEL = 5906,
+ CapabilityFPGADSPControlINTEL = 5908,
CapabilityMemoryAccessAliasingINTEL = 5910,
+ CapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,
CapabilityFPGABufferLocationINTEL = 5920,
CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
CapabilityUSMStorageClassesINTEL = 5935,
+ CapabilityRuntimeAlignedAttributeINTEL = 5939,
CapabilityIOPipesINTEL = 5943,
CapabilityBlockingPipesINTEL = 5945,
CapabilityFPGARegINTEL = 5948,
@@ -1108,6 +1184,7 @@
CapabilityDotProduct = 6019,
CapabilityDotProductKHR = 6019,
CapabilityRayCullMaskKHR = 6020,
+ CapabilityCooperativeMatrixKHR = 6022,
CapabilityBitInstructions = 6025,
CapabilityGroupNonUniformRotateKHR = 6026,
CapabilityAtomicFloat32AddEXT = 6033,
@@ -1116,8 +1193,16 @@
CapabilityOptNoneINTEL = 6094,
CapabilityAtomicFloat16AddEXT = 6095,
CapabilityDebugInfoModuleINTEL = 6114,
+ CapabilityBFloat16ConversionINTEL = 6115,
CapabilitySplitBarrierINTEL = 6141,
+ CapabilityGlobalVariableFPGADecorationsINTEL = 6146,
+ CapabilityFPGAKernelAttributesv2INTEL = 6161,
+ CapabilityGlobalVariableHostAccessINTEL = 6167,
+ CapabilityFPMaxErrorINTEL = 6169,
+ CapabilityFPGALatencyControlINTEL = 6171,
+ CapabilityFPGAArgumentInterfacesINTEL = 6174,
CapabilityGroupUniformArithmeticKHR = 6400,
+ CapabilityCacheControlsINTEL = 6441,
CapabilityMax = 0x7fffffff,
};
@@ -1224,6 +1309,68 @@
PackedVectorFormatMax = 0x7fffffff,
};
+enum CooperativeMatrixOperandsShift {
+ CooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,
+ CooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,
+ CooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,
+ CooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,
+ CooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,
+ CooperativeMatrixOperandsMax = 0x7fffffff,
+};
+
+enum CooperativeMatrixOperandsMask {
+ CooperativeMatrixOperandsMaskNone = 0,
+ CooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,
+ CooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,
+ CooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,
+ CooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,
+ CooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,
+};
+
+enum CooperativeMatrixLayout {
+ CooperativeMatrixLayoutRowMajorKHR = 0,
+ CooperativeMatrixLayoutColumnMajorKHR = 1,
+ CooperativeMatrixLayoutMax = 0x7fffffff,
+};
+
+enum CooperativeMatrixUse {
+ CooperativeMatrixUseMatrixAKHR = 0,
+ CooperativeMatrixUseMatrixBKHR = 1,
+ CooperativeMatrixUseMatrixAccumulatorKHR = 2,
+ CooperativeMatrixUseMax = 0x7fffffff,
+};
+
+enum InitializationModeQualifier {
+ InitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
+ InitializationModeQualifierInitOnDeviceResetINTEL = 1,
+ InitializationModeQualifierMax = 0x7fffffff,
+};
+
+enum HostAccessQualifier {
+ HostAccessQualifierNoneINTEL = 0,
+ HostAccessQualifierReadINTEL = 1,
+ HostAccessQualifierWriteINTEL = 2,
+ HostAccessQualifierReadWriteINTEL = 3,
+ HostAccessQualifierMax = 0x7fffffff,
+};
+
+enum LoadCacheControl {
+ LoadCacheControlUncachedINTEL = 0,
+ LoadCacheControlCachedINTEL = 1,
+ LoadCacheControlStreamingINTEL = 2,
+ LoadCacheControlInvalidateAfterReadINTEL = 3,
+ LoadCacheControlConstCachedINTEL = 4,
+ LoadCacheControlMax = 0x7fffffff,
+};
+
+enum StoreCacheControl {
+ StoreCacheControlUncachedINTEL = 0,
+ StoreCacheControlWriteThroughINTEL = 1,
+ StoreCacheControlWriteBackINTEL = 2,
+ StoreCacheControlStreamingINTEL = 3,
+ StoreCacheControlMax = 0x7fffffff,
+};
+
enum Op {
OpNop = 0,
OpUndef = 1,
@@ -1569,6 +1716,9 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1594,6 +1744,11 @@
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1601,6 +1756,10 @@
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1612,11 +1771,49 @@
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
OpEmitMeshTasksEXT = 5294,
OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpFetchMicroTriangleVertexPositionNV = 5300,
+ OpFetchMicroTriangleVertexBarycentricNV = 5301,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
OpIgnoreIntersectionNV = 5335,
@@ -1624,6 +1821,7 @@
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1885,6 +2083,8 @@
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -2250,6 +2450,9 @@
case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
+ case OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
@@ -2269,6 +2472,11 @@
case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
+ case OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
+ case OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
+ case OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
+ case OpCooperativeMatrixLengthKHR: *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;
@@ -2276,6 +2484,10 @@
case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
+ case OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
+ case OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
+ case OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
@@ -2287,17 +2499,56 @@
case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case OpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
+ case OpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
+ case OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
+ case OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
+ case OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
+ case OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
+ case OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; 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 OpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
+ case OpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; 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 OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
@@ -2555,6 +2806,8 @@
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
@@ -2569,18 +2822,52 @@
}
#endif /* SPV_ENABLE_UTILITY_CODE */
-// Overload operator| for mask bit combining
+// Overload bitwise operators for mask bit combining
inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
+inline ImageOperandsMask operator&(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) & unsigned(b)); }
+inline ImageOperandsMask operator^(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) ^ unsigned(b)); }
+inline ImageOperandsMask operator~(ImageOperandsMask a) { return ImageOperandsMask(~unsigned(a)); }
inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
+inline FPFastMathModeMask operator&(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) & unsigned(b)); }
+inline FPFastMathModeMask operator^(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) ^ unsigned(b)); }
+inline FPFastMathModeMask operator~(FPFastMathModeMask a) { return FPFastMathModeMask(~unsigned(a)); }
inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
+inline SelectionControlMask operator&(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) & unsigned(b)); }
+inline SelectionControlMask operator^(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) ^ unsigned(b)); }
+inline SelectionControlMask operator~(SelectionControlMask a) { return SelectionControlMask(~unsigned(a)); }
inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
+inline LoopControlMask operator&(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) & unsigned(b)); }
+inline LoopControlMask operator^(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) ^ unsigned(b)); }
+inline LoopControlMask operator~(LoopControlMask a) { return LoopControlMask(~unsigned(a)); }
inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
+inline FunctionControlMask operator&(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) & unsigned(b)); }
+inline FunctionControlMask operator^(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) ^ unsigned(b)); }
+inline FunctionControlMask operator~(FunctionControlMask a) { return FunctionControlMask(~unsigned(a)); }
inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
+inline MemorySemanticsMask operator&(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) & unsigned(b)); }
+inline MemorySemanticsMask operator^(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) ^ unsigned(b)); }
+inline MemorySemanticsMask operator~(MemorySemanticsMask a) { return MemorySemanticsMask(~unsigned(a)); }
inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
+inline MemoryAccessMask operator&(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) & unsigned(b)); }
+inline MemoryAccessMask operator^(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) ^ unsigned(b)); }
+inline MemoryAccessMask operator~(MemoryAccessMask a) { return MemoryAccessMask(~unsigned(a)); }
inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
+inline KernelProfilingInfoMask operator&(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) & unsigned(b)); }
+inline KernelProfilingInfoMask operator^(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) ^ unsigned(b)); }
+inline KernelProfilingInfoMask operator~(KernelProfilingInfoMask a) { return KernelProfilingInfoMask(~unsigned(a)); }
inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
+inline RayFlagsMask operator&(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) & unsigned(b)); }
+inline RayFlagsMask operator^(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) ^ unsigned(b)); }
+inline RayFlagsMask operator~(RayFlagsMask a) { return RayFlagsMask(~unsigned(a)); }
inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
+inline FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); }
+inline FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); }
+inline FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); }
+inline CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); }
+inline CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); }
+inline CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); }
+inline CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); }
} // end namespace spv
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index f0f5871..5ac8310 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -69,6 +69,10 @@
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
Max = 0x7fffffff,
};
@@ -156,6 +160,9 @@
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -165,6 +172,11 @@
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -195,6 +207,8 @@
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
Max = 0x7fffffff,
};
@@ -213,6 +227,9 @@
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -227,6 +244,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -242,6 +260,7 @@
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
Max = 0x7fffffff,
};
@@ -348,6 +367,8 @@
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
Max = 0x7fffffff,
};
@@ -452,6 +473,7 @@
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
Max = 0x7fffffff,
};
@@ -505,7 +527,13 @@
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
+ WeightTextureQCOM = 4487,
+ BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -522,6 +550,7 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -560,14 +589,35 @@
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
+ MathOpDSPModeINTEL = 5909,
AliasScopeINTEL = 5914,
NoAliasINTEL = 5915,
+ InitiationIntervalINTEL = 5917,
+ MaxConcurrencyINTEL = 5918,
+ PipelineEnableINTEL = 5919,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
SingleElementVectorINTEL = 6085,
VectorComputeCallableFunctionINTEL = 6087,
MediaBlockIOINTEL = 6140,
+ InitModeINTEL = 6147,
+ ImplementInRegisterMapINTEL = 6148,
+ HostAccessINTEL = 6168,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
Max = 0x7fffffff,
};
@@ -643,6 +693,8 @@
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -695,6 +747,9 @@
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -702,6 +757,8 @@
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
Max = 0x7fffffff,
};
@@ -736,6 +793,8 @@
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
Max = 0x7fffffff,
};
@@ -758,6 +817,8 @@
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
};
enum class FunctionControlShift : unsigned {
@@ -962,6 +1023,9 @@
ShaderViewportIndex = 70,
UniformDecoration = 71,
CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -993,6 +1057,9 @@
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -1000,6 +1067,7 @@
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1041,6 +1109,7 @@
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1058,8 +1127,12 @@
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1092,10 +1165,13 @@
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
+ FPGADSPControlINTEL = 5908,
MemoryAccessAliasingINTEL = 5910,
+ FPGAInvocationPipeliningAttributesINTEL = 5916,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
+ RuntimeAlignedAttributeINTEL = 5939,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
@@ -1108,6 +1184,7 @@
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
@@ -1116,8 +1193,16 @@
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ GlobalVariableFPGADecorationsINTEL = 6146,
+ FPGAKernelAttributesv2INTEL = 6161,
+ GlobalVariableHostAccessINTEL = 6167,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
GroupUniformArithmeticKHR = 6400,
+ CacheControlsINTEL = 6441,
Max = 0x7fffffff,
};
@@ -1224,6 +1309,68 @@
Max = 0x7fffffff,
};
+enum class CooperativeMatrixOperandsShift : unsigned {
+ MatrixASignedComponentsKHR = 0,
+ MatrixBSignedComponentsKHR = 1,
+ MatrixCSignedComponentsKHR = 2,
+ MatrixResultSignedComponentsKHR = 3,
+ SaturatingAccumulationKHR = 4,
+ Max = 0x7fffffff,
+};
+
+enum class CooperativeMatrixOperandsMask : unsigned {
+ MaskNone = 0,
+ MatrixASignedComponentsKHR = 0x00000001,
+ MatrixBSignedComponentsKHR = 0x00000002,
+ MatrixCSignedComponentsKHR = 0x00000004,
+ MatrixResultSignedComponentsKHR = 0x00000008,
+ SaturatingAccumulationKHR = 0x00000010,
+};
+
+enum class CooperativeMatrixLayout : unsigned {
+ RowMajorKHR = 0,
+ ColumnMajorKHR = 1,
+ Max = 0x7fffffff,
+};
+
+enum class CooperativeMatrixUse : unsigned {
+ MatrixAKHR = 0,
+ MatrixBKHR = 1,
+ MatrixAccumulatorKHR = 2,
+ Max = 0x7fffffff,
+};
+
+enum class InitializationModeQualifier : unsigned {
+ InitOnDeviceReprogramINTEL = 0,
+ InitOnDeviceResetINTEL = 1,
+ Max = 0x7fffffff,
+};
+
+enum class HostAccessQualifier : unsigned {
+ NoneINTEL = 0,
+ ReadINTEL = 1,
+ WriteINTEL = 2,
+ ReadWriteINTEL = 3,
+ Max = 0x7fffffff,
+};
+
+enum class LoadCacheControl : unsigned {
+ UncachedINTEL = 0,
+ CachedINTEL = 1,
+ StreamingINTEL = 2,
+ InvalidateAfterReadINTEL = 3,
+ ConstCachedINTEL = 4,
+ Max = 0x7fffffff,
+};
+
+enum class StoreCacheControl : unsigned {
+ UncachedINTEL = 0,
+ WriteThroughINTEL = 1,
+ WriteBackINTEL = 2,
+ StreamingINTEL = 3,
+ Max = 0x7fffffff,
+};
+
enum class Op : unsigned {
OpNop = 0,
OpUndef = 1,
@@ -1569,6 +1716,9 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1594,6 +1744,11 @@
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1601,6 +1756,10 @@
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1612,11 +1771,49 @@
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
OpEmitMeshTasksEXT = 5294,
OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpFetchMicroTriangleVertexPositionNV = 5300,
+ OpFetchMicroTriangleVertexBarycentricNV = 5301,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
OpIgnoreIntersectionNV = 5335,
@@ -1624,6 +1821,7 @@
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1885,6 +2083,8 @@
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -2250,6 +2450,9 @@
case Op::OpPtrEqual: *hasResult = true; *hasResultType = true; break;
case Op::OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break;
+ case Op::OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case Op::OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
+ case Op::OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case Op::OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
@@ -2269,6 +2472,11 @@
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::OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
+ case Op::OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
+ case Op::OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpCooperativeMatrixLengthKHR: *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;
@@ -2276,6 +2484,10 @@
case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
+ case Op::OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
+ case Op::OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
+ case Op::OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
@@ -2287,17 +2499,56 @@
case Op::OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case Op::OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
+ case Op::OpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
+ case Op::OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; 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::OpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; 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::OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; 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;
@@ -2555,6 +2806,8 @@
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::OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; 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;
@@ -2569,18 +2822,52 @@
}
#endif /* SPV_ENABLE_UTILITY_CODE */
-// Overload operator| for mask bit combining
+// Overload bitwise operators for mask bit combining
-inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
-inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
-inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
-inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
-inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
-inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
-inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
-inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
-inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
-inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
+constexpr ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
+constexpr ImageOperandsMask operator&(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) & unsigned(b)); }
+constexpr ImageOperandsMask operator^(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) ^ unsigned(b)); }
+constexpr ImageOperandsMask operator~(ImageOperandsMask a) { return ImageOperandsMask(~unsigned(a)); }
+constexpr FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
+constexpr FPFastMathModeMask operator&(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) & unsigned(b)); }
+constexpr FPFastMathModeMask operator^(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) ^ unsigned(b)); }
+constexpr FPFastMathModeMask operator~(FPFastMathModeMask a) { return FPFastMathModeMask(~unsigned(a)); }
+constexpr SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
+constexpr SelectionControlMask operator&(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) & unsigned(b)); }
+constexpr SelectionControlMask operator^(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) ^ unsigned(b)); }
+constexpr SelectionControlMask operator~(SelectionControlMask a) { return SelectionControlMask(~unsigned(a)); }
+constexpr LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
+constexpr LoopControlMask operator&(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) & unsigned(b)); }
+constexpr LoopControlMask operator^(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) ^ unsigned(b)); }
+constexpr LoopControlMask operator~(LoopControlMask a) { return LoopControlMask(~unsigned(a)); }
+constexpr FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
+constexpr FunctionControlMask operator&(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) & unsigned(b)); }
+constexpr FunctionControlMask operator^(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) ^ unsigned(b)); }
+constexpr FunctionControlMask operator~(FunctionControlMask a) { return FunctionControlMask(~unsigned(a)); }
+constexpr MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
+constexpr MemorySemanticsMask operator&(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) & unsigned(b)); }
+constexpr MemorySemanticsMask operator^(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) ^ unsigned(b)); }
+constexpr MemorySemanticsMask operator~(MemorySemanticsMask a) { return MemorySemanticsMask(~unsigned(a)); }
+constexpr MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
+constexpr MemoryAccessMask operator&(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) & unsigned(b)); }
+constexpr MemoryAccessMask operator^(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) ^ unsigned(b)); }
+constexpr MemoryAccessMask operator~(MemoryAccessMask a) { return MemoryAccessMask(~unsigned(a)); }
+constexpr KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
+constexpr KernelProfilingInfoMask operator&(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) & unsigned(b)); }
+constexpr KernelProfilingInfoMask operator^(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) ^ unsigned(b)); }
+constexpr KernelProfilingInfoMask operator~(KernelProfilingInfoMask a) { return KernelProfilingInfoMask(~unsigned(a)); }
+constexpr RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
+constexpr RayFlagsMask operator&(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) & unsigned(b)); }
+constexpr RayFlagsMask operator^(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) ^ unsigned(b)); }
+constexpr RayFlagsMask operator~(RayFlagsMask a) { return RayFlagsMask(~unsigned(a)); }
+constexpr FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
+constexpr FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); }
+constexpr FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); }
+constexpr FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); }
+constexpr CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); }
+constexpr CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); }
+constexpr CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); }
+constexpr CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); }
} // end namespace spv
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 466f0b0..04af9e4 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -75,7 +75,11 @@
"OpenCL_CPP": 4,
"HLSL": 5,
"CPP_for_OpenCL": 6,
- "SYCL": 7
+ "SYCL": 7,
+ "HERO_C": 8,
+ "NZSL": 9,
+ "WGSL": 10,
+ "Slang": 11
}
},
{
@@ -175,6 +179,9 @@
"SubgroupsPerWorkgroupId": 37,
"LocalSizeId": 38,
"LocalSizeHintId": 39,
+ "NonCoherentColorAttachmentReadEXT": 4169,
+ "NonCoherentDepthAttachmentReadEXT": 4170,
+ "NonCoherentStencilAttachmentReadEXT": 4171,
"SubgroupUniformControlFlowKHR": 4421,
"PostDepthCoverage": 4446,
"DenormPreserve": 4459,
@@ -184,6 +191,11 @@
"RoundingModeRTZ": 4463,
"EarlyAndLateFragmentTestsAMD": 5017,
"StencilRefReplacingEXT": 5027,
+ "CoalescingAMDX": 5069,
+ "MaxNodeRecursionAMDX": 5071,
+ "StaticNumWorkgroupsAMDX": 5072,
+ "ShaderIndexAMDX": 5073,
+ "MaxNumWorkgroupsAMDX": 5077,
"StencilRefUnchangedFrontAMD": 5079,
"StencilRefGreaterFrontAMD": 5080,
"StencilRefLessFrontAMD": 5081,
@@ -214,6 +226,8 @@
"NoGlobalOffsetINTEL": 5895,
"NumSIMDWorkitemsINTEL": 5896,
"SchedulerTargetFmaxMhzINTEL": 5903,
+ "StreamingInterfaceINTEL": 6154,
+ "RegisterMapInterfaceINTEL": 6160,
"NamedBarrierCountINTEL": 6417
}
},
@@ -235,6 +249,9 @@
"AtomicCounter": 10,
"Image": 11,
"StorageBuffer": 12,
+ "TileImageEXT": 4172,
+ "NodePayloadAMDX": 5068,
+ "NodeOutputPayloadAMDX": 5076,
"CallableDataKHR": 5328,
"CallableDataNV": 5328,
"IncomingCallableDataKHR": 5329,
@@ -249,6 +266,7 @@
"ShaderRecordBufferNV": 5343,
"PhysicalStorageBuffer": 5349,
"PhysicalStorageBufferEXT": 5349,
+ "HitObjectAttributeNV": 5385,
"TaskPayloadWorkgroupEXT": 5402,
"CodeSectionINTEL": 5605,
"DeviceOnlyINTEL": 5936,
@@ -266,7 +284,8 @@
"Cube": 3,
"Rect": 4,
"Buffer": 5,
- "SubpassData": 6
+ "SubpassData": 6,
+ "TileImageDataEXT": 4173
}
},
{
@@ -387,7 +406,9 @@
"HalfFloat": 13,
"Float": 14,
"UnormInt24": 15,
- "UnormInt101010_2": 16
+ "UnormInt101010_2": 16,
+ "UnsignedIntRaw10EXT": 19,
+ "UnsignedIntRaw12EXT": 20
}
},
{
@@ -474,7 +495,8 @@
"NoAlias": 4,
"NoCapture": 5,
"NoWrite": 6,
- "NoReadWrite": 7
+ "NoReadWrite": 7,
+ "RuntimeAlignedINTEL": 5940
}
},
{
@@ -531,7 +553,13 @@
"MaxByteOffsetId": 47,
"NoSignedWrap": 4469,
"NoUnsignedWrap": 4470,
+ "WeightTextureQCOM": 4487,
+ "BlockMatchTextureQCOM": 4488,
"ExplicitInterpAMD": 4999,
+ "NodeSharesPayloadLimitsWithAMDX": 5019,
+ "NodeMaxPayloadsAMDX": 5020,
+ "TrackFinishWritingAMDX": 5078,
+ "PayloadNodeNameAMDX": 5091,
"OverrideCoverageNV": 5248,
"PassthroughNV": 5250,
"ViewportRelativeNV": 5252,
@@ -548,6 +576,7 @@
"RestrictPointerEXT": 5355,
"AliasedPointer": 5356,
"AliasedPointerEXT": 5356,
+ "HitObjectShaderRecordBufferNV": 5386,
"BindlessSamplerNV": 5398,
"BindlessImageNV": 5399,
"BoundSamplerNV": 5400,
@@ -586,14 +615,35 @@
"PrefetchINTEL": 5902,
"StallEnableINTEL": 5905,
"FuseLoopsInFunctionINTEL": 5907,
+ "MathOpDSPModeINTEL": 5909,
"AliasScopeINTEL": 5914,
"NoAliasINTEL": 5915,
+ "InitiationIntervalINTEL": 5917,
+ "MaxConcurrencyINTEL": 5918,
+ "PipelineEnableINTEL": 5919,
"BufferLocationINTEL": 5921,
"IOPipeStorageINTEL": 5944,
"FunctionFloatingPointModeINTEL": 6080,
"SingleElementVectorINTEL": 6085,
"VectorComputeCallableFunctionINTEL": 6087,
- "MediaBlockIOINTEL": 6140
+ "MediaBlockIOINTEL": 6140,
+ "InitModeINTEL": 6147,
+ "ImplementInRegisterMapINTEL": 6148,
+ "HostAccessINTEL": 6168,
+ "FPMaxErrorDecorationINTEL": 6170,
+ "LatencyControlLabelINTEL": 6172,
+ "LatencyControlConstraintINTEL": 6173,
+ "ConduitKernelArgumentINTEL": 6175,
+ "RegisterMapKernelArgumentINTEL": 6176,
+ "MMHostInterfaceAddressWidthINTEL": 6177,
+ "MMHostInterfaceDataWidthINTEL": 6178,
+ "MMHostInterfaceLatencyINTEL": 6179,
+ "MMHostInterfaceReadWriteModeINTEL": 6180,
+ "MMHostInterfaceMaxBurstINTEL": 6181,
+ "MMHostInterfaceWaitRequestINTEL": 6182,
+ "StableKernelArgumentINTEL": 6183,
+ "CacheControlLoadINTEL": 6442,
+ "CacheControlStoreINTEL": 6443
}
},
{
@@ -672,6 +722,8 @@
"BaryCoordSmoothSampleAMD": 4997,
"BaryCoordPullModelAMD": 4998,
"FragStencilRefEXT": 5014,
+ "CoalescedInputCountAMDX": 5021,
+ "ShaderIndexAMDX": 5073,
"ViewportMaskNV": 5253,
"SecondaryPositionNV": 5257,
"SecondaryViewportMaskNV": 5258,
@@ -724,6 +776,9 @@
"HitKindKHR": 5333,
"HitKindNV": 5333,
"CurrentRayTimeNV": 5334,
+ "HitTriangleVertexPositionsKHR": 5335,
+ "HitMicroTriangleVertexPositionsNV": 5337,
+ "HitMicroTriangleVertexBarycentricsNV": 5344,
"IncomingRayFlagsKHR": 5351,
"IncomingRayFlagsNV": 5351,
"RayGeometryIndexKHR": 5352,
@@ -731,6 +786,8 @@
"SMCountNV": 5375,
"WarpIDNV": 5376,
"SMIDNV": 5377,
+ "HitKindFrontFacingMicroTriangleNV": 5405,
+ "HitKindBackFacingMicroTriangleNV": 5406,
"CullMaskKHR": 6021
}
},
@@ -764,7 +821,9 @@
"LoopCoalesceINTEL": 20,
"MaxInterleavingINTEL": 21,
"SpeculatedIterationsINTEL": 22,
- "NoFusionINTEL": 23
+ "NoFusionINTEL": 23,
+ "LoopCountINTEL": 24,
+ "MaxReinvocationDelayINTEL": 25
}
},
{
@@ -944,6 +1003,9 @@
"ShaderViewportIndex": 70,
"UniformDecoration": 71,
"CoreBuiltinsARM": 4165,
+ "TileImageColorReadAccessEXT": 4166,
+ "TileImageDepthReadAccessEXT": 4167,
+ "TileImageStencilReadAccessEXT": 4168,
"FragmentShadingRateKHR": 4422,
"SubgroupBallotKHR": 4423,
"DrawParameters": 4427,
@@ -975,6 +1037,9 @@
"RayQueryKHR": 4472,
"RayTraversalPrimitiveCullingKHR": 4478,
"RayTracingKHR": 4479,
+ "TextureSampleWeightedQCOM": 4484,
+ "TextureBoxFilterQCOM": 4485,
+ "TextureBlockMatchQCOM": 4486,
"Float16ImageAMD": 5008,
"ImageGatherBiasLodAMD": 5009,
"FragmentMaskAMD": 5010,
@@ -982,6 +1047,7 @@
"ImageReadWriteLodAMD": 5015,
"Int64ImageEXT": 5016,
"ShaderClockKHR": 5055,
+ "ShaderEnqueueAMDX": 5067,
"SampleMaskOverrideCoverageNV": 5249,
"GeometryShaderPassthroughNV": 5251,
"ShaderViewportIndexLayerEXT": 5254,
@@ -1023,6 +1089,7 @@
"UniformTexelBufferArrayNonUniformIndexingEXT": 5311,
"StorageTexelBufferArrayNonUniformIndexing": 5312,
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
+ "RayTracingPositionFetchKHR": 5336,
"RayTracingNV": 5340,
"RayTracingMotionBlurNV": 5341,
"VulkanMemoryModel": 5345,
@@ -1040,8 +1107,12 @@
"FragmentShaderPixelInterlockEXT": 5378,
"DemoteToHelperInvocation": 5379,
"DemoteToHelperInvocationEXT": 5379,
+ "DisplacementMicromapNV": 5380,
"RayTracingOpacityMicromapEXT": 5381,
+ "ShaderInvocationReorderNV": 5383,
"BindlessTextureNV": 5390,
+ "RayQueryPositionFetchKHR": 5391,
+ "RayTracingDisplacementMicromapNV": 5409,
"SubgroupShuffleINTEL": 5568,
"SubgroupBufferBlockIOINTEL": 5569,
"SubgroupImageBlockIOINTEL": 5570,
@@ -1074,10 +1145,13 @@
"FPGAMemoryAccessesINTEL": 5898,
"FPGAClusterAttributesINTEL": 5904,
"LoopFuseINTEL": 5906,
+ "FPGADSPControlINTEL": 5908,
"MemoryAccessAliasingINTEL": 5910,
+ "FPGAInvocationPipeliningAttributesINTEL": 5916,
"FPGABufferLocationINTEL": 5920,
"ArbitraryPrecisionFixedPointINTEL": 5922,
"USMStorageClassesINTEL": 5935,
+ "RuntimeAlignedAttributeINTEL": 5939,
"IOPipesINTEL": 5943,
"BlockingPipesINTEL": 5945,
"FPGARegINTEL": 5948,
@@ -1090,6 +1164,7 @@
"DotProduct": 6019,
"DotProductKHR": 6019,
"RayCullMaskKHR": 6020,
+ "CooperativeMatrixKHR": 6022,
"BitInstructions": 6025,
"GroupNonUniformRotateKHR": 6026,
"AtomicFloat32AddEXT": 6033,
@@ -1098,8 +1173,16 @@
"OptNoneINTEL": 6094,
"AtomicFloat16AddEXT": 6095,
"DebugInfoModuleINTEL": 6114,
+ "BFloat16ConversionINTEL": 6115,
"SplitBarrierINTEL": 6141,
- "GroupUniformArithmeticKHR": 6400
+ "GlobalVariableFPGADecorationsINTEL": 6146,
+ "FPGAKernelAttributesv2INTEL": 6161,
+ "GlobalVariableHostAccessINTEL": 6167,
+ "FPMaxErrorINTEL": 6169,
+ "FPGALatencyControlINTEL": 6171,
+ "FPGAArgumentInterfacesINTEL": 6174,
+ "GroupUniformArithmeticKHR": 6400,
+ "CacheControlsINTEL": 6441
}
},
{
@@ -1213,6 +1296,80 @@
}
},
{
+ "Name": "CooperativeMatrixOperands",
+ "Type": "Bit",
+ "Values":
+ {
+ "MatrixASignedComponentsKHR": 0,
+ "MatrixBSignedComponentsKHR": 1,
+ "MatrixCSignedComponentsKHR": 2,
+ "MatrixResultSignedComponentsKHR": 3,
+ "SaturatingAccumulationKHR": 4
+ }
+ },
+ {
+ "Name": "CooperativeMatrixLayout",
+ "Type": "Value",
+ "Values":
+ {
+ "RowMajorKHR": 0,
+ "ColumnMajorKHR": 1
+ }
+ },
+ {
+ "Name": "CooperativeMatrixUse",
+ "Type": "Value",
+ "Values":
+ {
+ "MatrixAKHR": 0,
+ "MatrixBKHR": 1,
+ "MatrixAccumulatorKHR": 2
+ }
+ },
+ {
+ "Name": "InitializationModeQualifier",
+ "Type": "Value",
+ "Values":
+ {
+ "InitOnDeviceReprogramINTEL": 0,
+ "InitOnDeviceResetINTEL": 1
+ }
+ },
+ {
+ "Name": "HostAccessQualifier",
+ "Type": "Value",
+ "Values":
+ {
+ "NoneINTEL": 0,
+ "ReadINTEL": 1,
+ "WriteINTEL": 2,
+ "ReadWriteINTEL": 3
+ }
+ },
+ {
+ "Name": "LoadCacheControl",
+ "Type": "Value",
+ "Values":
+ {
+ "UncachedINTEL": 0,
+ "CachedINTEL": 1,
+ "StreamingINTEL": 2,
+ "InvalidateAfterReadINTEL": 3,
+ "ConstCachedINTEL": 4
+ }
+ },
+ {
+ "Name": "StoreCacheControl",
+ "Type": "Value",
+ "Values":
+ {
+ "UncachedINTEL": 0,
+ "WriteThroughINTEL": 1,
+ "WriteBackINTEL": 2,
+ "StreamingINTEL": 3
+ }
+ },
+ {
"Name": "Op",
"Type": "Value",
"Values":
@@ -1561,6 +1718,9 @@
"OpPtrEqual": 401,
"OpPtrNotEqual": 402,
"OpPtrDiff": 403,
+ "OpColorAttachmentReadEXT": 4160,
+ "OpDepthAttachmentReadEXT": 4161,
+ "OpStencilAttachmentReadEXT": 4162,
"OpTerminateInvocation": 4416,
"OpSubgroupBallotKHR": 4421,
"OpSubgroupFirstInvocationKHR": 4422,
@@ -1586,6 +1746,11 @@
"OpUDotAccSatKHR": 4454,
"OpSUDotAccSat": 4455,
"OpSUDotAccSatKHR": 4455,
+ "OpTypeCooperativeMatrixKHR": 4456,
+ "OpCooperativeMatrixLoadKHR": 4457,
+ "OpCooperativeMatrixStoreKHR": 4458,
+ "OpCooperativeMatrixMulAddKHR": 4459,
+ "OpCooperativeMatrixLengthKHR": 4460,
"OpTypeRayQueryKHR": 4472,
"OpRayQueryInitializeKHR": 4473,
"OpRayQueryTerminateKHR": 4474,
@@ -1593,6 +1758,10 @@
"OpRayQueryConfirmIntersectionKHR": 4476,
"OpRayQueryProceedKHR": 4477,
"OpRayQueryGetIntersectionTypeKHR": 4479,
+ "OpImageSampleWeightedQCOM": 4480,
+ "OpImageBoxFilterQCOM": 4481,
+ "OpImageBlockMatchSSDQCOM": 4482,
+ "OpImageBlockMatchSADQCOM": 4483,
"OpGroupIAddNonUniformAMD": 5000,
"OpGroupFAddNonUniformAMD": 5001,
"OpGroupFMinNonUniformAMD": 5002,
@@ -1604,11 +1773,49 @@
"OpFragmentMaskFetchAMD": 5011,
"OpFragmentFetchAMD": 5012,
"OpReadClockKHR": 5056,
+ "OpFinalizeNodePayloadsAMDX": 5075,
+ "OpFinishWritingNodePayloadAMDX": 5078,
+ "OpInitializeNodePayloadsAMDX": 5090,
+ "OpHitObjectRecordHitMotionNV": 5249,
+ "OpHitObjectRecordHitWithIndexMotionNV": 5250,
+ "OpHitObjectRecordMissMotionNV": 5251,
+ "OpHitObjectGetWorldToObjectNV": 5252,
+ "OpHitObjectGetObjectToWorldNV": 5253,
+ "OpHitObjectGetObjectRayDirectionNV": 5254,
+ "OpHitObjectGetObjectRayOriginNV": 5255,
+ "OpHitObjectTraceRayMotionNV": 5256,
+ "OpHitObjectGetShaderRecordBufferHandleNV": 5257,
+ "OpHitObjectGetShaderBindingTableRecordIndexNV": 5258,
+ "OpHitObjectRecordEmptyNV": 5259,
+ "OpHitObjectTraceRayNV": 5260,
+ "OpHitObjectRecordHitNV": 5261,
+ "OpHitObjectRecordHitWithIndexNV": 5262,
+ "OpHitObjectRecordMissNV": 5263,
+ "OpHitObjectExecuteShaderNV": 5264,
+ "OpHitObjectGetCurrentTimeNV": 5265,
+ "OpHitObjectGetAttributesNV": 5266,
+ "OpHitObjectGetHitKindNV": 5267,
+ "OpHitObjectGetPrimitiveIndexNV": 5268,
+ "OpHitObjectGetGeometryIndexNV": 5269,
+ "OpHitObjectGetInstanceIdNV": 5270,
+ "OpHitObjectGetInstanceCustomIndexNV": 5271,
+ "OpHitObjectGetWorldRayDirectionNV": 5272,
+ "OpHitObjectGetWorldRayOriginNV": 5273,
+ "OpHitObjectGetRayTMaxNV": 5274,
+ "OpHitObjectGetRayTMinNV": 5275,
+ "OpHitObjectIsEmptyNV": 5276,
+ "OpHitObjectIsHitNV": 5277,
+ "OpHitObjectIsMissNV": 5278,
+ "OpReorderThreadWithHitObjectNV": 5279,
+ "OpReorderThreadWithHintNV": 5280,
+ "OpTypeHitObjectNV": 5281,
"OpImageSampleFootprintNV": 5283,
"OpEmitMeshTasksEXT": 5294,
"OpSetMeshOutputsEXT": 5295,
"OpGroupNonUniformPartitionNV": 5296,
"OpWritePackedPrimitiveIndices4x8NV": 5299,
+ "OpFetchMicroTriangleVertexPositionNV": 5300,
+ "OpFetchMicroTriangleVertexBarycentricNV": 5301,
"OpReportIntersectionKHR": 5334,
"OpReportIntersectionNV": 5334,
"OpIgnoreIntersectionNV": 5335,
@@ -1616,6 +1823,7 @@
"OpTraceNV": 5337,
"OpTraceMotionNV": 5338,
"OpTraceRayMotionNV": 5339,
+ "OpRayQueryGetIntersectionTriangleVertexPositionsKHR": 5340,
"OpTypeAccelerationStructureKHR": 5341,
"OpTypeAccelerationStructureNV": 5341,
"OpExecuteCallableNV": 5344,
@@ -1877,6 +2085,8 @@
"OpTypeStructContinuedINTEL": 6090,
"OpConstantCompositeContinuedINTEL": 6091,
"OpSpecConstantCompositeContinuedINTEL": 6092,
+ "OpConvertFToBF16INTEL": 6116,
+ "OpConvertBF16ToFINTEL": 6117,
"OpControlBarrierArriveINTEL": 6142,
"OpControlBarrierWaitINTEL": 6143,
"OpGroupIMulKHR": 6401,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index b763c84..d76a39c 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -60,6 +60,10 @@
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
},
ExecutionModel = {
@@ -143,6 +147,9 @@
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -152,6 +159,11 @@
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -182,6 +194,8 @@
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
},
@@ -199,6 +213,9 @@
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -213,6 +230,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -227,6 +245,7 @@
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
},
SamplerAddressingMode = {
@@ -328,6 +347,8 @@
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
},
ImageOperandsShift = {
@@ -426,6 +447,7 @@
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
},
Decoration = {
@@ -478,7 +500,13 @@
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
+ WeightTextureQCOM = 4487,
+ BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -495,6 +523,7 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -533,14 +562,35 @@
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
+ MathOpDSPModeINTEL = 5909,
AliasScopeINTEL = 5914,
NoAliasINTEL = 5915,
+ InitiationIntervalINTEL = 5917,
+ MaxConcurrencyINTEL = 5918,
+ PipelineEnableINTEL = 5919,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
SingleElementVectorINTEL = 6085,
VectorComputeCallableFunctionINTEL = 6087,
MediaBlockIOINTEL = 6140,
+ InitModeINTEL = 6147,
+ ImplementInRegisterMapINTEL = 6148,
+ HostAccessINTEL = 6168,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
},
BuiltIn = {
@@ -615,6 +665,8 @@
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -667,6 +719,9 @@
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -674,6 +729,8 @@
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
},
@@ -706,6 +763,8 @@
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
},
LoopControlMask = {
@@ -727,6 +786,8 @@
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
},
FunctionControlShift = {
@@ -924,6 +985,9 @@
ShaderViewportIndex = 70,
UniformDecoration = 71,
CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -955,6 +1019,9 @@
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -962,6 +1029,7 @@
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1003,6 +1071,7 @@
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1020,8 +1089,12 @@
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1054,10 +1127,13 @@
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
+ FPGADSPControlINTEL = 5908,
MemoryAccessAliasingINTEL = 5910,
+ FPGAInvocationPipeliningAttributesINTEL = 5916,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
+ RuntimeAlignedAttributeINTEL = 5939,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
@@ -1070,6 +1146,7 @@
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
@@ -1078,8 +1155,16 @@
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ GlobalVariableFPGADecorationsINTEL = 6146,
+ FPGAKernelAttributesv2INTEL = 6161,
+ GlobalVariableHostAccessINTEL = 6167,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
GroupUniformArithmeticKHR = 6400,
+ CacheControlsINTEL = 6441,
},
RayFlagsShift = {
@@ -1175,6 +1260,61 @@
PackedVectorFormat4x8BitKHR = 0,
},
+ CooperativeMatrixOperandsShift = {
+ MatrixASignedComponentsKHR = 0,
+ MatrixBSignedComponentsKHR = 1,
+ MatrixCSignedComponentsKHR = 2,
+ MatrixResultSignedComponentsKHR = 3,
+ SaturatingAccumulationKHR = 4,
+ },
+
+ CooperativeMatrixOperandsMask = {
+ MaskNone = 0,
+ MatrixASignedComponentsKHR = 0x00000001,
+ MatrixBSignedComponentsKHR = 0x00000002,
+ MatrixCSignedComponentsKHR = 0x00000004,
+ MatrixResultSignedComponentsKHR = 0x00000008,
+ SaturatingAccumulationKHR = 0x00000010,
+ },
+
+ CooperativeMatrixLayout = {
+ RowMajorKHR = 0,
+ ColumnMajorKHR = 1,
+ },
+
+ CooperativeMatrixUse = {
+ MatrixAKHR = 0,
+ MatrixBKHR = 1,
+ MatrixAccumulatorKHR = 2,
+ },
+
+ InitializationModeQualifier = {
+ InitOnDeviceReprogramINTEL = 0,
+ InitOnDeviceResetINTEL = 1,
+ },
+
+ HostAccessQualifier = {
+ NoneINTEL = 0,
+ ReadINTEL = 1,
+ WriteINTEL = 2,
+ ReadWriteINTEL = 3,
+ },
+
+ LoadCacheControl = {
+ UncachedINTEL = 0,
+ CachedINTEL = 1,
+ StreamingINTEL = 2,
+ InvalidateAfterReadINTEL = 3,
+ ConstCachedINTEL = 4,
+ },
+
+ StoreCacheControl = {
+ UncachedINTEL = 0,
+ WriteThroughINTEL = 1,
+ WriteBackINTEL = 2,
+ StreamingINTEL = 3,
+ },
+
Op = {
OpNop = 0,
OpUndef = 1,
@@ -1520,6 +1660,9 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1545,6 +1688,11 @@
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1552,6 +1700,10 @@
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1563,11 +1715,49 @@
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
OpEmitMeshTasksEXT = 5294,
OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpFetchMicroTriangleVertexPositionNV = 5300,
+ OpFetchMicroTriangleVertexBarycentricNV = 5301,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
OpIgnoreIntersectionNV = 5335,
@@ -1575,6 +1765,7 @@
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1836,6 +2027,8 @@
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 12e3401..477283e 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -60,6 +60,10 @@
'HLSL' : 5,
'CPP_for_OpenCL' : 6,
'SYCL' : 7,
+ 'HERO_C' : 8,
+ 'NZSL' : 9,
+ 'WGSL' : 10,
+ 'Slang' : 11,
},
'ExecutionModel' : {
@@ -143,6 +147,9 @@
'SubgroupsPerWorkgroupId' : 37,
'LocalSizeId' : 38,
'LocalSizeHintId' : 39,
+ 'NonCoherentColorAttachmentReadEXT' : 4169,
+ 'NonCoherentDepthAttachmentReadEXT' : 4170,
+ 'NonCoherentStencilAttachmentReadEXT' : 4171,
'SubgroupUniformControlFlowKHR' : 4421,
'PostDepthCoverage' : 4446,
'DenormPreserve' : 4459,
@@ -152,6 +159,11 @@
'RoundingModeRTZ' : 4463,
'EarlyAndLateFragmentTestsAMD' : 5017,
'StencilRefReplacingEXT' : 5027,
+ 'CoalescingAMDX' : 5069,
+ 'MaxNodeRecursionAMDX' : 5071,
+ 'StaticNumWorkgroupsAMDX' : 5072,
+ 'ShaderIndexAMDX' : 5073,
+ 'MaxNumWorkgroupsAMDX' : 5077,
'StencilRefUnchangedFrontAMD' : 5079,
'StencilRefGreaterFrontAMD' : 5080,
'StencilRefLessFrontAMD' : 5081,
@@ -182,6 +194,8 @@
'NoGlobalOffsetINTEL' : 5895,
'NumSIMDWorkitemsINTEL' : 5896,
'SchedulerTargetFmaxMhzINTEL' : 5903,
+ 'StreamingInterfaceINTEL' : 6154,
+ 'RegisterMapInterfaceINTEL' : 6160,
'NamedBarrierCountINTEL' : 6417,
},
@@ -199,6 +213,9 @@
'AtomicCounter' : 10,
'Image' : 11,
'StorageBuffer' : 12,
+ 'TileImageEXT' : 4172,
+ 'NodePayloadAMDX' : 5068,
+ 'NodeOutputPayloadAMDX' : 5076,
'CallableDataKHR' : 5328,
'CallableDataNV' : 5328,
'IncomingCallableDataKHR' : 5329,
@@ -213,6 +230,7 @@
'ShaderRecordBufferNV' : 5343,
'PhysicalStorageBuffer' : 5349,
'PhysicalStorageBufferEXT' : 5349,
+ 'HitObjectAttributeNV' : 5385,
'TaskPayloadWorkgroupEXT' : 5402,
'CodeSectionINTEL' : 5605,
'DeviceOnlyINTEL' : 5936,
@@ -227,6 +245,7 @@
'Rect' : 4,
'Buffer' : 5,
'SubpassData' : 6,
+ 'TileImageDataEXT' : 4173,
},
'SamplerAddressingMode' : {
@@ -328,6 +347,8 @@
'Float' : 14,
'UnormInt24' : 15,
'UnormInt101010_2' : 16,
+ 'UnsignedIntRaw10EXT' : 19,
+ 'UnsignedIntRaw12EXT' : 20,
},
'ImageOperandsShift' : {
@@ -426,6 +447,7 @@
'NoCapture' : 5,
'NoWrite' : 6,
'NoReadWrite' : 7,
+ 'RuntimeAlignedINTEL' : 5940,
},
'Decoration' : {
@@ -478,7 +500,13 @@
'MaxByteOffsetId' : 47,
'NoSignedWrap' : 4469,
'NoUnsignedWrap' : 4470,
+ 'WeightTextureQCOM' : 4487,
+ 'BlockMatchTextureQCOM' : 4488,
'ExplicitInterpAMD' : 4999,
+ 'NodeSharesPayloadLimitsWithAMDX' : 5019,
+ 'NodeMaxPayloadsAMDX' : 5020,
+ 'TrackFinishWritingAMDX' : 5078,
+ 'PayloadNodeNameAMDX' : 5091,
'OverrideCoverageNV' : 5248,
'PassthroughNV' : 5250,
'ViewportRelativeNV' : 5252,
@@ -495,6 +523,7 @@
'RestrictPointerEXT' : 5355,
'AliasedPointer' : 5356,
'AliasedPointerEXT' : 5356,
+ 'HitObjectShaderRecordBufferNV' : 5386,
'BindlessSamplerNV' : 5398,
'BindlessImageNV' : 5399,
'BoundSamplerNV' : 5400,
@@ -533,14 +562,35 @@
'PrefetchINTEL' : 5902,
'StallEnableINTEL' : 5905,
'FuseLoopsInFunctionINTEL' : 5907,
+ 'MathOpDSPModeINTEL' : 5909,
'AliasScopeINTEL' : 5914,
'NoAliasINTEL' : 5915,
+ 'InitiationIntervalINTEL' : 5917,
+ 'MaxConcurrencyINTEL' : 5918,
+ 'PipelineEnableINTEL' : 5919,
'BufferLocationINTEL' : 5921,
'IOPipeStorageINTEL' : 5944,
'FunctionFloatingPointModeINTEL' : 6080,
'SingleElementVectorINTEL' : 6085,
'VectorComputeCallableFunctionINTEL' : 6087,
'MediaBlockIOINTEL' : 6140,
+ 'InitModeINTEL' : 6147,
+ 'ImplementInRegisterMapINTEL' : 6148,
+ 'HostAccessINTEL' : 6168,
+ 'FPMaxErrorDecorationINTEL' : 6170,
+ 'LatencyControlLabelINTEL' : 6172,
+ 'LatencyControlConstraintINTEL' : 6173,
+ 'ConduitKernelArgumentINTEL' : 6175,
+ 'RegisterMapKernelArgumentINTEL' : 6176,
+ 'MMHostInterfaceAddressWidthINTEL' : 6177,
+ 'MMHostInterfaceDataWidthINTEL' : 6178,
+ 'MMHostInterfaceLatencyINTEL' : 6179,
+ 'MMHostInterfaceReadWriteModeINTEL' : 6180,
+ 'MMHostInterfaceMaxBurstINTEL' : 6181,
+ 'MMHostInterfaceWaitRequestINTEL' : 6182,
+ 'StableKernelArgumentINTEL' : 6183,
+ 'CacheControlLoadINTEL' : 6442,
+ 'CacheControlStoreINTEL' : 6443,
},
'BuiltIn' : {
@@ -615,6 +665,8 @@
'BaryCoordSmoothSampleAMD' : 4997,
'BaryCoordPullModelAMD' : 4998,
'FragStencilRefEXT' : 5014,
+ 'CoalescedInputCountAMDX' : 5021,
+ 'ShaderIndexAMDX' : 5073,
'ViewportMaskNV' : 5253,
'SecondaryPositionNV' : 5257,
'SecondaryViewportMaskNV' : 5258,
@@ -667,6 +719,9 @@
'HitKindKHR' : 5333,
'HitKindNV' : 5333,
'CurrentRayTimeNV' : 5334,
+ 'HitTriangleVertexPositionsKHR' : 5335,
+ 'HitMicroTriangleVertexPositionsNV' : 5337,
+ 'HitMicroTriangleVertexBarycentricsNV' : 5344,
'IncomingRayFlagsKHR' : 5351,
'IncomingRayFlagsNV' : 5351,
'RayGeometryIndexKHR' : 5352,
@@ -674,6 +729,8 @@
'SMCountNV' : 5375,
'WarpIDNV' : 5376,
'SMIDNV' : 5377,
+ 'HitKindFrontFacingMicroTriangleNV' : 5405,
+ 'HitKindBackFacingMicroTriangleNV' : 5406,
'CullMaskKHR' : 6021,
},
@@ -706,6 +763,8 @@
'MaxInterleavingINTEL' : 21,
'SpeculatedIterationsINTEL' : 22,
'NoFusionINTEL' : 23,
+ 'LoopCountINTEL' : 24,
+ 'MaxReinvocationDelayINTEL' : 25,
},
'LoopControlMask' : {
@@ -727,6 +786,8 @@
'MaxInterleavingINTEL' : 0x00200000,
'SpeculatedIterationsINTEL' : 0x00400000,
'NoFusionINTEL' : 0x00800000,
+ 'LoopCountINTEL' : 0x01000000,
+ 'MaxReinvocationDelayINTEL' : 0x02000000,
},
'FunctionControlShift' : {
@@ -924,6 +985,9 @@
'ShaderViewportIndex' : 70,
'UniformDecoration' : 71,
'CoreBuiltinsARM' : 4165,
+ 'TileImageColorReadAccessEXT' : 4166,
+ 'TileImageDepthReadAccessEXT' : 4167,
+ 'TileImageStencilReadAccessEXT' : 4168,
'FragmentShadingRateKHR' : 4422,
'SubgroupBallotKHR' : 4423,
'DrawParameters' : 4427,
@@ -955,6 +1019,9 @@
'RayQueryKHR' : 4472,
'RayTraversalPrimitiveCullingKHR' : 4478,
'RayTracingKHR' : 4479,
+ 'TextureSampleWeightedQCOM' : 4484,
+ 'TextureBoxFilterQCOM' : 4485,
+ 'TextureBlockMatchQCOM' : 4486,
'Float16ImageAMD' : 5008,
'ImageGatherBiasLodAMD' : 5009,
'FragmentMaskAMD' : 5010,
@@ -962,6 +1029,7 @@
'ImageReadWriteLodAMD' : 5015,
'Int64ImageEXT' : 5016,
'ShaderClockKHR' : 5055,
+ 'ShaderEnqueueAMDX' : 5067,
'SampleMaskOverrideCoverageNV' : 5249,
'GeometryShaderPassthroughNV' : 5251,
'ShaderViewportIndexLayerEXT' : 5254,
@@ -1003,6 +1071,7 @@
'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311,
'StorageTexelBufferArrayNonUniformIndexing' : 5312,
'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
+ 'RayTracingPositionFetchKHR' : 5336,
'RayTracingNV' : 5340,
'RayTracingMotionBlurNV' : 5341,
'VulkanMemoryModel' : 5345,
@@ -1020,8 +1089,12 @@
'FragmentShaderPixelInterlockEXT' : 5378,
'DemoteToHelperInvocation' : 5379,
'DemoteToHelperInvocationEXT' : 5379,
+ 'DisplacementMicromapNV' : 5380,
'RayTracingOpacityMicromapEXT' : 5381,
+ 'ShaderInvocationReorderNV' : 5383,
'BindlessTextureNV' : 5390,
+ 'RayQueryPositionFetchKHR' : 5391,
+ 'RayTracingDisplacementMicromapNV' : 5409,
'SubgroupShuffleINTEL' : 5568,
'SubgroupBufferBlockIOINTEL' : 5569,
'SubgroupImageBlockIOINTEL' : 5570,
@@ -1054,10 +1127,13 @@
'FPGAMemoryAccessesINTEL' : 5898,
'FPGAClusterAttributesINTEL' : 5904,
'LoopFuseINTEL' : 5906,
+ 'FPGADSPControlINTEL' : 5908,
'MemoryAccessAliasingINTEL' : 5910,
+ 'FPGAInvocationPipeliningAttributesINTEL' : 5916,
'FPGABufferLocationINTEL' : 5920,
'ArbitraryPrecisionFixedPointINTEL' : 5922,
'USMStorageClassesINTEL' : 5935,
+ 'RuntimeAlignedAttributeINTEL' : 5939,
'IOPipesINTEL' : 5943,
'BlockingPipesINTEL' : 5945,
'FPGARegINTEL' : 5948,
@@ -1070,6 +1146,7 @@
'DotProduct' : 6019,
'DotProductKHR' : 6019,
'RayCullMaskKHR' : 6020,
+ 'CooperativeMatrixKHR' : 6022,
'BitInstructions' : 6025,
'GroupNonUniformRotateKHR' : 6026,
'AtomicFloat32AddEXT' : 6033,
@@ -1078,8 +1155,16 @@
'OptNoneINTEL' : 6094,
'AtomicFloat16AddEXT' : 6095,
'DebugInfoModuleINTEL' : 6114,
+ 'BFloat16ConversionINTEL' : 6115,
'SplitBarrierINTEL' : 6141,
+ 'GlobalVariableFPGADecorationsINTEL' : 6146,
+ 'FPGAKernelAttributesv2INTEL' : 6161,
+ 'GlobalVariableHostAccessINTEL' : 6167,
+ 'FPMaxErrorINTEL' : 6169,
+ 'FPGALatencyControlINTEL' : 6171,
+ 'FPGAArgumentInterfacesINTEL' : 6174,
'GroupUniformArithmeticKHR' : 6400,
+ 'CacheControlsINTEL' : 6441,
},
'RayFlagsShift' : {
@@ -1175,6 +1260,61 @@
'PackedVectorFormat4x8BitKHR' : 0,
},
+ 'CooperativeMatrixOperandsShift' : {
+ 'MatrixASignedComponentsKHR' : 0,
+ 'MatrixBSignedComponentsKHR' : 1,
+ 'MatrixCSignedComponentsKHR' : 2,
+ 'MatrixResultSignedComponentsKHR' : 3,
+ 'SaturatingAccumulationKHR' : 4,
+ },
+
+ 'CooperativeMatrixOperandsMask' : {
+ 'MaskNone' : 0,
+ 'MatrixASignedComponentsKHR' : 0x00000001,
+ 'MatrixBSignedComponentsKHR' : 0x00000002,
+ 'MatrixCSignedComponentsKHR' : 0x00000004,
+ 'MatrixResultSignedComponentsKHR' : 0x00000008,
+ 'SaturatingAccumulationKHR' : 0x00000010,
+ },
+
+ 'CooperativeMatrixLayout' : {
+ 'RowMajorKHR' : 0,
+ 'ColumnMajorKHR' : 1,
+ },
+
+ 'CooperativeMatrixUse' : {
+ 'MatrixAKHR' : 0,
+ 'MatrixBKHR' : 1,
+ 'MatrixAccumulatorKHR' : 2,
+ },
+
+ 'InitializationModeQualifier' : {
+ 'InitOnDeviceReprogramINTEL' : 0,
+ 'InitOnDeviceResetINTEL' : 1,
+ },
+
+ 'HostAccessQualifier' : {
+ 'NoneINTEL' : 0,
+ 'ReadINTEL' : 1,
+ 'WriteINTEL' : 2,
+ 'ReadWriteINTEL' : 3,
+ },
+
+ 'LoadCacheControl' : {
+ 'UncachedINTEL' : 0,
+ 'CachedINTEL' : 1,
+ 'StreamingINTEL' : 2,
+ 'InvalidateAfterReadINTEL' : 3,
+ 'ConstCachedINTEL' : 4,
+ },
+
+ 'StoreCacheControl' : {
+ 'UncachedINTEL' : 0,
+ 'WriteThroughINTEL' : 1,
+ 'WriteBackINTEL' : 2,
+ 'StreamingINTEL' : 3,
+ },
+
'Op' : {
'OpNop' : 0,
'OpUndef' : 1,
@@ -1520,6 +1660,9 @@
'OpPtrEqual' : 401,
'OpPtrNotEqual' : 402,
'OpPtrDiff' : 403,
+ 'OpColorAttachmentReadEXT' : 4160,
+ 'OpDepthAttachmentReadEXT' : 4161,
+ 'OpStencilAttachmentReadEXT' : 4162,
'OpTerminateInvocation' : 4416,
'OpSubgroupBallotKHR' : 4421,
'OpSubgroupFirstInvocationKHR' : 4422,
@@ -1545,6 +1688,11 @@
'OpUDotAccSatKHR' : 4454,
'OpSUDotAccSat' : 4455,
'OpSUDotAccSatKHR' : 4455,
+ 'OpTypeCooperativeMatrixKHR' : 4456,
+ 'OpCooperativeMatrixLoadKHR' : 4457,
+ 'OpCooperativeMatrixStoreKHR' : 4458,
+ 'OpCooperativeMatrixMulAddKHR' : 4459,
+ 'OpCooperativeMatrixLengthKHR' : 4460,
'OpTypeRayQueryKHR' : 4472,
'OpRayQueryInitializeKHR' : 4473,
'OpRayQueryTerminateKHR' : 4474,
@@ -1552,6 +1700,10 @@
'OpRayQueryConfirmIntersectionKHR' : 4476,
'OpRayQueryProceedKHR' : 4477,
'OpRayQueryGetIntersectionTypeKHR' : 4479,
+ 'OpImageSampleWeightedQCOM' : 4480,
+ 'OpImageBoxFilterQCOM' : 4481,
+ 'OpImageBlockMatchSSDQCOM' : 4482,
+ 'OpImageBlockMatchSADQCOM' : 4483,
'OpGroupIAddNonUniformAMD' : 5000,
'OpGroupFAddNonUniformAMD' : 5001,
'OpGroupFMinNonUniformAMD' : 5002,
@@ -1563,11 +1715,49 @@
'OpFragmentMaskFetchAMD' : 5011,
'OpFragmentFetchAMD' : 5012,
'OpReadClockKHR' : 5056,
+ 'OpFinalizeNodePayloadsAMDX' : 5075,
+ 'OpFinishWritingNodePayloadAMDX' : 5078,
+ 'OpInitializeNodePayloadsAMDX' : 5090,
+ 'OpHitObjectRecordHitMotionNV' : 5249,
+ 'OpHitObjectRecordHitWithIndexMotionNV' : 5250,
+ 'OpHitObjectRecordMissMotionNV' : 5251,
+ 'OpHitObjectGetWorldToObjectNV' : 5252,
+ 'OpHitObjectGetObjectToWorldNV' : 5253,
+ 'OpHitObjectGetObjectRayDirectionNV' : 5254,
+ 'OpHitObjectGetObjectRayOriginNV' : 5255,
+ 'OpHitObjectTraceRayMotionNV' : 5256,
+ 'OpHitObjectGetShaderRecordBufferHandleNV' : 5257,
+ 'OpHitObjectGetShaderBindingTableRecordIndexNV' : 5258,
+ 'OpHitObjectRecordEmptyNV' : 5259,
+ 'OpHitObjectTraceRayNV' : 5260,
+ 'OpHitObjectRecordHitNV' : 5261,
+ 'OpHitObjectRecordHitWithIndexNV' : 5262,
+ 'OpHitObjectRecordMissNV' : 5263,
+ 'OpHitObjectExecuteShaderNV' : 5264,
+ 'OpHitObjectGetCurrentTimeNV' : 5265,
+ 'OpHitObjectGetAttributesNV' : 5266,
+ 'OpHitObjectGetHitKindNV' : 5267,
+ 'OpHitObjectGetPrimitiveIndexNV' : 5268,
+ 'OpHitObjectGetGeometryIndexNV' : 5269,
+ 'OpHitObjectGetInstanceIdNV' : 5270,
+ 'OpHitObjectGetInstanceCustomIndexNV' : 5271,
+ 'OpHitObjectGetWorldRayDirectionNV' : 5272,
+ 'OpHitObjectGetWorldRayOriginNV' : 5273,
+ 'OpHitObjectGetRayTMaxNV' : 5274,
+ 'OpHitObjectGetRayTMinNV' : 5275,
+ 'OpHitObjectIsEmptyNV' : 5276,
+ 'OpHitObjectIsHitNV' : 5277,
+ 'OpHitObjectIsMissNV' : 5278,
+ 'OpReorderThreadWithHitObjectNV' : 5279,
+ 'OpReorderThreadWithHintNV' : 5280,
+ 'OpTypeHitObjectNV' : 5281,
'OpImageSampleFootprintNV' : 5283,
'OpEmitMeshTasksEXT' : 5294,
'OpSetMeshOutputsEXT' : 5295,
'OpGroupNonUniformPartitionNV' : 5296,
'OpWritePackedPrimitiveIndices4x8NV' : 5299,
+ 'OpFetchMicroTriangleVertexPositionNV' : 5300,
+ 'OpFetchMicroTriangleVertexBarycentricNV' : 5301,
'OpReportIntersectionKHR' : 5334,
'OpReportIntersectionNV' : 5334,
'OpIgnoreIntersectionNV' : 5335,
@@ -1575,6 +1765,7 @@
'OpTraceNV' : 5337,
'OpTraceMotionNV' : 5338,
'OpTraceRayMotionNV' : 5339,
+ 'OpRayQueryGetIntersectionTriangleVertexPositionsKHR' : 5340,
'OpTypeAccelerationStructureKHR' : 5341,
'OpTypeAccelerationStructureNV' : 5341,
'OpExecuteCallableNV' : 5344,
@@ -1836,6 +2027,8 @@
'OpTypeStructContinuedINTEL' : 6090,
'OpConstantCompositeContinuedINTEL' : 6091,
'OpSpecConstantCompositeContinuedINTEL' : 6092,
+ 'OpConvertFToBF16INTEL' : 6116,
+ 'OpConvertBF16ToFINTEL' : 6117,
'OpControlBarrierArriveINTEL' : 6142,
'OpControlBarrierWaitINTEL' : 6143,
'OpGroupIMulKHR' : 6401,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 6462405..34b3204 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -68,6 +68,10 @@
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
}
enum ExecutionModel : uint
@@ -155,6 +159,9 @@
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -164,6 +171,11 @@
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -194,6 +206,8 @@
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
}
@@ -212,6 +226,9 @@
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -226,6 +243,7 @@
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -241,6 +259,7 @@
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
}
enum SamplerAddressingMode : uint
@@ -347,6 +366,8 @@
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
}
enum ImageOperandsShift : uint
@@ -453,6 +474,7 @@
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
}
enum Decoration : uint
@@ -506,7 +528,13 @@
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
+ WeightTextureQCOM = 4487,
+ BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -523,6 +551,7 @@
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -561,14 +590,35 @@
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
+ MathOpDSPModeINTEL = 5909,
AliasScopeINTEL = 5914,
NoAliasINTEL = 5915,
+ InitiationIntervalINTEL = 5917,
+ MaxConcurrencyINTEL = 5918,
+ PipelineEnableINTEL = 5919,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
SingleElementVectorINTEL = 6085,
VectorComputeCallableFunctionINTEL = 6087,
MediaBlockIOINTEL = 6140,
+ InitModeINTEL = 6147,
+ ImplementInRegisterMapINTEL = 6148,
+ HostAccessINTEL = 6168,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
}
enum BuiltIn : uint
@@ -644,6 +694,8 @@
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -696,6 +748,9 @@
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -703,6 +758,8 @@
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
}
@@ -738,6 +795,8 @@
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
}
enum LoopControlMask : uint
@@ -760,6 +819,8 @@
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
}
enum FunctionControlShift : uint
@@ -969,6 +1030,9 @@
ShaderViewportIndex = 70,
UniformDecoration = 71,
CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -1000,6 +1064,9 @@
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -1007,6 +1074,7 @@
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1048,6 +1116,7 @@
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1065,8 +1134,12 @@
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1099,10 +1172,13 @@
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
+ FPGADSPControlINTEL = 5908,
MemoryAccessAliasingINTEL = 5910,
+ FPGAInvocationPipeliningAttributesINTEL = 5916,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
+ RuntimeAlignedAttributeINTEL = 5939,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
@@ -1115,6 +1191,7 @@
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
@@ -1123,8 +1200,16 @@
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ GlobalVariableFPGADecorationsINTEL = 6146,
+ FPGAKernelAttributesv2INTEL = 6161,
+ GlobalVariableHostAccessINTEL = 6167,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
GroupUniformArithmeticKHR = 6400,
+ CacheControlsINTEL = 6441,
}
enum RayFlagsShift : uint
@@ -1232,6 +1317,69 @@
PackedVectorFormat4x8BitKHR = 0,
}
+enum CooperativeMatrixOperandsShift : uint
+{
+ MatrixASignedComponentsKHR = 0,
+ MatrixBSignedComponentsKHR = 1,
+ MatrixCSignedComponentsKHR = 2,
+ MatrixResultSignedComponentsKHR = 3,
+ SaturatingAccumulationKHR = 4,
+}
+
+enum CooperativeMatrixOperandsMask : uint
+{
+ MaskNone = 0,
+ MatrixASignedComponentsKHR = 0x00000001,
+ MatrixBSignedComponentsKHR = 0x00000002,
+ MatrixCSignedComponentsKHR = 0x00000004,
+ MatrixResultSignedComponentsKHR = 0x00000008,
+ SaturatingAccumulationKHR = 0x00000010,
+}
+
+enum CooperativeMatrixLayout : uint
+{
+ RowMajorKHR = 0,
+ ColumnMajorKHR = 1,
+}
+
+enum CooperativeMatrixUse : uint
+{
+ MatrixAKHR = 0,
+ MatrixBKHR = 1,
+ MatrixAccumulatorKHR = 2,
+}
+
+enum InitializationModeQualifier : uint
+{
+ InitOnDeviceReprogramINTEL = 0,
+ InitOnDeviceResetINTEL = 1,
+}
+
+enum HostAccessQualifier : uint
+{
+ NoneINTEL = 0,
+ ReadINTEL = 1,
+ WriteINTEL = 2,
+ ReadWriteINTEL = 3,
+}
+
+enum LoadCacheControl : uint
+{
+ UncachedINTEL = 0,
+ CachedINTEL = 1,
+ StreamingINTEL = 2,
+ InvalidateAfterReadINTEL = 3,
+ ConstCachedINTEL = 4,
+}
+
+enum StoreCacheControl : uint
+{
+ UncachedINTEL = 0,
+ WriteThroughINTEL = 1,
+ WriteBackINTEL = 2,
+ StreamingINTEL = 3,
+}
+
enum Op : uint
{
OpNop = 0,
@@ -1578,6 +1726,9 @@
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1603,6 +1754,11 @@
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1610,6 +1766,10 @@
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1621,11 +1781,49 @@
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
OpEmitMeshTasksEXT = 5294,
OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpFetchMicroTriangleVertexPositionNV = 5300,
+ OpFetchMicroTriangleVertexBarycentricNV = 5301,
OpReportIntersectionKHR = 5334,
OpReportIntersectionNV = 5334,
OpIgnoreIntersectionNV = 5335,
@@ -1633,6 +1831,7 @@
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1894,6 +2093,8 @@
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644
index 0000000..6d86090
--- /dev/null
+++ b/tests/CMakeLists.txt
@@ -0,0 +1,47 @@
+# Copyright (c) 2015-2023 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.
+
+add_library(simple_test STATIC)
+
+target_sources(simple_test PRIVATE
+ example.cpp
+)
+
+target_link_libraries(simple_test PRIVATE
+ SPIRV-Headers::SPIRV-Headers
+)
+
+if (NOT TARGET SPIRV-Headers)
+ message(FATAL_ERROR "SPIRV-Headers target not defined!")
+endif()
+
+if (NOT PROJECT_NAME STREQUAL "SPIRV-Headers")
+ message(FATAL_ERROR "PROJECT_NAME changed!") # Needed for backcompat with SPIRV-Tools.
+endif()
+
+if (NOT DEFINED SPIRV-Headers_SOURCE_DIR)
+ message(FATAL_ERROR "SPIRV-Headers_SOURCE_DIR not defined!") # Needed for backcompat with SPIRV-Tools.
+endif()
diff --git a/example/example.cpp b/tests/example.cpp
similarity index 100%
rename from example/example.cpp
rename to tests/example.cpp
diff --git a/tests/find_package/CMakeLists.txt b/tests/find_package/CMakeLists.txt
new file mode 100644
index 0000000..4735db5
--- /dev/null
+++ b/tests/find_package/CMakeLists.txt
@@ -0,0 +1,23 @@
+cmake_minimum_required(VERSION 3.0)
+
+project(TEST_FIND_PACKAGE LANGUAGES CXX)
+
+add_library(find_package_example STATIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/../example.cpp
+)
+
+find_package(SPIRV-Headers REQUIRED CONFIG)
+
+if (NOT TARGET SPIRV-Headers::SPIRV-Headers)
+ message(FATAL_ERROR "SPIRV-Headers::SPIRV-Headers target not defined")
+endif()
+
+target_link_libraries(find_package_example PRIVATE
+ SPIRV-Headers::SPIRV-Headers
+)
+
+if (NOT DEFINED SPIRV-Headers_VERSION)
+ message(FATAL_ERROR "SPIRV-Headers_VERSION not provided!")
+endif()
+
+message(STATUS "SPIRV-Headers_VERSION = ${SPIRV-Headers_VERSION}")
diff --git a/tests/pkg_config/CMakeLists.txt b/tests/pkg_config/CMakeLists.txt
new file mode 100644
index 0000000..b2897e2
--- /dev/null
+++ b/tests/pkg_config/CMakeLists.txt
@@ -0,0 +1,23 @@
+cmake_minimum_required(VERSION 3.14)
+
+project(TEST_PKGCONFIG LANGUAGES CXX)
+
+add_library(pkgconfig_example STATIC)
+
+target_sources(pkgconfig_example PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/../example.cpp
+)
+
+find_package(PkgConfig REQUIRED)
+
+pkg_check_modules(SPIRV_HEADERS REQUIRED IMPORTED_TARGET SPIRV-Headers)
+
+target_link_libraries(pkgconfig_example PRIVATE
+ PkgConfig::SPIRV_HEADERS
+)
+
+if (NOT DEFINED SPIRV_HEADERS_VERSION)
+ message(FATAL_ERROR "SPIRV_HEADERS_VERSION not defined!")
+endif()
+
+message(STATUS "PkgConfig::SPIRV_HEADERS version = ${SPIRV_HEADERS_VERSION}")
diff --git a/tools/buildHeaders/bin/makeExtinstHeaders.py b/tools/buildHeaders/bin/makeExtinstHeaders.py
index 9359747..8852d19 100755
--- a/tools/buildHeaders/bin/makeExtinstHeaders.py
+++ b/tools/buildHeaders/bin/makeExtinstHeaders.py
@@ -26,3 +26,4 @@
mk_extinst('AMD_shader_trinary_minmax', 'extinst.spv-amd-shader-trinary-minmax.grammar.json')
mk_extinst('NonSemanticDebugPrintf', 'extinst.nonsemantic.debugprintf.grammar.json')
mk_extinst('NonSemanticClspvReflection', 'extinst.nonsemantic.clspvreflection.grammar.json')
+mk_extinst('NonSemanticDebugBreak', 'extinst.nonsemantic.debugbreak.grammar.json')
diff --git a/tools/buildHeaders/bin/makeHeaders b/tools/buildHeaders/bin/makeHeaders
index 7b4959e..853c467 100755
--- a/tools/buildHeaders/bin/makeHeaders
+++ b/tools/buildHeaders/bin/makeHeaders
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
+set -ex
+
python3 bin/makeExtinstHeaders.py
cd ../../include/spirv/unified1
diff --git a/tools/buildHeaders/header.cpp b/tools/buildHeaders/header.cpp
index f9e06fb..4ee358b 100644
--- a/tools/buildHeaders/header.cpp
+++ b/tools/buildHeaders/header.cpp
@@ -574,17 +574,11 @@
// C++ printer
class TPrinterCPP : public TPrinterCBase {
- private:
- void printPrologue(std::ostream& out) const override {
- TPrinterCBase::printPrologue(out);
- out << "namespace spv {\n\n";
- }
-
- void printEpilogue(std::ostream& out) const override {
+ protected:
+ void printMaskOperators(std::ostream& out, const std::string& specifiers) const {
const Json::Value& enums = spvRoot["spv"]["enum"];
- // Create overloaded operator| for mask types
- out << "// Overload operator| for mask bit combining\n\n";
+ out << "// Overload bitwise operators for mask bit combining\n\n";
for (auto opClass = enums.begin(); opClass != enums.end(); ++opClass) {
const bool isMask = (*opClass)["Type"].asString() == "Bit";
@@ -593,11 +587,29 @@
if (isMask) {
const auto typeName = opName + styleStr(enumMask);
- out << "inline " + typeName + " operator|(" + typeName + " a, " + typeName + " b) { return " +
- typeName + "(unsigned(a) | unsigned(b)); }\n";
+ // Overload operator|
+ out << specifiers << " " << typeName << " operator|(" << typeName << " a, " << typeName << " b) { return " <<
+ typeName << "(unsigned(a) | unsigned(b)); }\n";
+ // Overload operator&
+ out << specifiers << " " << typeName << " operator&(" << typeName << " a, " << typeName << " b) { return " <<
+ typeName << "(unsigned(a) & unsigned(b)); }\n";
+ // Overload operator^
+ out << specifiers << " " << typeName << " operator^(" << typeName << " a, " << typeName << " b) { return " <<
+ typeName << "(unsigned(a) ^ unsigned(b)); }\n";
+ // Overload operator~
+ out << specifiers << " " << typeName << " operator~(" << typeName << " a) { return " <<
+ typeName << "(~unsigned(a)); }\n";
}
}
+ }
+ private:
+ void printPrologue(std::ostream& out) const override {
+ TPrinterCBase::printPrologue(out);
+ out << "namespace spv {\n\n";
+ }
+ void printEpilogue(std::ostream& out) const override {
+ printMaskOperators(out, "inline");
out << "\n} // end namespace spv\n\n";
out << "#endif // #ifndef spirv_" << headerGuardSuffix() << std::endl;
}
@@ -633,6 +645,11 @@
// C++11 printer (uses enum classes)
class TPrinterCPP11 final : public TPrinterCPP {
private:
+ void printEpilogue(std::ostream& out) const override {
+ printMaskOperators(out, "constexpr");
+ out << "\n} // end namespace spv\n\n";
+ out << "#endif // #ifndef spirv_" << headerGuardSuffix() << std::endl;
+ }
std::string enumBeg(const std::string& s, enumStyle_t style) const override {
return std::string("enum class ") + s + styleStr(style) + " : unsigned {\n";
}
diff --git a/tools/buildHeaders/jsonToSpirv.cpp b/tools/buildHeaders/jsonToSpirv.cpp
index 67b5bce..04f8079 100644
--- a/tools/buildHeaders/jsonToSpirv.cpp
+++ b/tools/buildHeaders/jsonToSpirv.cpp
@@ -36,8 +36,185 @@
#include "jsonToSpirv.h"
+namespace {
+// Returns true if the given string is a valid SPIR-V version.
+bool validSpirvVersionString(const std::string s) {
+ return
+ s == "1.0" ||
+ s == "1.1" ||
+ s == "1.2" ||
+ s == "1.3" ||
+ s == "1.4" ||
+ s == "1.5" ||
+ s == "1.6";
+}
+
+// Returns true if the given string is a valid version
+// specifier in the grammar file.
+bool validSpirvVersionStringSpecifier(const std::string s) {
+ return s == "None" || validSpirvVersionString(s);
+}
+} // anonymous namespace
+
namespace spv {
+bool IsLegacyDoublyEnabledInstruction(const std::string& instruction) {
+ static std::unordered_set<std::string> allowed = {
+ "OpSubgroupBallotKHR",
+ "OpSubgroupFirstInvocationKHR",
+ "OpSubgroupAllKHR",
+ "OpSubgroupAnyKHR",
+ "OpSubgroupAllEqualKHR",
+ "OpSubgroupReadInvocationKHR",
+ "OpTraceRayKHR",
+ "OpExecuteCallableKHR",
+ "OpConvertUToAccelerationStructureKHR",
+ "OpIgnoreIntersectionKHR",
+ "OpTerminateRayKHR",
+ "OpTypeRayQueryKHR",
+ "OpRayQueryInitializeKHR",
+ "OpRayQueryTerminateKHR",
+ "OpRayQueryGenerateIntersectionKHR",
+ "OpRayQueryConfirmIntersectionKHR",
+ "OpRayQueryProceedKHR",
+ "OpRayQueryGetIntersectionTypeKHR",
+ "OpGroupIAddNonUniformAMD",
+ "OpGroupFAddNonUniformAMD",
+ "OpGroupFMinNonUniformAMD",
+ "OpGroupUMinNonUniformAMD",
+ "OpGroupSMinNonUniformAMD",
+ "OpGroupFMaxNonUniformAMD",
+ "OpGroupUMaxNonUniformAMD",
+ "OpGroupSMaxNonUniformAMD",
+ "OpFragmentMaskFetchAMD",
+ "OpFragmentFetchAMD",
+ "OpImageSampleFootprintNV",
+ "OpGroupNonUniformPartitionNV",
+ "OpWritePackedPrimitiveIndices4x8NV",
+ "OpReportIntersectionNV",
+ "OpReportIntersectionKHR",
+ "OpIgnoreIntersectionNV",
+ "OpTerminateRayNV",
+ "OpTraceNV",
+ "OpTraceMotionNV",
+ "OpTraceRayMotionNV",
+ "OpTypeAccelerationStructureNV",
+ "OpTypeAccelerationStructureKHR",
+ "OpExecuteCallableNV",
+ "OpTypeCooperativeMatrixNV",
+ "OpCooperativeMatrixLoadNV",
+ "OpCooperativeMatrixStoreNV",
+ "OpCooperativeMatrixMulAddNV",
+ "OpCooperativeMatrixLengthNV",
+ "OpBeginInvocationInterlockEXT",
+ "OpEndInvocationInterlockEXT",
+ "OpIsHelperInvocationEXT",
+ "OpConstantFunctionPointerINTEL",
+ "OpFunctionPointerCallINTEL",
+ "OpAssumeTrueKHR",
+ "OpExpectKHR",
+ "OpLoopControlINTEL",
+ "OpAliasDomainDeclINTEL",
+ "OpAliasScopeDeclINTEL",
+ "OpAliasScopeListDeclINTEL",
+ "OpReadPipeBlockingINTEL",
+ "OpWritePipeBlockingINTEL",
+ "OpFPGARegINTEL",
+ "OpRayQueryGetRayTMinKHR",
+ "OpRayQueryGetRayFlagsKHR",
+ "OpRayQueryGetIntersectionTKHR",
+ "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
+ "OpRayQueryGetIntersectionInstanceIdKHR",
+ "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
+ "OpRayQueryGetIntersectionGeometryIndexKHR",
+ "OpRayQueryGetIntersectionPrimitiveIndexKHR",
+ "OpRayQueryGetIntersectionBarycentricsKHR",
+ "OpRayQueryGetIntersectionFrontFaceKHR",
+ "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
+ "OpRayQueryGetIntersectionObjectRayDirectionKHR",
+ "OpRayQueryGetIntersectionObjectRayOriginKHR",
+ "OpRayQueryGetWorldRayDirectionKHR",
+ "OpRayQueryGetWorldRayOriginKHR",
+ "OpRayQueryGetIntersectionObjectToWorldKHR",
+ "OpRayQueryGetIntersectionWorldToObjectKHR",
+ "OpAtomicFAddEXT",
+ };
+ return allowed.count(instruction) != 0;
+}
+
+bool EnumValue::IsValid(OperandClass oc, const std::string& context) const
+{
+ bool result = true;
+ if (firstVersion.empty()) {
+ std::cerr << "Error: " << context << " " << name << " \"version\" must be set, probably to \"None\"" << std::endl;
+ result = false;
+ } else if (!validSpirvVersionStringSpecifier(firstVersion)) {
+ std::cerr << "Error: " << context << " " << name << " \"version\" is invalid: " << firstVersion << std::endl;
+ result = false;
+ }
+ if (!lastVersion.empty() && !validSpirvVersionString(lastVersion)) {
+ std::cerr << "Error: " << context << " " << name << " \"lastVersion\" is invalid: " << lastVersion << std::endl;
+ result = false;
+ }
+
+ // When a feature is introduced by an extension, the firstVersion is set to
+ // "None". There are three cases:
+ // - A new capability should be guarded/enabled by the extension
+ // - A new instruction should be:
+ // - Guarded/enabled by a new capability.
+ // - Not enabled by *both* a capability and an extension.
+ // There are many existing instructions that are already like this,
+ // and we grandparent them as allowed.
+ // - Other enums fall into two cases:
+ // 1. The enum is part of a new operand kind introduced by the extension.
+ // In this case we rely on transitivity: The use of the operand occurs
+ // in a new instruction that itself is guarded; or as the operand of
+ // another operand that itself is (recursively) guarded.
+ // 2. The enum is a new case in an existing operand kind. This case
+ // should be guarded by a capability. However, we do not check this
+ // here. Checking it requires more context than we have here.
+ if (oc == OperandOpcode) {
+ const bool instruction_unusable =
+ (firstVersion == "None") && extensions.empty() && capabilities.empty();
+ if (instruction_unusable) {
+ std::cerr << "Error: " << context << " " << name << " is not usable: "
+ << "its version is set to \"None\", and it is not enabled by a "
+ << "capability or extension. Guard it with a capability."
+ << std::endl;
+ result = false;
+ }
+ // Complain if an instruction is not in any core version and also enabled by
+ // both an extension and a capability.
+ // It's important to check the "not in any core version" case, because,
+ // for example, OpTerminateInvocation is in SPIR-V 1.6 *and* enabled by an
+ // extension, and guarded by the Shader capability.
+ const bool instruction_doubly_enabled = (firstVersion == "None") &&
+ !extensions.empty() &&
+ !capabilities.empty();
+ if (instruction_doubly_enabled && !IsLegacyDoublyEnabledInstruction(name)) {
+ std::cerr << "Error: " << context << " " << name << " is doubly-enabled: "
+ << "it is enabled by both a capability and an extension. "
+ << "Guard it with a capability only." << std::endl;
+ result = false;
+ }
+ }
+ if (oc == OperandCapability) {
+ // If capability X lists capabilities Y and Z, then Y and Z are *enabled*
+ // when X is enabled. They are not *guards* on X's use.
+ // Only versions and extensions can guard a capability.
+ const bool capability_unusable =
+ (firstVersion == "None") && extensions.empty();
+ if (capability_unusable) {
+ std::cerr << "Error: " << context << " " << name << " is not usable: "
+ << "its version is set to \"None\", and it is not enabled by "
+ << "an extension. Guard it with an extension." << std::endl;
+ result = false;
+ }
+ }
+
+ return result;
+}
+
// The set of objects that hold all the instruction/operand
// parameterization information.
InstructionValues InstructionDesc;
@@ -88,6 +265,13 @@
EnumValues RayQueryCandidateIntersectionTypeParams;
EnumValues FragmentShadingRateParams;
EnumValues PackedVectorFormatParams;
+EnumValues CooperativeMatrixOperandsParams;
+EnumValues CooperativeMatrixLayoutParams;
+EnumValues CooperativeMatrixUseParams;
+EnumValues InitializationModeQualifierParams;
+EnumValues HostAccessQualifierParams;
+EnumValues LoadCacheControlParams;
+EnumValues StoreCacheControlParams;
std::pair<bool, std::string> ReadFile(const std::string& path)
{
@@ -158,6 +342,8 @@
type = OperandLiteralNumber;
} else if (operandKind == "LiteralContextDependentNumber") {
type = OperandAnySizeLiteralNumber;
+ } else if (operandKind == "LiteralFloat") {
+ type = OperandLiteralNumber;
} else if (operandKind == "SourceLanguage") {
type = OperandSource;
} else if (operandKind == "ExecutionModel") {
@@ -234,6 +420,20 @@
type = OperandFragmentShadingRate;
} else if (operandKind == "PackedVectorFormat") {
type = OperandPackedVectorFormat;
+ } else if (operandKind == "CooperativeMatrixOperands") {
+ type = OperandCooperativeMatrixOperands;
+ } else if (operandKind == "CooperativeMatrixLayout") {
+ type = OperandCooperativeMatrixLayout;
+ } else if (operandKind == "CooperativeMatrixUse") {
+ type = OperandCooperativeMatrixUse;
+ } else if (operandKind == "InitializationModeQualifier") {
+ type = OperandInitializationModeQualifier;
+ } else if (operandKind == "HostAccessQualifier") {
+ type = OperandHostAccessQualifier;
+ } else if (operandKind == "LoadCacheControl") {
+ type = OperandLoadCacheControl;
+ } else if (operandKind == "StoreCacheControl") {
+ type = OperandStoreCacheControl;
}
if (type == OperandNone) {
@@ -273,6 +473,8 @@
return;
initialized = true;
+ size_t errorCount = 0;
+
// Read the JSON grammar file.
bool fileReadOk = false;
std::string content;
@@ -387,12 +589,15 @@
std::move(caps), std::move(version), std::move(lastVersion), std::move(exts),
std::move(operands))),
printingClass, defTypeId, defResultId);
+ if (!InstructionDesc.back().IsValid(OperandOpcode, "instruction")) {
+ errorCount++;
+ }
}
// Specific additional context-dependent operands
// Populate dest with EnumValue objects constructed from source.
- const auto populateEnumValues = [&getCaps,&getExts](EnumValues* dest, const Json::Value& source, bool bitEnum) {
+ const auto populateEnumValues = [&getCaps,&getExts,&errorCount](EnumValues* dest, const Json::Value& source, bool bitEnum) {
// A lambda for determining the numeric value to be used for a given
// enumerant in JSON form, and whether that value is a 0 in a bitfield.
auto getValue = [&bitEnum](const Json::Value& enumerant) {
@@ -451,12 +656,22 @@
}
};
- const auto establishOperandClass = [&populateEnumValues](
+ const auto establishOperandClass = [&populateEnumValues,&errorCount](
const std::string& enumName, spv::OperandClass operandClass,
spv::EnumValues* enumValues, const Json::Value& operandEnum, const std::string& category) {
assert(category == "BitEnum" || category == "ValueEnum");
bool bitEnum = (category == "BitEnum");
+ if (!operandEnum["version"].empty()) {
+ std::cerr << "Error: container for " << enumName << " operand_kind must not have a version field" << std::endl;
+ errorCount++;
+ }
populateEnumValues(enumValues, operandEnum, bitEnum);
+ const std::string errContext = "enum " + enumName;
+ for (const auto& e: *enumValues) {
+ if (!e.IsValid(operandClass, errContext)) {
+ errorCount++;
+ }
+ }
OperandClassParams[operandClass].set(enumName, enumValues, bitEnum);
};
@@ -544,8 +759,26 @@
establishOperandClass(enumName, OperandFragmentShadingRate, &FragmentShadingRateParams, operandEnum, category);
} else if (enumName == "PackedVectorFormat") {
establishOperandClass(enumName, OperandPackedVectorFormat, &PackedVectorFormatParams, operandEnum, category);
+ } else if (enumName == "CooperativeMatrixOperands") {
+ establishOperandClass(enumName, OperandCooperativeMatrixOperands, &CooperativeMatrixOperandsParams, operandEnum, category);
+ } else if (enumName == "CooperativeMatrixLayout") {
+ establishOperandClass(enumName, OperandCooperativeMatrixLayout, &CooperativeMatrixLayoutParams, operandEnum, category);
+ } else if (enumName == "CooperativeMatrixUse") {
+ establishOperandClass(enumName, OperandCooperativeMatrixUse, &CooperativeMatrixUseParams, operandEnum, category);
+ } else if (enumName == "InitializationModeQualifier") {
+ establishOperandClass(enumName, OperandInitializationModeQualifier, &InitializationModeQualifierParams, operandEnum, category);
+ } else if (enumName == "HostAccessQualifier") {
+ establishOperandClass(enumName, OperandHostAccessQualifier, &HostAccessQualifierParams, operandEnum, category);
+ } else if (enumName == "LoadCacheControl") {
+ establishOperandClass(enumName, OperandLoadCacheControl, &LoadCacheControlParams, operandEnum, category);
+ } else if (enumName == "StoreCacheControl") {
+ establishOperandClass(enumName, OperandStoreCacheControl, &StoreCacheControlParams, operandEnum, category);
}
}
+
+ if (errorCount > 0) {
+ std::exit(1);
+ }
}
}; // end namespace spv
diff --git a/tools/buildHeaders/jsonToSpirv.h b/tools/buildHeaders/jsonToSpirv.h
index 3be6456..db4855b 100644
--- a/tools/buildHeaders/jsonToSpirv.h
+++ b/tools/buildHeaders/jsonToSpirv.h
@@ -96,6 +96,13 @@
OperandQuantizationModes,
OperandOverflowModes,
OperandPackedVectorFormat,
+ OperandCooperativeMatrixOperands,
+ OperandCooperativeMatrixLayout,
+ OperandCooperativeMatrixUse,
+ OperandInitializationModeQualifier,
+ OperandHostAccessQualifier,
+ OperandLoadCacheControl,
+ OperandStoreCacheControl,
OperandOpcode,
@@ -184,6 +191,7 @@
iterator begin() { return values.begin(); }
iterator end() { return values.end(); }
+ EValue& back() { return values.back(); }
private:
ContainerType values;
@@ -216,6 +224,10 @@
Extensions extensions;
OperandParameters operands;
const char* desc;
+
+ // Returns true if this enum is valid, in isolation.
+ // Otherwise emits a diagnostic to std::cerr and returns false.
+ bool IsValid(OperandClass oc, const std::string& context) const;
};
using EnumValues = EnumValuesContainer<EnumValue>;