-
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