aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-02-21 00:05:56 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-02-21 00:05:56 +0000
commit741a8a3a4c4731fbb885349c93b59f108f6859f9 (patch)
tree6e6995e4bd125b239925bd59b4264824b7086ced
parentf8004be3f52af830f709a09af1b2f7e041f717a2 (diff)
parent4276536bf8892d6152c739957980d2040dca3759 (diff)
downloadSPIRV-Headers-android14-qpr3-s2-release.tar.gz
Change-Id: Ife39a73d22a3afdeeaa209f8655e52edf4cecfac
-rw-r--r--.github/dependabot.yml10
-rw-r--r--.github/workflows/presubmit.yml88
-rw-r--r--BUILD.bazel6
-rw-r--r--BUILD.gn3
-rw-r--r--CMakeLists.txt130
-rw-r--r--LICENSE80
-rw-r--r--README.md2
-rw-r--r--SECURITY.md13
-rw-r--r--cmake/Config.cmake.in4
-rw-r--r--cmake/SPIRV-Headers.pc.in (renamed from SPIRV-Headers.pc.in)3
-rw-r--r--example/CMakeLists.txt4
-rw-r--r--include/spirv/spir-v.xml29
-rw-r--r--include/spirv/unified1/AMD_gcn_shader.h2
-rw-r--r--include/spirv/unified1/AMD_shader_ballot.h2
-rw-r--r--include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h2
-rw-r--r--include/spirv/unified1/AMD_shader_trinary_minmax.h2
-rw-r--r--include/spirv/unified1/DebugInfo.h2
-rw-r--r--include/spirv/unified1/GLSL.std.450.h2
-rw-r--r--include/spirv/unified1/NonSemanticClspvReflection.h19
-rw-r--r--include/spirv/unified1/NonSemanticDebugBreak.h50
-rw-r--r--include/spirv/unified1/NonSemanticDebugPrintf.h2
-rw-r--r--include/spirv/unified1/NonSemanticShaderDebugInfo100.h2
-rw-r--r--include/spirv/unified1/NonSemanticVkspReflection.h57
-rw-r--r--include/spirv/unified1/OpenCL.std.h2
-rw-r--r--include/spirv/unified1/OpenCLDebugInfo100.h2
-rw-r--r--include/spirv/unified1/extinst.debuginfo.grammar.json2
-rw-r--r--include/spirv/unified1/extinst.glsl.std.450.grammar.json2
-rw-r--r--include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json100
-rw-r--r--include/spirv/unified1/extinst.nonsemantic.debugbreak.grammar.json9
-rw-r--r--include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json2
-rw-r--r--include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json135
-rw-r--r--include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json2
-rw-r--r--include/spirv/unified1/extinst.opencl.std.100.grammar.json2
-rw-r--r--include/spirv/unified1/spirv.bf238
-rw-r--r--include/spirv/unified1/spirv.core.grammar.json3745
-rw-r--r--include/spirv/unified1/spirv.cs238
-rw-r--r--include/spirv/unified1/spirv.h295
-rw-r--r--include/spirv/unified1/spirv.hpp331
-rw-r--r--include/spirv/unified1/spirv.hpp11353
-rw-r--r--include/spirv/unified1/spirv.json263
-rw-r--r--include/spirv/unified1/spirv.lua230
-rw-r--r--include/spirv/unified1/spirv.py230
-rw-r--r--include/spirv/unified1/spv.d238
-rw-r--r--tests/CMakeLists.txt47
-rw-r--r--tests/example.cpp (renamed from example/example.cpp)2
-rw-r--r--tests/find_package/CMakeLists.txt23
-rw-r--r--tests/pkg_config/CMakeLists.txt23
-rwxr-xr-xtools/buildHeaders/bin/generate_language_headers.py4
-rwxr-xr-xtools/buildHeaders/bin/makeExtinstHeaders.py2
-rwxr-xr-xtools/buildHeaders/bin/makeHeaders2
-rw-r--r--tools/buildHeaders/header.cpp88
-rw-r--r--tools/buildHeaders/header.h2
-rw-r--r--tools/buildHeaders/jsonToSpirv.cpp245
-rw-r--r--tools/buildHeaders/jsonToSpirv.h14
-rw-r--r--tools/buildHeaders/main.cpp2
55 files changed, 6478 insertions, 909 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..2390d8c
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,10 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "monthly"
+ groups:
+ github-actions:
+ patterns:
+ - "*"
diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml
index d9c25fa..d7958ca 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 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Install Ubuntu packages
if: matrix.os == 'ubuntu-latest'
run: sudo apt install -y dos2unix
@@ -35,3 +38,86 @@ jobs:
./bin/makeHeaders
- name: Check generated headers
run: git diff --exit-code
+
+ test_cmake_min_required:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - 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@v4
+ - 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@v4
+ - 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@v4
+ - 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@v4
+ - 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@v4
+ - 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/BUILD.bazel b/BUILD.bazel
index c898ade..25634d9 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -82,6 +82,11 @@ filegroup(
)
filegroup(
+ name = "spirv_ext_inst_nonsemantic_vkspreflection_grammar_unified1",
+ srcs = ["include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json"],
+)
+
+filegroup(
name = "spirv_ext_inst_nonsemantic_debugprintf_grammar_unified1",
srcs = ["include/spirv/unified1/extinst.nonsemantic.debugprintf.grammar.json"],
)
@@ -128,6 +133,7 @@ cc_library(
"include/spirv/unified1/GLSL.std.450.h",
"include/spirv/unified1/NonSemanticClspvReflection.h",
"include/spirv/unified1/NonSemanticDebugPrintf.h",
+ "include/spirv/unified1/NonSemanticVkspReflection.h",
"include/spirv/unified1/OpenCL.std.h",
],
includes = ["include"],
diff --git a/BUILD.gn b/BUILD.gn
index be3f43b..34294e0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Google LLC
+# Copyright (c) 2020-2024 Google LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and/or associated documentation files (the "Materials"),
@@ -35,6 +35,7 @@ source_set("spv_headers") {
"include/spirv/unified1/GLSL.std.450.h",
"include/spirv/unified1/NonSemanticClspvReflection.h",
"include/spirv/unified1/NonSemanticDebugPrintf.h",
+ "include/spirv/unified1/NonSemanticVkspReflection.h",
"include/spirv/unified1/OpenCL.std.h",
"include/spirv/unified1/spirv.h",
"include/spirv/unified1/spirv.hpp",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9cfba73..8cd4037 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2015-2016 The Khronos Group Inc.
+# Copyright (c) 2015-2024 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()
-
-if (SPIRV_HEADERS_ENABLE_EXAMPLES)
- message(STATUS "Building SPIRV-Header examples")
- add_subdirectory(example)
-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>)
-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(CMakePackageConfigHelpers)
-
- if (NOT CMAKE_VERSION VERSION_LESS 3.14)
- set(arch_independent_str ARCH_INDEPENDENT)
+if (PROJECT_IS_TOP_LEVEL)
+ option(BUILD_TESTS "Build the tests")
+ if (BUILD_TESTS)
+ add_subdirectory(tests)
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}"
- )
+ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
- 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 ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- install(
- DIRECTORY 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")
- install(
- FILES "${project_config}" "${version_config}"
- DESTINATION "${config_install_dir}"
- )
+ write_basic_package_version_file("${version_config}" COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
+ install(FILES "${version_config}" DESTINATION "${cmake_install_dir}")
- install(
- EXPORT "${TARGETS_EXPORT_NAME}"
- NAMESPACE "${namespace}"
- DESTINATION "${config_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}")
- 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
- )
+ 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()
+ 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/LICENSE b/LICENSE
index 47974f8..a02ace1 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,5 @@
-Copyright (c) 2015-2018 The Khronos Group Inc.
+Files: All files except for those called out below.
+Copyright (c) 2015-2024 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,3 +24,80 @@ 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.
+
+---
+
+Files: include/spirv/spir-v.xml
+Copyright (c) 2015-2024 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.
+
+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.
+
+---
+
+Files: tools/buildHeaders/jsoncpp/*
+The JsonCpp library's source code, including accompanying documentation,
+tests and demonstration applications, are licensed under the following
+conditions...
+
+The author (Baptiste Lepilleur) explicitly disclaims copyright in all
+jurisdictions which recognize such a disclaimer. In such jurisdictions,
+this software is released into the Public Domain.
+
+In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
+2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is
+released under the terms of the MIT License (see below).
+
+In jurisdictions which recognize Public Domain property, the user of this
+software may choose to accept it either as 1) Public Domain, 2) under the
+conditions of the MIT License (see below), or 3) under the terms of dual
+Public Domain/MIT License conditions described here, as they choose.
+
+The MIT License is about as close to Public Domain as a license can get, and is
+described in clear, concise terms at:
+
+ http://en.wikipedia.org/wiki/MIT_License
+
+The full text of the MIT License follows:
+
+========================================================================
+Copyright (c) 2007-2010 Baptiste Lepilleur
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is
+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 Software.
+
+THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+========================================================================
+
+---
diff --git a/README.md b/README.md
index 8c7039f..ed38828 100644
--- a/README.md
+++ b/README.md
@@ -198,7 +198,7 @@ python3 bin/makeExtinstHeaders.py
## License
<a name="license"></a>
```
-Copyright (c) 2015-2018 The Khronos Group Inc.
+Copyright (c) 2015-2024 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
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
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 7acaed3..4a2de83 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<!--
- Copyright (c) 2015 The Khronos Group Inc.
+ Copyright (c) 2015-2024 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
@@ -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,10 +82,17 @@
<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"/>
- <unused start="35" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
+ <id value="35" vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady"/>
+ <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/"/>
+ <id value="41" vendor="Zig Software Foundation" tool="Zig Compiler" comment="Contact Robin Voetter, https://github.com/Snektron"/>
+ <unused start="42" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@@ -138,13 +145,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 -->
@@ -168,13 +179,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 -->
@@ -235,7 +249,8 @@
<!-- Reserved FP fast math mode bits -->
<ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
<ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
- <ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
+ <ids type="FPFastMathMode" start="18" end="18" vendor="khronos" comment="Reserved FPFastMathMode bit, not available to vendors - see SPV_KHR_float_controls2"/>
+ <ids type="FPFastMathMode" start="19" end="31" comment="Unreserved bits reservable for use by vendors"/>
<!-- SECTION: SPIR-V Memory Operand Bit Reservations -->
diff --git a/include/spirv/unified1/AMD_gcn_shader.h b/include/spirv/unified1/AMD_gcn_shader.h
index 80165ae..e626a7a 100644
--- a/include/spirv/unified1/AMD_gcn_shader.h
+++ b/include/spirv/unified1/AMD_gcn_shader.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2020 The Khronos Group Inc.
+// Copyright (c) 2020-2024 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
diff --git a/include/spirv/unified1/AMD_shader_ballot.h b/include/spirv/unified1/AMD_shader_ballot.h
index 8a8bb6e..563c0b6 100644
--- a/include/spirv/unified1/AMD_shader_ballot.h
+++ b/include/spirv/unified1/AMD_shader_ballot.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2020 The Khronos Group Inc.
+// Copyright (c) 2020-2024 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
diff --git a/include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h b/include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h
index 12b6480..e663330 100644
--- a/include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h
+++ b/include/spirv/unified1/AMD_shader_explicit_vertex_parameter.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2020 The Khronos Group Inc.
+// Copyright (c) 2020-2024 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
diff --git a/include/spirv/unified1/AMD_shader_trinary_minmax.h b/include/spirv/unified1/AMD_shader_trinary_minmax.h
index 1b14997..dd51c5f 100644
--- a/include/spirv/unified1/AMD_shader_trinary_minmax.h
+++ b/include/spirv/unified1/AMD_shader_trinary_minmax.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2020 The Khronos Group Inc.
+// Copyright (c) 2020-2024 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
diff --git a/include/spirv/unified1/DebugInfo.h b/include/spirv/unified1/DebugInfo.h
index 4657556..a3c0af4 100644
--- a/include/spirv/unified1/DebugInfo.h
+++ b/include/spirv/unified1/DebugInfo.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2017 The Khronos Group Inc.
+// Copyright (c) 2017-2024 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"),
diff --git a/include/spirv/unified1/GLSL.std.450.h b/include/spirv/unified1/GLSL.std.450.h
index 54cc00e..0594f90 100644
--- a/include/spirv/unified1/GLSL.std.450.h
+++ b/include/spirv/unified1/GLSL.std.450.h
@@ -1,5 +1,5 @@
/*
-** Copyright (c) 2014-2016 The Khronos Group Inc.
+** Copyright (c) 2014-2024 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"),
diff --git a/include/spirv/unified1/NonSemanticClspvReflection.h b/include/spirv/unified1/NonSemanticClspvReflection.h
index 7994fd5..b6c27fa 100644
--- a/include/spirv/unified1/NonSemanticClspvReflection.h
+++ b/include/spirv/unified1/NonSemanticClspvReflection.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2020 The Khronos Group Inc.
+// Copyright (c) 2020-2024 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
@@ -33,7 +33,7 @@ extern "C" {
#endif
enum {
- NonSemanticClspvReflectionRevision = 3,
+ NonSemanticClspvReflectionRevision = 6,
NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
};
@@ -71,10 +71,25 @@ enum NonSemanticClspvReflectionInstructions {
NonSemanticClspvReflectionImageArgumentInfoChannelDataTypePushConstant = 31,
NonSemanticClspvReflectionImageArgumentInfoChannelOrderUniform = 32,
NonSemanticClspvReflectionImageArgumentInfoChannelDataTypeUniform = 33,
+ NonSemanticClspvReflectionArgumentStorageTexelBuffer = 34,
+ NonSemanticClspvReflectionArgumentUniformTexelBuffer = 35,
+ NonSemanticClspvReflectionConstantDataPointerPushConstant = 36,
+ NonSemanticClspvReflectionProgramScopeVariablePointerPushConstant = 37,
+ NonSemanticClspvReflectionPrintfInfo = 38,
+ NonSemanticClspvReflectionPrintfBufferStorageBuffer = 39,
+ NonSemanticClspvReflectionPrintfBufferPointerPushConstant = 40,
+ NonSemanticClspvReflectionNormalizedSamplerMaskPushConstant = 41,
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..8604fe7
--- /dev/null
+++ b/include/spirv/unified1/NonSemanticDebugBreak.h
@@ -0,0 +1,50 @@
+// Copyright (c) 2020-2024 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/NonSemanticDebugPrintf.h b/include/spirv/unified1/NonSemanticDebugPrintf.h
index 83796d7..bc24683 100644
--- a/include/spirv/unified1/NonSemanticDebugPrintf.h
+++ b/include/spirv/unified1/NonSemanticDebugPrintf.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2020 The Khronos Group Inc.
+// Copyright (c) 2020-2024 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
diff --git a/include/spirv/unified1/NonSemanticShaderDebugInfo100.h b/include/spirv/unified1/NonSemanticShaderDebugInfo100.h
index c52f32f..b276b56 100644
--- a/include/spirv/unified1/NonSemanticShaderDebugInfo100.h
+++ b/include/spirv/unified1/NonSemanticShaderDebugInfo100.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2018 The Khronos Group Inc.
+// Copyright (c) 2018-2024 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"),
diff --git a/include/spirv/unified1/NonSemanticVkspReflection.h b/include/spirv/unified1/NonSemanticVkspReflection.h
new file mode 100644
index 0000000..0ef478a
--- /dev/null
+++ b/include/spirv/unified1/NonSemanticVkspReflection.h
@@ -0,0 +1,57 @@
+// Copyright (c) 2020-2024 The Khronos Group Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and/or associated documentation files (the
+// "Materials"), to deal in the Materials without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Materials, and to
+// permit persons to whom the Materials are furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Materials.
+//
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
+// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
+// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
+// https://www.khronos.org/registry/
+//
+// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+//
+
+#ifndef SPIRV_UNIFIED1_NonSemanticVkspReflection_H_
+#define SPIRV_UNIFIED1_NonSemanticVkspReflection_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum {
+ NonSemanticVkspReflectionRevision = 1,
+ NonSemanticVkspReflectionRevision_BitWidthPadding = 0x7fffffff
+};
+
+enum NonSemanticVkspReflectionInstructions {
+ NonSemanticVkspReflectionConfiguration = 1,
+ NonSemanticVkspReflectionStartCounter = 2,
+ NonSemanticVkspReflectionStopCounter = 3,
+ NonSemanticVkspReflectionPushConstants = 4,
+ NonSemanticVkspReflectionSpecializationMapEntry = 5,
+ NonSemanticVkspReflectionDescriptorSetBuffer = 6,
+ NonSemanticVkspReflectionDescriptorSetImage = 7,
+ NonSemanticVkspReflectionDescriptorSetSampler = 8,
+ NonSemanticVkspReflectionInstructionsMax = 0x7fffffff
+};
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // SPIRV_UNIFIED1_NonSemanticVkspReflection_H_
diff --git a/include/spirv/unified1/OpenCL.std.h b/include/spirv/unified1/OpenCL.std.h
index 2745e30..ed74f20 100644
--- a/include/spirv/unified1/OpenCL.std.h
+++ b/include/spirv/unified1/OpenCL.std.h
@@ -1,5 +1,5 @@
/*
-** Copyright (c) 2015-2019 The Khronos Group Inc.
+** Copyright (c) 2015-2024 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"),
diff --git a/include/spirv/unified1/OpenCLDebugInfo100.h b/include/spirv/unified1/OpenCLDebugInfo100.h
index e3847c9..ffbd16f 100644
--- a/include/spirv/unified1/OpenCLDebugInfo100.h
+++ b/include/spirv/unified1/OpenCLDebugInfo100.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2018 The Khronos Group Inc.
+// Copyright (c) 2018-2024 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"),
diff --git a/include/spirv/unified1/extinst.debuginfo.grammar.json b/include/spirv/unified1/extinst.debuginfo.grammar.json
index 7d6e8e5..918a9e5 100644
--- a/include/spirv/unified1/extinst.debuginfo.grammar.json
+++ b/include/spirv/unified1/extinst.debuginfo.grammar.json
@@ -1,6 +1,6 @@
{
"copyright" : [
- "Copyright (c) 2017 The Khronos Group Inc.",
+ "Copyright (c) 2017-2024 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\"),",
diff --git a/include/spirv/unified1/extinst.glsl.std.450.grammar.json b/include/spirv/unified1/extinst.glsl.std.450.grammar.json
index 3d9f39e..ac8fc6d 100644
--- a/include/spirv/unified1/extinst.glsl.std.450.grammar.json
+++ b/include/spirv/unified1/extinst.glsl.std.450.grammar.json
@@ -1,6 +1,6 @@
{
"copyright" : [
- "Copyright (c) 2014-2016 The Khronos Group Inc.",
+ "Copyright (c) 2014-2024 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\"),",
diff --git a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
index c5502f9..cfccc80 100644
--- a/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
+++ b/include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json
@@ -1,12 +1,15 @@
{
- "revision" : 3,
+ "revision" : 6,
"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" : "?" }
]
},
{
@@ -325,6 +328,99 @@
{ "kind" : "IdRef", "name" : "Offset" },
{ "kind" : "IdRef", "name" : "Size" }
]
+ },
+ {
+ "opname" : "ArgumentStorageTexelBuffer",
+ "opcode" : 34,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "Decl" },
+ { "kind" : "IdRef", "name" : "Ordinal" },
+ { "kind" : "IdRef", "name" : "DescriptorSet" },
+ { "kind" : "IdRef", "name" : "Binding" },
+ { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
+ ]
+ },
+ {
+ "opname" : "ArgumentUniformTexelBuffer",
+ "opcode" : 35,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "Decl" },
+ { "kind" : "IdRef", "name" : "Ordinal" },
+ { "kind" : "IdRef", "name" : "DescriptorSet" },
+ { "kind" : "IdRef", "name" : "Binding" },
+ { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
+ ]
+ },
+ {
+ "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"}
+ ]
+ },
+ {
+ "opname" : "NormalizedSamplerMaskPushConstant",
+ "opcode" : 41,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "Kernel" },
+ { "kind" : "IdRef", "name" : "Ordinal" },
+ { "kind" : "IdRef", "name" : "Offset" },
+ { "kind" : "IdRef", "name" : "Size" }
+ ]
+ }
+ ],
+ "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/extinst.nonsemantic.shader.debuginfo.100.grammar.json b/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json
index f3621b0..1eb2859 100644
--- a/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json
+++ b/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json
@@ -1,6 +1,6 @@
{
"copyright" : [
- "Copyright (c) 2018 The Khronos Group Inc.",
+ "Copyright (c) 2018-2024 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\"),",
diff --git a/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json b/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
new file mode 100644
index 0000000..bee1bea
--- /dev/null
+++ b/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
@@ -0,0 +1,135 @@
+{
+ "revision" : 1,
+ "instructions" : [
+ {
+ "opname" : "Configuration",
+ "opcode" : 1,
+ "operands" : [
+ {"kind" : "LiteralString", "name" : "enabledExtensionNames" },
+ {"kind" : "LiteralInteger", "name" : "specializationInfoDataSize" },
+ {"kind" : "LiteralString", "name" : "specializationInfoData" },
+ {"kind" : "LiteralString", "name" : "shaderName" },
+ {"kind" : "LiteralString", "name" : "EntryPoint" },
+ {"kind" : "LiteralInteger", "name" : "groupCountX" },
+ {"kind" : "LiteralInteger", "name" : "groupCountY" },
+ {"kind" : "LiteralInteger", "name" : "groupCountZ" }
+ ]
+ },
+ {
+ "opname" : "StartCounter",
+ "opcode" : 2,
+ "operands" : [
+ {"kind" : "LiteralString", "name" : "name" }
+ ]
+ },
+ {
+ "opname" : "StopCounter",
+ "opcode" : 3,
+ "operands" : [
+ {"kind" : "IdRef", "name" : "counter" }
+ ]
+ },
+ {
+ "opname" : "PushConstants",
+ "opcode" : 4,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "offset" },
+ { "kind" : "LiteralInteger", "name" : "size" },
+ { "kind" : "LiteralString", "name" : "pValues" },
+ { "kind" : "LiteralInteger", "name" : "stageFlags" }
+ ]
+ },
+ {
+ "opname" : "SpecializationMapEntry",
+ "opcode" : 5,
+ "operands" : [
+ {"kind" : "LiteralInteger", "name" : "constantID" },
+ {"kind" : "LiteralInteger", "name" : "offset" },
+ {"kind" : "LiteralInteger", "name" : "size" }
+ ]
+ },
+ {
+ "opname" : "DescriptorSetBuffer",
+ "opcode" : 6,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "ds" },
+ { "kind" : "LiteralInteger", "name" : "binding" },
+ { "kind" : "LiteralInteger", "name" : "type" },
+ { "kind" : "LiteralInteger", "name" : "flags" },
+ { "kind" : "LiteralInteger", "name" : "queueFamilyIndexCount" },
+ { "kind" : "LiteralInteger", "name" : "sharingMode" },
+ { "kind" : "LiteralInteger", "name" : "size" },
+ { "kind" : "LiteralInteger", "name" : "usage" },
+ { "kind" : "LiteralInteger", "name" : "range" },
+ { "kind" : "LiteralInteger", "name" : "offset" },
+ { "kind" : "LiteralInteger", "name" : "memorySize" },
+ { "kind" : "LiteralInteger", "name" : "memoryType" },
+ { "kind" : "LiteralInteger", "name" : "bindOffset" }
+ ]
+ },
+ {
+ "opname" : "DescriptorSetImage",
+ "opcode" : 7,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "ds" },
+ { "kind" : "LiteralInteger", "name" : "binding" },
+ { "kind" : "LiteralInteger", "name" : "type" },
+ { "kind" : "LiteralInteger", "name" : "imageLayout"},
+ { "kind" : "LiteralInteger", "name" : "imageFlags"},
+ { "kind" : "LiteralInteger", "name" : "imageType"},
+ { "kind" : "LiteralInteger", "name" : "imageformat"},
+ { "kind" : "LiteralInteger", "name" : "width"},
+ { "kind" : "LiteralInteger", "name" : "height"},
+ { "kind" : "LiteralInteger", "name" : "depth"},
+ { "kind" : "LiteralInteger", "name" : "mipLevels"},
+ { "kind" : "LiteralInteger", "name" : "arrayLayers"},
+ { "kind" : "LiteralInteger", "name" : "samples"},
+ { "kind" : "LiteralInteger", "name" : "tiling"},
+ { "kind" : "LiteralInteger", "name" : "usage"},
+ { "kind" : "LiteralInteger", "name" : "sharingMode"},
+ { "kind" : "LiteralInteger", "name" : "queueFamilyIndexCount"},
+ { "kind" : "LiteralInteger", "name" : "initialLayout"},
+ { "kind" : "LiteralInteger", "name" : "aspectMask"},
+ { "kind" : "LiteralInteger", "name" : "baseMipLevel"},
+ { "kind" : "LiteralInteger", "name" : "levelCount"},
+ { "kind" : "LiteralInteger", "name" : "baseArrayLayer"},
+ { "kind" : "LiteralInteger", "name" : "layerCount"},
+ { "kind" : "LiteralInteger", "name" : "viewFlags"},
+ { "kind" : "LiteralInteger", "name" : "viewType"},
+ { "kind" : "LiteralInteger", "name" : "viewFormat"},
+ { "kind" : "LiteralInteger", "name" : "component_a"},
+ { "kind" : "LiteralInteger", "name" : "component_b"},
+ { "kind" : "LiteralInteger", "name" : "component_g"},
+ { "kind" : "LiteralInteger", "name" : "component_r"},
+ { "kind" : "LiteralInteger", "name" : "memorySize" },
+ { "kind" : "LiteralInteger", "name" : "memoryType" },
+ { "kind" : "LiteralInteger", "name" : "bindOffset"}
+ ]
+ },
+ {
+ "opname" : "DescriptorSetSampler",
+ "opcode" : 8,
+ "operands" : [
+ { "kind" : "LiteralInteger", "name" : "ds" },
+ { "kind" : "LiteralInteger", "name" : "binding" },
+ { "kind" : "LiteralInteger", "name" : "type" },
+ { "kind" : "LiteralInteger", "name" : "flags"},
+ { "kind" : "LiteralInteger", "name" : "magFilter"},
+ { "kind" : "LiteralInteger", "name" : "minFilter"},
+ { "kind" : "LiteralInteger", "name" : "mipmapMode"},
+ { "kind" : "LiteralInteger", "name" : "addressModeU"},
+ { "kind" : "LiteralInteger", "name" : "addressModeV"},
+ { "kind" : "LiteralInteger", "name" : "addressModeW"},
+ { "kind" : "LiteralFloat", "name" : "mipLodBias"},
+ { "kind" : "LiteralInteger", "name" : "anisotropyEnable"},
+ { "kind" : "LiteralFloat", "name" : "maxAnisotropy"},
+ { "kind" : "LiteralInteger", "name" : "compareEnable"},
+ { "kind" : "LiteralInteger", "name" : "compareOp"},
+ { "kind" : "LiteralFloat", "name" : "minLod"},
+ { "kind" : "LiteralFloat", "name" : "maxLod"},
+ { "kind" : "LiteralInteger", "name" : "borderColor"},
+ { "kind" : "LiteralInteger", "name" : "unnormalizedCoordinates"}
+ ]
+ }
+ ]
+}
diff --git a/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json b/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
index 699fe40..53b001c 100644
--- a/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
+++ b/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
@@ -1,6 +1,6 @@
{
"copyright" : [
- "Copyright (c) 2018 The Khronos Group Inc.",
+ "Copyright (c) 2018-2024 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\"),",
diff --git a/include/spirv/unified1/extinst.opencl.std.100.grammar.json b/include/spirv/unified1/extinst.opencl.std.100.grammar.json
index 4fe4506..21b7876 100644
--- a/include/spirv/unified1/extinst.opencl.std.100.grammar.json
+++ b/include/spirv/unified1/extinst.opencl.std.100.grammar.json
@@ -1,6 +1,6 @@
{
"copyright" : [
- "Copyright (c) 2014-2016 The Khronos Group Inc.",
+ "Copyright (c) 2014-2024 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\"),",
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
index fb9ec89..4231b33 100644
--- a/include/spirv/unified1/spirv.bf
+++ b/include/spirv/unified1/spirv.bf
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),
@@ -66,6 +66,11 @@ namespace Spv
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
+ Zig = 12,
}
[AllowDuplicates, CRepr] public enum ExecutionModel
@@ -153,6 +158,9 @@ namespace Spv
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -162,12 +170,19 @@ namespace Spv
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
StencilRefUnchangedBackAMD = 5082,
StencilRefGreaterBackAMD = 5083,
StencilRefLessBackAMD = 5084,
+ QuadDerivativesKHR = 5088,
+ RequireFullQuadsKHR = 5089,
OutputLinesEXT = 5269,
OutputLinesNV = 5269,
OutputPrimitivesEXT = 5270,
@@ -192,6 +207,10 @@ namespace Spv
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ MaximallyReconvergesKHR = 6023,
+ FPFastMathDefault = 6028,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
}
@@ -210,6 +229,9 @@ namespace Spv
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -224,6 +246,7 @@ namespace Spv
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -239,6 +262,7 @@ namespace Spv
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
}
[AllowDuplicates, CRepr] public enum SamplerAddressingMode
@@ -345,6 +369,8 @@ namespace Spv
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
}
[AllowDuplicates, CRepr] public enum ImageOperandsShift
@@ -403,8 +429,11 @@ namespace Spv
NSZ = 2,
AllowRecip = 3,
Fast = 4,
+ AllowContract = 16,
AllowContractFastINTEL = 16,
+ AllowReassoc = 17,
AllowReassocINTEL = 17,
+ AllowTransform = 18,
}
[AllowDuplicates, CRepr] public enum FPFastMathModeMask
@@ -415,8 +444,11 @@ namespace Spv
NSZ = 0x00000004,
AllowRecip = 0x00000008,
Fast = 0x00000010,
+ AllowContract = 0x00010000,
AllowContractFastINTEL = 0x00010000,
+ AllowReassoc = 0x00020000,
AllowReassocINTEL = 0x00020000,
+ AllowTransform = 0x00040000,
}
[AllowDuplicates, CRepr] public enum FPRoundingMode
@@ -451,6 +483,7 @@ namespace Spv
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
}
[AllowDuplicates, CRepr] public enum Decoration
@@ -504,7 +537,13 @@ namespace Spv
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 +560,7 @@ namespace Spv
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -553,20 +593,45 @@ namespace Spv
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
+ StridesizeINTEL = 5883,
+ WordsizeINTEL = 5884,
+ TrueDualPortINTEL = 5885,
BurstCoalesceINTEL = 5899,
CacheSizeINTEL = 5900,
DontStaticallyCoalesceINTEL = 5901,
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,
+ StallFreeINTEL = 6151,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ HostAccessINTEL = 6188,
+ InitModeINTEL = 6190,
+ ImplementInRegisterMapINTEL = 6191,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
}
[AllowDuplicates, CRepr] public enum BuiltIn
@@ -612,6 +677,11 @@ namespace Spv
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ CoreIDARM = 4160,
+ CoreCountARM = 4161,
+ CoreMaxIDARM = 4162,
+ WarpIDARM = 4163,
+ WarpMaxIDARM = 4164,
SubgroupEqMask = 4416,
SubgroupEqMaskKHR = 4416,
SubgroupGeMask = 4417,
@@ -637,6 +707,8 @@ namespace Spv
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -689,6 +761,9 @@ namespace Spv
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -696,6 +771,8 @@ namespace Spv
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
}
@@ -731,6 +808,8 @@ namespace Spv
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
}
[AllowDuplicates, CRepr] public enum LoopControlMask
@@ -753,6 +832,8 @@ namespace Spv
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
}
[AllowDuplicates, CRepr] public enum FunctionControlShift
@@ -961,6 +1042,10 @@ namespace Spv
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
+ CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -992,6 +1077,9 @@ namespace Spv
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -999,6 +1087,8 @@ namespace Spv
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
+ QuadControlKHR = 5087,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1040,6 +1130,7 @@ namespace Spv
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1057,7 +1148,12 @@ namespace Spv
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
+ RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1090,10 +1186,13 @@ namespace Spv
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,
@@ -1106,16 +1205,28 @@ namespace Spv
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
+ FloatControls2 = 6029,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
- LongConstantCompositeINTEL = 6089,
+ LongCompositesINTEL = 6089,
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ FPGAClusterAttributesV2INTEL = 6150,
+ FPGAKernelAttributesv2INTEL = 6161,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
+ GlobalVariableHostAccessINTEL = 6187,
+ GlobalVariableFPGADecorationsINTEL = 6189,
GroupUniformArithmeticKHR = 6400,
+ MaskedGatherScatterINTEL = 6427,
+ CacheControlsINTEL = 6441,
}
[AllowDuplicates, CRepr] public enum RayFlagsShift
@@ -1130,6 +1241,7 @@ namespace Spv
CullNoOpaqueKHR = 7,
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
+ ForceOpacityMicromap2StateEXT = 10,
}
[AllowDuplicates, CRepr] public enum RayFlagsMask
@@ -1145,6 +1257,7 @@ namespace Spv
CullNoOpaqueKHR = 0x00000080,
SkipTrianglesKHR = 0x00000100,
SkipAABBsKHR = 0x00000200,
+ ForceOpacityMicromap2StateEXT = 0x00000400,
}
[AllowDuplicates, CRepr] public enum RayQueryIntersection
@@ -1221,6 +1334,69 @@ namespace Spv
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,
@@ -1567,6 +1743,9 @@ namespace Spv
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1592,6 +1771,11 @@ namespace Spv
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1599,6 +1783,10 @@ namespace Spv
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1610,11 +1798,51 @@ namespace Spv
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpGroupNonUniformQuadAllKHR = 5110,
+ OpGroupNonUniformQuadAnyKHR = 5111,
+ 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,
@@ -1622,6 +1850,7 @@ namespace Spv
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1883,6 +2112,9 @@ namespace Spv
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpCompositeConstructContinuedINTEL = 6096,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -1893,6 +2125,8 @@ namespace Spv
OpGroupLogicalAndKHR = 6406,
OpGroupLogicalOrKHR = 6407,
OpGroupLogicalXorKHR = 6408,
+ OpMaskedGatherINTEL = 6428,
+ OpMaskedScatterINTEL = 6429,
}
}
}
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index bd1289e..1d595c1 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -1,6 +1,6 @@
{
"copyright" : [
- "Copyright (c) 2014-2020 The Khronos Group Inc.",
+ "Copyright (c) 2014-2024 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\"),",
@@ -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,8 +4784,79 @@
"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",
+ "class" : "Type-Declaration",
"opcode" : 4472,
"operands" : [
{ "kind" : "IdResult" }
@@ -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,520 @@
{ "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" : "OpGroupNonUniformQuadAllKHR",
+ "class" : "Non-Uniform",
+ "opcode" : 5110,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Predicate'" }
+ ],
+ "capabilities" : [ "QuadControlKHR" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpGroupNonUniformQuadAnyKHR",
+ "class" : "Non-Uniform",
+ "opcode" : 5111,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Predicate'" }
+ ],
+ "capabilities" : [ "QuadControlKHR" ],
+ "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" : "Type-Declaration",
+ "opcode" : 5281,
+ "operands" : [
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
"version" : "None"
},
{
@@ -4821,6 +5792,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,8 +5936,27 @@
"version" : "None"
},
{
- "opname" : "OpTypeAccelerationStructureNV",
+ "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" : "Type-Declaration",
"opcode" : 5341,
"operands" : [
{ "kind" : "IdResult" }
@@ -4945,7 +5967,7 @@
},
{
"opname" : "OpTypeAccelerationStructureKHR",
- "class" : "Reserved",
+ "class" : "Type-Declaration",
"opcode" : 5341,
"operands" : [
{ "kind" : "IdResult" }
@@ -4969,7 +5991,7 @@
},
{
"opname" : "OpTypeCooperativeMatrixNV",
- "class" : "Reserved",
+ "class" : "Type-Declaration",
"opcode" : 5358,
"operands" : [
{ "kind" : "IdResult" },
@@ -8566,7 +9588,7 @@
"operands" : [
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
],
- "capabilities" : [ "LongConstantCompositeINTEL" ],
+ "capabilities" : [ "LongCompositesINTEL" ],
"version" : "None"
},
{
@@ -8576,7 +9598,7 @@
"operands" : [
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
],
- "capabilities" : [ "LongConstantCompositeINTEL" ],
+ "capabilities" : [ "LongCompositesINTEL" ],
"version" : "None"
},
{
@@ -8586,7 +9608,43 @@
"operands" : [
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
],
- "capabilities" : [ "LongConstantCompositeINTEL" ],
+ "capabilities" : [ "LongCompositesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCompositeConstructContinuedINTEL",
+ "class" : "Composite",
+ "opcode" : 6096,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
+ ],
+ "capabilities" : [ "LongCompositesINTEL" ],
+ "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"
},
{
@@ -8724,6 +9782,34 @@
],
"capabilities" : [ "GroupUniformArithmeticKHR" ],
"version" : "None"
+ },
+ {
+ "opname" : "OpMaskedGatherINTEL",
+ "class" : "Memory",
+ "opcode" : 6428,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'PtrVector'" },
+ { "kind" : "LiteralInteger", "name" : "'Alignment'" },
+ { "kind" : "IdRef", "name" : "'Mask'" },
+ { "kind" : "IdRef", "name" : "'FillEmpty'" }
+ ],
+ "capabilities" : [ "MaskedGatherScatterINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpMaskedScatterINTEL",
+ "class" : "Memory",
+ "opcode" : 6429,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'InputVector'" },
+ { "kind" : "IdRef", "name" : "'PtrVector'" },
+ { "kind" : "LiteralInteger", "name" : "'Alignment'" },
+ { "kind" : "IdRef", "name" : "'Mask'" }
+ ],
+ "capabilities" : [ "MaskedGatherScatterINTEL" ],
+ "version" : "None"
}
],
"operand_kinds" : [
@@ -8741,14 +9827,16 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Lod",
"value" : "0x0002",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Grad",
@@ -8756,14 +9844,16 @@
"parameters" : [
{ "kind" : "IdRef" },
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "ConstOffset",
"value" : "0x0008",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Offset",
@@ -8771,7 +9861,8 @@
"capabilities" : [ "ImageGatherExtended" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "ConstOffsets",
@@ -8779,14 +9870,16 @@
"capabilities" : [ "ImageGatherExtended" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Sample",
"value" : "0x0040",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MinLod",
@@ -8794,7 +9887,8 @@
"capabilities" : [ "MinLod" ],
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MakeTexelAvailable",
@@ -8880,7 +9974,8 @@
"value" : "0x10000",
"parameters" : [
{ "kind" : "IdRef" }
- ]
+ ],
+ "version": "1.0"
}
]
},
@@ -8890,38 +9985,62 @@
"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" : "AllowContract",
+ "value" : "0x10000",
+ "capabilities" : [ "FloatControls2", "FPFastMathModeINTEL" ],
+ "version" : "None"
},
{
"enumerant" : "AllowContractFastINTEL",
"value" : "0x10000",
- "capabilities" : [ "FPFastMathModeINTEL" ],
+ "capabilities" : [ "FloatControls2", "FPFastMathModeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "AllowReassoc",
+ "value" : "0x20000",
+ "capabilities" : [ "FloatControls2", "FPFastMathModeINTEL" ],
"version" : "None"
},
{
"enumerant" : "AllowReassocINTEL",
"value" : "0x20000",
- "capabilities" : [ "FPFastMathModeINTEL" ],
+ "capabilities" : [ "FloatControls2", "FPFastMathModeINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "AllowTransform",
+ "value" : "0x40000",
+ "capabilities" : [ "FloatControls2" ],
"version" : "None"
}
]
@@ -8932,15 +10051,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 +10072,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 +10145,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9030,7 +10154,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9040,7 +10163,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9050,7 +10172,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9060,7 +10181,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9070,7 +10190,6 @@
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
},
{
@@ -9080,17 +10199,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" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxReinvocationDelayINTEL",
+ "value" : "0x2000000",
"parameters" : [
{ "kind" : "LiteralInteger" }
],
"capabilities" : [ "FPGALoopControlsINTEL" ],
- "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
"version" : "None"
}
]
@@ -9101,23 +10233,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 +10270,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 +10384,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 +10484,14 @@
"enumerants" : [
{
"enumerant" : "None",
- "value" : "0x0000"
+ "value" : "0x0000",
+ "version" : "1.0"
},
{
"enumerant" : "CmdExecTime",
"value" : "0x0001",
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
}
]
},
@@ -9409,6 +10564,12 @@
"value" : "0x0200",
"capabilities" : [ "RayTraversalPrimitiveCullingKHR" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "ForceOpacityMicromap2StateEXT",
+ "value" : "0x0400",
+ "capabilities" : [ "RayTracingOpacityMicromapEXT" ],
+ "version" : "None"
}
]
},
@@ -9448,35 +10609,68 @@
"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"
+ },
+ {
+ "enumerant" : "Zig",
+ "value" : 12,
+ "version" : "1.0"
}
]
},
@@ -9487,37 +10681,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",
@@ -9623,17 +10824,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",
@@ -9658,17 +10862,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",
@@ -9695,82 +10902,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",
@@ -9779,7 +11002,8 @@
{ "kind" : "LiteralInteger", "name" : "'x size'" },
{ "kind" : "LiteralInteger", "name" : "'y size'" },
{ "kind" : "LiteralInteger", "name" : "'z size'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "LocalSizeHint",
@@ -9789,42 +11013,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",
@@ -9832,22 +11064,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",
@@ -9855,12 +11091,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",
@@ -9923,6 +11161,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" ],
@@ -10001,6 +11257,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" ],
@@ -10043,6 +11345,18 @@
"version": "None"
},
{
+ "enumerant": "QuadDerivativesKHR",
+ "value": 5088,
+ "capabilities": [ "QuadControlKHR" ],
+ "version": "None"
+ },
+ {
+ "enumerant" : "RequireFullQuadsKHR",
+ "value" : 5089,
+ "capabilities" : [ "QuadControlKHR" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "OutputLinesNV",
"value" : 5269,
"capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ],
@@ -10240,6 +11554,41 @@
"version" : "None"
},
{
+ "enumerant" : "MaximallyReconvergesKHR",
+ "value" : 6023,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_KHR_maximal_reconvergence" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPFastMathDefault",
+ "value" : 6028,
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Target Type'" },
+ { "kind" : "IdRef", "name" : "'Fast-Math Mode'" }
+ ],
+ "capabilities" : [ "FloatControls2" ],
+ "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" : [
@@ -10256,57 +11605,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",
@@ -10319,6 +11680,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" ],
@@ -10417,6 +11796,12 @@
"version" : "1.5"
},
{
+ "enumerant" : "HitObjectAttributeNV",
+ "value" : 5385,
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "TaskPayloadWorkgroupEXT",
"value" : 5402,
"extensions" : [ "SPV_EXT_mesh_shader" ],
@@ -10457,36 +11842,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"
}
]
},
@@ -10497,27 +11894,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"
}
]
},
@@ -10528,12 +11925,12 @@
{
"enumerant" : "Nearest",
"value" : 0,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
},
{
"enumerant" : "Linear",
"value" : 1,
- "capabilities" : [ "Kernel" ]
+ "version": "1.0"
}
]
},
@@ -10543,212 +11940,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"
}
]
},
@@ -10759,102 +12198,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"
}
]
},
@@ -10865,87 +12324,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"
}
]
},
@@ -10955,19 +12443,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"
}
]
},
@@ -10986,7 +12478,7 @@
"value" : 1,
"capabilities" : [ "FunctionFloatControlINTEL" ],
"version" : "None"
- }
+ }
]
},
{
@@ -11098,12 +12590,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",
@@ -11121,17 +12615,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"
}
]
},
@@ -11142,42 +12669,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"
}
]
},
@@ -11188,7 +12729,8 @@
{
"enumerant" : "RelaxedPrecision",
"value" : 0,
- "capabilities" : [ "Shader" ]
+ "capabilities" : [ "Shader" ],
+ "version": "1.0"
},
{
"enumerant" : "SpecId",
@@ -11196,28 +12738,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",
@@ -11225,7 +12772,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Array Stride'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MatrixStride",
@@ -11233,93 +12781,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",
@@ -11333,7 +12900,8 @@
{
"enumerant" : "SaturatedConversion",
"value" : 28,
- "capabilities" : [ "Kernel" ]
+ "capabilities" : [ "Kernel" ],
+ "version": "1.0"
},
{
"enumerant" : "Stream",
@@ -11341,7 +12909,8 @@
"capabilities" : [ "GeometryStreams" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Stream Number'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Location",
@@ -11349,7 +12918,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Location'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Component",
@@ -11357,7 +12927,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Component'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Index",
@@ -11365,7 +12936,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Index'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Binding",
@@ -11373,7 +12945,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Binding Point'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "DescriptorSet",
@@ -11381,7 +12954,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Offset",
@@ -11389,7 +12963,8 @@
"capabilities" : [ "Shader" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "XfbBuffer",
@@ -11397,7 +12972,8 @@
"capabilities" : [ "TransformFeedback" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "XfbStride",
@@ -11405,7 +12981,8 @@
"capabilities" : [ "TransformFeedback" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "FuncParamAttr",
@@ -11413,22 +12990,25 @@
"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",
"value" : 40,
- "capabilities" : [ "Kernel" ],
+ "capabilities" : [ "Kernel", "FloatControls2" ],
"parameters" : [
{ "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "LinkageAttributes",
@@ -11437,12 +13017,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",
@@ -11450,7 +13032,8 @@
"capabilities" : [ "InputAttachment" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "Alignment",
@@ -11458,7 +13041,8 @@
"capabilities" : [ "Kernel" ],
"parameters" : [
{ "kind" : "LiteralInteger", "name" : "'Alignment'" }
- ]
+ ],
+ "version": "1.0"
},
{
"enumerant" : "MaxByteOffset",
@@ -11500,12 +13084,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" ],
@@ -11619,6 +13248,12 @@
"version" : "1.5"
},
{
+ "enumerant" : "HitObjectShaderRecordBufferNV",
+ "value" : 5386,
+ "capabilities" : [ "ShaderInvocationReorderNV" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BindlessSamplerNV",
"value" : 5398,
"capabilities" : [ "BindlessTextureNV" ],
@@ -11882,6 +13517,30 @@
"version" : "None"
},
{
+ "enumerant" : "StridesizeINTEL",
+ "value" : 5883,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Stride Size'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "WordsizeINTEL",
+ "value" : 5884,
+ "parameters" : [
+ { "kind" : "LiteralInteger", "name" : "'Word Size'" }
+ ],
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TrueDualPortINTEL",
+ "value" : 5885,
+ "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BurstCoalesceINTEL",
"value" : 5899,
"capabilities" : [ "FPGAMemoryAccessesINTEL" ],
@@ -11924,6 +13583,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" : [
@@ -11942,6 +13611,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" : [
@@ -11986,6 +13682,161 @@
"value" : 6140,
"capabilities" : [ "VectorComputeINTEL" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "StallFreeINTEL",
+ "value" : 6151,
+ "capabilities" : [ "FPGAClusterAttributesV2INTEL" ],
+ "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" : "HostAccessINTEL",
+ "value" : 6188,
+ "parameters": [
+ { "kind" : "HostAccessQualifier", "name" : "'Access'" },
+ { "kind" : "LiteralString", "name" : "'Name'" }
+ ],
+ "capabilities" : [ "GlobalVariableHostAccessINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "InitModeINTEL",
+ "value" : 6190,
+ "parameters": [
+ { "kind" : "InitializationModeQualifier", "name" : "'Trigger'" }
+ ],
+ "capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ImplementInRegisterMapINTEL",
+ "value" : 6191,
+ "parameters": [
+ { "kind" : "LiteralInteger", "name" : "Value" }
+ ],
+ "capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
+ "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"
}
]
},
@@ -11996,201 +13847,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" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "CoreCountARM",
+ "value" : 4161,
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "CoreMaxIDARM",
+ "value" : 4162,
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "WarpIDARM",
+ "value" : 4163,
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
+ },
+ {
+ "enumerant" : "WarpMaxIDARM",
+ "value" : 4164,
+ "capabilities" : [ "CoreBuiltinsARM" ],
+ "version": "1.0"
},
{
"enumerant" : "SubgroupEqMask",
@@ -12356,6 +14278,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" ],
@@ -12720,6 +14654,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" ],
@@ -12769,6 +14721,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" ],
@@ -12783,23 +14747,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",
@@ -12828,17 +14797,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",
@@ -12876,17 +14848,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"
}
]
},
@@ -12896,272 +14871,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",
@@ -13244,6 +15275,30 @@
"version" : "1.6"
},
{
+ "enumerant" : "CoreBuiltinsARM",
+ "value" : 4165,
+ "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",
"value" : 4422,
"capabilities" : [ "Shader" ],
@@ -13280,7 +15335,7 @@
{
"enumerant" : "WorkgroupMemoryExplicitLayout16BitAccessKHR",
"value" : 4430,
- "capabilities" : [ "Shader" ],
+ "capabilities" : [ "WorkgroupMemoryExplicitLayoutKHR" ],
"extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
"version" : "None"
},
@@ -13451,6 +15506,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" ],
@@ -13495,11 +15568,23 @@
{
"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" : "QuadControlKHR",
+ "value" : 5087,
+ "extensions" : [ "SPV_KHR_quad_control" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SampleMaskOverrideCoverageNV",
"value" : 5249,
"capabilities" : [ "SampleRateShading" ],
@@ -13770,6 +15855,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" ],
@@ -13881,12 +15973,47 @@
"version" : "1.6"
},
{
+ "enumerant" : "DisplacementMicromapNV",
+ "value" : 5380,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_displacement_micromap" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "RayTracingOpacityMicromapEXT",
+ "value" : 5381,
+ "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
+ "extensions" : [ "SPV_EXT_opacity_micromap" ],
+ "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" ],
@@ -14082,12 +16209,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" ],
@@ -14106,6 +16245,12 @@
"version" : "None"
},
{
+ "enumerant" : "RuntimeAlignedAttributeINTEL",
+ "value" : 5939,
+ "extensions" : [ "SPV_INTEL_runtime_aligned" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "IOPipesINTEL",
"value" : 5943,
"extensions" : [ "SPV_INTEL_io_pipes" ],
@@ -14176,6 +16321,12 @@
"version" : "None"
},
{
+ "enumerant" : "CooperativeMatrixKHR",
+ "value" : 6022,
+ "extensions" : [ "SPV_KHR_cooperative_matrix" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BitInstructions",
"value" : 6025,
"extensions" : [ "SPV_KHR_bit_instructions" ],
@@ -14189,6 +16340,12 @@
"version" : "None"
},
{
+ "enumerant" : "FloatControls2",
+ "value" : 6029,
+ "extensions" : [ "SPV_KHR_float_controls2" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "AtomicFloat32AddEXT",
"value" : 6033,
"extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
@@ -14201,9 +16358,9 @@
"version" : "None"
},
{
- "enumerant" : "LongConstantCompositeINTEL",
+ "enumerant" : "LongCompositesINTEL",
"value" : 6089,
- "extensions" : [ "SPV_INTEL_long_constant_composite" ],
+ "extensions" : [ "SPV_INTEL_long_composites" ],
"version" : "None"
},
{
@@ -14225,16 +16382,78 @@
"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" : "FPGAClusterAttributesV2INTEL",
+ "value" : 6150,
+ "capabilities" : [ "FPGAClusterAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_fpga_cluster_attributes" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "FPGAKernelAttributesv2INTEL",
+ "value" : 6161,
+ "capabilities" : [ "FPGAKernelAttributesINTEL" ],
+ "extensions" : [ "SPV_INTEL_kernel_attributes" ],
+ "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" : "GlobalVariableHostAccessINTEL",
+ "value" : 6187,
+ "extensions": [ "SPV_INTEL_global_variable_host_access" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "GlobalVariableFPGADecorationsINTEL",
+ "value" : 6189,
+ "extensions": [ "SPV_INTEL_global_variable_fpga_decorations" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "GroupUniformArithmeticKHR",
"value" : 6400,
"extensions" : [ "SPV_KHR_uniform_group_instructions"],
"version" : "None"
+ },
+ {
+ "enumerant" : "MaskedGatherScatterINTEL",
+ "value" : 6427,
+ "extensions" : [ "SPV_INTEL_masked_gather_scatter"],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CacheControlsINTEL",
+ "value" : 6441,
+ "extensions" : [ "SPV_INTEL_cache_controls" ],
+ "version" : "None"
}
]
},
@@ -14316,6 +16535,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"
@@ -14352,6 +16728,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 14d36ae..41bbbf1 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),
@@ -65,6 +65,11 @@ namespace Spv
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
+ Zig = 12,
}
public enum ExecutionModel
@@ -152,6 +157,9 @@ namespace Spv
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -161,12 +169,19 @@ namespace Spv
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
StencilRefUnchangedBackAMD = 5082,
StencilRefGreaterBackAMD = 5083,
StencilRefLessBackAMD = 5084,
+ QuadDerivativesKHR = 5088,
+ RequireFullQuadsKHR = 5089,
OutputLinesEXT = 5269,
OutputLinesNV = 5269,
OutputPrimitivesEXT = 5270,
@@ -191,6 +206,10 @@ namespace Spv
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ MaximallyReconvergesKHR = 6023,
+ FPFastMathDefault = 6028,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
}
@@ -209,6 +228,9 @@ namespace Spv
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -223,6 +245,7 @@ namespace Spv
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -238,6 +261,7 @@ namespace Spv
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
}
public enum SamplerAddressingMode
@@ -344,6 +368,8 @@ namespace Spv
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
}
public enum ImageOperandsShift
@@ -402,8 +428,11 @@ namespace Spv
NSZ = 2,
AllowRecip = 3,
Fast = 4,
+ AllowContract = 16,
AllowContractFastINTEL = 16,
+ AllowReassoc = 17,
AllowReassocINTEL = 17,
+ AllowTransform = 18,
}
public enum FPFastMathModeMask
@@ -414,8 +443,11 @@ namespace Spv
NSZ = 0x00000004,
AllowRecip = 0x00000008,
Fast = 0x00000010,
+ AllowContract = 0x00010000,
AllowContractFastINTEL = 0x00010000,
+ AllowReassoc = 0x00020000,
AllowReassocINTEL = 0x00020000,
+ AllowTransform = 0x00040000,
}
public enum FPRoundingMode
@@ -450,6 +482,7 @@ namespace Spv
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
}
public enum Decoration
@@ -503,7 +536,13 @@ namespace Spv
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 +559,7 @@ namespace Spv
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -552,20 +592,45 @@ namespace Spv
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
+ StridesizeINTEL = 5883,
+ WordsizeINTEL = 5884,
+ TrueDualPortINTEL = 5885,
BurstCoalesceINTEL = 5899,
CacheSizeINTEL = 5900,
DontStaticallyCoalesceINTEL = 5901,
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,
+ StallFreeINTEL = 6151,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ HostAccessINTEL = 6188,
+ InitModeINTEL = 6190,
+ ImplementInRegisterMapINTEL = 6191,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
}
public enum BuiltIn
@@ -611,6 +676,11 @@ namespace Spv
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ CoreIDARM = 4160,
+ CoreCountARM = 4161,
+ CoreMaxIDARM = 4162,
+ WarpIDARM = 4163,
+ WarpMaxIDARM = 4164,
SubgroupEqMask = 4416,
SubgroupEqMaskKHR = 4416,
SubgroupGeMask = 4417,
@@ -636,6 +706,8 @@ namespace Spv
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -688,6 +760,9 @@ namespace Spv
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -695,6 +770,8 @@ namespace Spv
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
}
@@ -730,6 +807,8 @@ namespace Spv
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
}
public enum LoopControlMask
@@ -752,6 +831,8 @@ namespace Spv
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
}
public enum FunctionControlShift
@@ -960,6 +1041,10 @@ namespace Spv
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
+ CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -991,6 +1076,9 @@ namespace Spv
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -998,6 +1086,8 @@ namespace Spv
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
+ QuadControlKHR = 5087,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1039,6 +1129,7 @@ namespace Spv
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1056,7 +1147,12 @@ namespace Spv
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
+ RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1089,10 +1185,13 @@ namespace Spv
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,
@@ -1105,16 +1204,28 @@ namespace Spv
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
+ FloatControls2 = 6029,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
- LongConstantCompositeINTEL = 6089,
+ LongCompositesINTEL = 6089,
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ FPGAClusterAttributesV2INTEL = 6150,
+ FPGAKernelAttributesv2INTEL = 6161,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
+ GlobalVariableHostAccessINTEL = 6187,
+ GlobalVariableFPGADecorationsINTEL = 6189,
GroupUniformArithmeticKHR = 6400,
+ MaskedGatherScatterINTEL = 6427,
+ CacheControlsINTEL = 6441,
}
public enum RayFlagsShift
@@ -1129,6 +1240,7 @@ namespace Spv
CullNoOpaqueKHR = 7,
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
+ ForceOpacityMicromap2StateEXT = 10,
}
public enum RayFlagsMask
@@ -1144,6 +1256,7 @@ namespace Spv
CullNoOpaqueKHR = 0x00000080,
SkipTrianglesKHR = 0x00000100,
SkipAABBsKHR = 0x00000200,
+ ForceOpacityMicromap2StateEXT = 0x00000400,
}
public enum RayQueryIntersection
@@ -1220,6 +1333,69 @@ namespace Spv
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,
@@ -1566,6 +1742,9 @@ namespace Spv
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1591,6 +1770,11 @@ namespace Spv
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1598,6 +1782,10 @@ namespace Spv
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1609,11 +1797,51 @@ namespace Spv
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpGroupNonUniformQuadAllKHR = 5110,
+ OpGroupNonUniformQuadAnyKHR = 5111,
+ 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,
@@ -1621,6 +1849,7 @@ namespace Spv
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1882,6 +2111,9 @@ namespace Spv
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpCompositeConstructContinuedINTEL = 6096,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -1892,6 +2124,8 @@ namespace Spv
OpGroupLogicalAndKHR = 6406,
OpGroupLogicalOrKHR = 6407,
OpGroupLogicalXorKHR = 6408,
+ OpMaskedGatherINTEL = 6428,
+ OpMaskedScatterINTEL = 6429,
}
}
}
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 5b6e8aa..a68b7a1 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -1,5 +1,5 @@
/*
-** Copyright (c) 2014-2020 The Khronos Group Inc.
+** Copyright (c) 2014-2024 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"),
@@ -73,6 +73,11 @@ typedef enum SpvSourceLanguage_ {
SpvSourceLanguageHLSL = 5,
SpvSourceLanguageCPP_for_OpenCL = 6,
SpvSourceLanguageSYCL = 7,
+ SpvSourceLanguageHERO_C = 8,
+ SpvSourceLanguageNZSL = 9,
+ SpvSourceLanguageWGSL = 10,
+ SpvSourceLanguageSlang = 11,
+ SpvSourceLanguageZig = 12,
SpvSourceLanguageMax = 0x7fffffff,
} SpvSourceLanguage;
@@ -160,6 +165,9 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
SpvExecutionModeLocalSizeId = 38,
SpvExecutionModeLocalSizeHintId = 39,
+ SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
+ SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
+ SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
SpvExecutionModePostDepthCoverage = 4446,
SpvExecutionModeDenormPreserve = 4459,
@@ -169,12 +177,19 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeRoundingModeRTZ = 4463,
SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
SpvExecutionModeStencilRefReplacingEXT = 5027,
+ SpvExecutionModeCoalescingAMDX = 5069,
+ SpvExecutionModeMaxNodeRecursionAMDX = 5071,
+ SpvExecutionModeStaticNumWorkgroupsAMDX = 5072,
+ SpvExecutionModeShaderIndexAMDX = 5073,
+ SpvExecutionModeMaxNumWorkgroupsAMDX = 5077,
SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
SpvExecutionModeStencilRefLessFrontAMD = 5081,
SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
SpvExecutionModeStencilRefGreaterBackAMD = 5083,
SpvExecutionModeStencilRefLessBackAMD = 5084,
+ SpvExecutionModeQuadDerivativesKHR = 5088,
+ SpvExecutionModeRequireFullQuadsKHR = 5089,
SpvExecutionModeOutputLinesEXT = 5269,
SpvExecutionModeOutputLinesNV = 5269,
SpvExecutionModeOutputPrimitivesEXT = 5270,
@@ -199,6 +214,10 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+ SpvExecutionModeMaximallyReconvergesKHR = 6023,
+ SpvExecutionModeFPFastMathDefault = 6028,
+ SpvExecutionModeStreamingInterfaceINTEL = 6154,
+ SpvExecutionModeRegisterMapInterfaceINTEL = 6160,
SpvExecutionModeNamedBarrierCountINTEL = 6417,
SpvExecutionModeMax = 0x7fffffff,
} SpvExecutionMode;
@@ -217,6 +236,9 @@ typedef enum SpvStorageClass_ {
SpvStorageClassAtomicCounter = 10,
SpvStorageClassImage = 11,
SpvStorageClassStorageBuffer = 12,
+ SpvStorageClassTileImageEXT = 4172,
+ SpvStorageClassNodePayloadAMDX = 5068,
+ SpvStorageClassNodeOutputPayloadAMDX = 5076,
SpvStorageClassCallableDataKHR = 5328,
SpvStorageClassCallableDataNV = 5328,
SpvStorageClassIncomingCallableDataKHR = 5329,
@@ -231,6 +253,7 @@ typedef enum SpvStorageClass_ {
SpvStorageClassShaderRecordBufferNV = 5343,
SpvStorageClassPhysicalStorageBuffer = 5349,
SpvStorageClassPhysicalStorageBufferEXT = 5349,
+ SpvStorageClassHitObjectAttributeNV = 5385,
SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
SpvStorageClassCodeSectionINTEL = 5605,
SpvStorageClassDeviceOnlyINTEL = 5936,
@@ -246,6 +269,7 @@ typedef enum SpvDim_ {
SpvDimRect = 4,
SpvDimBuffer = 5,
SpvDimSubpassData = 6,
+ SpvDimTileImageDataEXT = 4173,
SpvDimMax = 0x7fffffff,
} SpvDim;
@@ -352,6 +376,8 @@ typedef enum SpvImageChannelDataType_ {
SpvImageChannelDataTypeFloat = 14,
SpvImageChannelDataTypeUnormInt24 = 15,
SpvImageChannelDataTypeUnormInt101010_2 = 16,
+ SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
+ SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
SpvImageChannelDataTypeMax = 0x7fffffff,
} SpvImageChannelDataType;
@@ -409,8 +435,11 @@ typedef enum SpvFPFastMathModeShift_ {
SpvFPFastMathModeNSZShift = 2,
SpvFPFastMathModeAllowRecipShift = 3,
SpvFPFastMathModeFastShift = 4,
+ SpvFPFastMathModeAllowContractShift = 16,
SpvFPFastMathModeAllowContractFastINTELShift = 16,
+ SpvFPFastMathModeAllowReassocShift = 17,
SpvFPFastMathModeAllowReassocINTELShift = 17,
+ SpvFPFastMathModeAllowTransformShift = 18,
SpvFPFastMathModeMax = 0x7fffffff,
} SpvFPFastMathModeShift;
@@ -421,8 +450,11 @@ typedef enum SpvFPFastMathModeMask_ {
SpvFPFastMathModeNSZMask = 0x00000004,
SpvFPFastMathModeAllowRecipMask = 0x00000008,
SpvFPFastMathModeFastMask = 0x00000010,
+ SpvFPFastMathModeAllowContractMask = 0x00010000,
SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
+ SpvFPFastMathModeAllowReassocMask = 0x00020000,
SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
+ SpvFPFastMathModeAllowTransformMask = 0x00040000,
} SpvFPFastMathModeMask;
typedef enum SpvFPRoundingMode_ {
@@ -456,6 +488,7 @@ typedef enum SpvFunctionParameterAttribute_ {
SpvFunctionParameterAttributeNoCapture = 5,
SpvFunctionParameterAttributeNoWrite = 6,
SpvFunctionParameterAttributeNoReadWrite = 7,
+ SpvFunctionParameterAttributeRuntimeAlignedINTEL = 5940,
SpvFunctionParameterAttributeMax = 0x7fffffff,
} SpvFunctionParameterAttribute;
@@ -509,7 +542,13 @@ typedef enum SpvDecoration_ {
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 +565,7 @@ typedef enum SpvDecoration_ {
SpvDecorationRestrictPointerEXT = 5355,
SpvDecorationAliasedPointer = 5356,
SpvDecorationAliasedPointerEXT = 5356,
+ SpvDecorationHitObjectShaderRecordBufferNV = 5386,
SpvDecorationBindlessSamplerNV = 5398,
SpvDecorationBindlessImageNV = 5399,
SpvDecorationBoundSamplerNV = 5400,
@@ -558,20 +598,45 @@ typedef enum SpvDecoration_ {
SpvDecorationMergeINTEL = 5834,
SpvDecorationBankBitsINTEL = 5835,
SpvDecorationForcePow2DepthINTEL = 5836,
+ SpvDecorationStridesizeINTEL = 5883,
+ SpvDecorationWordsizeINTEL = 5884,
+ SpvDecorationTrueDualPortINTEL = 5885,
SpvDecorationBurstCoalesceINTEL = 5899,
SpvDecorationCacheSizeINTEL = 5900,
SpvDecorationDontStaticallyCoalesceINTEL = 5901,
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,
+ SpvDecorationStallFreeINTEL = 6151,
+ SpvDecorationFPMaxErrorDecorationINTEL = 6170,
+ SpvDecorationLatencyControlLabelINTEL = 6172,
+ SpvDecorationLatencyControlConstraintINTEL = 6173,
+ SpvDecorationConduitKernelArgumentINTEL = 6175,
+ SpvDecorationRegisterMapKernelArgumentINTEL = 6176,
+ SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177,
+ SpvDecorationMMHostInterfaceDataWidthINTEL = 6178,
+ SpvDecorationMMHostInterfaceLatencyINTEL = 6179,
+ SpvDecorationMMHostInterfaceReadWriteModeINTEL = 6180,
+ SpvDecorationMMHostInterfaceMaxBurstINTEL = 6181,
+ SpvDecorationMMHostInterfaceWaitRequestINTEL = 6182,
+ SpvDecorationStableKernelArgumentINTEL = 6183,
+ SpvDecorationHostAccessINTEL = 6188,
+ SpvDecorationInitModeINTEL = 6190,
+ SpvDecorationImplementInRegisterMapINTEL = 6191,
+ SpvDecorationCacheControlLoadINTEL = 6442,
+ SpvDecorationCacheControlStoreINTEL = 6443,
SpvDecorationMax = 0x7fffffff,
} SpvDecoration;
@@ -617,6 +682,11 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInSubgroupLocalInvocationId = 41,
SpvBuiltInVertexIndex = 42,
SpvBuiltInInstanceIndex = 43,
+ SpvBuiltInCoreIDARM = 4160,
+ SpvBuiltInCoreCountARM = 4161,
+ SpvBuiltInCoreMaxIDARM = 4162,
+ SpvBuiltInWarpIDARM = 4163,
+ SpvBuiltInWarpMaxIDARM = 4164,
SpvBuiltInSubgroupEqMask = 4416,
SpvBuiltInSubgroupEqMaskKHR = 4416,
SpvBuiltInSubgroupGeMask = 4417,
@@ -642,6 +712,8 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
SpvBuiltInBaryCoordPullModelAMD = 4998,
SpvBuiltInFragStencilRefEXT = 5014,
+ SpvBuiltInCoalescedInputCountAMDX = 5021,
+ SpvBuiltInShaderIndexAMDX = 5073,
SpvBuiltInViewportMaskNV = 5253,
SpvBuiltInSecondaryPositionNV = 5257,
SpvBuiltInSecondaryViewportMaskNV = 5258,
@@ -694,6 +766,9 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInHitKindKHR = 5333,
SpvBuiltInHitKindNV = 5333,
SpvBuiltInCurrentRayTimeNV = 5334,
+ SpvBuiltInHitTriangleVertexPositionsKHR = 5335,
+ SpvBuiltInHitMicroTriangleVertexPositionsNV = 5337,
+ SpvBuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
SpvBuiltInIncomingRayFlagsKHR = 5351,
SpvBuiltInIncomingRayFlagsNV = 5351,
SpvBuiltInRayGeometryIndexKHR = 5352,
@@ -701,6 +776,8 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInSMCountNV = 5375,
SpvBuiltInWarpIDNV = 5376,
SpvBuiltInSMIDNV = 5377,
+ SpvBuiltInHitKindFrontFacingMicroTriangleNV = 5405,
+ SpvBuiltInHitKindBackFacingMicroTriangleNV = 5406,
SpvBuiltInCullMaskKHR = 6021,
SpvBuiltInMax = 0x7fffffff,
} SpvBuiltIn;
@@ -735,6 +812,8 @@ typedef enum SpvLoopControlShift_ {
SpvLoopControlMaxInterleavingINTELShift = 21,
SpvLoopControlSpeculatedIterationsINTELShift = 22,
SpvLoopControlNoFusionINTELShift = 23,
+ SpvLoopControlLoopCountINTELShift = 24,
+ SpvLoopControlMaxReinvocationDelayINTELShift = 25,
SpvLoopControlMax = 0x7fffffff,
} SpvLoopControlShift;
@@ -757,6 +836,8 @@ typedef enum SpvLoopControlMask_ {
SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
SpvLoopControlNoFusionINTELMask = 0x00800000,
+ SpvLoopControlLoopCountINTELMask = 0x01000000,
+ SpvLoopControlMaxReinvocationDelayINTELMask = 0x02000000,
} SpvLoopControlMask;
typedef enum SpvFunctionControlShift_ {
@@ -960,6 +1041,10 @@ typedef enum SpvCapability_ {
SpvCapabilityShaderLayer = 69,
SpvCapabilityShaderViewportIndex = 70,
SpvCapabilityUniformDecoration = 71,
+ SpvCapabilityCoreBuiltinsARM = 4165,
+ SpvCapabilityTileImageColorReadAccessEXT = 4166,
+ SpvCapabilityTileImageDepthReadAccessEXT = 4167,
+ SpvCapabilityTileImageStencilReadAccessEXT = 4168,
SpvCapabilityFragmentShadingRateKHR = 4422,
SpvCapabilitySubgroupBallotKHR = 4423,
SpvCapabilityDrawParameters = 4427,
@@ -991,6 +1076,9 @@ typedef enum SpvCapability_ {
SpvCapabilityRayQueryKHR = 4472,
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
SpvCapabilityRayTracingKHR = 4479,
+ SpvCapabilityTextureSampleWeightedQCOM = 4484,
+ SpvCapabilityTextureBoxFilterQCOM = 4485,
+ SpvCapabilityTextureBlockMatchQCOM = 4486,
SpvCapabilityFloat16ImageAMD = 5008,
SpvCapabilityImageGatherBiasLodAMD = 5009,
SpvCapabilityFragmentMaskAMD = 5010,
@@ -998,6 +1086,8 @@ typedef enum SpvCapability_ {
SpvCapabilityImageReadWriteLodAMD = 5015,
SpvCapabilityInt64ImageEXT = 5016,
SpvCapabilityShaderClockKHR = 5055,
+ SpvCapabilityShaderEnqueueAMDX = 5067,
+ SpvCapabilityQuadControlKHR = 5087,
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
SpvCapabilityGeometryShaderPassthroughNV = 5251,
SpvCapabilityShaderViewportIndexLayerEXT = 5254,
@@ -1039,6 +1129,7 @@ typedef enum SpvCapability_ {
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ SpvCapabilityRayTracingPositionFetchKHR = 5336,
SpvCapabilityRayTracingNV = 5340,
SpvCapabilityRayTracingMotionBlurNV = 5341,
SpvCapabilityVulkanMemoryModel = 5345,
@@ -1056,7 +1147,12 @@ typedef enum SpvCapability_ {
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
SpvCapabilityDemoteToHelperInvocation = 5379,
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
+ SpvCapabilityDisplacementMicromapNV = 5380,
+ SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
+ SpvCapabilityShaderInvocationReorderNV = 5383,
SpvCapabilityBindlessTextureNV = 5390,
+ SpvCapabilityRayQueryPositionFetchKHR = 5391,
+ SpvCapabilityRayTracingDisplacementMicromapNV = 5409,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1089,10 +1185,13 @@ typedef enum SpvCapability_ {
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,
@@ -1105,16 +1204,28 @@ typedef enum SpvCapability_ {
SpvCapabilityDotProduct = 6019,
SpvCapabilityDotProductKHR = 6019,
SpvCapabilityRayCullMaskKHR = 6020,
+ SpvCapabilityCooperativeMatrixKHR = 6022,
SpvCapabilityBitInstructions = 6025,
SpvCapabilityGroupNonUniformRotateKHR = 6026,
+ SpvCapabilityFloatControls2 = 6029,
SpvCapabilityAtomicFloat32AddEXT = 6033,
SpvCapabilityAtomicFloat64AddEXT = 6034,
- SpvCapabilityLongConstantCompositeINTEL = 6089,
+ SpvCapabilityLongCompositesINTEL = 6089,
SpvCapabilityOptNoneINTEL = 6094,
SpvCapabilityAtomicFloat16AddEXT = 6095,
SpvCapabilityDebugInfoModuleINTEL = 6114,
+ SpvCapabilityBFloat16ConversionINTEL = 6115,
SpvCapabilitySplitBarrierINTEL = 6141,
+ SpvCapabilityFPGAClusterAttributesV2INTEL = 6150,
+ SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,
+ SpvCapabilityFPMaxErrorINTEL = 6169,
+ SpvCapabilityFPGALatencyControlINTEL = 6171,
+ SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
+ SpvCapabilityGlobalVariableHostAccessINTEL = 6187,
+ SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6189,
SpvCapabilityGroupUniformArithmeticKHR = 6400,
+ SpvCapabilityMaskedGatherScatterINTEL = 6427,
+ SpvCapabilityCacheControlsINTEL = 6441,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -1129,6 +1240,7 @@ typedef enum SpvRayFlagsShift_ {
SpvRayFlagsCullNoOpaqueKHRShift = 7,
SpvRayFlagsSkipTrianglesKHRShift = 8,
SpvRayFlagsSkipAABBsKHRShift = 9,
+ SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
SpvRayFlagsMax = 0x7fffffff,
} SpvRayFlagsShift;
@@ -1144,6 +1256,7 @@ typedef enum SpvRayFlagsMask_ {
SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
+ SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
} SpvRayFlagsMask;
typedef enum SpvRayQueryIntersection_ {
@@ -1219,6 +1332,68 @@ typedef enum SpvPackedVectorFormat_ {
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,
@@ -1564,6 +1739,9 @@ typedef enum SpvOp_ {
SpvOpPtrEqual = 401,
SpvOpPtrNotEqual = 402,
SpvOpPtrDiff = 403,
+ SpvOpColorAttachmentReadEXT = 4160,
+ SpvOpDepthAttachmentReadEXT = 4161,
+ SpvOpStencilAttachmentReadEXT = 4162,
SpvOpTerminateInvocation = 4416,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
@@ -1589,6 +1767,11 @@ typedef enum SpvOp_ {
SpvOpUDotAccSatKHR = 4454,
SpvOpSUDotAccSat = 4455,
SpvOpSUDotAccSatKHR = 4455,
+ SpvOpTypeCooperativeMatrixKHR = 4456,
+ SpvOpCooperativeMatrixLoadKHR = 4457,
+ SpvOpCooperativeMatrixStoreKHR = 4458,
+ SpvOpCooperativeMatrixMulAddKHR = 4459,
+ SpvOpCooperativeMatrixLengthKHR = 4460,
SpvOpTypeRayQueryKHR = 4472,
SpvOpRayQueryInitializeKHR = 4473,
SpvOpRayQueryTerminateKHR = 4474,
@@ -1596,6 +1779,10 @@ typedef enum SpvOp_ {
SpvOpRayQueryConfirmIntersectionKHR = 4476,
SpvOpRayQueryProceedKHR = 4477,
SpvOpRayQueryGetIntersectionTypeKHR = 4479,
+ SpvOpImageSampleWeightedQCOM = 4480,
+ SpvOpImageBoxFilterQCOM = 4481,
+ SpvOpImageBlockMatchSSDQCOM = 4482,
+ SpvOpImageBlockMatchSADQCOM = 4483,
SpvOpGroupIAddNonUniformAMD = 5000,
SpvOpGroupFAddNonUniformAMD = 5001,
SpvOpGroupFMinNonUniformAMD = 5002,
@@ -1607,11 +1794,51 @@ typedef enum SpvOp_ {
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
SpvOpReadClockKHR = 5056,
+ SpvOpFinalizeNodePayloadsAMDX = 5075,
+ SpvOpFinishWritingNodePayloadAMDX = 5078,
+ SpvOpInitializeNodePayloadsAMDX = 5090,
+ SpvOpGroupNonUniformQuadAllKHR = 5110,
+ SpvOpGroupNonUniformQuadAnyKHR = 5111,
+ 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,
@@ -1619,6 +1846,7 @@ typedef enum SpvOp_ {
SpvOpTraceNV = 5337,
SpvOpTraceMotionNV = 5338,
SpvOpTraceRayMotionNV = 5339,
+ SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
SpvOpTypeAccelerationStructureKHR = 5341,
SpvOpTypeAccelerationStructureNV = 5341,
SpvOpExecuteCallableNV = 5344,
@@ -1880,6 +2108,9 @@ typedef enum SpvOp_ {
SpvOpTypeStructContinuedINTEL = 6090,
SpvOpConstantCompositeContinuedINTEL = 6091,
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
+ SpvOpCompositeConstructContinuedINTEL = 6096,
+ SpvOpConvertFToBF16INTEL = 6116,
+ SpvOpConvertBF16ToFINTEL = 6117,
SpvOpControlBarrierArriveINTEL = 6142,
SpvOpControlBarrierWaitINTEL = 6143,
SpvOpGroupIMulKHR = 6401,
@@ -1890,6 +2121,8 @@ typedef enum SpvOp_ {
SpvOpGroupLogicalAndKHR = 6406,
SpvOpGroupLogicalOrKHR = 6407,
SpvOpGroupLogicalXorKHR = 6408,
+ SpvOpMaskedGatherINTEL = 6428,
+ SpvOpMaskedScatterINTEL = 6429,
SpvOpMax = 0x7fffffff,
} SpvOp;
@@ -2245,6 +2478,9 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
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;
@@ -2264,6 +2500,11 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
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;
@@ -2271,6 +2512,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
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;
@@ -2282,17 +2527,58 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
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 SpvOpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; 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;
@@ -2550,6 +2836,9 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case SpvOpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; 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;
@@ -2560,6 +2849,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index e25264a..b9c8743 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),
@@ -69,6 +69,11 @@ enum SourceLanguage {
SourceLanguageHLSL = 5,
SourceLanguageCPP_for_OpenCL = 6,
SourceLanguageSYCL = 7,
+ SourceLanguageHERO_C = 8,
+ SourceLanguageNZSL = 9,
+ SourceLanguageWGSL = 10,
+ SourceLanguageSlang = 11,
+ SourceLanguageZig = 12,
SourceLanguageMax = 0x7fffffff,
};
@@ -156,6 +161,9 @@ enum ExecutionMode {
ExecutionModeSubgroupsPerWorkgroupId = 37,
ExecutionModeLocalSizeId = 38,
ExecutionModeLocalSizeHintId = 39,
+ ExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
+ ExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
+ ExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
ExecutionModeSubgroupUniformControlFlowKHR = 4421,
ExecutionModePostDepthCoverage = 4446,
ExecutionModeDenormPreserve = 4459,
@@ -165,12 +173,19 @@ enum ExecutionMode {
ExecutionModeRoundingModeRTZ = 4463,
ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
ExecutionModeStencilRefReplacingEXT = 5027,
+ ExecutionModeCoalescingAMDX = 5069,
+ ExecutionModeMaxNodeRecursionAMDX = 5071,
+ ExecutionModeStaticNumWorkgroupsAMDX = 5072,
+ ExecutionModeShaderIndexAMDX = 5073,
+ ExecutionModeMaxNumWorkgroupsAMDX = 5077,
ExecutionModeStencilRefUnchangedFrontAMD = 5079,
ExecutionModeStencilRefGreaterFrontAMD = 5080,
ExecutionModeStencilRefLessFrontAMD = 5081,
ExecutionModeStencilRefUnchangedBackAMD = 5082,
ExecutionModeStencilRefGreaterBackAMD = 5083,
ExecutionModeStencilRefLessBackAMD = 5084,
+ ExecutionModeQuadDerivativesKHR = 5088,
+ ExecutionModeRequireFullQuadsKHR = 5089,
ExecutionModeOutputLinesEXT = 5269,
ExecutionModeOutputLinesNV = 5269,
ExecutionModeOutputPrimitivesEXT = 5270,
@@ -195,6 +210,10 @@ enum ExecutionMode {
ExecutionModeNoGlobalOffsetINTEL = 5895,
ExecutionModeNumSIMDWorkitemsINTEL = 5896,
ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+ ExecutionModeMaximallyReconvergesKHR = 6023,
+ ExecutionModeFPFastMathDefault = 6028,
+ ExecutionModeStreamingInterfaceINTEL = 6154,
+ ExecutionModeRegisterMapInterfaceINTEL = 6160,
ExecutionModeNamedBarrierCountINTEL = 6417,
ExecutionModeMax = 0x7fffffff,
};
@@ -213,6 +232,9 @@ enum StorageClass {
StorageClassAtomicCounter = 10,
StorageClassImage = 11,
StorageClassStorageBuffer = 12,
+ StorageClassTileImageEXT = 4172,
+ StorageClassNodePayloadAMDX = 5068,
+ StorageClassNodeOutputPayloadAMDX = 5076,
StorageClassCallableDataKHR = 5328,
StorageClassCallableDataNV = 5328,
StorageClassIncomingCallableDataKHR = 5329,
@@ -227,6 +249,7 @@ enum StorageClass {
StorageClassShaderRecordBufferNV = 5343,
StorageClassPhysicalStorageBuffer = 5349,
StorageClassPhysicalStorageBufferEXT = 5349,
+ StorageClassHitObjectAttributeNV = 5385,
StorageClassTaskPayloadWorkgroupEXT = 5402,
StorageClassCodeSectionINTEL = 5605,
StorageClassDeviceOnlyINTEL = 5936,
@@ -242,6 +265,7 @@ enum Dim {
DimRect = 4,
DimBuffer = 5,
DimSubpassData = 6,
+ DimTileImageDataEXT = 4173,
DimMax = 0x7fffffff,
};
@@ -348,6 +372,8 @@ enum ImageChannelDataType {
ImageChannelDataTypeFloat = 14,
ImageChannelDataTypeUnormInt24 = 15,
ImageChannelDataTypeUnormInt101010_2 = 16,
+ ImageChannelDataTypeUnsignedIntRaw10EXT = 19,
+ ImageChannelDataTypeUnsignedIntRaw12EXT = 20,
ImageChannelDataTypeMax = 0x7fffffff,
};
@@ -405,8 +431,11 @@ enum FPFastMathModeShift {
FPFastMathModeNSZShift = 2,
FPFastMathModeAllowRecipShift = 3,
FPFastMathModeFastShift = 4,
+ FPFastMathModeAllowContractShift = 16,
FPFastMathModeAllowContractFastINTELShift = 16,
+ FPFastMathModeAllowReassocShift = 17,
FPFastMathModeAllowReassocINTELShift = 17,
+ FPFastMathModeAllowTransformShift = 18,
FPFastMathModeMax = 0x7fffffff,
};
@@ -417,8 +446,11 @@ enum FPFastMathModeMask {
FPFastMathModeNSZMask = 0x00000004,
FPFastMathModeAllowRecipMask = 0x00000008,
FPFastMathModeFastMask = 0x00000010,
+ FPFastMathModeAllowContractMask = 0x00010000,
FPFastMathModeAllowContractFastINTELMask = 0x00010000,
+ FPFastMathModeAllowReassocMask = 0x00020000,
FPFastMathModeAllowReassocINTELMask = 0x00020000,
+ FPFastMathModeAllowTransformMask = 0x00040000,
};
enum FPRoundingMode {
@@ -452,6 +484,7 @@ enum FunctionParameterAttribute {
FunctionParameterAttributeNoCapture = 5,
FunctionParameterAttributeNoWrite = 6,
FunctionParameterAttributeNoReadWrite = 7,
+ FunctionParameterAttributeRuntimeAlignedINTEL = 5940,
FunctionParameterAttributeMax = 0x7fffffff,
};
@@ -505,7 +538,13 @@ enum Decoration {
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 +561,7 @@ enum Decoration {
DecorationRestrictPointerEXT = 5355,
DecorationAliasedPointer = 5356,
DecorationAliasedPointerEXT = 5356,
+ DecorationHitObjectShaderRecordBufferNV = 5386,
DecorationBindlessSamplerNV = 5398,
DecorationBindlessImageNV = 5399,
DecorationBoundSamplerNV = 5400,
@@ -554,20 +594,45 @@ enum Decoration {
DecorationMergeINTEL = 5834,
DecorationBankBitsINTEL = 5835,
DecorationForcePow2DepthINTEL = 5836,
+ DecorationStridesizeINTEL = 5883,
+ DecorationWordsizeINTEL = 5884,
+ DecorationTrueDualPortINTEL = 5885,
DecorationBurstCoalesceINTEL = 5899,
DecorationCacheSizeINTEL = 5900,
DecorationDontStaticallyCoalesceINTEL = 5901,
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,
+ DecorationStallFreeINTEL = 6151,
+ DecorationFPMaxErrorDecorationINTEL = 6170,
+ DecorationLatencyControlLabelINTEL = 6172,
+ DecorationLatencyControlConstraintINTEL = 6173,
+ DecorationConduitKernelArgumentINTEL = 6175,
+ DecorationRegisterMapKernelArgumentINTEL = 6176,
+ DecorationMMHostInterfaceAddressWidthINTEL = 6177,
+ DecorationMMHostInterfaceDataWidthINTEL = 6178,
+ DecorationMMHostInterfaceLatencyINTEL = 6179,
+ DecorationMMHostInterfaceReadWriteModeINTEL = 6180,
+ DecorationMMHostInterfaceMaxBurstINTEL = 6181,
+ DecorationMMHostInterfaceWaitRequestINTEL = 6182,
+ DecorationStableKernelArgumentINTEL = 6183,
+ DecorationHostAccessINTEL = 6188,
+ DecorationInitModeINTEL = 6190,
+ DecorationImplementInRegisterMapINTEL = 6191,
+ DecorationCacheControlLoadINTEL = 6442,
+ DecorationCacheControlStoreINTEL = 6443,
DecorationMax = 0x7fffffff,
};
@@ -613,6 +678,11 @@ enum BuiltIn {
BuiltInSubgroupLocalInvocationId = 41,
BuiltInVertexIndex = 42,
BuiltInInstanceIndex = 43,
+ BuiltInCoreIDARM = 4160,
+ BuiltInCoreCountARM = 4161,
+ BuiltInCoreMaxIDARM = 4162,
+ BuiltInWarpIDARM = 4163,
+ BuiltInWarpMaxIDARM = 4164,
BuiltInSubgroupEqMask = 4416,
BuiltInSubgroupEqMaskKHR = 4416,
BuiltInSubgroupGeMask = 4417,
@@ -638,6 +708,8 @@ enum BuiltIn {
BuiltInBaryCoordSmoothSampleAMD = 4997,
BuiltInBaryCoordPullModelAMD = 4998,
BuiltInFragStencilRefEXT = 5014,
+ BuiltInCoalescedInputCountAMDX = 5021,
+ BuiltInShaderIndexAMDX = 5073,
BuiltInViewportMaskNV = 5253,
BuiltInSecondaryPositionNV = 5257,
BuiltInSecondaryViewportMaskNV = 5258,
@@ -690,6 +762,9 @@ enum BuiltIn {
BuiltInHitKindKHR = 5333,
BuiltInHitKindNV = 5333,
BuiltInCurrentRayTimeNV = 5334,
+ BuiltInHitTriangleVertexPositionsKHR = 5335,
+ BuiltInHitMicroTriangleVertexPositionsNV = 5337,
+ BuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
BuiltInIncomingRayFlagsKHR = 5351,
BuiltInIncomingRayFlagsNV = 5351,
BuiltInRayGeometryIndexKHR = 5352,
@@ -697,6 +772,8 @@ enum BuiltIn {
BuiltInSMCountNV = 5375,
BuiltInWarpIDNV = 5376,
BuiltInSMIDNV = 5377,
+ BuiltInHitKindFrontFacingMicroTriangleNV = 5405,
+ BuiltInHitKindBackFacingMicroTriangleNV = 5406,
BuiltInCullMaskKHR = 6021,
BuiltInMax = 0x7fffffff,
};
@@ -731,6 +808,8 @@ enum LoopControlShift {
LoopControlMaxInterleavingINTELShift = 21,
LoopControlSpeculatedIterationsINTELShift = 22,
LoopControlNoFusionINTELShift = 23,
+ LoopControlLoopCountINTELShift = 24,
+ LoopControlMaxReinvocationDelayINTELShift = 25,
LoopControlMax = 0x7fffffff,
};
@@ -753,6 +832,8 @@ enum LoopControlMask {
LoopControlMaxInterleavingINTELMask = 0x00200000,
LoopControlSpeculatedIterationsINTELMask = 0x00400000,
LoopControlNoFusionINTELMask = 0x00800000,
+ LoopControlLoopCountINTELMask = 0x01000000,
+ LoopControlMaxReinvocationDelayINTELMask = 0x02000000,
};
enum FunctionControlShift {
@@ -956,6 +1037,10 @@ enum Capability {
CapabilityShaderLayer = 69,
CapabilityShaderViewportIndex = 70,
CapabilityUniformDecoration = 71,
+ CapabilityCoreBuiltinsARM = 4165,
+ CapabilityTileImageColorReadAccessEXT = 4166,
+ CapabilityTileImageDepthReadAccessEXT = 4167,
+ CapabilityTileImageStencilReadAccessEXT = 4168,
CapabilityFragmentShadingRateKHR = 4422,
CapabilitySubgroupBallotKHR = 4423,
CapabilityDrawParameters = 4427,
@@ -987,6 +1072,9 @@ enum Capability {
CapabilityRayQueryKHR = 4472,
CapabilityRayTraversalPrimitiveCullingKHR = 4478,
CapabilityRayTracingKHR = 4479,
+ CapabilityTextureSampleWeightedQCOM = 4484,
+ CapabilityTextureBoxFilterQCOM = 4485,
+ CapabilityTextureBlockMatchQCOM = 4486,
CapabilityFloat16ImageAMD = 5008,
CapabilityImageGatherBiasLodAMD = 5009,
CapabilityFragmentMaskAMD = 5010,
@@ -994,6 +1082,8 @@ enum Capability {
CapabilityImageReadWriteLodAMD = 5015,
CapabilityInt64ImageEXT = 5016,
CapabilityShaderClockKHR = 5055,
+ CapabilityShaderEnqueueAMDX = 5067,
+ CapabilityQuadControlKHR = 5087,
CapabilitySampleMaskOverrideCoverageNV = 5249,
CapabilityGeometryShaderPassthroughNV = 5251,
CapabilityShaderViewportIndexLayerEXT = 5254,
@@ -1035,6 +1125,7 @@ enum Capability {
CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ CapabilityRayTracingPositionFetchKHR = 5336,
CapabilityRayTracingNV = 5340,
CapabilityRayTracingMotionBlurNV = 5341,
CapabilityVulkanMemoryModel = 5345,
@@ -1052,7 +1143,12 @@ enum Capability {
CapabilityFragmentShaderPixelInterlockEXT = 5378,
CapabilityDemoteToHelperInvocation = 5379,
CapabilityDemoteToHelperInvocationEXT = 5379,
+ CapabilityDisplacementMicromapNV = 5380,
+ CapabilityRayTracingOpacityMicromapEXT = 5381,
+ CapabilityShaderInvocationReorderNV = 5383,
CapabilityBindlessTextureNV = 5390,
+ CapabilityRayQueryPositionFetchKHR = 5391,
+ CapabilityRayTracingDisplacementMicromapNV = 5409,
CapabilitySubgroupShuffleINTEL = 5568,
CapabilitySubgroupBufferBlockIOINTEL = 5569,
CapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1085,10 +1181,13 @@ enum Capability {
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,
@@ -1101,16 +1200,28 @@ enum Capability {
CapabilityDotProduct = 6019,
CapabilityDotProductKHR = 6019,
CapabilityRayCullMaskKHR = 6020,
+ CapabilityCooperativeMatrixKHR = 6022,
CapabilityBitInstructions = 6025,
CapabilityGroupNonUniformRotateKHR = 6026,
+ CapabilityFloatControls2 = 6029,
CapabilityAtomicFloat32AddEXT = 6033,
CapabilityAtomicFloat64AddEXT = 6034,
- CapabilityLongConstantCompositeINTEL = 6089,
+ CapabilityLongCompositesINTEL = 6089,
CapabilityOptNoneINTEL = 6094,
CapabilityAtomicFloat16AddEXT = 6095,
CapabilityDebugInfoModuleINTEL = 6114,
+ CapabilityBFloat16ConversionINTEL = 6115,
CapabilitySplitBarrierINTEL = 6141,
+ CapabilityFPGAClusterAttributesV2INTEL = 6150,
+ CapabilityFPGAKernelAttributesv2INTEL = 6161,
+ CapabilityFPMaxErrorINTEL = 6169,
+ CapabilityFPGALatencyControlINTEL = 6171,
+ CapabilityFPGAArgumentInterfacesINTEL = 6174,
+ CapabilityGlobalVariableHostAccessINTEL = 6187,
+ CapabilityGlobalVariableFPGADecorationsINTEL = 6189,
CapabilityGroupUniformArithmeticKHR = 6400,
+ CapabilityMaskedGatherScatterINTEL = 6427,
+ CapabilityCacheControlsINTEL = 6441,
CapabilityMax = 0x7fffffff,
};
@@ -1125,6 +1236,7 @@ enum RayFlagsShift {
RayFlagsCullNoOpaqueKHRShift = 7,
RayFlagsSkipTrianglesKHRShift = 8,
RayFlagsSkipAABBsKHRShift = 9,
+ RayFlagsForceOpacityMicromap2StateEXTShift = 10,
RayFlagsMax = 0x7fffffff,
};
@@ -1140,6 +1252,7 @@ enum RayFlagsMask {
RayFlagsCullNoOpaqueKHRMask = 0x00000080,
RayFlagsSkipTrianglesKHRMask = 0x00000100,
RayFlagsSkipAABBsKHRMask = 0x00000200,
+ RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
};
enum RayQueryIntersection {
@@ -1215,6 +1328,68 @@ enum PackedVectorFormat {
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,
@@ -1560,6 +1735,9 @@ enum Op {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1585,6 +1763,11 @@ enum Op {
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1592,6 +1775,10 @@ enum Op {
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1603,11 +1790,51 @@ enum Op {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpGroupNonUniformQuadAllKHR = 5110,
+ OpGroupNonUniformQuadAnyKHR = 5111,
+ 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,
@@ -1615,6 +1842,7 @@ enum Op {
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1876,6 +2104,9 @@ enum Op {
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpCompositeConstructContinuedINTEL = 6096,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -1886,6 +2117,8 @@ enum Op {
OpGroupLogicalAndKHR = 6406,
OpGroupLogicalOrKHR = 6407,
OpGroupLogicalXorKHR = 6408,
+ OpMaskedGatherINTEL = 6428,
+ OpMaskedScatterINTEL = 6429,
OpMax = 0x7fffffff,
};
@@ -2241,6 +2474,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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;
@@ -2260,6 +2496,11 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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;
@@ -2267,6 +2508,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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;
@@ -2278,17 +2523,58 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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 OpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; 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;
@@ -2546,6 +2832,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; 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;
@@ -2556,22 +2845,58 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
case OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
+ case OpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
}
}
#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 555f57b..e32ff7a 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),
@@ -69,6 +69,11 @@ enum class SourceLanguage : unsigned {
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
+ Zig = 12,
Max = 0x7fffffff,
};
@@ -156,6 +161,9 @@ enum class ExecutionMode : unsigned {
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -165,12 +173,19 @@ enum class ExecutionMode : unsigned {
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
StencilRefUnchangedBackAMD = 5082,
StencilRefGreaterBackAMD = 5083,
StencilRefLessBackAMD = 5084,
+ QuadDerivativesKHR = 5088,
+ RequireFullQuadsKHR = 5089,
OutputLinesEXT = 5269,
OutputLinesNV = 5269,
OutputPrimitivesEXT = 5270,
@@ -195,6 +210,10 @@ enum class ExecutionMode : unsigned {
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ MaximallyReconvergesKHR = 6023,
+ FPFastMathDefault = 6028,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
Max = 0x7fffffff,
};
@@ -213,6 +232,9 @@ enum class StorageClass : unsigned {
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -227,6 +249,7 @@ enum class StorageClass : unsigned {
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -242,6 +265,7 @@ enum class Dim : unsigned {
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
Max = 0x7fffffff,
};
@@ -348,6 +372,8 @@ enum class ImageChannelDataType : unsigned {
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
Max = 0x7fffffff,
};
@@ -405,8 +431,11 @@ enum class FPFastMathModeShift : unsigned {
NSZ = 2,
AllowRecip = 3,
Fast = 4,
+ AllowContract = 16,
AllowContractFastINTEL = 16,
+ AllowReassoc = 17,
AllowReassocINTEL = 17,
+ AllowTransform = 18,
Max = 0x7fffffff,
};
@@ -417,8 +446,11 @@ enum class FPFastMathModeMask : unsigned {
NSZ = 0x00000004,
AllowRecip = 0x00000008,
Fast = 0x00000010,
+ AllowContract = 0x00010000,
AllowContractFastINTEL = 0x00010000,
+ AllowReassoc = 0x00020000,
AllowReassocINTEL = 0x00020000,
+ AllowTransform = 0x00040000,
};
enum class FPRoundingMode : unsigned {
@@ -452,6 +484,7 @@ enum class FunctionParameterAttribute : unsigned {
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
Max = 0x7fffffff,
};
@@ -505,7 +538,13 @@ enum class Decoration : unsigned {
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 +561,7 @@ enum class Decoration : unsigned {
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -554,20 +594,45 @@ enum class Decoration : unsigned {
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
+ StridesizeINTEL = 5883,
+ WordsizeINTEL = 5884,
+ TrueDualPortINTEL = 5885,
BurstCoalesceINTEL = 5899,
CacheSizeINTEL = 5900,
DontStaticallyCoalesceINTEL = 5901,
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,
+ StallFreeINTEL = 6151,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ HostAccessINTEL = 6188,
+ InitModeINTEL = 6190,
+ ImplementInRegisterMapINTEL = 6191,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
Max = 0x7fffffff,
};
@@ -613,6 +678,11 @@ enum class BuiltIn : unsigned {
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ CoreIDARM = 4160,
+ CoreCountARM = 4161,
+ CoreMaxIDARM = 4162,
+ WarpIDARM = 4163,
+ WarpMaxIDARM = 4164,
SubgroupEqMask = 4416,
SubgroupEqMaskKHR = 4416,
SubgroupGeMask = 4417,
@@ -638,6 +708,8 @@ enum class BuiltIn : unsigned {
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -690,6 +762,9 @@ enum class BuiltIn : unsigned {
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -697,6 +772,8 @@ enum class BuiltIn : unsigned {
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
Max = 0x7fffffff,
};
@@ -731,6 +808,8 @@ enum class LoopControlShift : unsigned {
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
Max = 0x7fffffff,
};
@@ -753,6 +832,8 @@ enum class LoopControlMask : unsigned {
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
};
enum class FunctionControlShift : unsigned {
@@ -956,6 +1037,10 @@ enum class Capability : unsigned {
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
+ CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -987,6 +1072,9 @@ enum class Capability : unsigned {
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -994,6 +1082,8 @@ enum class Capability : unsigned {
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
+ QuadControlKHR = 5087,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1035,6 +1125,7 @@ enum class Capability : unsigned {
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1052,7 +1143,12 @@ enum class Capability : unsigned {
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
+ RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1085,10 +1181,13 @@ enum class Capability : unsigned {
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,
@@ -1101,16 +1200,28 @@ enum class Capability : unsigned {
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
+ FloatControls2 = 6029,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
- LongConstantCompositeINTEL = 6089,
+ LongCompositesINTEL = 6089,
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ FPGAClusterAttributesV2INTEL = 6150,
+ FPGAKernelAttributesv2INTEL = 6161,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
+ GlobalVariableHostAccessINTEL = 6187,
+ GlobalVariableFPGADecorationsINTEL = 6189,
GroupUniformArithmeticKHR = 6400,
+ MaskedGatherScatterINTEL = 6427,
+ CacheControlsINTEL = 6441,
Max = 0x7fffffff,
};
@@ -1125,6 +1236,7 @@ enum class RayFlagsShift : unsigned {
CullNoOpaqueKHR = 7,
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
+ ForceOpacityMicromap2StateEXT = 10,
Max = 0x7fffffff,
};
@@ -1140,6 +1252,7 @@ enum class RayFlagsMask : unsigned {
CullNoOpaqueKHR = 0x00000080,
SkipTrianglesKHR = 0x00000100,
SkipAABBsKHR = 0x00000200,
+ ForceOpacityMicromap2StateEXT = 0x00000400,
};
enum class RayQueryIntersection : unsigned {
@@ -1215,6 +1328,68 @@ enum class PackedVectorFormat : unsigned {
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,
@@ -1560,6 +1735,9 @@ enum class Op : unsigned {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1585,6 +1763,11 @@ enum class Op : unsigned {
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1592,6 +1775,10 @@ enum class Op : unsigned {
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1603,11 +1790,51 @@ enum class Op : unsigned {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpGroupNonUniformQuadAllKHR = 5110,
+ OpGroupNonUniformQuadAnyKHR = 5111,
+ 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,
@@ -1615,6 +1842,7 @@ enum class Op : unsigned {
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1876,6 +2104,9 @@ enum class Op : unsigned {
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpCompositeConstructContinuedINTEL = 6096,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -1886,6 +2117,8 @@ enum class Op : unsigned {
OpGroupLogicalAndKHR = 6406,
OpGroupLogicalOrKHR = 6407,
OpGroupLogicalXorKHR = 6408,
+ OpMaskedGatherINTEL = 6428,
+ OpMaskedScatterINTEL = 6429,
Max = 0x7fffffff,
};
@@ -2241,6 +2474,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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;
@@ -2260,6 +2496,11 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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;
@@ -2267,6 +2508,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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;
@@ -2278,17 +2523,58 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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::OpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; 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;
@@ -2546,6 +2832,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
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::OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; 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;
@@ -2556,22 +2845,58 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */
-// Overload operator| for mask bit combining
-
-inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
-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)); }
+// Overload bitwise operators for mask bit combining
+
+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 4ad3bcb..ee03b6c 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -6,7 +6,7 @@
"Comment":
[
[
- "Copyright (c) 2014-2020 The Khronos Group Inc.",
+ "Copyright (c) 2014-2024 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\"),",
@@ -75,7 +75,12 @@
"OpenCL_CPP": 4,
"HLSL": 5,
"CPP_for_OpenCL": 6,
- "SYCL": 7
+ "SYCL": 7,
+ "HERO_C": 8,
+ "NZSL": 9,
+ "WGSL": 10,
+ "Slang": 11,
+ "Zig": 12
}
},
{
@@ -175,6 +180,9 @@
"SubgroupsPerWorkgroupId": 37,
"LocalSizeId": 38,
"LocalSizeHintId": 39,
+ "NonCoherentColorAttachmentReadEXT": 4169,
+ "NonCoherentDepthAttachmentReadEXT": 4170,
+ "NonCoherentStencilAttachmentReadEXT": 4171,
"SubgroupUniformControlFlowKHR": 4421,
"PostDepthCoverage": 4446,
"DenormPreserve": 4459,
@@ -184,12 +192,19 @@
"RoundingModeRTZ": 4463,
"EarlyAndLateFragmentTestsAMD": 5017,
"StencilRefReplacingEXT": 5027,
+ "CoalescingAMDX": 5069,
+ "MaxNodeRecursionAMDX": 5071,
+ "StaticNumWorkgroupsAMDX": 5072,
+ "ShaderIndexAMDX": 5073,
+ "MaxNumWorkgroupsAMDX": 5077,
"StencilRefUnchangedFrontAMD": 5079,
"StencilRefGreaterFrontAMD": 5080,
"StencilRefLessFrontAMD": 5081,
"StencilRefUnchangedBackAMD": 5082,
"StencilRefGreaterBackAMD": 5083,
"StencilRefLessBackAMD": 5084,
+ "QuadDerivativesKHR": 5088,
+ "RequireFullQuadsKHR": 5089,
"OutputLinesEXT": 5269,
"OutputLinesNV": 5269,
"OutputPrimitivesEXT": 5270,
@@ -214,6 +229,10 @@
"NoGlobalOffsetINTEL": 5895,
"NumSIMDWorkitemsINTEL": 5896,
"SchedulerTargetFmaxMhzINTEL": 5903,
+ "MaximallyReconvergesKHR": 6023,
+ "FPFastMathDefault": 6028,
+ "StreamingInterfaceINTEL": 6154,
+ "RegisterMapInterfaceINTEL": 6160,
"NamedBarrierCountINTEL": 6417
}
},
@@ -235,6 +254,9 @@
"AtomicCounter": 10,
"Image": 11,
"StorageBuffer": 12,
+ "TileImageEXT": 4172,
+ "NodePayloadAMDX": 5068,
+ "NodeOutputPayloadAMDX": 5076,
"CallableDataKHR": 5328,
"CallableDataNV": 5328,
"IncomingCallableDataKHR": 5329,
@@ -249,6 +271,7 @@
"ShaderRecordBufferNV": 5343,
"PhysicalStorageBuffer": 5349,
"PhysicalStorageBufferEXT": 5349,
+ "HitObjectAttributeNV": 5385,
"TaskPayloadWorkgroupEXT": 5402,
"CodeSectionINTEL": 5605,
"DeviceOnlyINTEL": 5936,
@@ -266,7 +289,8 @@
"Cube": 3,
"Rect": 4,
"Buffer": 5,
- "SubpassData": 6
+ "SubpassData": 6,
+ "TileImageDataEXT": 4173
}
},
{
@@ -387,7 +411,9 @@
"HalfFloat": 13,
"Float": 14,
"UnormInt24": 15,
- "UnormInt101010_2": 16
+ "UnormInt101010_2": 16,
+ "UnsignedIntRaw10EXT": 19,
+ "UnsignedIntRaw12EXT": 20
}
},
{
@@ -427,8 +453,11 @@
"NSZ": 2,
"AllowRecip": 3,
"Fast": 4,
+ "AllowContract": 16,
"AllowContractFastINTEL": 16,
- "AllowReassocINTEL": 17
+ "AllowReassoc": 17,
+ "AllowReassocINTEL": 17,
+ "AllowTransform": 18
}
},
{
@@ -474,7 +503,8 @@
"NoAlias": 4,
"NoCapture": 5,
"NoWrite": 6,
- "NoReadWrite": 7
+ "NoReadWrite": 7,
+ "RuntimeAlignedINTEL": 5940
}
},
{
@@ -531,7 +561,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 +584,7 @@
"RestrictPointerEXT": 5355,
"AliasedPointer": 5356,
"AliasedPointerEXT": 5356,
+ "HitObjectShaderRecordBufferNV": 5386,
"BindlessSamplerNV": 5398,
"BindlessImageNV": 5399,
"BoundSamplerNV": 5400,
@@ -580,20 +617,45 @@
"MergeINTEL": 5834,
"BankBitsINTEL": 5835,
"ForcePow2DepthINTEL": 5836,
+ "StridesizeINTEL": 5883,
+ "WordsizeINTEL": 5884,
+ "TrueDualPortINTEL": 5885,
"BurstCoalesceINTEL": 5899,
"CacheSizeINTEL": 5900,
"DontStaticallyCoalesceINTEL": 5901,
"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,
+ "StallFreeINTEL": 6151,
+ "FPMaxErrorDecorationINTEL": 6170,
+ "LatencyControlLabelINTEL": 6172,
+ "LatencyControlConstraintINTEL": 6173,
+ "ConduitKernelArgumentINTEL": 6175,
+ "RegisterMapKernelArgumentINTEL": 6176,
+ "MMHostInterfaceAddressWidthINTEL": 6177,
+ "MMHostInterfaceDataWidthINTEL": 6178,
+ "MMHostInterfaceLatencyINTEL": 6179,
+ "MMHostInterfaceReadWriteModeINTEL": 6180,
+ "MMHostInterfaceMaxBurstINTEL": 6181,
+ "MMHostInterfaceWaitRequestINTEL": 6182,
+ "StableKernelArgumentINTEL": 6183,
+ "HostAccessINTEL": 6188,
+ "InitModeINTEL": 6190,
+ "ImplementInRegisterMapINTEL": 6191,
+ "CacheControlLoadINTEL": 6442,
+ "CacheControlStoreINTEL": 6443
}
},
{
@@ -642,6 +704,11 @@
"SubgroupLocalInvocationId": 41,
"VertexIndex": 42,
"InstanceIndex": 43,
+ "CoreIDARM": 4160,
+ "CoreCountARM": 4161,
+ "CoreMaxIDARM": 4162,
+ "WarpIDARM": 4163,
+ "WarpMaxIDARM": 4164,
"SubgroupEqMask": 4416,
"SubgroupEqMaskKHR": 4416,
"SubgroupGeMask": 4417,
@@ -667,6 +734,8 @@
"BaryCoordSmoothSampleAMD": 4997,
"BaryCoordPullModelAMD": 4998,
"FragStencilRefEXT": 5014,
+ "CoalescedInputCountAMDX": 5021,
+ "ShaderIndexAMDX": 5073,
"ViewportMaskNV": 5253,
"SecondaryPositionNV": 5257,
"SecondaryViewportMaskNV": 5258,
@@ -719,6 +788,9 @@
"HitKindKHR": 5333,
"HitKindNV": 5333,
"CurrentRayTimeNV": 5334,
+ "HitTriangleVertexPositionsKHR": 5335,
+ "HitMicroTriangleVertexPositionsNV": 5337,
+ "HitMicroTriangleVertexBarycentricsNV": 5344,
"IncomingRayFlagsKHR": 5351,
"IncomingRayFlagsNV": 5351,
"RayGeometryIndexKHR": 5352,
@@ -726,6 +798,8 @@
"SMCountNV": 5375,
"WarpIDNV": 5376,
"SMIDNV": 5377,
+ "HitKindFrontFacingMicroTriangleNV": 5405,
+ "HitKindBackFacingMicroTriangleNV": 5406,
"CullMaskKHR": 6021
}
},
@@ -759,7 +833,9 @@
"LoopCoalesceINTEL": 20,
"MaxInterleavingINTEL": 21,
"SpeculatedIterationsINTEL": 22,
- "NoFusionINTEL": 23
+ "NoFusionINTEL": 23,
+ "LoopCountINTEL": 24,
+ "MaxReinvocationDelayINTEL": 25
}
},
{
@@ -938,6 +1014,10 @@
"ShaderLayer": 69,
"ShaderViewportIndex": 70,
"UniformDecoration": 71,
+ "CoreBuiltinsARM": 4165,
+ "TileImageColorReadAccessEXT": 4166,
+ "TileImageDepthReadAccessEXT": 4167,
+ "TileImageStencilReadAccessEXT": 4168,
"FragmentShadingRateKHR": 4422,
"SubgroupBallotKHR": 4423,
"DrawParameters": 4427,
@@ -969,6 +1049,9 @@
"RayQueryKHR": 4472,
"RayTraversalPrimitiveCullingKHR": 4478,
"RayTracingKHR": 4479,
+ "TextureSampleWeightedQCOM": 4484,
+ "TextureBoxFilterQCOM": 4485,
+ "TextureBlockMatchQCOM": 4486,
"Float16ImageAMD": 5008,
"ImageGatherBiasLodAMD": 5009,
"FragmentMaskAMD": 5010,
@@ -976,6 +1059,8 @@
"ImageReadWriteLodAMD": 5015,
"Int64ImageEXT": 5016,
"ShaderClockKHR": 5055,
+ "ShaderEnqueueAMDX": 5067,
+ "QuadControlKHR": 5087,
"SampleMaskOverrideCoverageNV": 5249,
"GeometryShaderPassthroughNV": 5251,
"ShaderViewportIndexLayerEXT": 5254,
@@ -1017,6 +1102,7 @@
"UniformTexelBufferArrayNonUniformIndexingEXT": 5311,
"StorageTexelBufferArrayNonUniformIndexing": 5312,
"StorageTexelBufferArrayNonUniformIndexingEXT": 5312,
+ "RayTracingPositionFetchKHR": 5336,
"RayTracingNV": 5340,
"RayTracingMotionBlurNV": 5341,
"VulkanMemoryModel": 5345,
@@ -1034,7 +1120,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,
@@ -1067,10 +1158,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,
@@ -1083,16 +1177,28 @@
"DotProduct": 6019,
"DotProductKHR": 6019,
"RayCullMaskKHR": 6020,
+ "CooperativeMatrixKHR": 6022,
"BitInstructions": 6025,
"GroupNonUniformRotateKHR": 6026,
+ "FloatControls2": 6029,
"AtomicFloat32AddEXT": 6033,
"AtomicFloat64AddEXT": 6034,
- "LongConstantCompositeINTEL": 6089,
+ "LongCompositesINTEL": 6089,
"OptNoneINTEL": 6094,
"AtomicFloat16AddEXT": 6095,
"DebugInfoModuleINTEL": 6114,
+ "BFloat16ConversionINTEL": 6115,
"SplitBarrierINTEL": 6141,
- "GroupUniformArithmeticKHR": 6400
+ "FPGAClusterAttributesV2INTEL": 6150,
+ "FPGAKernelAttributesv2INTEL": 6161,
+ "FPMaxErrorINTEL": 6169,
+ "FPGALatencyControlINTEL": 6171,
+ "FPGAArgumentInterfacesINTEL": 6174,
+ "GlobalVariableHostAccessINTEL": 6187,
+ "GlobalVariableFPGADecorationsINTEL": 6189,
+ "GroupUniformArithmeticKHR": 6400,
+ "MaskedGatherScatterINTEL": 6427,
+ "CacheControlsINTEL": 6441
}
},
{
@@ -1109,7 +1215,8 @@
"CullOpaqueKHR": 6,
"CullNoOpaqueKHR": 7,
"SkipTrianglesKHR": 8,
- "SkipAABBsKHR": 9
+ "SkipAABBsKHR": 9,
+ "ForceOpacityMicromap2StateEXT": 10
}
},
{
@@ -1205,6 +1312,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":
@@ -1553,6 +1734,9 @@
"OpPtrEqual": 401,
"OpPtrNotEqual": 402,
"OpPtrDiff": 403,
+ "OpColorAttachmentReadEXT": 4160,
+ "OpDepthAttachmentReadEXT": 4161,
+ "OpStencilAttachmentReadEXT": 4162,
"OpTerminateInvocation": 4416,
"OpSubgroupBallotKHR": 4421,
"OpSubgroupFirstInvocationKHR": 4422,
@@ -1578,6 +1762,11 @@
"OpUDotAccSatKHR": 4454,
"OpSUDotAccSat": 4455,
"OpSUDotAccSatKHR": 4455,
+ "OpTypeCooperativeMatrixKHR": 4456,
+ "OpCooperativeMatrixLoadKHR": 4457,
+ "OpCooperativeMatrixStoreKHR": 4458,
+ "OpCooperativeMatrixMulAddKHR": 4459,
+ "OpCooperativeMatrixLengthKHR": 4460,
"OpTypeRayQueryKHR": 4472,
"OpRayQueryInitializeKHR": 4473,
"OpRayQueryTerminateKHR": 4474,
@@ -1585,6 +1774,10 @@
"OpRayQueryConfirmIntersectionKHR": 4476,
"OpRayQueryProceedKHR": 4477,
"OpRayQueryGetIntersectionTypeKHR": 4479,
+ "OpImageSampleWeightedQCOM": 4480,
+ "OpImageBoxFilterQCOM": 4481,
+ "OpImageBlockMatchSSDQCOM": 4482,
+ "OpImageBlockMatchSADQCOM": 4483,
"OpGroupIAddNonUniformAMD": 5000,
"OpGroupFAddNonUniformAMD": 5001,
"OpGroupFMinNonUniformAMD": 5002,
@@ -1596,11 +1789,51 @@
"OpFragmentMaskFetchAMD": 5011,
"OpFragmentFetchAMD": 5012,
"OpReadClockKHR": 5056,
+ "OpFinalizeNodePayloadsAMDX": 5075,
+ "OpFinishWritingNodePayloadAMDX": 5078,
+ "OpInitializeNodePayloadsAMDX": 5090,
+ "OpGroupNonUniformQuadAllKHR": 5110,
+ "OpGroupNonUniformQuadAnyKHR": 5111,
+ "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,
@@ -1608,6 +1841,7 @@
"OpTraceNV": 5337,
"OpTraceMotionNV": 5338,
"OpTraceRayMotionNV": 5339,
+ "OpRayQueryGetIntersectionTriangleVertexPositionsKHR": 5340,
"OpTypeAccelerationStructureKHR": 5341,
"OpTypeAccelerationStructureNV": 5341,
"OpExecuteCallableNV": 5344,
@@ -1869,6 +2103,9 @@
"OpTypeStructContinuedINTEL": 6090,
"OpConstantCompositeContinuedINTEL": 6091,
"OpSpecConstantCompositeContinuedINTEL": 6092,
+ "OpCompositeConstructContinuedINTEL": 6096,
+ "OpConvertFToBF16INTEL": 6116,
+ "OpConvertBF16ToFINTEL": 6117,
"OpControlBarrierArriveINTEL": 6142,
"OpControlBarrierWaitINTEL": 6143,
"OpGroupIMulKHR": 6401,
@@ -1878,7 +2115,9 @@
"OpGroupBitwiseXorKHR": 6405,
"OpGroupLogicalAndKHR": 6406,
"OpGroupLogicalOrKHR": 6407,
- "OpGroupLogicalXorKHR": 6408
+ "OpGroupLogicalXorKHR": 6408,
+ "OpMaskedGatherINTEL": 6428,
+ "OpMaskedScatterINTEL": 6429
}
}
]
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index a3d47e9..391939d 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -1,4 +1,4 @@
--- Copyright (c) 2014-2020 The Khronos Group Inc.
+-- Copyright (c) 2014-2024 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"),
@@ -60,6 +60,11 @@ spv = {
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
+ Zig = 12,
},
ExecutionModel = {
@@ -143,6 +148,9 @@ spv = {
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -152,12 +160,19 @@ spv = {
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
StencilRefUnchangedBackAMD = 5082,
StencilRefGreaterBackAMD = 5083,
StencilRefLessBackAMD = 5084,
+ QuadDerivativesKHR = 5088,
+ RequireFullQuadsKHR = 5089,
OutputLinesEXT = 5269,
OutputLinesNV = 5269,
OutputPrimitivesEXT = 5270,
@@ -182,6 +197,10 @@ spv = {
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ MaximallyReconvergesKHR = 6023,
+ FPFastMathDefault = 6028,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
},
@@ -199,6 +218,9 @@ spv = {
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -213,6 +235,7 @@ spv = {
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -227,6 +250,7 @@ spv = {
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
},
SamplerAddressingMode = {
@@ -328,6 +352,8 @@ spv = {
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
},
ImageOperandsShift = {
@@ -383,8 +409,11 @@ spv = {
NSZ = 2,
AllowRecip = 3,
Fast = 4,
+ AllowContract = 16,
AllowContractFastINTEL = 16,
+ AllowReassoc = 17,
AllowReassocINTEL = 17,
+ AllowTransform = 18,
},
FPFastMathModeMask = {
@@ -394,8 +423,11 @@ spv = {
NSZ = 0x00000004,
AllowRecip = 0x00000008,
Fast = 0x00000010,
+ AllowContract = 0x00010000,
AllowContractFastINTEL = 0x00010000,
+ AllowReassoc = 0x00020000,
AllowReassocINTEL = 0x00020000,
+ AllowTransform = 0x00040000,
},
FPRoundingMode = {
@@ -426,6 +458,7 @@ spv = {
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
},
Decoration = {
@@ -478,7 +511,13 @@ spv = {
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 +534,7 @@ spv = {
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -527,20 +567,45 @@ spv = {
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
+ StridesizeINTEL = 5883,
+ WordsizeINTEL = 5884,
+ TrueDualPortINTEL = 5885,
BurstCoalesceINTEL = 5899,
CacheSizeINTEL = 5900,
DontStaticallyCoalesceINTEL = 5901,
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,
+ StallFreeINTEL = 6151,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ HostAccessINTEL = 6188,
+ InitModeINTEL = 6190,
+ ImplementInRegisterMapINTEL = 6191,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
},
BuiltIn = {
@@ -585,6 +650,11 @@ spv = {
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ CoreIDARM = 4160,
+ CoreCountARM = 4161,
+ CoreMaxIDARM = 4162,
+ WarpIDARM = 4163,
+ WarpMaxIDARM = 4164,
SubgroupEqMask = 4416,
SubgroupEqMaskKHR = 4416,
SubgroupGeMask = 4417,
@@ -610,6 +680,8 @@ spv = {
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -662,6 +734,9 @@ spv = {
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -669,6 +744,8 @@ spv = {
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
},
@@ -701,6 +778,8 @@ spv = {
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
},
LoopControlMask = {
@@ -722,6 +801,8 @@ spv = {
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
},
FunctionControlShift = {
@@ -918,6 +999,10 @@ spv = {
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
+ CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -949,6 +1034,9 @@ spv = {
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -956,6 +1044,8 @@ spv = {
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
+ QuadControlKHR = 5087,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -997,6 +1087,7 @@ spv = {
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1014,7 +1105,12 @@ spv = {
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
DemoteToHelperInvocationEXT = 5379,
+ DisplacementMicromapNV = 5380,
+ RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ RayTracingDisplacementMicromapNV = 5409,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1047,10 +1143,13 @@ spv = {
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,
@@ -1063,16 +1162,28 @@ spv = {
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
+ FloatControls2 = 6029,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
- LongConstantCompositeINTEL = 6089,
+ LongCompositesINTEL = 6089,
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ FPGAClusterAttributesV2INTEL = 6150,
+ FPGAKernelAttributesv2INTEL = 6161,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
+ GlobalVariableHostAccessINTEL = 6187,
+ GlobalVariableFPGADecorationsINTEL = 6189,
GroupUniformArithmeticKHR = 6400,
+ MaskedGatherScatterINTEL = 6427,
+ CacheControlsINTEL = 6441,
},
RayFlagsShift = {
@@ -1086,6 +1197,7 @@ spv = {
CullNoOpaqueKHR = 7,
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
+ ForceOpacityMicromap2StateEXT = 10,
},
RayFlagsMask = {
@@ -1100,6 +1212,7 @@ spv = {
CullNoOpaqueKHR = 0x00000080,
SkipTrianglesKHR = 0x00000100,
SkipAABBsKHR = 0x00000200,
+ ForceOpacityMicromap2StateEXT = 0x00000400,
},
RayQueryIntersection = {
@@ -1166,6 +1279,61 @@ spv = {
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,
@@ -1511,6 +1679,9 @@ spv = {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1536,6 +1707,11 @@ spv = {
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1543,6 +1719,10 @@ spv = {
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1554,11 +1734,51 @@ spv = {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpGroupNonUniformQuadAllKHR = 5110,
+ OpGroupNonUniformQuadAnyKHR = 5111,
+ 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,
@@ -1566,6 +1786,7 @@ spv = {
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1827,6 +2048,9 @@ spv = {
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpCompositeConstructContinuedINTEL = 6096,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -1837,6 +2061,8 @@ spv = {
OpGroupLogicalAndKHR = 6406,
OpGroupLogicalOrKHR = 6407,
OpGroupLogicalXorKHR = 6408,
+ OpMaskedGatherINTEL = 6428,
+ OpMaskedScatterINTEL = 6429,
},
}
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 5e8a0ef..3ab1f07 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2014-2020 The Khronos Group Inc.
+# Copyright (c) 2014-2024 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"),
@@ -60,6 +60,11 @@ spv = {
'HLSL' : 5,
'CPP_for_OpenCL' : 6,
'SYCL' : 7,
+ 'HERO_C' : 8,
+ 'NZSL' : 9,
+ 'WGSL' : 10,
+ 'Slang' : 11,
+ 'Zig' : 12,
},
'ExecutionModel' : {
@@ -143,6 +148,9 @@ spv = {
'SubgroupsPerWorkgroupId' : 37,
'LocalSizeId' : 38,
'LocalSizeHintId' : 39,
+ 'NonCoherentColorAttachmentReadEXT' : 4169,
+ 'NonCoherentDepthAttachmentReadEXT' : 4170,
+ 'NonCoherentStencilAttachmentReadEXT' : 4171,
'SubgroupUniformControlFlowKHR' : 4421,
'PostDepthCoverage' : 4446,
'DenormPreserve' : 4459,
@@ -152,12 +160,19 @@ spv = {
'RoundingModeRTZ' : 4463,
'EarlyAndLateFragmentTestsAMD' : 5017,
'StencilRefReplacingEXT' : 5027,
+ 'CoalescingAMDX' : 5069,
+ 'MaxNodeRecursionAMDX' : 5071,
+ 'StaticNumWorkgroupsAMDX' : 5072,
+ 'ShaderIndexAMDX' : 5073,
+ 'MaxNumWorkgroupsAMDX' : 5077,
'StencilRefUnchangedFrontAMD' : 5079,
'StencilRefGreaterFrontAMD' : 5080,
'StencilRefLessFrontAMD' : 5081,
'StencilRefUnchangedBackAMD' : 5082,
'StencilRefGreaterBackAMD' : 5083,
'StencilRefLessBackAMD' : 5084,
+ 'QuadDerivativesKHR' : 5088,
+ 'RequireFullQuadsKHR' : 5089,
'OutputLinesEXT' : 5269,
'OutputLinesNV' : 5269,
'OutputPrimitivesEXT' : 5270,
@@ -182,6 +197,10 @@ spv = {
'NoGlobalOffsetINTEL' : 5895,
'NumSIMDWorkitemsINTEL' : 5896,
'SchedulerTargetFmaxMhzINTEL' : 5903,
+ 'MaximallyReconvergesKHR' : 6023,
+ 'FPFastMathDefault' : 6028,
+ 'StreamingInterfaceINTEL' : 6154,
+ 'RegisterMapInterfaceINTEL' : 6160,
'NamedBarrierCountINTEL' : 6417,
},
@@ -199,6 +218,9 @@ spv = {
'AtomicCounter' : 10,
'Image' : 11,
'StorageBuffer' : 12,
+ 'TileImageEXT' : 4172,
+ 'NodePayloadAMDX' : 5068,
+ 'NodeOutputPayloadAMDX' : 5076,
'CallableDataKHR' : 5328,
'CallableDataNV' : 5328,
'IncomingCallableDataKHR' : 5329,
@@ -213,6 +235,7 @@ spv = {
'ShaderRecordBufferNV' : 5343,
'PhysicalStorageBuffer' : 5349,
'PhysicalStorageBufferEXT' : 5349,
+ 'HitObjectAttributeNV' : 5385,
'TaskPayloadWorkgroupEXT' : 5402,
'CodeSectionINTEL' : 5605,
'DeviceOnlyINTEL' : 5936,
@@ -227,6 +250,7 @@ spv = {
'Rect' : 4,
'Buffer' : 5,
'SubpassData' : 6,
+ 'TileImageDataEXT' : 4173,
},
'SamplerAddressingMode' : {
@@ -328,6 +352,8 @@ spv = {
'Float' : 14,
'UnormInt24' : 15,
'UnormInt101010_2' : 16,
+ 'UnsignedIntRaw10EXT' : 19,
+ 'UnsignedIntRaw12EXT' : 20,
},
'ImageOperandsShift' : {
@@ -383,8 +409,11 @@ spv = {
'NSZ' : 2,
'AllowRecip' : 3,
'Fast' : 4,
+ 'AllowContract' : 16,
'AllowContractFastINTEL' : 16,
+ 'AllowReassoc' : 17,
'AllowReassocINTEL' : 17,
+ 'AllowTransform' : 18,
},
'FPFastMathModeMask' : {
@@ -394,8 +423,11 @@ spv = {
'NSZ' : 0x00000004,
'AllowRecip' : 0x00000008,
'Fast' : 0x00000010,
+ 'AllowContract' : 0x00010000,
'AllowContractFastINTEL' : 0x00010000,
+ 'AllowReassoc' : 0x00020000,
'AllowReassocINTEL' : 0x00020000,
+ 'AllowTransform' : 0x00040000,
},
'FPRoundingMode' : {
@@ -426,6 +458,7 @@ spv = {
'NoCapture' : 5,
'NoWrite' : 6,
'NoReadWrite' : 7,
+ 'RuntimeAlignedINTEL' : 5940,
},
'Decoration' : {
@@ -478,7 +511,13 @@ spv = {
'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 +534,7 @@ spv = {
'RestrictPointerEXT' : 5355,
'AliasedPointer' : 5356,
'AliasedPointerEXT' : 5356,
+ 'HitObjectShaderRecordBufferNV' : 5386,
'BindlessSamplerNV' : 5398,
'BindlessImageNV' : 5399,
'BoundSamplerNV' : 5400,
@@ -527,20 +567,45 @@ spv = {
'MergeINTEL' : 5834,
'BankBitsINTEL' : 5835,
'ForcePow2DepthINTEL' : 5836,
+ 'StridesizeINTEL' : 5883,
+ 'WordsizeINTEL' : 5884,
+ 'TrueDualPortINTEL' : 5885,
'BurstCoalesceINTEL' : 5899,
'CacheSizeINTEL' : 5900,
'DontStaticallyCoalesceINTEL' : 5901,
'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,
+ 'StallFreeINTEL' : 6151,
+ 'FPMaxErrorDecorationINTEL' : 6170,
+ 'LatencyControlLabelINTEL' : 6172,
+ 'LatencyControlConstraintINTEL' : 6173,
+ 'ConduitKernelArgumentINTEL' : 6175,
+ 'RegisterMapKernelArgumentINTEL' : 6176,
+ 'MMHostInterfaceAddressWidthINTEL' : 6177,
+ 'MMHostInterfaceDataWidthINTEL' : 6178,
+ 'MMHostInterfaceLatencyINTEL' : 6179,
+ 'MMHostInterfaceReadWriteModeINTEL' : 6180,
+ 'MMHostInterfaceMaxBurstINTEL' : 6181,
+ 'MMHostInterfaceWaitRequestINTEL' : 6182,
+ 'StableKernelArgumentINTEL' : 6183,
+ 'HostAccessINTEL' : 6188,
+ 'InitModeINTEL' : 6190,
+ 'ImplementInRegisterMapINTEL' : 6191,
+ 'CacheControlLoadINTEL' : 6442,
+ 'CacheControlStoreINTEL' : 6443,
},
'BuiltIn' : {
@@ -585,6 +650,11 @@ spv = {
'SubgroupLocalInvocationId' : 41,
'VertexIndex' : 42,
'InstanceIndex' : 43,
+ 'CoreIDARM' : 4160,
+ 'CoreCountARM' : 4161,
+ 'CoreMaxIDARM' : 4162,
+ 'WarpIDARM' : 4163,
+ 'WarpMaxIDARM' : 4164,
'SubgroupEqMask' : 4416,
'SubgroupEqMaskKHR' : 4416,
'SubgroupGeMask' : 4417,
@@ -610,6 +680,8 @@ spv = {
'BaryCoordSmoothSampleAMD' : 4997,
'BaryCoordPullModelAMD' : 4998,
'FragStencilRefEXT' : 5014,
+ 'CoalescedInputCountAMDX' : 5021,
+ 'ShaderIndexAMDX' : 5073,
'ViewportMaskNV' : 5253,
'SecondaryPositionNV' : 5257,
'SecondaryViewportMaskNV' : 5258,
@@ -662,6 +734,9 @@ spv = {
'HitKindKHR' : 5333,
'HitKindNV' : 5333,
'CurrentRayTimeNV' : 5334,
+ 'HitTriangleVertexPositionsKHR' : 5335,
+ 'HitMicroTriangleVertexPositionsNV' : 5337,
+ 'HitMicroTriangleVertexBarycentricsNV' : 5344,
'IncomingRayFlagsKHR' : 5351,
'IncomingRayFlagsNV' : 5351,
'RayGeometryIndexKHR' : 5352,
@@ -669,6 +744,8 @@ spv = {
'SMCountNV' : 5375,
'WarpIDNV' : 5376,
'SMIDNV' : 5377,
+ 'HitKindFrontFacingMicroTriangleNV' : 5405,
+ 'HitKindBackFacingMicroTriangleNV' : 5406,
'CullMaskKHR' : 6021,
},
@@ -701,6 +778,8 @@ spv = {
'MaxInterleavingINTEL' : 21,
'SpeculatedIterationsINTEL' : 22,
'NoFusionINTEL' : 23,
+ 'LoopCountINTEL' : 24,
+ 'MaxReinvocationDelayINTEL' : 25,
},
'LoopControlMask' : {
@@ -722,6 +801,8 @@ spv = {
'MaxInterleavingINTEL' : 0x00200000,
'SpeculatedIterationsINTEL' : 0x00400000,
'NoFusionINTEL' : 0x00800000,
+ 'LoopCountINTEL' : 0x01000000,
+ 'MaxReinvocationDelayINTEL' : 0x02000000,
},
'FunctionControlShift' : {
@@ -918,6 +999,10 @@ spv = {
'ShaderLayer' : 69,
'ShaderViewportIndex' : 70,
'UniformDecoration' : 71,
+ 'CoreBuiltinsARM' : 4165,
+ 'TileImageColorReadAccessEXT' : 4166,
+ 'TileImageDepthReadAccessEXT' : 4167,
+ 'TileImageStencilReadAccessEXT' : 4168,
'FragmentShadingRateKHR' : 4422,
'SubgroupBallotKHR' : 4423,
'DrawParameters' : 4427,
@@ -949,6 +1034,9 @@ spv = {
'RayQueryKHR' : 4472,
'RayTraversalPrimitiveCullingKHR' : 4478,
'RayTracingKHR' : 4479,
+ 'TextureSampleWeightedQCOM' : 4484,
+ 'TextureBoxFilterQCOM' : 4485,
+ 'TextureBlockMatchQCOM' : 4486,
'Float16ImageAMD' : 5008,
'ImageGatherBiasLodAMD' : 5009,
'FragmentMaskAMD' : 5010,
@@ -956,6 +1044,8 @@ spv = {
'ImageReadWriteLodAMD' : 5015,
'Int64ImageEXT' : 5016,
'ShaderClockKHR' : 5055,
+ 'ShaderEnqueueAMDX' : 5067,
+ 'QuadControlKHR' : 5087,
'SampleMaskOverrideCoverageNV' : 5249,
'GeometryShaderPassthroughNV' : 5251,
'ShaderViewportIndexLayerEXT' : 5254,
@@ -997,6 +1087,7 @@ spv = {
'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311,
'StorageTexelBufferArrayNonUniformIndexing' : 5312,
'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
+ 'RayTracingPositionFetchKHR' : 5336,
'RayTracingNV' : 5340,
'RayTracingMotionBlurNV' : 5341,
'VulkanMemoryModel' : 5345,
@@ -1014,7 +1105,12 @@ spv = {
'FragmentShaderPixelInterlockEXT' : 5378,
'DemoteToHelperInvocation' : 5379,
'DemoteToHelperInvocationEXT' : 5379,
+ 'DisplacementMicromapNV' : 5380,
+ 'RayTracingOpacityMicromapEXT' : 5381,
+ 'ShaderInvocationReorderNV' : 5383,
'BindlessTextureNV' : 5390,
+ 'RayQueryPositionFetchKHR' : 5391,
+ 'RayTracingDisplacementMicromapNV' : 5409,
'SubgroupShuffleINTEL' : 5568,
'SubgroupBufferBlockIOINTEL' : 5569,
'SubgroupImageBlockIOINTEL' : 5570,
@@ -1047,10 +1143,13 @@ spv = {
'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,
@@ -1063,16 +1162,28 @@ spv = {
'DotProduct' : 6019,
'DotProductKHR' : 6019,
'RayCullMaskKHR' : 6020,
+ 'CooperativeMatrixKHR' : 6022,
'BitInstructions' : 6025,
'GroupNonUniformRotateKHR' : 6026,
+ 'FloatControls2' : 6029,
'AtomicFloat32AddEXT' : 6033,
'AtomicFloat64AddEXT' : 6034,
- 'LongConstantCompositeINTEL' : 6089,
+ 'LongCompositesINTEL' : 6089,
'OptNoneINTEL' : 6094,
'AtomicFloat16AddEXT' : 6095,
'DebugInfoModuleINTEL' : 6114,
+ 'BFloat16ConversionINTEL' : 6115,
'SplitBarrierINTEL' : 6141,
+ 'FPGAClusterAttributesV2INTEL' : 6150,
+ 'FPGAKernelAttributesv2INTEL' : 6161,
+ 'FPMaxErrorINTEL' : 6169,
+ 'FPGALatencyControlINTEL' : 6171,
+ 'FPGAArgumentInterfacesINTEL' : 6174,
+ 'GlobalVariableHostAccessINTEL' : 6187,
+ 'GlobalVariableFPGADecorationsINTEL' : 6189,
'GroupUniformArithmeticKHR' : 6400,
+ 'MaskedGatherScatterINTEL' : 6427,
+ 'CacheControlsINTEL' : 6441,
},
'RayFlagsShift' : {
@@ -1086,6 +1197,7 @@ spv = {
'CullNoOpaqueKHR' : 7,
'SkipTrianglesKHR' : 8,
'SkipAABBsKHR' : 9,
+ 'ForceOpacityMicromap2StateEXT' : 10,
},
'RayFlagsMask' : {
@@ -1100,6 +1212,7 @@ spv = {
'CullNoOpaqueKHR' : 0x00000080,
'SkipTrianglesKHR' : 0x00000100,
'SkipAABBsKHR' : 0x00000200,
+ 'ForceOpacityMicromap2StateEXT' : 0x00000400,
},
'RayQueryIntersection' : {
@@ -1166,6 +1279,61 @@ spv = {
'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,
@@ -1511,6 +1679,9 @@ spv = {
'OpPtrEqual' : 401,
'OpPtrNotEqual' : 402,
'OpPtrDiff' : 403,
+ 'OpColorAttachmentReadEXT' : 4160,
+ 'OpDepthAttachmentReadEXT' : 4161,
+ 'OpStencilAttachmentReadEXT' : 4162,
'OpTerminateInvocation' : 4416,
'OpSubgroupBallotKHR' : 4421,
'OpSubgroupFirstInvocationKHR' : 4422,
@@ -1536,6 +1707,11 @@ spv = {
'OpUDotAccSatKHR' : 4454,
'OpSUDotAccSat' : 4455,
'OpSUDotAccSatKHR' : 4455,
+ 'OpTypeCooperativeMatrixKHR' : 4456,
+ 'OpCooperativeMatrixLoadKHR' : 4457,
+ 'OpCooperativeMatrixStoreKHR' : 4458,
+ 'OpCooperativeMatrixMulAddKHR' : 4459,
+ 'OpCooperativeMatrixLengthKHR' : 4460,
'OpTypeRayQueryKHR' : 4472,
'OpRayQueryInitializeKHR' : 4473,
'OpRayQueryTerminateKHR' : 4474,
@@ -1543,6 +1719,10 @@ spv = {
'OpRayQueryConfirmIntersectionKHR' : 4476,
'OpRayQueryProceedKHR' : 4477,
'OpRayQueryGetIntersectionTypeKHR' : 4479,
+ 'OpImageSampleWeightedQCOM' : 4480,
+ 'OpImageBoxFilterQCOM' : 4481,
+ 'OpImageBlockMatchSSDQCOM' : 4482,
+ 'OpImageBlockMatchSADQCOM' : 4483,
'OpGroupIAddNonUniformAMD' : 5000,
'OpGroupFAddNonUniformAMD' : 5001,
'OpGroupFMinNonUniformAMD' : 5002,
@@ -1554,11 +1734,51 @@ spv = {
'OpFragmentMaskFetchAMD' : 5011,
'OpFragmentFetchAMD' : 5012,
'OpReadClockKHR' : 5056,
+ 'OpFinalizeNodePayloadsAMDX' : 5075,
+ 'OpFinishWritingNodePayloadAMDX' : 5078,
+ 'OpInitializeNodePayloadsAMDX' : 5090,
+ 'OpGroupNonUniformQuadAllKHR' : 5110,
+ 'OpGroupNonUniformQuadAnyKHR' : 5111,
+ '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,
@@ -1566,6 +1786,7 @@ spv = {
'OpTraceNV' : 5337,
'OpTraceMotionNV' : 5338,
'OpTraceRayMotionNV' : 5339,
+ 'OpRayQueryGetIntersectionTriangleVertexPositionsKHR' : 5340,
'OpTypeAccelerationStructureKHR' : 5341,
'OpTypeAccelerationStructureNV' : 5341,
'OpExecuteCallableNV' : 5344,
@@ -1827,6 +2048,9 @@ spv = {
'OpTypeStructContinuedINTEL' : 6090,
'OpConstantCompositeContinuedINTEL' : 6091,
'OpSpecConstantCompositeContinuedINTEL' : 6092,
+ 'OpCompositeConstructContinuedINTEL' : 6096,
+ 'OpConvertFToBF16INTEL' : 6116,
+ 'OpConvertBF16ToFINTEL' : 6117,
'OpControlBarrierArriveINTEL' : 6142,
'OpControlBarrierWaitINTEL' : 6143,
'OpGroupIMulKHR' : 6401,
@@ -1837,6 +2061,8 @@ spv = {
'OpGroupLogicalAndKHR' : 6406,
'OpGroupLogicalOrKHR' : 6407,
'OpGroupLogicalXorKHR' : 6408,
+ 'OpMaskedGatherINTEL' : 6428,
+ 'OpMaskedScatterINTEL' : 6429,
},
}
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 0ef3768..7df78cc 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -1,5 +1,5 @@
/+
- + Copyright (c) 2014-2020 The Khronos Group Inc.
+ + Copyright (c) 2014-2024 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"),
@@ -68,6 +68,11 @@ enum SourceLanguage : uint
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
+ Zig = 12,
}
enum ExecutionModel : uint
@@ -155,6 +160,9 @@ enum ExecutionMode : uint
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -164,12 +172,19 @@ enum ExecutionMode : uint
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
StencilRefUnchangedBackAMD = 5082,
StencilRefGreaterBackAMD = 5083,
StencilRefLessBackAMD = 5084,
+ QuadDerivativesKHR = 5088,
+ RequireFullQuadsKHR = 5089,
OutputLinesEXT = 5269,
OutputLinesNV = 5269,
OutputPrimitivesEXT = 5270,
@@ -194,6 +209,10 @@ enum ExecutionMode : uint
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ MaximallyReconvergesKHR = 6023,
+ FPFastMathDefault = 6028,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
NamedBarrierCountINTEL = 6417,
}
@@ -212,6 +231,9 @@ enum StorageClass : uint
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -226,6 +248,7 @@ enum StorageClass : uint
ShaderRecordBufferNV = 5343,
PhysicalStorageBuffer = 5349,
PhysicalStorageBufferEXT = 5349,
+ HitObjectAttributeNV = 5385,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
@@ -241,6 +264,7 @@ enum Dim : uint
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
}
enum SamplerAddressingMode : uint
@@ -347,6 +371,8 @@ enum ImageChannelDataType : uint
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
}
enum ImageOperandsShift : uint
@@ -405,8 +431,11 @@ enum FPFastMathModeShift : uint
NSZ = 2,
AllowRecip = 3,
Fast = 4,
+ AllowContract = 16,
AllowContractFastINTEL = 16,
+ AllowReassoc = 17,
AllowReassocINTEL = 17,
+ AllowTransform = 18,
}
enum FPFastMathModeMask : uint
@@ -417,8 +446,11 @@ enum FPFastMathModeMask : uint
NSZ = 0x00000004,
AllowRecip = 0x00000008,
Fast = 0x00000010,
+ AllowContract = 0x00010000,
AllowContractFastINTEL = 0x00010000,
+ AllowReassoc = 0x00020000,
AllowReassocINTEL = 0x00020000,
+ AllowTransform = 0x00040000,
}
enum FPRoundingMode : uint
@@ -453,6 +485,7 @@ enum FunctionParameterAttribute : uint
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
}
enum Decoration : uint
@@ -506,7 +539,13 @@ enum Decoration : uint
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 +562,7 @@ enum Decoration : uint
RestrictPointerEXT = 5355,
AliasedPointer = 5356,
AliasedPointerEXT = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -555,20 +595,45 @@ enum Decoration : uint
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
+ StridesizeINTEL = 5883,
+ WordsizeINTEL = 5884,
+ TrueDualPortINTEL = 5885,
BurstCoalesceINTEL = 5899,
CacheSizeINTEL = 5900,
DontStaticallyCoalesceINTEL = 5901,
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,
+ StallFreeINTEL = 6151,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ HostAccessINTEL = 6188,
+ InitModeINTEL = 6190,
+ ImplementInRegisterMapINTEL = 6191,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
}
enum BuiltIn : uint
@@ -614,6 +679,11 @@ enum BuiltIn : uint
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ CoreIDARM = 4160,
+ CoreCountARM = 4161,
+ CoreMaxIDARM = 4162,
+ WarpIDARM = 4163,
+ WarpMaxIDARM = 4164,
SubgroupEqMask = 4416,
SubgroupEqMaskKHR = 4416,
SubgroupGeMask = 4417,
@@ -639,6 +709,8 @@ enum BuiltIn : uint
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -691,6 +763,9 @@ enum BuiltIn : uint
HitKindKHR = 5333,
HitKindNV = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
IncomingRayFlagsNV = 5351,
RayGeometryIndexKHR = 5352,
@@ -698,6 +773,8 @@ enum BuiltIn : uint
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
}
@@ -733,6 +810,8 @@ enum LoopControlShift : uint
MaxInterleavingINTEL = 21,
SpeculatedIterationsINTEL = 22,
NoFusionINTEL = 23,
+ LoopCountINTEL = 24,
+ MaxReinvocationDelayINTEL = 25,
}
enum LoopControlMask : uint
@@ -755,6 +834,8 @@ enum LoopControlMask : uint
MaxInterleavingINTEL = 0x00200000,
SpeculatedIterationsINTEL = 0x00400000,
NoFusionINTEL = 0x00800000,
+ LoopCountINTEL = 0x01000000,
+ MaxReinvocationDelayINTEL = 0x02000000,
}
enum FunctionControlShift : uint
@@ -963,6 +1044,10 @@ enum Capability : uint
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
+ CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -994,6 +1079,9 @@ enum Capability : uint
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -1001,6 +1089,8 @@ enum Capability : uint
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
+ QuadControlKHR = 5087,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1042,6 +1132,7 @@ enum Capability : uint
UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -1059,7 +1150,12 @@ enum Capability : uint
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 +1188,13 @@ enum Capability : uint
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,16 +1207,28 @@ enum Capability : uint
DotProduct = 6019,
DotProductKHR = 6019,
RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
+ FloatControls2 = 6029,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
- LongConstantCompositeINTEL = 6089,
+ LongCompositesINTEL = 6089,
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
SplitBarrierINTEL = 6141,
+ FPGAClusterAttributesV2INTEL = 6150,
+ FPGAKernelAttributesv2INTEL = 6161,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
+ GlobalVariableHostAccessINTEL = 6187,
+ GlobalVariableFPGADecorationsINTEL = 6189,
GroupUniformArithmeticKHR = 6400,
+ MaskedGatherScatterINTEL = 6427,
+ CacheControlsINTEL = 6441,
}
enum RayFlagsShift : uint
@@ -1132,6 +1243,7 @@ enum RayFlagsShift : uint
CullNoOpaqueKHR = 7,
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
+ ForceOpacityMicromap2StateEXT = 10,
}
enum RayFlagsMask : uint
@@ -1147,6 +1259,7 @@ enum RayFlagsMask : uint
CullNoOpaqueKHR = 0x00000080,
SkipTrianglesKHR = 0x00000100,
SkipAABBsKHR = 0x00000200,
+ ForceOpacityMicromap2StateEXT = 0x00000400,
}
enum RayQueryIntersection : uint
@@ -1223,6 +1336,69 @@ enum PackedVectorFormat : uint
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,
@@ -1569,6 +1745,9 @@ enum Op : uint
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
@@ -1594,6 +1773,11 @@ enum Op : uint
OpUDotAccSatKHR = 4454,
OpSUDotAccSat = 4455,
OpSUDotAccSatKHR = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1601,6 +1785,10 @@ enum Op : uint
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1612,11 +1800,51 @@ enum Op : uint
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpGroupNonUniformQuadAllKHR = 5110,
+ OpGroupNonUniformQuadAnyKHR = 5111,
+ 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 +1852,7 @@ enum Op : uint
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
@@ -1885,6 +2114,9 @@ enum Op : uint
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpCompositeConstructContinuedINTEL = 6096,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
OpGroupIMulKHR = 6401,
@@ -1895,6 +2127,8 @@ enum Op : uint
OpGroupLogicalAndKHR = 6406,
OpGroupLogicalOrKHR = 6407,
OpGroupLogicalXorKHR = 6408,
+ OpMaskedGatherINTEL = 6428,
+ OpMaskedScatterINTEL = 6429,
}
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644
index 0000000..956cbd6
--- /dev/null
+++ b/tests/CMakeLists.txt
@@ -0,0 +1,47 @@
+# Copyright (c) 2015-2024 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
index d79b62f..1920e80 100644
--- a/example/example.cpp
+++ b/tests/example.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2016 The Khronos Group Inc.
+// Copyright (c) 2016-2024 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
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/generate_language_headers.py b/tools/buildHeaders/bin/generate_language_headers.py
index c56780c..ccd843b 100755
--- a/tools/buildHeaders/bin/generate_language_headers.py
+++ b/tools/buildHeaders/bin/generate_language_headers.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# Copyright (c) 2017-2020 Google LLC
+# Copyright (c) 2017-2024 Google LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and/or associated documentation files (the
@@ -32,7 +32,7 @@ import json
import os.path
import re
-DEFAULT_COPYRIGHT="""Copyright (c) 2020 The Khronos Group Inc.
+DEFAULT_COPYRIGHT="""Copyright (c) 2020-2024 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
diff --git a/tools/buildHeaders/bin/makeExtinstHeaders.py b/tools/buildHeaders/bin/makeExtinstHeaders.py
index 9359747..96ce008 100755
--- a/tools/buildHeaders/bin/makeExtinstHeaders.py
+++ b/tools/buildHeaders/bin/makeExtinstHeaders.py
@@ -26,3 +26,5 @@ mk_extinst('AMD_shader_explicit_vertex_parameter', 'extinst.spv-amd-shader-expli
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')
+mk_extinst('NonSemanticVkspReflection', 'extinst.nonsemantic.vkspreflection.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..d125a79 100644
--- a/tools/buildHeaders/header.cpp
+++ b/tools/buildHeaders/header.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),
@@ -169,29 +169,30 @@ namespace {
}
const std::string TPrinter::DocCopyright =
- "Copyright (c) 2014-2020 The Khronos Group Inc.\n"
- "\n"
- "Permission is hereby granted, free of charge, to any person obtaining a copy\n"
- "of this software and/or associated documentation files (the \"Materials\"),\n"
- "to deal in the Materials without restriction, including without limitation\n"
- "the rights to use, copy, modify, merge, publish, distribute, sublicense,\n"
- "and/or sell copies of the Materials, and to permit persons to whom the\n"
- "Materials are furnished to do so, subject to the following conditions:\n"
- "\n"
- "The above copyright notice and this permission notice shall be included in\n"
- "all copies or substantial portions of the Materials.\n"
- "\n"
- "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS\n"
- "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND\n"
- "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ \n"
- "\n"
- "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n"
- "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n"
- "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n"
- "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n"
- "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n"
- "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS\n"
- "IN THE MATERIALS.\n";
+R"(Copyright (c) 2014-2024 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.
+)";
const std::string TPrinter::DocComment1 =
"This header is automatically generated by the same tool that creates\n"
@@ -574,17 +575,11 @@ namespace {
// 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 +588,29 @@ namespace {
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 +646,11 @@ namespace {
// 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/header.h b/tools/buildHeaders/header.h
index 1dd6e67..6854f80 100644
--- a/tools/buildHeaders/header.h
+++ b/tools/buildHeaders/header.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),
diff --git a/tools/buildHeaders/jsonToSpirv.cpp b/tools/buildHeaders/jsonToSpirv.cpp
index 67b5bce..6eed13c 100644
--- a/tools/buildHeaders/jsonToSpirv.cpp
+++ b/tools/buildHeaders/jsonToSpirv.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
+// Copyright (c) 2014-2024 The Khronos Group Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and/or associated documentation files (the "Materials"),
@@ -36,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 RayQueryCommittedIntersectionTypeParams;
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 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
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 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
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 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
return;
initialized = true;
+ size_t errorCount = 0;
+
// Read the JSON grammar file.
bool fileReadOk = false;
std::string content;
@@ -326,8 +528,10 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
for (const auto& printingClass : printingClasses) {
if (printingClass["tag"].asString().size() > 0)
tags.insert(printingClass["tag"].asString()); // just for error checking
- else
+ else {
std::cerr << "Error: each instruction_printing_class requires a non-empty \"tag\"" << std::endl;
+ std::exit(1);
+ }
if (buildingHeaders || printingClass["tag"].asString() != "@exclude") {
InstructionPrintingClasses.push_back({printingClass["tag"].asString(),
printingClass["heading"].asString()});
@@ -343,6 +547,7 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
if (printingClass.size() == 0) {
std::cerr << "Error: " << inst["opname"].asString()
<< " requires a non-empty printing \"class\" tag" << std::endl;
+ std::exit(1);
}
if (!buildingHeaders && printingClass == "@exclude")
continue;
@@ -350,6 +555,7 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
std::cerr << "Error: " << inst["opname"].asString()
<< " requires a \"class\" declared as a \"tag\" in \"instruction printing_class\""
<< std::endl;
+ std::exit(1);
}
const auto opcode = inst["opcode"].asUInt();
const std::string name = inst["opname"].asString();
@@ -387,12 +593,15 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
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 +660,22 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
}
};
- 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 +763,26 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
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..4afbeb7 100644
--- a/tools/buildHeaders/jsonToSpirv.h
+++ b/tools/buildHeaders/jsonToSpirv.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),
@@ -96,6 +96,13 @@ enum OperandClass {
OperandQuantizationModes,
OperandOverflowModes,
OperandPackedVectorFormat,
+ OperandCooperativeMatrixOperands,
+ OperandCooperativeMatrixLayout,
+ OperandCooperativeMatrixUse,
+ OperandInitializationModeQualifier,
+ OperandHostAccessQualifier,
+ OperandLoadCacheControl,
+ OperandStoreCacheControl,
OperandOpcode,
@@ -184,6 +191,7 @@ public:
iterator begin() { return values.begin(); }
iterator end() { return values.end(); }
+ EValue& back() { return values.back(); }
private:
ContainerType values;
@@ -216,6 +224,10 @@ public:
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>;
diff --git a/tools/buildHeaders/main.cpp b/tools/buildHeaders/main.cpp
index 9a59714..6e6a03b 100644
--- a/tools/buildHeaders/main.cpp
+++ b/tools/buildHeaders/main.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2014-2019 The Khronos Group Inc.
+// Copyright (c) 2014-2024 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"),