[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/vulkan/spirv-tools][debian-unstable] 143 commits: Add validation for invalid layout decoration usage (#6012)



Title: GitLab

Timo Aaltonen pushed to branch debian-unstable at X Strike Force / vulkan / spirv-tools

Commits:

  • b095f36a
    by alan-baker at 2025-02-27T13:17:11-05:00
    Add validation for invalid layout decoration usage (#6012)
    
    * Checks that Block, BufferBlock, Offset, ArrayStride, and MatrixStride
      are not used in a Vulkan environment in disallowed storage classes
  • d3bfa4b9
    by dependabot[bot] at 2025-02-27T16:14:16-05:00
    build(deps): bump lukka/get-cmake in the github-actions group (#6015)
    
    Bumps the github-actions group with 1 update: [lukka/get-cmake](https://github.com/lukka/get-cmake).
    
    
    Updates `lukka/get-cmake` from 3.31.5 to 3.31.6
    - [Release notes](https://github.com/lukka/get-cmake/releases)
    - [Commits](https://github.com/lukka/get-cmake/compare/5f6e04f5267c8133f1273bf2103583fc72c46b17...56d043d188c3612951d8755da8f4b709ec951ad6)
    
    ---
    updated-dependencies:
    - dependency-name: lukka/get-cmake
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • 4517f75c
    by dependabot[bot] at 2025-02-28T10:54:00-05:00
    build(deps): bump actions/cache in the github-actions group (#6018)
    
    Bumps the github-actions group with 1 update: [actions/cache](https://github.com/actions/cache).
    
    
    Updates `actions/cache` from 4.2.1 to 4.2.2
    - [Release notes](https://github.com/actions/cache/releases)
    - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
    - [Commits](https://github.com/actions/cache/compare/0c907a75c2c80ebcb7f088228285e798b750cf8f...d4323d4df104b026a6aa633fdb11d772146be0bf)
    
    ---
    updated-dependencies:
    - dependency-name: actions/cache
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • b1140ad2
    by github-actions[bot] at 2025-02-28T16:46:09+00:00
    Roll external/abseil_cpp/ f004e6c0a..cc70e832b (1 commit) (#5999)
    
    * Roll external/googletest/ c00fd25b7..72189081c (6 commits)
    
    https://github.com/google/googletest/compare/c00fd25b71a1...72189081cae8
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ f004e6c0a..f1b7d000b (53 commits)
    
    https://github.com/abseil/abseil-cpp/compare/f004e6c0a9a2...f1b7d000b8b8
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 09913f088..54a521dd1 (2 commits)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/09913f088a11...54a521dd130a
    
    Created with:
      roll-dep external/spirv-headers
    
    * Roll external/effcee/ 12241cbc3..874b47102 (3 commits)
    
    https://github.com/google/effcee/compare/12241cbc30f2...874b47102c57
    
    Created with:
      roll-dep external/effcee
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 12abd77a
    by alan-baker at 2025-03-03T10:58:14-05:00
    Fix invalid layout validation version check (#6023)
    
    * Vulkan says versions 1.4 and earlier so change comparison from less
      than to less than or equal
  • a946dba8
    by github-actions[bot] at 2025-03-03T21:54:02+00:00
    roll deps (#6022)
    
    * Roll external/re2/ 6dcd83d60..c84a140c9 (1 commit)
    
    https://github.com/google/re2/compare/6dcd83d60f79...c84a140c9335
    
    Created with:
      roll-dep external/re2
    
    * Roll external/googletest/ 72189081c..24a9e940d (1 commit)
    
    https://github.com/google/googletest/compare/72189081cae8...24a9e940d481
    
    Created with:
      roll-dep external/googletest
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • b6389548
    by Nathan Gauër at 2025-03-04T10:05:45-08:00
    [opt] Add StorageBuffer16BitAccess to trim pass. (#6026)
    
    This commits adds support for StorageBuffer16BitAccess, which shares
    the same ID as StorageUniformBufferBlock16.
    
    Fixes #5849
  • 6484ea2a
    by Cassandra Beckley at 2025-03-04T13:54:04-05:00
    spirv-as: Add OpUnknown pseudo-instruction (#6024)
    
    We are adding support for vk::SpirvType to HLSL in Clang. This is a language feature that allows users to directly specify the SPIR-V opcode of a type they want to use in HLSL. Knowing the opcode, we can generate a valid binary directly. But LLVM also provides the option for producing text output, which is used for FileCheck tests that match regular expressions against that output. We do not have a way to generate SPIR-V assembly text for instructions with unknown opcodes.
    
    We will also need this when we add support for HLSL’s vk::ext_instruction, which allows users to create functions representing arbitrary instructions.
  • bb86786e
    by github-actions[bot] at 2025-03-04T20:35:33+00:00
    Roll external/abseil_cpp/ f1b7d000b..735c86164 (3 commits) (#6025)
    
    https://github.com/abseil/abseil-cpp/compare/f1b7d000b8b8...735c86164a69
    
    Created with:
      roll-dep external/abseil_cpp
    
    Co-authored-by: GitHub Actions[bot] <>
  • 62a930f4
    by github-actions[bot] at 2025-03-05T16:01:15+00:00
    roll deps (#6030)
    
    * Roll external/googletest/ 24a9e940d..e88cb95b9 (1 commit)
    
    https://github.com/google/googletest/compare/24a9e940d481...e88cb95b92ac
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ 735c86164..35211d98d (6 commits)
    
    https://github.com/abseil/abseil-cpp/compare/735c86164a69...35211d98d684
    
    Created with:
      roll-dep external/abseil_cpp
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • fb803311
    by наб at 2025-03-05T15:49:02-05:00
    folding_rules: generalise RedundantIAdd() to |^>><<+- with 0 on RHS and |^+ with 0 on LHS (#6013)
    
    All of
      OpBitwiseOr OpBitwiseXor
      OpShiftRightLogical OpShiftRightArithmetic OpShiftLeftLogical
      OpIAdd
      OpISub
    are no-ops with 0 on RHS,
    and all but the subs and shifts are no-ops with 0 on LHS.
    
    RedundantIAdd() already did this for OpIAdd,
    and it can be trivially generalised.
    
    Thus, this whole program reduces to a no-op:
      struct params_t {
      	uint  u;
      	int   i;
      	float f;
    
      	uint3  u3;
      	int3   i3;
      	float3 f3;
      };
      RWStructuredBuffer<params_t> params;
    
      [numthreads(1, 1, 1)]
      void main() {
      	params[0].u = params[0].u | 0;
      	params[0].i = params[0].i | 0;
      	params[0].u = params[0].u ^ 0;
      	params[0].i = params[0].i ^ 0;
      	params[0].u = params[0].u >> 0;
      	params[0].i = params[0].i >> 0;
      	params[0].u = params[0].u >> 0;
      	params[0].i = params[0].i >> 0;
      	params[0].u = params[0].u << 0;
      	params[0].i = params[0].i << 0;
      	params[0].u = params[0].u << 0;
    
      	params[0].u3 = params[0].u3 | 0;
      	params[0].i3 = params[0].i3 | 0;
      	params[0].u3 = params[0].u3 ^ 0;
      	params[0].i3 = params[0].i3 ^ 0;
      	params[0].u3 = params[0].u3 >> 0;
      	params[0].i3 = params[0].i3 >> 0;
      	params[0].u3 = params[0].u3 >> 0;
      	params[0].i3 = params[0].i3 >> 0;
      	params[0].u3 = params[0].u3 << 0;
      	params[0].i3 = params[0].i3 << 0;
      	params[0].u3 = params[0].u3 << 0;
    
      	params[0].u = params[0].u + 0;
      	params[0].i = params[0].i + 0;
      	params[0].f = params[0].f + 0;
      	params[0].u = params[0].u - 0;
      	params[0].i = params[0].i - 0;
      	params[0].f = params[0].f - 0;
    
      	params[0].u3 = params[0].u3 + 0;
      	params[0].i3 = params[0].i3 + 0;
      	params[0].f3 = params[0].f3 + 0;
      	params[0].u3 = params[0].u3 - 0;
      	params[0].i3 = params[0].i3 - 0;
      	params[0].f3 = params[0].f3 - 0;
    
      	params[0].u = 0 | params[0].u;
      	params[0].i = 0 | params[0].i;
      	params[0].u = 0 ^ params[0].u;
      	params[0].i = 0 ^ params[0].i;
    
      	params[0].u3 = 0 | params[0].u3;
      	params[0].i3 = 0 | params[0].i3;
      	params[0].u3 = 0 ^ params[0].u3;
      	params[0].i3 = 0 ^ params[0].i3;
    
      	params[0].u = 0 + params[0].u;
      	params[0].i = 0 + params[0].i;
      	params[0].f = 0 + params[0].f;
    
      	params[0].u3 = 0 + params[0].u3;
      	params[0].i3 = 0 + params[0].i3;
      	params[0].f3 = 0 + params[0].f3;
      }
    
    Closes: https://github.com/google/shaderc/issues/1484
  • f6b40e7f
    by Spencer Fricke at 2025-03-05T17:18:44-05:00
    spirv-val: Add Vulkan Aligned PowerOfTwo check (#6027)
    
    
  • d3fc6ed1
    by Spencer Fricke at 2025-03-05T17:19:38-05:00
    spirv-val: Validate PhysicalStorageBuffer Stage Interface (#6000)
    
    
  • 7e3efaf1
    by Daniel Story at 2025-03-06T20:41:32-05:00
    Support scalar replacement of large structs (#6019)
    
    * Removes size limit on ScalarReplacementPass
    
    * Adds test to verify default ScalarReplacementPass size limit
    
    ---------
    
    Co-authored-by: Zackery Mason-Blaug <zackery.mason-blaug@ntd.nintendo.com>
  • bac6ca75
    by Daniel Story at 2025-03-06T20:41:52-05:00
    Support optimization of OpCopyLogical (#6016)
    
    * Adds support for OpCopyLogical
    
    * Adds tests for OpCopyLogical
    
    ---------
    
    Co-authored-by: Zackery Mason-Blaug <zackery.mason-blaug@ntd.nintendo.com>
  • ba828b23
    by наб at 2025-03-06T22:51:44-05:00
    Fold 0 <<,>>,/,% n to 0. Fold a / 1 to a. Fold a % 1 to 0. Fold f % 1.0 to 0.0. Fold 0.0 % f to 0.0 (#6020)
    
    * Fold 0 <<,>>,/,% n to 0. Fold a / 1 to a. Fold a % 1 to 0
    
    * Fold OpFMod (f % 1.0) = 0.0 and (0.0 % f) = 0.0
  • 9e470ef0
    by Yong He at 2025-03-09T00:11:42-05:00
    Fix explicit layout validation on ptr type (#6029)
    
    
  • 9f8ff357
    by Jim Blandy at 2025-03-14T01:51:37-04:00
    spirv-diff: Try to pair functions by their complete type. (#6021)
    
    * Fix pairing of functions by type.
    
    Change `Differ::MatchFunctions` to use `GroupIdsAndMatchByMappedId`,
    instead of calling `GroupIdsAndMatch` with
    `Differ::GroupIdsHelperGetTypeId`, which is never correct: doing so
    compares src and dst type ids directly, rather than consulting the
    established mapping.
    
    Fixes #5226.
    
    * spirv-diff: Try to pair functions by their complete type.
    
    When pairing functions, try grouping them by their complete
    `OpTypeFunction` types before grouping them by their return types
    only.
  • 5986ec10
    by David Neto at 2025-03-14T10:39:10-04:00
    github workflow bazel: print error logs (#6036)
    
    On failure, print the error logs.
  • 48c703b8
    by David Neto at 2025-03-14T14:15:39-04:00
    opt: add pass to split combined image samplers (#6035)
    
    * opt: add pass to split combined image samplers
    
    Remap as follows:
    - A combined-image sampler variable is replaced with a image variable
      and sampler variable at the same DescriptorSet and Binding, and
      copying other decoraitons.
    - A combined-image sampler function parameter is replaced with
      a image parameter and sampler parameter.
    - Recursively applies to pointer-to-combined, array-of-combined, and
      runtime-array-of-combined.
    - Remaps function types as needed.
    
    Removes the type definitions for pointer-to, array-of, and rt-array-of
    combined types.
    
    Maintains def-use analysis, and the type manager.
    
    Bug: crbug.com/398231475
  • ba1359d2
    by alan-baker at 2025-03-14T22:43:00-04:00
    Update location/component conflict validation (#5993)
    
    Refs #5989
    
    * Update input/output interface validation to treat arrays and matrices
      as consuming all 4 components in each location
    
    * For arrays and matrices make `NumConsumedComponents` more consistent
      * calculate per element components and round up to a multiple of 4
  • b45be9b0
    by github-actions[bot] at 2025-03-17T14:17:36+00:00
    Roll external/abseil_cpp/ 35211d98d..bdbaf376e (3 commits) (#6031)
    
    * Roll external/googletest/ e88cb95b9..4902ea2d7 (3 commits)
    
    https://github.com/google/googletest/compare/e88cb95b92ac...4902ea2d7c6f
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ 35211d98d..310e6f4f0 (34 commits)
    
    https://github.com/abseil/abseil-cpp/compare/35211d98d684...310e6f4f0f20
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 54a521dd1..ddd2c099b (3 commits)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/54a521dd130a...ddd2c099be25
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 6c757dd9
    by dependabot[bot] at 2025-03-17T11:04:51-04:00
    build(deps): bump github/codeql-action in the github-actions group (#6033)
    
    Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `github/codeql-action` from 3.28.10 to 3.28.11
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d...6bb031afdd8eb862ea3fc1848194185e076637e5)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • 940c6faa
    by David Neto at 2025-03-17T12:03:18-04:00
    split-combined-image-sampler: synthesize names (#6037)
    
    If the original combined value has an OpName, then create
    names for the image and sampler parts by appending "_image" or
    "_sampler", respectively.
    
    Bug: crbug.com/398231475
  • 36a3ef46
    by David Neto at 2025-03-18T09:36:27-04:00
    test fixture: print optimized assembly that fails to validate (#6043)
    
    In a spirv-opt pass test that does validation, disassemble the
    text first. So if validation fails, print the spir-v assembly
    that fails to validate.
  • ff4d8908
    by David Neto at 2025-03-18T19:40:28-04:00
    opt: add resolve-binding-conflicts pass (#6044)
    
    Assumes the input is a valid Vulkan module.
    
    A conflict exists when an entry point uses two variables
    with the same descriptor set and binding. Vulkan allows one kind
    of conflict: where the two variables are an image (array of images)
    variable and a sampler (array of samplers) variable.
    
    The sampler variable's binding is incremented, and that increment
    ripples up through higher numbered bindings until no more conflicts
    remain.
    
    Bug: crbug.com/398231475
    
    Co-authored-by: Steven Perron <stevenperron@google.com>
  • 2b3df1ec
    by David Neto at 2025-03-19T09:43:54-04:00
    split-combined-image-samplers: clone decorations on loads (#6046)
    
    * split-combined-image-samplers: clone decorations on loads
    
    Fixed: #6045
    
    * Add more CHECK-NOT based on type, to prove var is removed
  • a6cb9602
    by alan-baker at 2025-03-19T11:06:05-04:00
    Check that layouts match runtime array requirement (#6048)
    
    Fixes #6039
    
    * Layouts can be out of order so ensure that runtime arrays are both the
      last member of the structure (already checked), but also largest
      offset (new check)
  • 51aeff76
    by github-actions[bot] at 2025-03-19T15:30:16+00:00
    roll deps (#6049)
    
    * Roll external/googletest/ 4902ea2d7..3af834740 (1 commit)
    
    https://github.com/google/googletest/compare/4902ea2d7c6f...3af834740f58
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/spirv-headers/ ddd2c099b..d5ee9ed2b (1 commit)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/ddd2c099be25...d5ee9ed2bbe9
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 0c1ca581
    by natgavrilenko at 2025-03-19T21:51:04-04:00
    Validation for relaxed control barrier with storage class semantics (#5984)
    
    * Validation for relaxed control barrier with storage class semantics
    
    Signed-off-by: Natalia Gavrilenko <natalia.gavrilenko@huawei.com>
    
    * Added correct VUID
    
    ---------
    
    Signed-off-by: Natalia Gavrilenko <natalia.gavrilenko@huawei.com>
  • e58e469f
    by github-actions[bot] at 2025-03-20T12:07:46-04:00
    roll deps (#6055)
    
    * Roll external/abseil_cpp/ 310e6f4f0..9f5fc9d1e (5 commits)
    
    https://github.com/abseil/abseil-cpp/compare/310e6f4f0f20...9f5fc9d1e934
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ d5ee9ed2b..0e7106779 (4 commits)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/d5ee9ed2bbe9...0e710677989b
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 55330037
    by Antonio Maiorano at 2025-03-20T12:08:13-04:00
    Fix implicit conversion warning: int32_t to uint32_t (#6052)
    
    Fixes: error: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint32_t' (aka 'unsigned int') [-Werror,-Wimplicit-int-conversion]
  • ef1004ec
    by David Neto at 2025-03-20T13:11:09-04:00
    format check should say what version of clang-format is used (#6058)
    
    
  • db06346b
    by David Neto at 2025-03-20T17:07:27-04:00
    opt: value numbering: preserve loads of image, sampler, sampled image (#6059)
    
    Consider load yielding an image, sampler, or sampled image, to
    always have distinct value numbers.
    
    This causes redundancy elimination avoid violating the 'single-block'
    rule:
    
    	All OpSampledImage instructions, or instructions that load an
    	image or sampler reference, must be in the same block in which
    	their Result <id> are consumed.
    
    Note that this is strictly more than necessary: it would be ok
    to eliminate loads when they occur in the same basic block. This
    patch follows precedent where different OpSampledImage instructions
    are always given different value numbers.
    
    Fixed: #6054
  • ada1771a
    by alan-baker at 2025-03-21T11:52:14-04:00
    Fix calculation of locations for matrices (#6062)
    
    * Incorrectly assumed vec3/4 as the element of the matrix so double
      matrices were too large
  • d5ca8003
    by dependabot[bot] at 2025-03-25T13:10:00-04:00
    build(deps): bump the github-actions group with 3 updates (#6056)
    
    Bumps the github-actions group with 3 updates: [actions/cache](https://github.com/actions/cache), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `actions/cache` from 4.2.2 to 4.2.3
    - [Release notes](https://github.com/actions/cache/releases)
    - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
    - [Commits](https://github.com/actions/cache/compare/d4323d4df104b026a6aa633fdb11d772146be0bf...5a3ec84eff668545956fd18022155c47e93e2684)
    
    Updates `actions/upload-artifact` from 4.6.1 to 4.6.2
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](https://github.com/actions/upload-artifact/compare/4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1...ea165f8d65b6e75b540449e92b4886f43607fa02)
    
    Updates `github/codeql-action` from 3.28.11 to 3.28.12
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/6bb031afdd8eb862ea3fc1848194185e076637e5...5f8171a638ada777af81d42b55959a643bb29017)
    
    ---
    updated-dependencies:
    - dependency-name: actions/cache
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    - dependency-name: actions/upload-artifact
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • a958887b
    by github-actions[bot] at 2025-03-25T17:36:23+00:00
    roll deps (#6060)
    
    * Roll external/googletest/ 3af834740..2ae29b52f (3 commits)
    
    https://github.com/google/googletest/compare/3af834740f58...2ae29b52fdff
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ 9f5fc9d1e..3b1bb7337 (6 commits)
    
    https://github.com/abseil/abseil-cpp/compare/9f5fc9d1e934...3b1bb7337392
    
    Created with:
      roll-dep external/abseil_cpp
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 6a6693d1
    by alan-baker at 2025-03-25T15:04:46-04:00
    Validate version requirement for Vulkan Memory Model (#6042)
    
    * SPV_KHR_vulkan_memory_model requires SPIR-V 1.3
    * Additionally, validate that if Shader and CooperativeMatrixKHR are
      declared, VulkanMemoryModel must also be declared
    
  • 91c4380f
    by dependabot[bot] at 2025-03-26T09:55:32-04:00
    build(deps): bump github/codeql-action in the github-actions group (#6066)
    
    Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `github/codeql-action` from 3.28.12 to 3.28.13
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/5f8171a638ada777af81d42b55959a643bb29017...1b549b9259bda1cb5ddde3b41741a82a2d15a841)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • 4b5584e2
    by github-actions[bot] at 2025-03-26T14:11:57+00:00
    Roll external/abseil_cpp/ 3b1bb7337..fd39cfa46 (1 commit) (#6065)
    
    https://github.com/abseil/abseil-cpp/compare/3b1bb7337392...fd39cfa4670a
    
    Created with:
      roll-dep external/abseil_cpp
    
    Co-authored-by: GitHub Actions[bot] <>
  • a4adb9a8
    by Steven Perron at 2025-03-26T11:02:27-04:00
    [OPT] Delete decoration for OpPhi when unrolling (#6064)
    
    When unrolling, the decorations on an OpPhi in the header of the loop
    are treated like any other user outside of the loop. The id of the OpPhi
    is replaced by the value in the final iteration. This causes the
    decorations to be applied to this other value, which is not
    neccessarially correct.
    
    Contributes to https://github.com/microsoft/DirectXShaderCompiler/issues/6914
  • a48b4734
    by Cassandra Beckley at 2025-03-26T20:23:12-04:00
    opt: Add QuadControlKHR to trim pass and allow lists (#6068)
    
    Part of https://github.com/microsoft/DirectXShaderCompiler/issues/7247
  • 393d5c7d
    by Nathan Gauër at 2025-03-27T10:39:19-04:00
    [OPT] fix loop with recursive types in trim pass (#6070)
    
    When a type was recursive (or for the matter any instruction ID
    usage), the DFSWhile implementation would loop indefinitely.
    Added a history map to keep track of the visited instructions.
    
    Required for https://github.com/microsoft/DirectXShaderCompiler/pull/7163
    
    Signed-off-by: Nathan Gauër <brioche@google.com>
  • 8a6aaa69
    by github-actions[bot] at 2025-03-28T19:42:55+00:00
    roll deps (#6069)
    
    * Roll external/googletest/ 2ae29b52f..52204f78f (1 commit)
    
    https://github.com/google/googletest/compare/2ae29b52fdff...52204f78f94d
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ fd39cfa46..b12a6f75f (3 commits)
    
    https://github.com/abseil/abseil-cpp/compare/fd39cfa4670a...b12a6f75f6ea
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 0e7106779..8c88e0c4c (2 commits)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/0e710677989b...8c88e0c4c94a
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 2e83ad7e
    by github-actions[bot] at 2025-03-30T01:26:08+00:00
    Roll external/abseil_cpp/ b12a6f75f..bcf4bf315 (3 commits) (#6072)
    
    https://github.com/abseil/abseil-cpp/compare/b12a6f75f6ea...bcf4bf315ab2
    
    Created with:
      roll-dep external/abseil_cpp
    
    Co-authored-by: GitHub Actions[bot] <>
  • 056e3ed2
    by Steven Perron at 2025-03-31T13:54:53-04:00
    [OPT] Add extension to allow list (#6075)
    
    The SPV_GOOGLE_user_type extension was not added to one of the allow
    list. Adding it now.
    
    Part of https://github.com/microsoft/DirectXShaderCompiler/issues/7181.
    
  • 6add4e47
    by VISHAKH PRAKASH at 2025-04-02T10:10:47-04:00
    Add support for pointer types in vector when using extension SPV_INTEL_masked_gather_scatter (#6041)
    
    * Support pointer base type in OpTypeVector when capability
    MaskedGatherScatterINTEL is enabled
    Add supporting tests for spv_intel_masked_gather_scatter
    
    Co-authored-by: alan-baker <alanbaker@google.com>
  • 4bd1536e
    by Steven Perron at 2025-04-03T10:32:59-04:00
    [OPT] In copy propagate arrays, debug instructions are not stores. (#6078)
    
    When checking if a variable is possibly stored to, debug instructions
    fall into the default case, which assumes it could be a store. We add a
    specific check for debug instruction, which are not stores.
    
    See https://github.com/microsoft/DirectXShaderCompiler/issues/7181
  • 73d6a038
    by Spencer Fricke at 2025-04-04T15:15:42-04:00
    spirv-val: Label new VUID from 312 headers (#6079)
    
    
  • 1a811fd6
    by Sven van Haastregt at 2025-04-04T15:16:30-04:00
    spirv-val: Restrict VUID 09557 to Vulkan environments (#6080)
    
    The validation added in #6000 seems specific to Vulkan environments.
    Ensure it only runs for Vulkan environments.
    
    Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
  • fb6206f9
    by github-actions[bot] at 2025-04-08T13:16:55+00:00
    roll deps (#6076)
    
    * Roll external/abseil_cpp/ bcf4bf315..c8d5854f0 (18 commits)
    
    https://github.com/abseil/abseil-cpp/compare/bcf4bf315ab2...c8d5854f0ba5
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 8c88e0c4c..8e82b7cfe (1 commit)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/8c88e0c4c94a...8e82b7cfeca9
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • e9402392
    by dependabot[bot] at 2025-04-08T09:39:01-04:00
    build(deps): bump the github-actions group across 1 directory with 2 updates (#6083)
    
    Bumps the github-actions group with 2 updates in the / directory: [lukka/get-cmake](https://github.com/lukka/get-cmake) and [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `lukka/get-cmake` from 3.31.6 to 4.0.0
    - [Release notes](https://github.com/lukka/get-cmake/releases)
    - [Commits](https://github.com/lukka/get-cmake/compare/56d043d188c3612951d8755da8f4b709ec951ad6...28983e0d3955dba2bb0a6810caae0c6cf268ec0c)
    
    Updates `github/codeql-action` from 3.28.13 to 3.28.15
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/1b549b9259bda1cb5ddde3b41741a82a2d15a841...45775bd8235c68ba998cffa5171334d58593da47)
    
    ---
    updated-dependencies:
    - dependency-name: lukka/get-cmake
      dependency-version: 4.0.0
      dependency-type: direct:production
      update-type: version-update:semver-major
      dependency-group: github-actions
    - dependency-name: github/codeql-action
      dependency-version: 3.28.15
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • 2e7ba023
    by amd-dwang at 2025-04-09T11:10:41-04:00
    Add SPV_KHR_bfloat16 support (#6057)
    
    * Add SPV_KHR_bfloat16 support
    
    * Update DEPS to include SPIRV-Headers with bfloat16 support
    
    * Fix unit test errors and format
    
    * Add validation to invalid uses of bfloat16
    
    * Add tests
    
    * Roll back to previous commit
    
    * Fix build error
    
    * Add FPEncoding for opt::analysis::Float
    
    * Address the comments
    
    * Fix build error
    
    * format
    
    ---------
    
    Co-authored-by: Stu Smith <19190608+stu-s@users.noreply.github.com>
    Co-authored-by: David Neto <dneto@google.com>
  • a871fc43
    by alan-baker at 2025-04-09T14:57:44-04:00
    Minimal opt support for SPV_KHR_untyped_pointers (#6087)
    
    
    * Added support for global OpUntypedVariableKHR in IRLoader
    * Added support for untyped pointers as Pointer types using a null
      element
      * Updates to type manager
    * No specific pass allowances yet, but untyped pointers no longer break
      the whole pipeline
    
    
  • 3f7cbaf3
    by David Neto at 2025-04-14T00:03:23-04:00
    format check: Show the list of files to be checked (#6088)
    
    
  • f53aac84
    by github-actions[bot] at 2025-04-15T15:15:16+00:00
    Roll external/abseil_cpp/ c8d5854f0..12f4be680 (7 commits) (#6086)
    
    * Roll external/googletest/ 52204f78f..e90fe2485 (2 commits)
    
    https://github.com/google/googletest/compare/52204f78f94d...e90fe2485641
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ c8d5854f0..8b81b77c5 (14 commits)
    
    https://github.com/abseil/abseil-cpp/compare/c8d5854f0ba5...8b81b77c5e42
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 8e82b7cfe..7c2f5333e (2 commits)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/8e82b7cfeca9...7c2f5333e9c6
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 7e41c713
    by alan-baker at 2025-04-15T11:30:14-04:00
    Add Vulkan 1.3 and 1.4 capability checks (#6063)
    
    * Add Vulkan 1.3 and 1.4 capability checks
    
    Fixes #6050
    
    * formatting
    
    * add missed caps
  • 25508698
    by dependabot[bot] at 2025-04-15T11:33:48-04:00
    build(deps): bump lukka/get-cmake in the github-actions group (#6089)
    
    Bumps the github-actions group with 1 update: [lukka/get-cmake](https://github.com/lukka/get-cmake).
    
    
    Updates `lukka/get-cmake` from 4.0.0 to 4.0.1
    - [Release notes](https://github.com/lukka/get-cmake/releases)
    - [Commits](https://github.com/lukka/get-cmake/compare/28983e0d3955dba2bb0a6810caae0c6cf268ec0c...57c20a23a6cac5b90f31864439996e5b206df9dc)
    
    ---
    updated-dependencies:
    - dependency-name: lukka/get-cmake
      dependency-version: 4.0.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • 096bb07f
    by Jan Kelemen at 2025-04-16T20:11:19-04:00
    Initialize variables (#6093)
    
    
  • ca63ea56
    by Kévin Petit at 2025-04-17T13:23:56-04:00
    Fix validation of BFloat16 FP types (#6092)
    
    These should not require the Float16/Float16Buffer capabilities.
    
    
    Change-Id: I3b50260ba634502befb36b6a67dac5961f102fa3
    
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
  • 0aa67e2a
    by github-actions[bot] at 2025-04-22T14:09:35+00:00
    Roll external/abseil_cpp/ 8b81b77c5..daa0bfb56 (4 commits) (#6091)
    
    * Roll external/googletest/ e90fe2485..155b337c9 (1 commit)
    
    https://github.com/google/googletest/compare/e90fe2485641...155b337c938a
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ 8b81b77c5..8b2b78bb9 (14 commits)
    
    https://github.com/abseil/abseil-cpp/compare/8b81b77c5e42...8b2b78bb9bc5
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 7c2f5333e..aa6cef192 (1 commit)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/7c2f5333e9c6...aa6cef192b8e
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 898ed77b
    by Steven Perron at 2025-04-22T10:51:55-04:00
    Prepare for 2025.2 release. (#6098)
    
    Update the changes. DEPS will be updated by
    https://github.com/KhronosGroup/SPIRV-Tools/pull/6091.
  • 506fee4d
    by David Neto at 2025-04-22T13:25:11-04:00
    generate_grammar_tables.py: remove unused option to emit C enums (#6094)
    
    * generate_grammar_tables.py: remove unused option to emit C enums
    
    Remove the ability to emit C declarations for core instruction and
    operand tables.
    
    Non-functional change
    
    * Update build_defs.bzl
  • a62abcb4
    by Steven Perron at 2025-04-23T13:29:35+02:00
    [OPT] Don't fold n % 1.0 (#6100)
    
    If values are not whole number, then the result is not 0. For example,
    `(1.5 % 1.0) == 0.5`.
    
    Fixes #6097
  • b6a83226
    by David Neto at 2025-04-23T17:12:07-04:00
    Allow copyright line without '(c)' (#6099)
    
    This allows something like: "Copyright 2025 Google LLC"
    
    Also:
    - update the current year.
    - properly escape \ in the Python regular _expression_ strings
  • 8e9165a3
    by Spencer Fricke at 2025-04-25T10:47:21-04:00
    spirv-val: Update 1.4.312 VUID churn (#6082)
    
    
  • 783d7033
    by David Neto at 2025-04-25T17:16:43-04:00
    Add spvtools::utils::Span (#6105)
    
    It's a subset of C++20's std::span, but only using C++17 features.
  • d7515743
    by Elvis Dukaj at 2025-04-28T16:05:55+00:00
    fix clang-20 build issue (#6103)
    
    
  • 2fe7d3dd
    by David Neto at 2025-04-28T13:14:57-04:00
    Add spvtools::utils::IndexRange (#6106)
    
    It's a span, but without the base pointer.
    
    Use the 'apply' method on a base pointer to generate a corresponding span.
  • 634a44ab
    by David Neto at 2025-04-28T14:04:19-04:00
    Simplify ext inst table generation (#6095)
    
    Generate glsl.std.450 and opencl.std.100 extended instruction tables
    the same way other vendor extended instruction tables are generated.
    
    The naming is a little weird, but I wanted to keep this patch simple
    because it touches so many build systems.
    
    Also:
    - Don't always assume operand_kinds exists
  • 04ade331
    by github-actions[bot] at 2025-04-29T14:11:04+00:00
    Roll external/abseil_cpp/ 8b2b78bb9..87e8b54fa (4 commits) (#6101)
    
    * Roll external/googletest/ 155b337c9..cd430b47a (1 commit)
    
    https://github.com/google/googletest/compare/155b337c938a...cd430b47a548
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ 8b2b78bb9..fe5a2a441 (17 commits)
    
    https://github.com/abseil/abseil-cpp/compare/8b2b78bb9bc5...fe5a2a44141d
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ aa6cef192..bab63ff67 (1 commit)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/aa6cef192b8e...bab63ff679c4
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • d101daf8
    by Jan Kelemen at 2025-04-29T10:22:24-04:00
    Replace spirv.hpp with spirv.hpp11 in objdump (#6108)
    
    
  • 20d50316
    by dependabot[bot] at 2025-04-29T10:28:04-04:00
    build(deps): bump github/codeql-action in the github-actions group (#6102)
    
    Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `github/codeql-action` from 3.28.15 to 3.28.16
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/45775bd8235c68ba998cffa5171334d58593da47...28deaeda66b76a05916b6923827895f2b14ab387)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-version: 3.28.16
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • cb619916
    by Steven Perron at 2025-04-29T12:51:08-04:00
    [Kokoro] Use merge-base for format check. (#6112)
    
    When doing the clang format check, the current branch is compared with
    main to see which files changed, and if there are any formating issues
    in those files. This can cause false positives if the current branch is
    too far behind main. If another PR fixed the formating in main, then
    that will be flagged as an error because it looks like the current PR
    will undo that change.
    
    The fix is to use the merge-base for main and HEAD to find the first
    common ancestor of the two to determine which files are changed in the
    current branch.
  • f050bb78
    by Sven van Haastregt at 2025-04-29T13:11:24-04:00
    spirv-val: allow Float16 in OpenCL environments (#6110)
    
    Until now, the Float16 capability was reported as not allowed under
    the various OpenCL environments.
    
    Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
  • 887a1d67
    by Steven Perron at 2025-04-29T16:17:10-04:00
    [Kokoro] Add dxc-smoketest (#6113)
    
    New validation check in spir-val can identify invalid code generated by DXC.
    This will generally only be caught when DXC or SPIR-V tools is imported into
    Google3. This can take a while. Adding the smoke test will enable us to get an
    early warning that DXC needs to be updated.
  • 62de1f74
    by David Neto at 2025-04-30T17:32:30-04:00
    Use compressed grammar tables for core instructions and operands (#6107)
    
    * Use compressed grammar tables for core instructions and operands
    
    Use a new 'utils/ggt.py' script to generate the compressed tables.
    
    - The new tables are created at build time, and there is one static
      global table for each of the following:
      - a strings table
      - an instruction description table, sorted by opcode
        Each entry is a spvtools::InstructionDesc object.
      - an instruction name to opcode table, sorted by string name
        This includes aliases.
      - an operand description table, sorted by (operand type, operand value)
        Each entry is a spvtools::OperandDesc object.
      - an operand name table, sorted by (operand type, string name)
        This includes aliases.
      - a table of string aliases
      - a table of capabilities
      - a table of extensions
    
    - Entries in the tables use IndexRanges to refer to sequences of
      objects in one of the other tables.
       - A string encoded as an IndexRange into the global strings table.
       - A sequence of capabilities is encoded as an IndexRange into
         the capabilities table.
       - A sequence of extensions is encoded as an IndexRange into
         the extensions table.
       - A sequence of aliases is encoded as an IndexRange into
         the aliases table.
       - Each entry in the aliases table is an IndexRange into the
         global string table.
    
    - The InstructionDesc object has scalar values such as opcode,
      hasResult, hasValue, and uses IndexRanges to express the
      opcode name, aliases, operands, capabilities, operands, and
      extensions.
    
    - The OperandDesc object has scalar values such as enum value,
      and uses IndexRanges to express the operand name, aliases, operands,
      capabilities, operands, and extensions.
    
    Remaining work:
    - Use compressed tables for extension enums and extended instruction
      sets.
    - At that point, the old utils/generate_grammar_tables.py will be
      obsolete and we can move ggt.py into it.
    
    Bug: crbug.com/413723100
    
    * Fix Android.mk dependency on core_tables.inc
    
    * Apply fixes from review
    
    - fix typos
    - to test for failure check SPV_SUCCESS != ...
    - fix formatting
    
    Co-authored-by: alan-baker <alanbaker@google.com>
    
    ---------
    
    Co-authored-by: alan-baker <alanbaker@google.com>
  • 3935361d
    by David Neto at 2025-05-01T10:44:53-04:00
    Fixes for Dawn gn build. (#6117)
    
    - Fix build.gn for recent updates in table generation
    
    - GLSL and OpenCL extended instructions are generated like
      other vendor extended instruction sets
    
    - Core table generation was reworked.  We don't need a GN template.
    
    - Add more constructors for InstructionDesc and OperandDesc.
      The compiler didn't like the brace-initialization without a matching
      constructor with exactly the same parameters.
  • c0fa1efc
    by David Neto at 2025-05-01T14:41:11-04:00
    python: Use type annotations compatible with python 3.8 (#6119)
    
    
  • 6db659da
    by David Neto at 2025-05-01T15:43:16-04:00
    Add instruction printingClass value to InstructionDesc (#6118)
    
    The compressed tables content now goes to:
    
      core_tables_headers.h, included by table2.h
      core_tables_body.h, included by table2.cpp
    
    Fixes: #6067
  • f026033b
    by Tian at 2025-05-03T07:48:44-04:00
    opt: add SPV_NV_shader_invocation_reorder to allowlist (#6122)
    
    
  • d5042689
    by Shahbaz Youssefi at 2025-05-05T10:50:49-04:00
    build: Fix BUILD.gn missing headers (#6125)
    
    
  • eb82f2ca
    by David Neto at 2025-05-05T11:20:53-04:00
    Move enum mappings to compressed tables (#6120)
    
    - Use the core grammar tables for extension enum lookup by value and
      string.
    - Remove CapabilityToString, as it was no longer used.
  • f1524d1a
    by github-actions[bot] at 2025-05-05T14:34:48-04:00
    Roll external/googletest/ cd430b47a..90a415211 (5 commits) (#6114)
    
    https://github.com/google/googletest/compare/cd430b47a548...90a41521142c
    
    Created with:
      roll-dep external/googletest
    
    Roll external/abseil_cpp/ fe5a2a441..4eb1e49cf (6 commits)
    
    https://github.com/abseil/abseil-cpp/compare/fe5a2a44141d...4eb1e49cf32a
    
    Created with:
      roll-dep external/abseil_cpp
    
    Roll external/effcee/ 874b47102..abcaf70f2 (1 commit)
    
    https://github.com/google/effcee/compare/874b47102c57...abcaf70f288a
    
    Created with:
      roll-dep external/effcee
    
    Co-authored-by: GitHub Actions[bot] <>
  • 9693056d
    by David Neto at 2025-05-05T17:31:25-04:00
    no static initializers (#6128)
    
    Chromium bans static initializers of class objects.
    
    Wrap the std::array static variables with a function
    that returns a reference to them.
    This is option 2 to remove static initializers, at
    https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/static_initializers.md#Removing-Static-Initializers
    
    Also, lookup methods update a pointer-to-const pointer.
  • cc1e6c54
    by Steven Perron at 2025-05-06T10:14:40-04:00
    [ROLL] Roll deps (#6127)
    
    Update spirv-headers and modify MODULE.bazel to make it work.
  • 54f2f3dc
    by David Neto at 2025-05-06T15:04:50-04:00
    Fix gn (#6131)
    
    * no static initializers
    
    Chromium bans static initializers of class objects.
    
    Wrap the std::array static variables with a function
    that returns a reference to them.
    This is option 2 to remove static initializers, at
    https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/static_initializers.md#Removing-Static-Initializers
    
    Also, lookup methods update a pointer-to-const pointer.
    
    * Fix GN build for ggt.py modules
  • 8ede14d2
    by David Neto at 2025-05-06T22:02:22-04:00
    use static std::array for grammar tables again (#6132)
    
    This avoids the C++ global initializers by making the
    constructors for OperandDesc and InstructionDesc constexpr.
    In turn, the std::array static variables over those types
    can be initialized at compile time, not at runtime.
    
    This also avoids the implied mutex inside the function bodies.
  • e8864edb
    by David Neto at 2025-05-07T17:30:07-04:00
    Use compressed tables for extended instructions (#6135)
    
    Also:
    
    - spv_context no longer contains tables.
    
    - AssemblyGrammar is never invalid anymore, so remove
      its isValid method.
    
    - Remove unused uses of AssemblyGrammar, e.g. in the disassembler.
    
    - Remove unused parameters
    
    - Fix buildifier advice
      - macros should have a name keyword argument, by convention
      - functions should have docstrings
    
    Bug: crbug.com/413723831
    
    Co-authored-by: alan-baker <alanbaker@google.com>
  • f06e0f3d
    by David Neto at 2025-05-08T09:43:43-04:00
    Avoid double-lookup for name searches in tables (#6136)
    
    During table generation, generate the by-value table first,
    and remember the index at which a particular opcode or operand
    enum value is stored. Then use that directly in the name lookup
    tables.  This avoids a second lookup.
    
    Fixed: crbug.com/415377082
  • 2956d8e7
    by y-novikov at 2025-05-09T15:07:35-04:00
    Fix exit in ggt.py (#6137)
    
    Use sys.exit() instead.
    
    Fixes: #6107
  • 058b4b3c
    by github-actions[bot] at 2025-05-10T15:59:34+00:00
    roll deps (#6129)
    
    * Roll external/abseil_cpp/ 4eb1e49cf..9a89ea871 (20 commits)
    
    https://github.com/abseil/abseil-cpp/compare/4eb1e49cf32a...9a89ea8714c0
    
    Created with:
      roll-dep external/abseil_cpp --update-readme
    
    * Roll external/spirv-headers/ 3786ee89d..6d0784e9f (4 commits)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/3786ee89d584...6d0784e9f1ab
    
    Created with:
      roll-dep external/spirv-headers --update-readme
    
    * Roll external/effcee/ abcaf70f2..8ce15c424 (1 commit)
    
    https://github.com/google/effcee/compare/abcaf70f288a...8ce15c424e61
    
    Created with:
      roll-dep external/effcee --update-readme
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 9d0f8179
    by David Neto at 2025-05-12T13:32:04+09:00
    Delete utils/generate_grammar_tables.py (#6138)
    
    Bug: crbug.com/266223071
  • feba06f4
    by David Neto at 2025-05-12T02:35:38-04:00
    ggt.py: no need to precondition extension lists (#6139)
    
    
  • 6039eeff
    by Steven Perron at 2025-05-13T18:29:16-04:00
    [OPT] Remove recursion from redundancy_elimination (#6141)
    
    Remove unnecessary recursion from redundancy elimination. This should
    avoid potenitail stack overflows for function with deep dominator trees.
    
    Fixes #6104
  • 75f2e873
    by Steven Perron at 2025-05-13T18:29:55-04:00
    [opt] Move debug instruction when neccessary in copy prop arrays. (#6142)
    
    Debug instructions for a function scope variable may appear before the
    store. We use the store as the insertion point for a new access change
    to the source variable assuming all uses of the variable are dominated
    by the store. This causes problems for the debug instruction. It will
    then receive an operand that has not been defined.
    
    The fix this we move the debug instruction to after the new access chain
    if necessary. We opt for this option because:
    
    1. We did not want to avoid doing the optimization because of debug
       information.
    2. There is no other reasonable place to insert the access chain. If we
       move it to the start of the entry block, some operands may not be
    defined, and may not be available. If we put it anywhere else, we
    potentially get the same problem as we currently have with the store.
    3. Moving the debug value or debug declare instructions are not a
       problem. Before the store the varible was undefined, so the debug
    information would not enable any useful information in the debugger
    anyway.
    
    Fixes https://github.com/microsoft/DirectXShaderCompiler/issues/7025
  • 0cf1a2bf
    by github-actions[bot] at 2025-05-14T18:22:22+00:00
    roll deps (#6143)
    
    * Roll external/googletest/ 90a415211..9f79a9597 (2 commits)
    
    https://github.com/google/googletest/compare/90a41521142c...9f79a9597ad9
    
    Created with:
      roll-dep external/googletest --update-readme
    
    * Roll external/abseil_cpp/ 9a89ea871..bf9816208 (10 commits)
    
    https://github.com/abseil/abseil-cpp/compare/9a89ea8714c0...bf9816208252
    
    Created with:
      roll-dep external/abseil_cpp --update-readme
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 11df9e83
    by dependabot[bot] at 2025-05-14T14:44:46-04:00
    build(deps): bump the github-actions group across 1 directory with 2 updates (#6133)
    
    Bumps the github-actions group with 2 updates in the / directory: [lukka/get-cmake](https://github.com/lukka/get-cmake) and [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `lukka/get-cmake` from 4.0.1 to 4.02
    - [Release notes](https://github.com/lukka/get-cmake/releases)
    - [Commits](https://github.com/lukka/get-cmake/compare/57c20a23a6cac5b90f31864439996e5b206df9dc...ea004816823209b8d1211e47b216185caee12cc5)
    
    Updates `github/codeql-action` from 3.28.16 to 3.28.17
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/28deaeda66b76a05916b6923827895f2b14ab387...60168efe1c415ce0f5521ea06d5c2062adbeed1b)
    
    ---
    updated-dependencies:
    - dependency-name: lukka/get-cmake
      dependency-version: '4.02'
      dependency-type: direct:production
      dependency-group: github-actions
    - dependency-name: github/codeql-action
      dependency-version: 3.28.17
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • eac930ca
    by Kévin Petit at 2025-05-15T03:20:19-04:00
    Add support for SPV_ARM_tensors (#6134)
    
    * Add support for SPV_ARM_tensors
    
    - Assembler/disassembler
    - Validator
    
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
    Change-Id: I87f20fccbca848dae96304f52873cdba80dec5ae
    
    * Address review comments
    
    * Update DEPS to pick up headers
    
    * format fixes
    
    * update other build systems
    
    * use alternative syntax for regexes
    
    * format fixes
    
    * use RE2 for regular _expression_ matching
    
    * add re2 dep to Bazel
    
    Also remove stray debug trace.
    
    * remove re2 dep and weaken regular expressions for compatibility
    
    * further tweak regular expressions
    
    ---------
    
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
  • 9b1a7e7a
    by David Neto at 2025-05-15T22:20:58-04:00
    grammar tables: emit good error when missing an operand type (#6145)
    
    If a grammar change introduces a new optional operand kind,
    then currently the error message is very unfriendly.  It's a Python
    dictionary key error, with a call stack.
    
    With this change, we get a single friendly error line like this,
    but all on one line:
    
       error: unknown operand type SPV_OPERAND_TYPE_TENSOR_OPERANDS,
       from JSON grammar operand 'TensorOperands':
       consider updating spv_operand_type_t in spirv-tools/libspirv.h
  • 66fe6109
    by github-actions[bot] at 2025-05-16T10:39:05+00:00
    roll deps (#6146)
    
    * Roll external/googletest/ 9f79a9597..571930618 (1 commit)
    
    https://github.com/google/googletest/compare/9f79a9597ad9...571930618fa9
    
    Created with:
      roll-dep external/googletest --update-readme
    
    * Roll external/abseil_cpp/ bf9816208..41a1f434d (8 commits)
    
    https://github.com/abseil/abseil-cpp/compare/bf9816208252...41a1f434d40b
    
    Created with:
      roll-dep external/abseil_cpp --update-readme
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 736e415e
    by alan-baker at 2025-05-20T17:46:36-04:00
    Fix operand access in invalid layout checks (#6151)
    
    * Wrong operand used for OpStore
    * Added test
  • 01021466
    by Wooyoung Kim at 2025-05-22T14:53:48-04:00
    [spirv-val] Add the validation checks for SPV_QCOM_tile_shading (#6130)
    
    * Adding the QCOM tile shading support
  • da48bb20
    by Spencer Fricke at 2025-05-28T10:01:13-04:00
    val: Fix CullPrimitiveEXT array of bool (#6155)
    
    * val: Fix CullPrimitiveEXT array of bool
    
    * val: Add CullPrimitiveEXT Block case
  • 045c1b25
    by github-actions[bot] at 2025-05-29T18:13:43+00:00
    roll deps (#6150)
    
    * Roll external/googletest/ 571930618..7da55820c (6 commits)
    
    https://github.com/google/googletest/compare/571930618fa9...7da55820cc32
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ 41a1f434d..3006ff8b4 (18 commits)
    
    https://github.com/abseil/abseil-cpp/compare/41a1f434d40b...3006ff8b41cf
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ c9aad99f9..9a46274d2 (1 commit)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/c9aad99f9276...9a46274d2ef2
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 8b253534
    by dependabot[bot] at 2025-05-29T18:01:24-04:00
    build(deps): bump github/codeql-action in the github-actions group (#6147)
    
    Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `github/codeql-action` from 3.28.17 to 3.28.18
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/60168efe1c415ce0f5521ea06d5c2062adbeed1b...ff0a06e83cb2de871e5a09832bc6a81e7276941f)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-version: 3.28.18
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • a9d7fde9
    by github-actions[bot] at 2025-05-29T23:07:03-04:00
    Roll external/abseil_cpp/ 3006ff8b4..2dd803689 (4 commits) (#6159)
    
    https://github.com/abseil/abseil-cpp/compare/3006ff8b41cf...2dd803689168
    
    Created with:
      roll-dep external/abseil_cpp
    
    Co-authored-by: GitHub Actions[bot] <>
  • c3c5427e
    by Steven Perron at 2025-05-30T07:17:12-04:00
    [OPT] Set the BB for the debug instruction when moved. (#6153)
    
    Part of https://github.com/microsoft/DirectXShaderCompiler/issues/7182
  • 0498065e
    by Steven Perron at 2025-05-30T09:11:31-04:00
    [OPT] Use conservative default case for `GetPtr` (#6158)
    
    The `MemPass::GetPtr` assumed that variable pointers were not used. So
    if the pointer instruction was not a variable or function parameter, it
    assumed it was something like an OpAccessChain. This is not correct with
    variable pointers. It could be a load or a phi or other things.
    
    This modifies the code the have a default case that assumes the base
    variable could not be found. It will only return a variable id if it
    recornizes all of the instructions.
    
    Fixes #6157
  • 066f726e
    by github-actions[bot] at 2025-05-31T10:30:07+00:00
    roll deps (#6160)
    
    * Roll external/googletest/ 7da55820c..e9092b12d (2 commits)
    
    https://github.com/google/googletest/compare/7da55820cc32...e9092b12dc3c
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ 2dd803689..e1ff6a333 (3 commits)
    
    https://github.com/abseil/abseil-cpp/compare/2dd803689168...e1ff6a333913
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 9a46274d2..7168a5ad0 (2 commits)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/9a46274d2ef2...7168a5ad041f
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • f6e5a5a8
    by Szymon Piotr Milczek at 2025-06-02T10:34:48-04:00
    spirv-dis: Set a hard limit on last_instruction_comment_alignment_ (#6149)
    
    Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/6148
  • 5b87767c
    by Henry Rose at 2025-06-02T11:29:20-04:00
    [OPT] prevent private_to_local_pass optimizing double pointer (#6161)
    
    * [OPT] prevent private_to_local_pass optimizing double pointer
    
    Fixes #6156
    
    before this fix the pass will optimize the following code:
    ```
      %v = OpVariable %_ptr_Private_uint Private %uint_0
    %load_thread_local = OpFunction %void None %function_type__1561_
     %37 = OpLabel
     %31 = OpVariable %_ptr_Function__ptr_Private_uint Function
     %32 = OpVariable %_ptr_Function_uint Function
     %33 = OpVariable %_ptr_Function_uint Function
           OpStore %31 %v
     %34 = OpLoad %_ptr_Private_uint %31
     %35 = OpLoad %uint %34
           OpStore %32 %35
     %36 = OpLoad %uint %v
           OpStore %33 %36
           OpReturn
           OpFunctionEnd
    ```
    
    to this:
    ```
    %load_thread_local = OpFunction %void None %function_type__1561_
     %37 = OpLabel
      %v = OpVariable %_ptr_Function_uint Function %uint_0
     %31 = OpVariable %_ptr_Function__ptr_Private_uint Function
     %32 = OpVariable %_ptr_Function_uint Function
     %33 = OpVariable %_ptr_Function_uint Function
           OpStore %31 %v
           OpStore %32 %uint_0
           OpStore %33 %uint_0
           OpReturn
           OpFunctionEnd
    ```
    
    resulting in the following error:
    ```
    error: line 81: OpStore Pointer <id> '31[%31]'s type does not match Object <id> '47[%v]'s type.
      OpStore %31 %v
    
    ```
    
    private_to_local_pass does not update the storage class of the double
    pointer %31 correctly. It currently doesn't have enough context to tell
    if %31 is later loaded from and used to store with. For now, just prevent
    the optimization if the address of the private variable is used as the
    object operand of the OpStore instruction.
    
    with this commit, the spirv code is optimized to this:
    ```
    %v = OpVariable %_ptr_Private_uint Private %uint_0
    %load_thread_local = OpFunction %void None %function_type__1561_
             %37 = OpLabel
             %31 = OpVariable %_ptr_Function__ptr_Private_uint Function
             %32 = OpVariable %_ptr_Function_uint Function
             %33 = OpVariable %_ptr_Function_uint Function
                   OpStore %31 %v
             %35 = OpLoad %uint %v
                   OpStore %32 %35
             %36 = OpLoad %uint %v
                   OpStore %33 %36
                   OpReturn
                   OpFunctionEnd
    ```
    
    * add a test
    
    * fix tests
    
    * Fix format
    
    ---------
    
    Co-authored-by: Steven Perron <stevenperron@google.com>
  • c38571fe
    by Markus Prettner at 2025-06-02T11:58:48-04:00
    Add SPV_NV_cluster_acceleration_structure to allow lists (#6163)
    
    
  • 9d221877
    by dependabot[bot] at 2025-06-02T12:17:37-04:00
    build(deps): bump ossf/scorecard-action in the github-actions group (#6162)
    
    Bumps the github-actions group with 1 update: [ossf/scorecard-action](https://github.com/ossf/scorecard-action).
    
    
    Updates `ossf/scorecard-action` from 2.4.1 to 2.4.2
    - [Release notes](https://github.com/ossf/scorecard-action/releases)
    - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
    - [Commits](https://github.com/ossf/scorecard-action/compare/f49aabe0b5af0936a0987cfb85d86b75731b0186...05b42c624433fc40578a4040d5cf5e36ddca8cde)
    
    ---
    updated-dependencies:
    - dependency-name: ossf/scorecard-action
      dependency-version: 2.4.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • 9de1dbb0
    by Aadesh Premkumar at 2025-06-03T01:10:28-04:00
    --Modfied files so that OpTypeTaskSequenceINTEL is identified as a type instruction (#6084)
    
    --Made changes in opcode.cpp and validation_state.cpp
    
    Co-authored-by: Aadesh PS <aadeshps@gmail.com>
  • 2e743e96
    by Markus Prettner at 2025-06-03T07:48:26-04:00
    Improve automatic formatting of SPV extensions allowlists (#6167)
    
    
  • 7dda3c01
    by jarcherNV at 2025-06-04T17:20:55-04:00
    Keep DebugBuildIdentifier during dce (#6166)
    
    It is expected that no other instructions should refer to the
    DebugBuildIdentifier instruction, but this causes it to be removed
    during dead code elimination. Instead keep the instruction if it is
    found.
  • 6061b720
    by Kévin Petit at 2025-06-06T09:37:52-04:00
    Add initial support for SPV_EXT_float8 (#6170)
    
    * Add initial support for SPV_EXT_float8
    
    This also overhauls the number parsing code. It seems further work
    will be needed to correctly handle BFloat16. This change intends to
    leave the code no worse than it was. TODOs were added where relevant.
    
    Change-Id: I0e146a949ae68d0488dabbb91191f2801ba4b49c
    Signed-off-by: Guillaume Trebuchet <guillaume.trebuchet@arm.com>
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
    
    * attempt to fix MSVC warning
    
    Change-Id: I630635c54393d7ffc82001f2eec0d2538300521e
    
    * another attempt
    
    Change-Id: I237f6c8ca054347a8e5da62f7649f6fb1d76cfa1
    
    * address review comments
    
    Change-Id: Ic0be831943f040623860ccc4dc2321c3616f10d1
    
    * use more descriptive FP encoding enum names for FP8
    
    Change-Id: I8ba05748480a030e0246fba14996fb123b1f146b
    
    * add a few more validator tests
    
    Change-Id: Idfa90b67d69cabcd092c5cc1dbe06f553946c73a
    
    * format fixes
    
    Change-Id: I1e90212170eaa547019e6bd3672b64ccc2ab3871
    
    ---------
    
    Signed-off-by: Guillaume Trebuchet <guillaume.trebuchet@arm.com>
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
  • 50196063
    by github-actions[bot] at 2025-06-06T17:10:16+00:00
    Roll external/abseil_cpp/ e1ff6a333..169c953aa (1 commit) (#6165)
    
    * Roll external/googletest/ e9092b12d..7e2c425db (1 commit)
    
    https://github.com/google/googletest/compare/e9092b12dc3c...7e2c425db2c2
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ e1ff6a333..daff1b1a9 (8 commits)
    
    https://github.com/abseil/abseil-cpp/compare/e1ff6a333913...daff1b1a9cd5
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 7168a5ad0..fd9666192 (1 commit)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/7168a5ad041f...fd9666192548
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 0d6c8d6f
    by alelenv at 2025-06-06T17:12:18+00:00
    Add SPV_NV_linear_swept_spheres to allow list. (#6168)
    
    
  • ec1c9ca7
    by dependabot[bot] at 2025-06-06T15:27:30-04:00
    build(deps): bump github/codeql-action in the github-actions group (#6169)
    
    Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `github/codeql-action` from 3.28.18 to 3.28.19
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/ff0a06e83cb2de871e5a09832bc6a81e7276941f...fca7ace96b7d713c7035871441bd52efbe39e27e)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-version: 3.28.19
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • 90cfb3e9
    by Spencer Fricke at 2025-06-09T13:02:09+00:00
    spirv-val: Give hints when user is forgetting feature bit (#6164)
    
    
  • e9a8ceed
    by Kévin Petit at 2025-06-10T08:41:36-04:00
    spirv-val: add positive test for FP8 cooperative matrices (#6175)
    
    The headers need updating to pick up
    https://github.com/KhronosGroup/SPIRV-Headers/pull/519
    which this test uncovered as an issue.
    
    Change-Id: I79c292db6d2fbff6e31a7ccc9dfd4d65f4f49ab2
    
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
  • 27dd301f
    by Spencer Fricke at 2025-06-11T13:44:53+00:00
    spirv-val: Label maintenance9 new VUID (#6176)
    
    
  • 15f61f8a
    by dependabot[bot] at 2025-06-12T10:03:09-04:00
    build(deps): bump github/codeql-action in the github-actions group (#6180)
    
    Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).
    
    
    Updates `github/codeql-action` from 3.28.19 to 3.29.0
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/fca7ace96b7d713c7035871441bd52efbe39e27e...ce28f5bb42b7a9f2c824e633a3f6ee835bab6858)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-version: 3.29.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • e0bad282
    by github-actions[bot] at 2025-06-12T14:42:36-04:00
    Roll external/abseil_cpp/ daff1b1a9..9c02e2cbe (1 commit) (#6173)
    
    * Roll external/googletest/ 7e2c425db..fd15f51d5 (3 commits)
    
    https://github.com/google/googletest/compare/7e2c425db2c2...fd15f51d57f9
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ daff1b1a9..f8288c18a (4 commits)
    
    https://github.com/abseil/abseil-cpp/compare/daff1b1a9cd5...f8288c18a12b
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/spirv-headers/ 3b9447dc9..50daff941 (1 commit)
    
    https://github.com/KhronosGroup/SPIRV-Headers/compare/3b9447dc9837...50daff941d88
    
    Created with:
      roll-dep external/spirv-headers
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • dec28643
    by Pankaj Mistry at 2025-06-15T21:56:54-04:00
    Add validation support for MeshEXT based on the spec update PR https://github.com/KhronosGroup/Vulkan-Docs/pull/2475 (#6171)
    
    
  • dab29fb1
    by Kévin Petit at 2025-06-18T15:46:45-04:00
    spirv-val: tidy up validation of type constraints for IDs (#6185)
    
    This makes the overall logic a bit easier to follow and modify
    in my opinion. It also makes its shortcomings a bit more apparent.
    
    
    Change-Id: Iad296cf5b0a27a135073710edc60cd5bed8ce810
    
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
  • 3f76afcf
    by Kévin Petit at 2025-06-19T10:36:41-04:00
    Add minimal as/dis support for TOSA.001000.1 extended instruction set (#6183)
    
    * Add minimal as/dis support for TOSA.001000.1 extended instruction set
    
    Change-Id: Ieefcd9c9a46dc3021c1600c02f9be96c49641aa9
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
    
    * pick up headers
    
    Change-Id: Ie0d1c5258367774451373f7d81e231e2fc674937
    
    * attempt to fix Bazel builds
    
    Change-Id: I34fbf54545ecb58a3bacdf1f711e22547e8b5666
    
    * Revert changes to BUILD.gn
    
    This reverts commit d4496b744a295a9fc98292c4d76256dc9e127987.
    
    * update headers
    
    Change-Id: I368598d93f94bc39ff71db56269bf1baeedf37c8
    
    * BUILD.bazel: add dependency on spirv_common_headers when building tests
    
    Change-Id: I265b9622ce86f3d86b68a523ccf849a0134b890b
    
    * attempt to fix table generation in Bazel builds
    
    Change-Id: Ifa2a94af00af09fbd5aa1ae48eeac0603aa5b5f0
    
    * another attempt
    
    Change-Id: I411737a0544187c0c01d9628df9a7b556490750e
    
    ---------
    
    Signed-off-by: Kevin Petit <kevin.petit@arm.com>
  • da0ec29b
    by alan-baker at 2025-06-19T11:44:45-04:00
    Revert array location validation (#6187)
    
    * Revert "Fix calculation of locations for matrices (#6062)"
    
    This reverts commit ada1771a9f7a125573aa94fe551fdc44b45769bd.
    
    * Revert "Update location/component conflict validation (#5993)"
    
    This reverts commit ba1359d203e544bd458373ba249a47c44e97b071.
  • 422150b4
    by David Neto at 2025-06-19T12:51:31-04:00
    Add mimalloc to improve multithreaded performance (#6188)
    
    Co-authored-by: Zackery Mason-Blaug <zackery.mason-blaug@ntd.nintendo.com>
  • c2977ef0
    by github-actions[bot] at 2025-06-20T13:25:23+00:00
    roll deps (#6181)
    
    * Roll external/googletest/ fd15f51d5..35b75a2cb (3 commits)
    
    https://github.com/google/googletest/compare/fd15f51d57f9...35b75a2cba6e
    
    Created with:
      roll-dep external/googletest
    
    * Roll external/abseil_cpp/ f8288c18a..212fcb96c (10 commits)
    
    https://github.com/abseil/abseil-cpp/compare/f8288c18a12b...212fcb96c8a5
    
    Created with:
      roll-dep external/abseil_cpp
    
    * Roll external/mimalloc/ 51c09e7b6..09a27098a (326 commits)
    
    https://github.com/microsoft/mimalloc/compare/51c09e7b6a0a...09a27098aa6e
    
    Created with:
      roll-dep external/mimalloc
    
    ---------
    
    Co-authored-by: GitHub Actions[bot] <>
  • 7ddec72e
    by dependabot[bot] at 2025-06-20T09:43:01-04:00
    build(deps): bump lukka/get-cmake in the github-actions group (#6182)
    
    Bumps the github-actions group with 1 update: [lukka/get-cmake](https://github.com/lukka/get-cmake).
    
    
    Updates `lukka/get-cmake` from 4.0.2 to 4.0.3
    - [Release notes](https://github.com/lukka/get-cmake/releases)
    - [Commits](https://github.com/lukka/get-cmake/compare/ea004816823209b8d1211e47b216185caee12cc5...6b3e96a9bc9976b8b546346fdd102effedae0ca8)
    
    ---
    updated-dependencies:
    - dependency-name: lukka/get-cmake
      dependency-version: 4.0.3
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: github-actions
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • c837be3e
    by Steve Urquhart at 2025-06-20T09:58:58-04:00
    opt: Pass DebugDeclare scope to DebugValue (#6178)
    
    
  • 85607567
    by jarcherNV at 2025-06-20T10:46:40-04:00
    Keep instructions used by the DebugBuildIdentifier (#6189)
    
    Update DCE to keep instructions referred to by the DebugBuildIdentifier
    and update the test to verify these are present in the output SPIR-V.
  • 108b19e5
    by Jeremy Hayes at 2025-06-20T16:25:14-04:00
    Add --canonicalize-ids pass (#6174)
    
    This is a port of the spirv-remap utility in glslang.
    
    The canonicalize IDs pass is an optimization to improve compression of
    SPIR-V binary files via entropy reduction. It transforms SPIR-V to
    SPIR-V, remapping IDs. The resulting modules have an increased ID range
    (IDs are not as tightly packed around zero), but will compress better
    when multiple modules are compressed together, since the compressor's
    dictionary can find better cross module commonality. Remapping is
    accomplished via canonicalization. Thus, modules can be compressed one
    at a time with no loss of quality relative to operating on many modules
    at once.
    
    This pass should be run after most optimization passes except for
    --strip-debug because this pass will use OpName to canonicalize IDs.
    i.e. Run --strip-debug after this pass.
  • a364c41a
    by Russell Liu at 2025-06-23T15:50:13-04:00
    We want to use extension `SPV_KHR_variable_pointers` with vulkan memory (#6121)
    
    model, but shader compiler crashes.
    
    The typical case is passing the buffer to a function and use it. In
    function, we need to load the real buffer from variable pointers, it's
    okay.
    
    But when we run pass `upgrade-memory-model`, we missed to handle the
    `OpLoad` with variable pointers, which resulted in missing 1 dimension
    to calculate the access element type. `OpStore` also has the same
    problem.
    
    Moreover, `OpLoad` and `OpStore` shouldn't be marked as
    `NonPrivatePointer` if the target pointer is storage class Function or
    Private.
  • 33e02568
    by Nathan Gauër at 2025-06-23T15:59:33-04:00
    Prepare release v2025.3 (#6192)
    
    
  • d93c56c0
    by Timo Aaltonen at 2025-08-11T06:42:46+03:00
    Merge branch 'upstream-unstable' into debian-unstable
    
  • 939eec19
    by Timo Aaltonen at 2025-08-11T06:44:03+03:00
    version bump
    
  • 9114895e
    by Timo Aaltonen at 2025-08-11T06:44:49+03:00
    control: Bump build-dep on spirv-headers.
    
  • d284769e
    by Timo Aaltonen at 2025-08-11T06:51:11+03:00
    patches: Refreshed.
    
  • 90745cf6
    by Timo Aaltonen at 2025-08-11T06:58:34+03:00
    releasing package spirv-tools version 2025.3~rc1-1
    

222 changed files:

The diff was not included because it is too large.

Reply to: