Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package spirv-headers for openSUSE:Factory 
checked in at 2025-10-08 18:13:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spirv-headers (Old)
 and      /work/SRC/openSUSE:Factory/.spirv-headers.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "spirv-headers"

Wed Oct  8 18:13:17 2025 rev:53 rq:1309565 version:1.6.4+sdk328+g01e0577

Changes:
--------
--- /work/SRC/openSUSE:Factory/spirv-headers/spirv-headers.changes      
2025-09-25 18:43:53.926663989 +0200
+++ /work/SRC/openSUSE:Factory/.spirv-headers.new.11973/spirv-headers.changes   
2025-10-08 18:13:59.393065637 +0200
@@ -1,0 +2,11 @@
+Tue Oct  7 10:07:48 UTC 2025 - Jan Engelhardt <[email protected]>
+
+- Update to tag SDK-1.4.328.0 (Git 01e0577)
+  * Use less confusing name for OpGroupNonUniformBroadcast and
+    OpGroupNonUniformShuffle
+  * Finalization of SPV_KHR_untyped_pointers
+  * Fixed typo in operand name of
+    OpSubgroupAvcImeSetDualReferenceINTEL
+  * Update SPV_INTEL_variable_length_array to revision 3
+
+-------------------------------------------------------------------

Old:
----
  c8ad050fcb29e42a2f57d9f59e97488f465c436d.tar.gz

New:
----
  01e0577914a75a2569c846778c2f93aa8e6feddd.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ spirv-headers.spec ++++++
--- /var/tmp/diff_new_pack.Vjaqt5/_old  2025-10-08 18:13:59.977090141 +0200
+++ /var/tmp/diff_new_pack.Vjaqt5/_new  2025-10-08 18:13:59.977090141 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package spirv-headers
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -30,9 +30,9 @@
 %endif
 
 Name:           spirv-headers
-Version:        1.6.4+sdk321+gc8ad050
-%define innerver 1.4.321
-%define rev c8ad050fcb29e42a2f57d9f59e97488f465c436d
+Version:        1.6.4+sdk328+g01e0577
+%define innerver 1.4.328
+%define rev 01e0577914a75a2569c846778c2f93aa8e6feddd
 Release:        0
 Summary:        Machine-readable files from the SPIR-V registry
 License:        MIT

++++++ c8ad050fcb29e42a2f57d9f59e97488f465c436d.tar.gz -> 
01e0577914a75a2569c846778c2f93aa8e6feddd.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/.github/workflows/presubmit.yml
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/.github/workflows/presubmit.yml
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/.github/workflows/presubmit.yml
  2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/.github/workflows/presubmit.yml
  2025-09-09 19:21:12.000000000 +0200
@@ -5,6 +5,13 @@
   contents: read
 
 jobs:
+  validate_json:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v5
+      - name: Validate
+        run: python3 tools/check_grammar/check_grammar.py 
include/spirv/unified1/*.json
+
   build:
     name: Build ${{ matrix.os }}
     runs-on: ${{ matrix.os }}
@@ -12,7 +19,7 @@
       matrix:
         os: [ubuntu-latest, macos-latest, windows-latest]
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - name: Install Ubuntu packages
         if: matrix.os == 'ubuntu-latest'
         run: sudo apt install -y dos2unix
@@ -52,7 +59,7 @@
   test_cmake_min_required:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: lukka/get-cmake@latest
         with:
           cmakeVersion: 3.14.0
@@ -64,7 +71,7 @@
   test_cmake_latest:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: lukka/get-cmake@latest
       - name: CMake build
         run: |
@@ -74,7 +81,7 @@
   add_subdirectory:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: lukka/get-cmake@latest
         with:
           cmakeVersion: 3.15.0
@@ -86,7 +93,7 @@
   find_package:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: lukka/get-cmake@latest
         with:
           cmakeVersion: 3.15.0
@@ -102,7 +109,7 @@
   find_pkg_config:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: lukka/get-cmake@latest
         with:
           cmakeVersion: 3.15.0
@@ -119,7 +126,7 @@
   find_pkg_config_absolute:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: lukka/get-cmake@latest
         with:
           cmakeVersion: 3.15.0
@@ -141,6 +148,6 @@
     container: 
khronosgroup/docker-images@sha256:724f67d8562445523644abf017d5d192b369fafc122de75e9d26792c649821a0
 
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - name: REUSE license checker
         run: reuse lint
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/BUILD.bazel 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/BUILD.bazel
--- old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/BUILD.bazel      
2025-07-03 10:33:06.000000000 +0200
+++ new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/BUILD.bazel      
2025-09-09 19:21:12.000000000 +0200
@@ -128,6 +128,11 @@
     srcs = ["include/spirv/unified1/extinst.tosa.001000.1.grammar.json"],
 )
 
+filegroup(
+    name = "spirv_ext_inst_arm_motion_engine_100",
+    srcs = 
["include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json"],
+)
+
 cc_library(
     name = "spirv_common_headers",
     hdrs = [
@@ -137,6 +142,7 @@
         "include/spirv/1.1/OpenCL.std.h",
         "include/spirv/1.2/GLSL.std.450.h",
         "include/spirv/1.2/OpenCL.std.h",
+        "include/spirv/unified1/ArmMotionEngine.100.h",
         "include/spirv/unified1/GLSL.std.450.h",
         "include/spirv/unified1/NonSemanticClspvReflection.h",
         "include/spirv/unified1/NonSemanticDebugPrintf.h",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/ArmMotionEngine.100.h
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/ArmMotionEngine.100.h
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/ArmMotionEngine.100.h
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/ArmMotionEngine.100.h
     2025-09-09 19:21:12.000000000 +0200
@@ -0,0 +1,32 @@
+// SPDX-FileCopyrightText: 2022-2025 Arm Ltd.
+// SPDX-License-Identifier: MIT
+
+#ifndef SPIRV_UNIFIED1_ArmMotionEngine_100_H_
+#define SPIRV_UNIFIED1_ArmMotionEngine_100_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum {
+    ArmMotionEngineVersion = 100,
+    ArmMotionEngineVersion_BitWidthPadding = 0x7fffffff
+};
+enum {
+    ArmMotionEngineRevision = 1,
+    ArmMotionEngineRevision_BitWidthPadding = 0x7fffffff
+};
+
+enum ArmMotionEngineInstructions {
+    ArmMotionEngineMIN_SAD = 0,
+    ArmMotionEngineMIN_SAD_COST = 1,
+    ArmMotionEngineRAW_SAD = 2,
+    ArmMotionEngineInstructionsMax = 0x7fffffff
+};
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // SPIRV_UNIFIED1_ArmMotionEngine_100_H_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json
        2025-09-09 19:21:12.000000000 +0200
@@ -0,0 +1,133 @@
+{
+  "copyright": [
+    "SPDX-FileCopyrightText: 2022-2025 Arm Ltd.",
+    "SPDX-License-Identifier: MIT"
+  ],
+  "version": 100,
+  "revision": 1,
+  "instructions": [
+    {
+      "opname": "MIN_SAD",
+      "opcode": 0,
+      "operands": [
+        {
+          "kind": "IdRef",
+          "name": "kernel_sizes"
+        },
+        {
+          "kind": "IdRef",
+          "name": "search_window_sizes"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input_strides"
+        },
+        {
+          "kind": "IdRef",
+          "name": "window_strides"
+        },
+        {
+          "kind": "IdRef",
+          "name": "window_offsets"
+        },
+        {
+          "kind": "IdRef",
+          "name": "padding"
+        },
+        {
+          "kind": "IdRef",
+          "name": "search_pattern"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input0"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input1"
+        }
+      ]
+    },
+    {
+      "opname": "MIN_SAD_COST",
+      "opcode": 1,
+      "operands": [
+        {
+          "kind": "IdRef",
+          "name": "kernel_sizes"
+        },
+        {
+          "kind": "IdRef",
+          "name": "search_window_sizes"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input_strides"
+        },
+        {
+          "kind": "IdRef",
+          "name": "window_strides"
+        },
+        {
+          "kind": "IdRef",
+          "name": "window_offsets"
+        },
+        {
+          "kind": "IdRef",
+          "name": "padding"
+        },
+        {
+          "kind": "IdRef",
+          "name": "search_pattern"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input0"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input1"
+        }
+      ]
+    },
+    {
+      "opname": "RAW_SAD",
+      "opcode": 2,
+      "operands": [
+        {
+          "kind": "IdRef",
+          "name": "kernel_sizes"
+        },
+        {
+          "kind": "IdRef",
+          "name": "search_window_sizes"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input_strides"
+        },
+        {
+          "kind": "IdRef",
+          "name": "window_strides"
+        },
+        {
+          "kind": "IdRef",
+          "name": "window_offsets"
+        },
+        {
+          "kind": "IdRef",
+          "name": "padding"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input0"
+        },
+        {
+          "kind": "IdRef",
+          "name": "input1"
+        }
+      ]
+    }
+  ],
+  "operand_kinds": []
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/extinst.opencl.std.100.grammar.json
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/extinst.opencl.std.100.grammar.json
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/extinst.opencl.std.100.grammar.json
       2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/extinst.opencl.std.100.grammar.json
       2025-09-09 19:21:12.000000000 +0200
@@ -709,6 +709,130 @@
       ]
     },
     {
+      "opname" : "fclamp",
+      "opcode" : 95,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" },
+        { "kind" : "IdRef", "name" : "minval" },
+        { "kind" : "IdRef", "name" : "maxval" }
+      ]
+    },
+    {
+      "opname" : "degrees",
+      "opcode" :96,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "radians" }
+      ]
+    },
+    {
+      "opname" : "fmax_common",
+      "opcode" : 97,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" },
+        { "kind" : "IdRef", "name" : "y" }
+      ]
+    },
+    {
+      "opname" : "fmin_common",
+      "opcode" : 98,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" },
+        { "kind" : "IdRef", "name" : "y" }
+      ]
+    },
+    {
+      "opname" : "mix",
+      "opcode" : 99,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" },
+        { "kind" : "IdRef", "name" : "y" },
+        { "kind" : "IdRef", "name" : "a" }
+      ]
+    },
+    {
+      "opname" : "radians",
+      "opcode" : 100,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "degrees" }
+      ]
+    },
+    {
+      "opname" : "step",
+      "opcode" : 101,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "edge" },
+        { "kind" : "IdRef", "name" : "x" }
+      ]
+    },
+    {
+      "opname" : "smoothstep",
+      "opcode" : 102,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "edge0" },
+        { "kind" : "IdRef", "name" : "edge1" },
+        { "kind" : "IdRef", "name" : "x" }
+      ]
+    },
+    {
+      "opname" : "sign",
+      "opcode" : 103,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" }
+      ]
+    },
+    {
+      "opname" : "cross",
+      "opcode" : 104,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "p0" },
+        { "kind" : "IdRef", "name" : "p1" }
+      ]
+    },
+    {
+      "opname" : "distance",
+      "opcode" : 105,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "p0" },
+        { "kind" : "IdRef", "name" : "p1" }
+      ]
+    },
+    {
+      "opname" : "length",
+      "opcode" : 106,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "p" }
+      ]
+    },
+    {
+      "opname" : "normalize",
+      "opcode" : 107,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "p" }
+      ]
+    },
+    {
+      "opname" : "fast_distance",
+      "opcode" : 108,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "p0" },
+        { "kind" : "IdRef", "name" : "p1" }
+      ]
+    },
+    {
+      "opname" : "fast_length",
+      "opcode" : 109,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "p" }
+      ]
+    },
+    {
+      "opname" : "fast_normalize",
+      "opcode" : 110,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "p" }
+      ]
+    },
+    {
       "opname" : "s_abs",
       "opcode" : 141,
       "operands" : [
@@ -952,180 +1076,6 @@
       ]
     },
     {
-      "opname" : "u_abs",
-      "opcode" : 201,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" }
-      ]
-    },
-    {
-      "opname" : "u_abs_diff",
-      "opcode" : 202,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" },
-        { "kind" : "IdRef", "name" : "y" }
-      ]
-    },
-    {
-      "opname" : "u_mul_hi",
-      "opcode" : 203,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" },
-        { "kind" : "IdRef", "name" : "y" }
-      ]
-    },
-    {
-      "opname" : "u_mad_hi",
-      "opcode" : 204,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "a" },
-        { "kind" : "IdRef", "name" : "b" },
-        { "kind" : "IdRef", "name" : "c" }
-      ]
-    },
-    {
-      "opname" : "fclamp",
-      "opcode" : 95,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" },
-        { "kind" : "IdRef", "name" : "minval" },
-        { "kind" : "IdRef", "name" : "maxval" }
-      ]
-    },
-    {
-      "opname" : "degrees",
-      "opcode" :96,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "radians" }
-      ]
-    },
-    {
-      "opname" : "fmax_common",
-      "opcode" : 97,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" },
-        { "kind" : "IdRef", "name" : "y" }
-      ]
-    },
-    {
-      "opname" : "fmin_common",
-      "opcode" : 98,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" },
-        { "kind" : "IdRef", "name" : "y" }
-      ]
-    },
-    {
-      "opname" : "mix",
-      "opcode" : 99,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" },
-        { "kind" : "IdRef", "name" : "y" },
-        { "kind" : "IdRef", "name" : "a" }
-      ]
-    },
-    {
-      "opname" : "radians",
-      "opcode" : 100,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "degrees" }
-      ]
-    },
-    {
-      "opname" : "step",
-      "opcode" : 101,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "edge" },
-        { "kind" : "IdRef", "name" : "x" }
-      ]
-    },
-    {
-      "opname" : "smoothstep",
-      "opcode" : 102,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "edge0" },
-        { "kind" : "IdRef", "name" : "edge1" },
-        { "kind" : "IdRef", "name" : "x" }
-      ]
-    },
-    {
-      "opname" : "sign",
-      "opcode" : 103,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "x" }
-      ]
-    },
-    {
-      "opname" : "cross",
-      "opcode" : 104,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "p0" },
-        { "kind" : "IdRef", "name" : "p1" }
-      ]
-    },
-    {
-      "opname" : "distance",
-      "opcode" : 105,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "p0" },
-        { "kind" : "IdRef", "name" : "p1" }
-      ]
-    },
-    {
-      "opname" : "length",
-      "opcode" : 106,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "p" }
-      ]
-    },
-    {
-      "opname" : "normalize",
-      "opcode" : 107,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "p" }
-      ]
-    },
-    {
-      "opname" : "fast_distance",
-      "opcode" : 108,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "p0" },
-        { "kind" : "IdRef", "name" : "p1" }
-      ]
-    },
-    {
-      "opname" : "fast_length",
-      "opcode" : 109,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "p" }
-      ]
-    },
-    {
-      "opname" : "fast_normalize",
-      "opcode" : 110,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "p" }
-      ]
-    },
-    {
-      "opname" : "bitselect",
-      "opcode" : 186,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "a" },
-        { "kind" : "IdRef", "name" : "b" },
-        { "kind" : "IdRef", "name" : "c" }
-      ]
-    },
-    {
-      "opname" : "select",
-      "opcode" : 187,
-      "operands" : [
-        { "kind" : "IdRef", "name" : "a" },
-        { "kind" : "IdRef", "name" : "b" },
-        { "kind" : "IdRef", "name" : "c" }
-      ]
-    },
-    {
       "opname" : "vloadn",
       "opcode" : 171,
       "operands" : [
@@ -1258,6 +1208,56 @@
         { "kind" : "IdRef", "name" : "ptr" },
         { "kind" : "IdRef", "name" : "num elements" }
       ]
+    },
+    {
+      "opname" : "bitselect",
+      "opcode" : 186,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "a" },
+        { "kind" : "IdRef", "name" : "b" },
+        { "kind" : "IdRef", "name" : "c" }
+      ]
+    },
+    {
+      "opname" : "select",
+      "opcode" : 187,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "a" },
+        { "kind" : "IdRef", "name" : "b" },
+        { "kind" : "IdRef", "name" : "c" }
+      ]
+    },
+    {
+      "opname" : "u_abs",
+      "opcode" : 201,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" }
+      ]
+    },
+    {
+      "opname" : "u_abs_diff",
+      "opcode" : 202,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" },
+        { "kind" : "IdRef", "name" : "y" }
+      ]
+    },
+    {
+      "opname" : "u_mul_hi",
+      "opcode" : 203,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "x" },
+        { "kind" : "IdRef", "name" : "y" }
+      ]
+    },
+    {
+      "opname" : "u_mad_hi",
+      "opcode" : 204,
+      "operands" : [
+        { "kind" : "IdRef", "name" : "a" },
+        { "kind" : "IdRef", "name" : "b" },
+        { "kind" : "IdRef", "name" : "c" }
+      ]
     }
   ]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.bf
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.bf
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.bf
  2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.bf
  2025-09-09 19:21:12.000000000 +0200
@@ -1314,6 +1314,7 @@
             Subgroup2DBlockTransposeINTEL = 6230,
             SubgroupMatrixMultiplyAccumulateINTEL = 6236,
             TernaryBitwiseFunctionINTEL = 6241,
+            UntypedVariableLengthArrayINTEL = 6243,
             SpecConditionalINTEL = 6245,
             FunctionVariantsINTEL = 6246,
             GroupUniformArithmeticKHR = 6400,
@@ -2046,6 +2047,7 @@
             OpGroupNonUniformRotateKHR = 4431,
             OpSubgroupReadInvocationKHR = 4432,
             OpExtInstWithForwardRefsKHR = 4433,
+            OpUntypedGroupAsyncCopyKHR = 4434,
             OpTraceRayKHR = 4445,
             OpExecuteCallableKHR = 4446,
             OpConvertUToAccelerationStructureKHR = 4447,
@@ -2171,6 +2173,7 @@
             OpTypeAccelerationStructureNV = 5341,
             OpExecuteCallableNV = 5344,
             OpRayQueryGetClusterIdNV = 5345,
+            OpRayQueryGetIntersectionClusterIdNV = 5345,
             OpHitObjectGetClusterIdNV = 5346,
             OpTypeCooperativeMatrixNV = 5358,
             OpCooperativeMatrixLoadNV = 5359,
@@ -2480,6 +2483,7 @@
             OpSubgroup2DBlockStoreINTEL = 6235,
             OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
             OpBitwiseFunctionINTEL = 6242,
+            OpUntypedVariableLengthArrayINTEL = 6244,
             OpConditionalExtensionINTEL = 6248,
             OpConditionalEntryPointINTEL = 6249,
             OpConditionalCapabilityINTEL = 6250,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.core.grammar.json
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.core.grammar.json
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.core.grammar.json
   2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.core.grammar.json
   2025-09-09 19:21:12.000000000 +0200
@@ -1359,6 +1359,7 @@
         { "kind" : "IdResult" },
         { "kind" : "IdRef",        "name" : "Value" }
       ],
+      "capabilities" : [ "Shader" ],
       "version": "1.0"
     },
     {
@@ -3918,7 +3919,7 @@
         { "kind" : "IdResult" },
         { "kind" : "IdScope", "name" : "Execution" },
         { "kind" : "IdRef", "name" : "Value" },
-        { "kind" : "IdRef", "name" : "Id" }
+        { "kind" : "IdRef", "name" : "Invocation Id" }
       ],
       "capabilities" : [ "GroupNonUniformBallot" ],
       "version" : "1.3"
@@ -4025,7 +4026,7 @@
         { "kind" : "IdResult" },
         { "kind" : "IdScope", "name" : "Execution" },
         { "kind" : "IdRef", "name" : "Value" },
-        { "kind" : "IdRef", "name" : "Id" }
+        { "kind" : "IdRef", "name" : "Invocation Id" }
       ],
       "capabilities" : [ "GroupNonUniformShuffle" ],
       "version" : "1.3"
@@ -4574,7 +4575,6 @@
       "capabilities" : [
         "UntypedPointersKHR"
       ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdResult" },
@@ -4586,7 +4586,6 @@
       "class" : "Memory",
       "opcode" : 4418,
       "capabilities" : [ "UntypedPointersKHR" ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdResultType" },
@@ -4601,7 +4600,6 @@
       "class" : "Memory",
       "opcode" : 4419,
       "capabilities" : [ "UntypedPointersKHR" ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdResultType" },
@@ -4616,7 +4614,6 @@
       "class" : "Memory",
       "opcode" : 4420,
       "capabilities" : [ "UntypedPointersKHR" ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdResultType" },
@@ -4657,7 +4654,6 @@
       "class"  : "Memory",
       "opcode" : 4423,
       "capabilities" : [ "UntypedPointersKHR" ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdResultType" },
@@ -4673,7 +4669,6 @@
       "class"  : "Memory",
       "opcode" : 4424,
       "capabilities" : [ "UntypedPointersKHR" ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdResultType" },
@@ -4689,7 +4684,6 @@
       "class"  : "Memory",
       "opcode" : 4425,
       "capabilities" : [ "UntypedPointersKHR" ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdResultType" },
@@ -4704,7 +4698,6 @@
       "class"  : "Memory",
       "opcode" : 4426,
       "capabilities" : [ "UntypedPointersKHR" ],
-      "provisional" : true,
       "version" : "None",
       "operands" : [
         { "kind" : "IdRef",                            "name" : "Pointer Type" 
},
@@ -4803,6 +4796,26 @@
       "version": "None"
     },
     {
+      "opname" : "OpUntypedGroupAsyncCopyKHR",
+      "class"  : "Group",
+      "opcode" : 4434,
+      "capabilities" : [ "UntypedPointersKHR" ],
+      "version" : "None",
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef",                            "name" : "Execution" },
+        { "kind" : "IdRef",                            "name" : "Destination" 
},
+        { "kind" : "IdRef",                            "name" : "Source" },
+        { "kind" : "IdRef",                            "name" : "Element Num 
Bytes" },
+        { "kind" : "IdRef",                            "name" : "Num Elements" 
},
+        { "kind" : "IdRef",                            "name" : "Stride" },
+        { "kind" : "IdRef",                            "name" : "Event" },
+        { "kind" : "MemoryAccess", "quantifier" : "?", "name" : "Destination 
Memory Operands" },
+        { "kind" : "MemoryAccess", "quantifier" : "?", "name" : "Source Memory 
Operands" }
+      ]
+    },
+    {
       "opname" : "OpTraceRayKHR",
       "class"  : "Reserved",
       "opcode" : 4445,
@@ -6491,8 +6504,9 @@
       "version" : "None"
     },
     {
-      "opname" : "OpRayQueryGetClusterIdNV",
+      "opname" : "OpRayQueryGetIntersectionClusterIdNV",
       "class" : "Reserved",
+      "aliases" : ["OpRayQueryGetClusterIdNV"],
       "opcode" : 5345,
       "operands" : [
           { "kind" : "IdResultType" },
@@ -8225,7 +8239,7 @@
         { "kind" : "IdResult" },
         { "kind" : "IdRef", "name" : "Fwd Ref Offset" },
         { "kind" : "IdRef", "name" : "Bwd Ref Offset" },
-        { "kind" : "IdRef", "name" : "id> Search Window Config" },
+        { "kind" : "IdRef", "name" : "Search Window Config" },
         { "kind" : "IdRef", "name" : "Payload" }
       ],
       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
@@ -9142,19 +9156,19 @@
     },
     {
       "opname" : "OpVariableLengthArrayINTEL",
-      "class"  : "@exclude",
+      "class"  : "Memory",
       "opcode" : 5818,
       "operands" : [
         { "kind" : "IdResultType" },
         { "kind" : "IdResult" },
-        { "kind" : "IdRef", "name" : "Lenght" }
+        { "kind" : "IdRef", "name" : "Length" }
       ],
       "capabilities" : [ "VariableLengthArrayINTEL" ],
       "version" : "None"
     },
     {
       "opname" : "OpSaveMemoryINTEL",
-      "class"  : "@exclude",
+      "class"  : "Memory",
       "opcode" : 5819,
       "operands" : [
         { "kind" : "IdResultType" },
@@ -9165,7 +9179,7 @@
     },
     {
       "opname" : "OpRestoreMemoryINTEL",
-      "class"  : "@exclude",
+      "class"  : "Memory",
       "opcode" : 5820,
       "operands" : [
         { "kind" : "IdRef", "name" : "Ptr" }
@@ -10827,6 +10841,19 @@
       "version" : "None"
     },
     {
+      "opname" : "OpUntypedVariableLengthArrayINTEL",
+      "class"  : "Memory",
+      "opcode" : 6244,
+      "operands" : [
+        { "kind" : "IdResultType" },
+        { "kind" : "IdResult" },
+        { "kind" : "IdRef", "name" : "Element Type" },
+        { "kind" : "IdRef", "name" : "Length" }
+      ],
+      "capabilities" : [ "UntypedVariableLengthArrayINTEL" ],
+      "version" : "None"
+    },
+    {
       "opname" : "OpConditionalExtensionINTEL",
       "class"  : "Extension",
       "opcode" : 6248,
@@ -12635,7 +12662,7 @@
           "enumerant" : "DerivativeGroupQuadsKHR",
           "aliases" : ["DerivativeGroupQuadsNV"],
           "value" : 5289,
-          "capabilities" : [ "ComputeDerivativeGroupQuadsNV", 
"ComputeDerivativeGroupQuadsKHR" ],
+          "capabilities" : [ "ComputeDerivativeGroupQuadsKHR" ],
           "extensions" : [ "SPV_NV_compute_shader_derivatives", 
"SPV_KHR_compute_shader_derivatives" ],
           "version" : "None"
         },
@@ -12643,7 +12670,7 @@
           "enumerant" : "DerivativeGroupLinearKHR",
           "aliases" : ["DerivativeGroupLinearNV"],
           "value" : 5290,
-          "capabilities" : [ "ComputeDerivativeGroupLinearNV", 
"ComputeDerivativeGroupLinearKHR" ],
+          "capabilities" : [ "ComputeDerivativeGroupLinearKHR" ],
           "extensions" : [ "SPV_NV_compute_shader_derivatives", 
"SPV_KHR_compute_shader_derivatives" ],
           "version" : "None"
         },
@@ -16695,7 +16722,6 @@
           "enumerant" : "UntypedPointersKHR",
           "value" : 4473,
           "extensions" : [ "SPV_KHR_untyped_pointers" ],
-          "provisional" : true,
           "version" : "None"
         },
         {
@@ -17725,6 +17751,13 @@
           "version" : "None"
         },
         {
+          "enumerant" : "UntypedVariableLengthArrayINTEL",
+          "value" : 6243,
+          "capabilities" : [ "VariableLengthArrayINTEL", "UntypedPointersKHR" 
],
+          "extensions" : [ "SPV_INTEL_variable_length_array" ],
+          "version" : "None"
+        },
+        {
           "enumerant" : "SpecConditionalINTEL",
           "value" : 6245,
           "extensions" : [ "SPV_INTEL_function_variants" ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.cs
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.cs
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.cs
  2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.cs
  2025-09-09 19:21:12.000000000 +0200
@@ -1313,6 +1313,7 @@
             Subgroup2DBlockTransposeINTEL = 6230,
             SubgroupMatrixMultiplyAccumulateINTEL = 6236,
             TernaryBitwiseFunctionINTEL = 6241,
+            UntypedVariableLengthArrayINTEL = 6243,
             SpecConditionalINTEL = 6245,
             FunctionVariantsINTEL = 6246,
             GroupUniformArithmeticKHR = 6400,
@@ -2045,6 +2046,7 @@
             OpGroupNonUniformRotateKHR = 4431,
             OpSubgroupReadInvocationKHR = 4432,
             OpExtInstWithForwardRefsKHR = 4433,
+            OpUntypedGroupAsyncCopyKHR = 4434,
             OpTraceRayKHR = 4445,
             OpExecuteCallableKHR = 4446,
             OpConvertUToAccelerationStructureKHR = 4447,
@@ -2170,6 +2172,7 @@
             OpTypeAccelerationStructureNV = 5341,
             OpExecuteCallableNV = 5344,
             OpRayQueryGetClusterIdNV = 5345,
+            OpRayQueryGetIntersectionClusterIdNV = 5345,
             OpHitObjectGetClusterIdNV = 5346,
             OpTypeCooperativeMatrixNV = 5358,
             OpCooperativeMatrixLoadNV = 5359,
@@ -2479,6 +2482,7 @@
             OpSubgroup2DBlockStoreINTEL = 6235,
             OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
             OpBitwiseFunctionINTEL = 6242,
+            OpUntypedVariableLengthArrayINTEL = 6244,
             OpConditionalExtensionINTEL = 6248,
             OpConditionalEntryPointINTEL = 6249,
             OpConditionalCapabilityINTEL = 6250,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.h
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.h
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.h
   2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.h
   2025-09-09 19:21:12.000000000 +0200
@@ -1284,6 +1284,7 @@
     SpvCapabilitySubgroup2DBlockTransposeINTEL = 6230,
     SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,
     SpvCapabilityTernaryBitwiseFunctionINTEL = 6241,
+    SpvCapabilityUntypedVariableLengthArrayINTEL = 6243,
     SpvCapabilitySpecConditionalINTEL = 6245,
     SpvCapabilityFunctionVariantsINTEL = 6246,
     SpvCapabilityGroupUniformArithmeticKHR = 6400,
@@ -1980,6 +1981,7 @@
     SpvOpGroupNonUniformRotateKHR = 4431,
     SpvOpSubgroupReadInvocationKHR = 4432,
     SpvOpExtInstWithForwardRefsKHR = 4433,
+    SpvOpUntypedGroupAsyncCopyKHR = 4434,
     SpvOpTraceRayKHR = 4445,
     SpvOpExecuteCallableKHR = 4446,
     SpvOpConvertUToAccelerationStructureKHR = 4447,
@@ -2105,6 +2107,7 @@
     SpvOpTypeAccelerationStructureNV = 5341,
     SpvOpExecuteCallableNV = 5344,
     SpvOpRayQueryGetClusterIdNV = 5345,
+    SpvOpRayQueryGetIntersectionClusterIdNV = 5345,
     SpvOpHitObjectGetClusterIdNV = 5346,
     SpvOpTypeCooperativeMatrixNV = 5358,
     SpvOpCooperativeMatrixLoadNV = 5359,
@@ -2414,6 +2417,7 @@
     SpvOpSubgroup2DBlockStoreINTEL = 6235,
     SpvOpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
     SpvOpBitwiseFunctionINTEL = 6242,
+    SpvOpUntypedVariableLengthArrayINTEL = 6244,
     SpvOpConditionalExtensionINTEL = 6248,
     SpvOpConditionalEntryPointINTEL = 6249,
     SpvOpConditionalCapabilityINTEL = 6250,
@@ -2821,6 +2825,7 @@
     case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = 
true; break;
     case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = 
true; break;
     case SpvOpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = 
true; break;
+    case SpvOpUntypedGroupAsyncCopyKHR: *hasResult = true; *hasResultType = 
true; break;
     case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
     case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; 
break;
     case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; 
*hasResultType = true; break;
@@ -2937,7 +2942,7 @@
     case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = 
true; *hasResultType = true; break;
     case SpvOpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType 
= false; break;
     case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; 
break;
-    case SpvOpRayQueryGetClusterIdNV: *hasResult = true; *hasResultType = 
true; break;
+    case SpvOpRayQueryGetIntersectionClusterIdNV: *hasResult = true; 
*hasResultType = true; break;
     case SpvOpHitObjectGetClusterIdNV: *hasResult = true; *hasResultType = 
true; break;
     case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = 
false; break;
     case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = 
true; break;
@@ -3244,6 +3249,7 @@
     case SpvOpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = 
false; break;
     case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; 
*hasResultType = true; break;
     case SpvOpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; 
break;
+    case SpvOpUntypedVariableLengthArrayINTEL: *hasResult = true; 
*hasResultType = true; break;
     case SpvOpConditionalExtensionINTEL: *hasResult = false; *hasResultType = 
false; break;
     case SpvOpConditionalEntryPointINTEL: *hasResult = false; *hasResultType = 
false; break;
     case SpvOpConditionalCapabilityINTEL: *hasResult = false; *hasResultType = 
false; break;
@@ -4232,6 +4238,7 @@
     case SpvCapabilitySubgroup2DBlockTransposeINTEL: return 
"Subgroup2DBlockTransposeINTEL";
     case SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL: return 
"SubgroupMatrixMultiplyAccumulateINTEL";
     case SpvCapabilityTernaryBitwiseFunctionINTEL: return 
"TernaryBitwiseFunctionINTEL";
+    case SpvCapabilityUntypedVariableLengthArrayINTEL: return 
"UntypedVariableLengthArrayINTEL";
     case SpvCapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
     case SpvCapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
     case SpvCapabilityGroupUniformArithmeticKHR: return 
"GroupUniformArithmeticKHR";
@@ -4809,6 +4816,7 @@
     case SpvOpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
     case SpvOpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
     case SpvOpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
+    case SpvOpUntypedGroupAsyncCopyKHR: return "OpUntypedGroupAsyncCopyKHR";
     case SpvOpTraceRayKHR: return "OpTraceRayKHR";
     case SpvOpExecuteCallableKHR: return "OpExecuteCallableKHR";
     case SpvOpConvertUToAccelerationStructureKHR: return 
"OpConvertUToAccelerationStructureKHR";
@@ -5232,6 +5240,7 @@
     case SpvOpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
     case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: return 
"OpSubgroupMatrixMultiplyAccumulateINTEL";
     case SpvOpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
+    case SpvOpUntypedVariableLengthArrayINTEL: return 
"OpUntypedVariableLengthArrayINTEL";
     case SpvOpConditionalExtensionINTEL: return "OpConditionalExtensionINTEL";
     case SpvOpConditionalEntryPointINTEL: return 
"OpConditionalEntryPointINTEL";
     case SpvOpConditionalCapabilityINTEL: return 
"OpConditionalCapabilityINTEL";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.hpp
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.hpp
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.hpp
 2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.hpp
 2025-09-09 19:21:12.000000000 +0200
@@ -1280,6 +1280,7 @@
     CapabilitySubgroup2DBlockTransposeINTEL = 6230,
     CapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,
     CapabilityTernaryBitwiseFunctionINTEL = 6241,
+    CapabilityUntypedVariableLengthArrayINTEL = 6243,
     CapabilitySpecConditionalINTEL = 6245,
     CapabilityFunctionVariantsINTEL = 6246,
     CapabilityGroupUniformArithmeticKHR = 6400,
@@ -1976,6 +1977,7 @@
     OpGroupNonUniformRotateKHR = 4431,
     OpSubgroupReadInvocationKHR = 4432,
     OpExtInstWithForwardRefsKHR = 4433,
+    OpUntypedGroupAsyncCopyKHR = 4434,
     OpTraceRayKHR = 4445,
     OpExecuteCallableKHR = 4446,
     OpConvertUToAccelerationStructureKHR = 4447,
@@ -2101,6 +2103,7 @@
     OpTypeAccelerationStructureNV = 5341,
     OpExecuteCallableNV = 5344,
     OpRayQueryGetClusterIdNV = 5345,
+    OpRayQueryGetIntersectionClusterIdNV = 5345,
     OpHitObjectGetClusterIdNV = 5346,
     OpTypeCooperativeMatrixNV = 5358,
     OpCooperativeMatrixLoadNV = 5359,
@@ -2410,6 +2413,7 @@
     OpSubgroup2DBlockStoreINTEL = 6235,
     OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
     OpBitwiseFunctionINTEL = 6242,
+    OpUntypedVariableLengthArrayINTEL = 6244,
     OpConditionalExtensionINTEL = 6248,
     OpConditionalEntryPointINTEL = 6249,
     OpConditionalCapabilityINTEL = 6250,
@@ -2817,6 +2821,7 @@
     case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; 
break;
     case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = 
true; break;
     case OpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = 
true; break;
+    case OpUntypedGroupAsyncCopyKHR: *hasResult = true; *hasResultType = true; 
break;
     case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
     case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; 
break;
     case OpConvertUToAccelerationStructureKHR: *hasResult = true; 
*hasResultType = true; break;
@@ -2933,7 +2938,7 @@
     case OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = 
true; *hasResultType = true; break;
     case OpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = 
false; break;
     case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; 
break;
-    case OpRayQueryGetClusterIdNV: *hasResult = true; *hasResultType = true; 
break;
+    case OpRayQueryGetIntersectionClusterIdNV: *hasResult = true; 
*hasResultType = true; break;
     case OpHitObjectGetClusterIdNV: *hasResult = true; *hasResultType = true; 
break;
     case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; 
break;
     case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; 
break;
@@ -3240,6 +3245,7 @@
     case OpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = 
false; break;
     case OpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; 
*hasResultType = true; break;
     case OpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; 
break;
+    case OpUntypedVariableLengthArrayINTEL: *hasResult = true; *hasResultType 
= true; break;
     case OpConditionalExtensionINTEL: *hasResult = false; *hasResultType = 
false; break;
     case OpConditionalEntryPointINTEL: *hasResult = false; *hasResultType = 
false; break;
     case OpConditionalCapabilityINTEL: *hasResult = false; *hasResultType = 
false; break;
@@ -4228,6 +4234,7 @@
     case CapabilitySubgroup2DBlockTransposeINTEL: return 
"Subgroup2DBlockTransposeINTEL";
     case CapabilitySubgroupMatrixMultiplyAccumulateINTEL: return 
"SubgroupMatrixMultiplyAccumulateINTEL";
     case CapabilityTernaryBitwiseFunctionINTEL: return 
"TernaryBitwiseFunctionINTEL";
+    case CapabilityUntypedVariableLengthArrayINTEL: return 
"UntypedVariableLengthArrayINTEL";
     case CapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
     case CapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
     case CapabilityGroupUniformArithmeticKHR: return 
"GroupUniformArithmeticKHR";
@@ -4805,6 +4812,7 @@
     case OpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
     case OpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
     case OpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
+    case OpUntypedGroupAsyncCopyKHR: return "OpUntypedGroupAsyncCopyKHR";
     case OpTraceRayKHR: return "OpTraceRayKHR";
     case OpExecuteCallableKHR: return "OpExecuteCallableKHR";
     case OpConvertUToAccelerationStructureKHR: return 
"OpConvertUToAccelerationStructureKHR";
@@ -5228,6 +5236,7 @@
     case OpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
     case OpSubgroupMatrixMultiplyAccumulateINTEL: return 
"OpSubgroupMatrixMultiplyAccumulateINTEL";
     case OpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
+    case OpUntypedVariableLengthArrayINTEL: return 
"OpUntypedVariableLengthArrayINTEL";
     case OpConditionalExtensionINTEL: return "OpConditionalExtensionINTEL";
     case OpConditionalEntryPointINTEL: return "OpConditionalEntryPointINTEL";
     case OpConditionalCapabilityINTEL: return "OpConditionalCapabilityINTEL";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.hpp11
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.hpp11
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.hpp11
       2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.hpp11
       2025-09-09 19:21:12.000000000 +0200
@@ -1280,6 +1280,7 @@
     Subgroup2DBlockTransposeINTEL = 6230,
     SubgroupMatrixMultiplyAccumulateINTEL = 6236,
     TernaryBitwiseFunctionINTEL = 6241,
+    UntypedVariableLengthArrayINTEL = 6243,
     SpecConditionalINTEL = 6245,
     FunctionVariantsINTEL = 6246,
     GroupUniformArithmeticKHR = 6400,
@@ -1976,6 +1977,7 @@
     OpGroupNonUniformRotateKHR = 4431,
     OpSubgroupReadInvocationKHR = 4432,
     OpExtInstWithForwardRefsKHR = 4433,
+    OpUntypedGroupAsyncCopyKHR = 4434,
     OpTraceRayKHR = 4445,
     OpExecuteCallableKHR = 4446,
     OpConvertUToAccelerationStructureKHR = 4447,
@@ -2101,6 +2103,7 @@
     OpTypeAccelerationStructureNV = 5341,
     OpExecuteCallableNV = 5344,
     OpRayQueryGetClusterIdNV = 5345,
+    OpRayQueryGetIntersectionClusterIdNV = 5345,
     OpHitObjectGetClusterIdNV = 5346,
     OpTypeCooperativeMatrixNV = 5358,
     OpCooperativeMatrixLoadNV = 5359,
@@ -2410,6 +2413,7 @@
     OpSubgroup2DBlockStoreINTEL = 6235,
     OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
     OpBitwiseFunctionINTEL = 6242,
+    OpUntypedVariableLengthArrayINTEL = 6244,
     OpConditionalExtensionINTEL = 6248,
     OpConditionalEntryPointINTEL = 6249,
     OpConditionalCapabilityINTEL = 6250,
@@ -2817,6 +2821,7 @@
     case Op::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = 
true; break;
     case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = 
true; break;
     case Op::OpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = 
true; break;
+    case Op::OpUntypedGroupAsyncCopyKHR: *hasResult = true; *hasResultType = 
true; break;
     case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
     case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; 
break;
     case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; 
*hasResultType = true; break;
@@ -2933,7 +2938,7 @@
     case Op::OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = 
true; *hasResultType = true; break;
     case Op::OpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType 
= false; break;
     case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; 
break;
-    case Op::OpRayQueryGetClusterIdNV: *hasResult = true; *hasResultType = 
true; break;
+    case Op::OpRayQueryGetIntersectionClusterIdNV: *hasResult = true; 
*hasResultType = true; break;
     case Op::OpHitObjectGetClusterIdNV: *hasResult = true; *hasResultType = 
true; break;
     case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = 
false; break;
     case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = 
true; break;
@@ -3240,6 +3245,7 @@
     case Op::OpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = 
false; break;
     case Op::OpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; 
*hasResultType = true; break;
     case Op::OpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; 
break;
+    case Op::OpUntypedVariableLengthArrayINTEL: *hasResult = true; 
*hasResultType = true; break;
     case Op::OpConditionalExtensionINTEL: *hasResult = false; *hasResultType = 
false; break;
     case Op::OpConditionalEntryPointINTEL: *hasResult = false; *hasResultType 
= false; break;
     case Op::OpConditionalCapabilityINTEL: *hasResult = false; *hasResultType 
= false; break;
@@ -4228,6 +4234,7 @@
     case Capability::Subgroup2DBlockTransposeINTEL: return 
"Subgroup2DBlockTransposeINTEL";
     case Capability::SubgroupMatrixMultiplyAccumulateINTEL: return 
"SubgroupMatrixMultiplyAccumulateINTEL";
     case Capability::TernaryBitwiseFunctionINTEL: return 
"TernaryBitwiseFunctionINTEL";
+    case Capability::UntypedVariableLengthArrayINTEL: return 
"UntypedVariableLengthArrayINTEL";
     case Capability::SpecConditionalINTEL: return "SpecConditionalINTEL";
     case Capability::FunctionVariantsINTEL: return "FunctionVariantsINTEL";
     case Capability::GroupUniformArithmeticKHR: return 
"GroupUniformArithmeticKHR";
@@ -4805,6 +4812,7 @@
     case Op::OpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
     case Op::OpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
     case Op::OpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
+    case Op::OpUntypedGroupAsyncCopyKHR: return "OpUntypedGroupAsyncCopyKHR";
     case Op::OpTraceRayKHR: return "OpTraceRayKHR";
     case Op::OpExecuteCallableKHR: return "OpExecuteCallableKHR";
     case Op::OpConvertUToAccelerationStructureKHR: return 
"OpConvertUToAccelerationStructureKHR";
@@ -5228,6 +5236,7 @@
     case Op::OpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
     case Op::OpSubgroupMatrixMultiplyAccumulateINTEL: return 
"OpSubgroupMatrixMultiplyAccumulateINTEL";
     case Op::OpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
+    case Op::OpUntypedVariableLengthArrayINTEL: return 
"OpUntypedVariableLengthArrayINTEL";
     case Op::OpConditionalExtensionINTEL: return "OpConditionalExtensionINTEL";
     case Op::OpConditionalEntryPointINTEL: return 
"OpConditionalEntryPointINTEL";
     case Op::OpConditionalCapabilityINTEL: return 
"OpConditionalCapabilityINTEL";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.json
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.json
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.json
        2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.json
        2025-09-09 19:21:12.000000000 +0200
@@ -1256,6 +1256,7 @@
                     "Subgroup2DBlockTransposeINTEL": 6230,
                     "SubgroupMatrixMultiplyAccumulateINTEL": 6236,
                     "TernaryBitwiseFunctionINTEL": 6241,
+                    "UntypedVariableLengthArrayINTEL": 6243,
                     "SpecConditionalINTEL": 6245,
                     "FunctionVariantsINTEL": 6246,
                     "GroupUniformArithmeticKHR": 6400,
@@ -1957,6 +1958,7 @@
                     "OpGroupNonUniformRotateKHR": 4431,
                     "OpSubgroupReadInvocationKHR": 4432,
                     "OpExtInstWithForwardRefsKHR": 4433,
+                    "OpUntypedGroupAsyncCopyKHR": 4434,
                     "OpTraceRayKHR": 4445,
                     "OpExecuteCallableKHR": 4446,
                     "OpConvertUToAccelerationStructureKHR": 4447,
@@ -2082,6 +2084,7 @@
                     "OpTypeAccelerationStructureNV": 5341,
                     "OpExecuteCallableNV": 5344,
                     "OpRayQueryGetClusterIdNV": 5345,
+                    "OpRayQueryGetIntersectionClusterIdNV": 5345,
                     "OpHitObjectGetClusterIdNV": 5346,
                     "OpTypeCooperativeMatrixNV": 5358,
                     "OpCooperativeMatrixLoadNV": 5359,
@@ -2391,6 +2394,7 @@
                     "OpSubgroup2DBlockStoreINTEL": 6235,
                     "OpSubgroupMatrixMultiplyAccumulateINTEL": 6237,
                     "OpBitwiseFunctionINTEL": 6242,
+                    "OpUntypedVariableLengthArrayINTEL": 6244,
                     "OpConditionalExtensionINTEL": 6248,
                     "OpConditionalEntryPointINTEL": 6249,
                     "OpConditionalCapabilityINTEL": 6250,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.lua
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.lua
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.lua
 2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.lua
 2025-09-09 19:21:12.000000000 +0200
@@ -1271,6 +1271,7 @@
         Subgroup2DBlockTransposeINTEL = 6230,
         SubgroupMatrixMultiplyAccumulateINTEL = 6236,
         TernaryBitwiseFunctionINTEL = 6241,
+        UntypedVariableLengthArrayINTEL = 6243,
         SpecConditionalINTEL = 6245,
         FunctionVariantsINTEL = 6246,
         GroupUniformArithmeticKHR = 6400,
@@ -1967,6 +1968,7 @@
         OpGroupNonUniformRotateKHR = 4431,
         OpSubgroupReadInvocationKHR = 4432,
         OpExtInstWithForwardRefsKHR = 4433,
+        OpUntypedGroupAsyncCopyKHR = 4434,
         OpTraceRayKHR = 4445,
         OpExecuteCallableKHR = 4446,
         OpConvertUToAccelerationStructureKHR = 4447,
@@ -2092,6 +2094,7 @@
         OpTypeAccelerationStructureNV = 5341,
         OpExecuteCallableNV = 5344,
         OpRayQueryGetClusterIdNV = 5345,
+        OpRayQueryGetIntersectionClusterIdNV = 5345,
         OpHitObjectGetClusterIdNV = 5346,
         OpTypeCooperativeMatrixNV = 5358,
         OpCooperativeMatrixLoadNV = 5359,
@@ -2401,6 +2404,7 @@
         OpSubgroup2DBlockStoreINTEL = 6235,
         OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
         OpBitwiseFunctionINTEL = 6242,
+        OpUntypedVariableLengthArrayINTEL = 6244,
         OpConditionalExtensionINTEL = 6248,
         OpConditionalEntryPointINTEL = 6249,
         OpConditionalCapabilityINTEL = 6250,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.py
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.py
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spirv.py
  2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spirv.py
  2025-09-09 19:21:12.000000000 +0200
@@ -1242,6 +1242,7 @@
         'Subgroup2DBlockTransposeINTEL' : 6230,
         'SubgroupMatrixMultiplyAccumulateINTEL' : 6236,
         'TernaryBitwiseFunctionINTEL' : 6241,
+        'UntypedVariableLengthArrayINTEL' : 6243,
         'SpecConditionalINTEL' : 6245,
         'FunctionVariantsINTEL' : 6246,
         'GroupUniformArithmeticKHR' : 6400,
@@ -1910,6 +1911,7 @@
         'OpGroupNonUniformRotateKHR' : 4431,
         'OpSubgroupReadInvocationKHR' : 4432,
         'OpExtInstWithForwardRefsKHR' : 4433,
+        'OpUntypedGroupAsyncCopyKHR' : 4434,
         'OpTraceRayKHR' : 4445,
         'OpExecuteCallableKHR' : 4446,
         'OpConvertUToAccelerationStructureKHR' : 4447,
@@ -2035,6 +2037,7 @@
         'OpTypeAccelerationStructureNV' : 5341,
         'OpExecuteCallableNV' : 5344,
         'OpRayQueryGetClusterIdNV' : 5345,
+        'OpRayQueryGetIntersectionClusterIdNV' : 5345,
         'OpHitObjectGetClusterIdNV' : 5346,
         'OpTypeCooperativeMatrixNV' : 5358,
         'OpCooperativeMatrixLoadNV' : 5359,
@@ -2344,6 +2347,7 @@
         'OpSubgroup2DBlockStoreINTEL' : 6235,
         'OpSubgroupMatrixMultiplyAccumulateINTEL' : 6237,
         'OpBitwiseFunctionINTEL' : 6242,
+        'OpUntypedVariableLengthArrayINTEL' : 6244,
         'OpConditionalExtensionINTEL' : 6248,
         'OpConditionalEntryPointINTEL' : 6249,
         'OpConditionalCapabilityINTEL' : 6250,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spv.d
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spv.d
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/include/spirv/unified1/spv.d
     2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/include/spirv/unified1/spv.d
     2025-09-09 19:21:12.000000000 +0200
@@ -1316,6 +1316,7 @@
     Subgroup2DBlockTransposeINTEL = 6230,
     SubgroupMatrixMultiplyAccumulateINTEL = 6236,
     TernaryBitwiseFunctionINTEL = 6241,
+    UntypedVariableLengthArrayINTEL = 6243,
     SpecConditionalINTEL = 6245,
     FunctionVariantsINTEL = 6246,
     GroupUniformArithmeticKHR = 6400,
@@ -2048,6 +2049,7 @@
     OpGroupNonUniformRotateKHR = 4431,
     OpSubgroupReadInvocationKHR = 4432,
     OpExtInstWithForwardRefsKHR = 4433,
+    OpUntypedGroupAsyncCopyKHR = 4434,
     OpTraceRayKHR = 4445,
     OpExecuteCallableKHR = 4446,
     OpConvertUToAccelerationStructureKHR = 4447,
@@ -2173,6 +2175,7 @@
     OpTypeAccelerationStructureNV = 5341,
     OpExecuteCallableNV = 5344,
     OpRayQueryGetClusterIdNV = 5345,
+    OpRayQueryGetIntersectionClusterIdNV = 5345,
     OpHitObjectGetClusterIdNV = 5346,
     OpTypeCooperativeMatrixNV = 5358,
     OpCooperativeMatrixLoadNV = 5359,
@@ -2482,6 +2485,7 @@
     OpSubgroup2DBlockStoreINTEL = 6235,
     OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
     OpBitwiseFunctionINTEL = 6242,
+    OpUntypedVariableLengthArrayINTEL = 6244,
     OpConditionalExtensionINTEL = 6248,
     OpConditionalEntryPointINTEL = 6249,
     OpConditionalCapabilityINTEL = 6250,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/tools/buildHeaders/bin/makeExtinstHeaders.py
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/tools/buildHeaders/bin/makeExtinstHeaders.py
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/tools/buildHeaders/bin/makeExtinstHeaders.py
     2025-07-03 10:33:06.000000000 +0200
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/tools/buildHeaders/bin/makeExtinstHeaders.py
     2025-09-09 19:21:12.000000000 +0200
@@ -30,3 +30,4 @@
 mk_extinst('NonSemanticDebugBreak', 
'extinst.nonsemantic.debugbreak.grammar.json')
 mk_extinst('NonSemanticVkspReflection', 
'extinst.nonsemantic.vkspreflection.grammar.json')
 mk_extinst('TOSA', 'extinst.tosa.001000.1.grammar.json', 'TOSA.001000.1')
+mk_extinst('ArmMotionEngine', 'extinst.arm.motion-engine.100.grammar.json', 
'ArmMotionEngine.100')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/tools/check_grammar/check_grammar.py
 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/tools/check_grammar/check_grammar.py
--- 
old/SPIRV-Headers-c8ad050fcb29e42a2f57d9f59e97488f465c436d/tools/check_grammar/check_grammar.py
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/SPIRV-Headers-01e0577914a75a2569c846778c2f93aa8e6feddd/tools/check_grammar/check_grammar.py
     2025-09-09 19:21:12.000000000 +0200
@@ -0,0 +1,185 @@
+#!/usr/bin/env python3
+# SPDX-FileCopyrightText: 2025 The Khronos Group Inc.
+# SPDX-License-Identifier: MIT
+#
+# 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.
+"""
+Enforce conventions of a SPIR-V JSON grammar file
+"""
+
+import json
+import sys
+from collections import OrderedDict
+
+
+class Checker:
+
+    def __init__(self, file_name, capabilities):
+        self._file_name = file_name
+        self._capabilities = capabilities
+
+    def print_err(self, msg):
+        print(self._file_name + ": " + msg)
+
+    def check_capabilities(self, entry, kind=None):
+        """
+        Check the capabilities of an instruction or enum are declared.
+        """
+        if not "capabilities" in entry:
+            return False
+        error = False
+        for cap in entry["capabilities"]:
+            if not cap in self._capabilities:
+                error = True
+                if kind is not None:
+                    self.print_err(
+                        "For operand kind {}, enumerant {}, non existing 
capability {}"
+                        .format(kind["kind"], entry["enumerant"], cap))
+                else:
+                    self.print_err(
+                        "Instruction {}, non existing capability {}".format(
+                            entry["opname"], cap))
+        return error
+
+    def check_instructions(self, insn_list):
+        """
+        Check conventions for instructions:
+            - Must be ordered
+            - No duplicated instructions
+        """
+        seen_insn = {}
+        prev_ops = -1
+        error = False
+        for insn in insn_list:
+            opcode = insn["opcode"]
+            error = self.check_capabilities(insn) or error
+            if opcode in seen_insn:
+                self.print_err(
+                    "Duplicated opcode: instruction {} and {}".format(
+                        insn["opname"], seen_insn[opcode]["opname"]))
+                error = True
+                continue
+            if insn["opname"] in seen_insn:
+                self.print_err(
+                    "Duplicated instruction name {}: opcode {} and {}".format(
+                        opcode, seen_insn[opcode]["opcode"]))
+                error = True
+                continue
+            seen_insn[opcode] = insn
+            seen_insn[insn["opname"]] = insn
+            if (prev_ops >= opcode):
+                self.print_err("Out of order instruction {}".format(
+                    insn["opname"]))
+                error = True
+            prev_ops = opcode
+        return error
+
+    # TODO: check for duplicated names
+    def check_operand_values(self, kind, enumerants):
+        """
+        Check conventions for enumerants:
+            - Enums must be ordered
+        """
+        seen_values = {}
+        error = False
+        prev_ops = -1
+        for enum in enumerants:
+            v = enum["value"]
+            v = v if isinstance(v, int) else int(v, base=16)
+            error = self.check_capabilities(enum, kind) or error
+            if not v in seen_values:
+                seen_values[v] = enum
+            else:
+                self.print_err(
+                    "For operand kind {}, duplicated enumerant {}".format(
+                        kind["kind"], enum["enumerant"]))
+                error = True
+            if (prev_ops >= v):
+                self.print_err(
+                    "For operand kind {}, out of order enumerant {}".format(
+                        kind["kind"], enum["enumerant"]))
+                error = True
+            prev_ops = v
+        return error
+
+    def check_operand_kind(self, kind_list):
+        """
+        For each enumerant kind, ensure all enum values are valid
+        """
+        error = False
+        for kind in kind_list:
+            if "enumerants" in kind:
+                error = self.check_operand_values(kind,
+                                                  kind["enumerants"]) or error
+        return error
+
+    def check(self, grammar):
+        error = False
+
+        if "operand_kinds" in grammar:
+            error = self.check_operand_kind(grammar["operand_kinds"]) or error
+        if "instructions" in grammar:
+            error = self.check_instructions(grammar["instructions"]) or error
+        return error
+
+
+def main():
+    import argparse
+    parser = argparse.ArgumentParser(
+        description=
+        'Check JSON grammars are well formed. The capabilities are aggregated 
from all files before performing checks.'
+    )
+
+    parser.add_argument('grammars',
+                        metavar='<grammar>',
+                        nargs='*',
+                        help='Path to the grammar file.')
+    args = parser.parse_args()
+
+    error = False
+    capabilities = {}
+
+    def load_json_and_register_capabilities(grammar_file):
+        with open(grammar_file) as json_fd:
+            grammar_json = json.loads(json_fd.read(),
+                                      object_pairs_hook=OrderedDict)
+        if "operand_kinds" in grammar_json:
+            for kind in grammar_json["operand_kinds"]:
+                if kind["kind"] == "Capability":
+                    for enum in kind["enumerants"]:
+                        capabilities[enum["enumerant"]] = kind
+        return grammar_json
+
+    grammar_list = list([(grammar_file,
+                          load_json_and_register_capabilities(grammar_file))
+                         for grammar_file in args.grammars])
+
+    for grammar_file, grammar_json in grammar_list:
+        checker = Checker(grammar_file, capabilities)
+        error = checker.check(grammar_json) or error
+
+    return error
+
+
+if __name__ == '__main__':
+    sys.exit(main())

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.Vjaqt5/_old  2025-10-08 18:14:00.285103065 +0200
+++ /var/tmp/diff_new_pack.Vjaqt5/_new  2025-10-08 18:14:00.293103400 +0200
@@ -1,5 +1,5 @@
-mtime: 1758660709
-commit: 10ef8b754390730e0801f8b186817487d2830d557e87fe2349e51ab5104f5879
+mtime: 1759831727
+commit: 8b764c8e19a0a2585163110de85185aafd348006161277d092faed161c980344
 url: https://src.opensuse.org/jengelh/spirv-headers
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-10-07 12:08:58.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to