Merge tag 'vulkan-sdk-1.3.268.0'

Bug:b/319117470

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