-
2b63972c
by Kevin Petit at 2025-07-02T11:08:13-06:00
Update expected output for GL_ARM_tensors tests
Following a SPIR-V Validator fix.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
-
fcffe4d4
by Kevin Petit at 2025-07-02T11:08:13-06:00
pick up validator fix
-
a45e175a
by Kevin Petit at 2025-07-02T11:08:13-06:00
update list of validation failures
-
2e24222c
by rj123-nv at 2025-07-08T18:55:08-04:00
Error for in/out structs containing booleans (#3973)
The GLSL spec says:
It is a compile-time error to declare a fragment shader input with, or
that contains, any of the following types:
-a boolean type
-an opaque type
and similar rules for other shader stages and 'out' variables.
Previously glslang would error for simple 'bool' IO variables, but not
structs/blocks containing them.
This could lead to generating invalid spir-v, violating this validator
rule:
"If OpTypeBool is stored in conjunction with OpVariable using Input or
Output Storage Classes it requires a BuiltIn decoration"
- VUID 7290
-
502ef438
by Alan Baker at 2025-07-10T09:57:03-06:00
Fix line endings in spirv.hpp11
-
f33fa78f
by dependabot[bot] at 2025-07-10T16:56:16-06:00
Bump github/codeql-action from 3.29.0 to 3.29.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.0 to 3.29.2.
- [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/ce28f5bb42b7a9f2c824e633a3f6ee835bab6858...181d5eefc20863364f96762470ba6f862bdef56b)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.29.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
4056002e
by Valentin Sarthou at 2025-07-11T16:24:08-04:00
Fix incorrect "Contradictory layout" link errors (#3920)
* Add tests that generate incorrect "Contradictory layout" link errors
* Add tests that generate correct "Contradictory layout" link errors
* Fix incorrect link errors when multiple compilation units don't declare layouts
when using multiple compilation units, input/output layouts don't need
to be declared in every unit.
In the same spirit as 6f723ebbe3b0eba0c543fa615b53fbdc3e6e22c7
-
eb77189a
by Jeff Bolz at 2025-07-17T09:59:56-04:00
Add missing error checks for float8 math (#4000)
-
cefdfc3b
by Diego Novillo at 2025-07-18T13:11:01-06:00
Fix erroneous parse error when declaring variables using struct names
This fixes #3931
The parser would reject a variable declaration like `float A, B;` if struct named B existed in the same scope. It incorrectly treated B as a type name (TYPE_NAME) rather than as a variable identifier, resulting in a syntax error.
This updates the grammar to allow both `IDENTIFIER` and `TYPE_NAME` tokens for the first variable in a variable declaration (e.g., float A, B;), but only `IDENTIFIER` for subsequent variables after commas.
This is limited to variable declarations only.
Added some tests too.
-
fa7cb745
by Diego Novillo at 2025-07-18T13:11:01-06:00
Fix spec violations. Simplify tests.
The original fix was accepting invalid GLSL. This reduces the scope of the fix to allow variable declarations to match section 4.2 (Scoping) of the GLSL 4.60 spec: "Each level of structure has its own name space for names given in member declarators; such names need only be unique within that name space."
This means that using a struct name as a member name is valid. The member name hides the type name within the struct.
Updated and simplified test cases to match.
The output of 400.frag's error needed to be updated to reflect the new grammar implementation changes. A struct_declarator can now accept TYPE_NAME in addition to IDENTIFIER, so the parser is now adding TYPE_NAME to the list of expected tokens.
-
a2b6c918
by Diego Novillo at 2025-07-18T13:11:01-06:00
Fix while avoiding grammar changes
This changes the approach to make the scanner better recognize IDENTIFIER vs TYPE_NAME in identifierOrType(). This function treated user-defined type names inconsistently in comma-separated declarator lists. After a comma, afterType was reset to false, causing the second identifier to be checked against the symbol table, which returned TYPE_NAME if it was a user-defined type, rather than IDENTIFIER as expected in declarator contexts.
We now have more context tracking in the scanner to keep track of types and identifiers. Function identifierOrType() will now properly return IDENTIFIER after types in declarator contexts (outside brackets).
For template and array _expression_ contexts, the scanner now keeps track of whether it's scanning inside a template or array list.
-
15b727af
by Diego Novillo at 2025-07-18T13:11:01-06:00
Remove trailing whitespaces - NFC
-
f43df42f
by Diego Novillo at 2025-07-21T12:27:24-04:00
Revert "Fix erroneous parse error when declaring variables using struct names" (#4002)
* Revert "Remove trailing whitespaces - NFC"
This reverts commit 15b727afdd0b69ef5d178727e7ac66be991e678f.
* Revert "Fix while avoiding grammar changes"
This reverts commit a2b6c9183b8293a4dc41cc52a03095f0d1ed9257.
* Revert "Fix spec violations. Simplify tests."
This reverts commit fa7cb74569749b637678aac31971f6ab08f4e707.
* Revert "Fix erroneous parse error when declaring variables using struct names"
This reverts commit cefdfc3b63d178e1e163ebd5cd927dbfb11bb261.
-
8e12361e
by alelenv at 2025-07-29T13:12:21-04:00
Fix bug in handling slice of array being passed cooperative matrix load/store functions and strengthen error checks. (#4007)
* Fix bug in handling slice of array being passed cooperative matrix
load/store functions and strengthen error checks.
* Review feedback 1
-
579d34d5
by natgavrilenko at 2025-07-31T16:31:13-04:00
Fix memory semantics validation rules according to the spec (#4008)
This commit updates memory semantics validation rules to match
Vulkan specification update
https://github.com/KhronosGroup/Vulkan-Docs/pull/2528
and spirv-tools update
https://github.com/KhronosGroup/SPIRV-Tools/pull/6096
Signed-off-by: Natalia Gavrilenko <natalia.gavrilenko@huawei.com>
-
38f6708b
by dependabot[bot] at 2025-07-31T16:35:42-04:00
Bump github/codeql-action from 3.29.2 to 3.29.4 (#4009)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.2 to 3.29.4.
- [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/181d5eefc20863364f96762470ba6f862bdef56b...4e828ff8d448a8a6e532957b1811f387a63867e8)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.29.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
0d614c24
by gnl21 at 2025-08-04T17:45:29-04:00
Simplify glslang grammar for identifier lists
This was more complicated than it needed to be. The old grammar matched
what was in the spec and GLSL#251 fixes it there as well.
The syntax errors generated by the parser have changed slightly with the
updated grammar.
-
b4e66d7b
by Diego Novillo at 2025-08-08T11:50:54-04:00
Fix erroneous parse errors in variable declarations using existing struct names (#4005)
* Reapply "Fix erroneous parse error when declaring variables using struct names" (#4002)
This reverts commit f43df42fe69bb38d43625b53e0706bbee43d74b4.
* Fix struct types in function parameters
This fixes #4001
The fix for issue #3931 introduced a regression where struct types could not be used as function parameters when not in the first position. For example:
```
void test1(B b, int c) {} // worked
void test2(int c, B b) {} // failed with "unexpected IDENTIFIER"
```
The problem was that the declarator list logic was incorrectly being applied to function parameter lists. This adds parens depth tracking so function argument lists are not considered declarator lists (which were forcing IDENTIFIER recognition instead of TYPE).
Added the test from #4001 and also reduced tests from the Tint failures reported in #4001.
Additionally, consolidated some existing tests for clarity.
-
79d05b5c
by dependabot[bot] at 2025-08-13T10:55:33-04:00
Bump github/codeql-action from 3.29.4 to 3.29.8 (#4015)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.4 to 3.29.8.
- [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/4e828ff8d448a8a6e532957b1811f387a63867e8...76621b61decf072c1cee8dd1ce2d2a82d33c17ed)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.29.8
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
27a2d1bc
by dependabot[bot] at 2025-08-13T10:56:52-04:00
Bump lukka/get-cmake from 4.0.3 to 4.1.0 (#4014)
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.0.3 to 4.1.0.
- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](https://github.com/lukka/get-cmake/compare/6b3e96a9bc9976b8b546346fdd102effedae0ca8...f3273e0bcecf2f2c0d3430de21bf02ab2752c47d)
---
updated-dependencies:
- dependency-name: lukka/get-cmake
dependency-version: 4.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
c6793af9
by Jeff Bolz at 2025-08-14T16:15:18-04:00
Don't do type conversions for createTensorLayout/ViewNV (#4016)
-
33ea0c25
by Diego Novillo at 2025-08-15T13:31:23-06:00
Fix SPIR-V OpAccessChain signed index issue for small unsigned integers
This fixes #3948
OpAccessChain requires the index to be a signed integer. When using a small unsigned integer as an index for an OpAccessChain, we zero-extend it to prevent sign overflow.
The fix applies zero-extension (OpUConvert) to small unsigned integer indices
before they are used in OpAccessChain, ensuring their unsigned values are
preserved. This only applies to variable indices of type uint8_t and uint16_t
with width less than 32 bits.
Additionally, this introduces an expect-based pattern using gtest. Instead of comparing against golden output, we can test for expected code patterns in the disassembly. The new harness is in Test/SpvPatternTest.cpp. I included the harness with the tests in the same file to keep it simple, we can split them when this grows.
-
0f2400cd
by Diego Novillo at 2025-08-15T13:31:23-06:00
Add license to new test file.
-
aa4ac3e1
by dependabot[bot] at 2025-08-18T09:58:18-06:00
Bump github/codeql-action from 3.29.8 to 3.29.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.8 to 3.29.9.
- [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/76621b61decf072c1cee8dd1ce2d2a82d33c17ed...df559355d593797519d70b90fc8edd5db049e7a2)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.29.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
fcf4e929
by dependabot[bot] at 2025-08-18T10:56:38-06:00
Bump actions/checkout from 4.2.2 to 5.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/11bd71901bbe5b1630ceea73d27597364c9af683...08c6903cd8c0fde910a37f88322edcfb5dd907a8)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
-
f3a7f2c2
by Wooyoung Kim at 2025-08-21T10:31:18-06:00
Add support for GLSL_QCOM_cooperative_matrix_conversion
-
7899f3c1
by Wooyoung Kim at 2025-08-21T13:38:01-06:00
Compile SPV_QCOM_image_processing/SPV_QCOM_image_processing2
tests under the SPV 1.4 semantics
-
09d803cf
by dependabot[bot] at 2025-08-25T09:32:13-06:00
Bump github/codeql-action from 3.29.9 to 3.29.11
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.9 to 3.29.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/df559355d593797519d70b90fc8edd5db049e7a2...3c3833e0f8c1c83d449a7478aa59c036a9165498)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.29.11
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
672c26af
by Russell Liu at 2025-08-26T13:37:33-04:00
Allow spec constant matrix use (#3967)
In SPIR-V specification `SPV_KHR_cooperative_matrix`, allows the `use`
of cooperative matrix is a constant instruction. The use in this context
is: how to use the matrix as matrixA, matrixB or matrixAccumulate.
gl_MatrixUse* are constant integer values which can be used for the
MatrixUse template parameter in cooperative matrix types.
-
7a5308f4
by Diego Novillo at 2025-08-26T16:12:42-06:00
Fix inconsistent labeling of capability strings
This fixes #4018
Capability names do not include the "Capability" prefix, but some capabilities where being labeled with it. This PR addresses the inconsistency.
Tests adjusted to match the new labels.
-
3289b1d6
by Samuel Bourasseau at 2025-08-27T17:53:54-04:00
Fix crash on unnamed function parameters under relaxed rules (#3962)
* Prevent null fieldName access.
* Add test for unnamed parameter fix.
* Update validation_fails.txt
-
9d764997
by Tim Blechmann at 2025-09-03T12:31:26-04:00
Hide local variables
DefaultTBuiltInResource, Resources, and GlslStd450DebugNames had global
visibility and could potentially name clash with symbols of the same
name when building as static libraries.
Localizing them to that translation unit by making them static
-
a5772873
by dependabot[bot] at 2025-09-19T13:57:21-06:00
Bump actions/github-script from 7.0.1 to 8.0.0
Bumps [actions/github-script](https://github.com/actions/github-script) from 7.0.1 to 8.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/60a0d83039c74a4aee543508d2ffcb1c3799cdea...ed597411d8f924073f98dfc5c65a23a2325f34cd)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
-
c7dd34a5
by dependabot[bot] at 2025-09-19T14:25:35-06:00
Bump lukka/get-cmake from 4.1.0 to 4.1.1
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](https://github.com/lukka/get-cmake/compare/f3273e0bcecf2f2c0d3430de21bf02ab2752c47d...2ecc21724e5215b0e567bc399a2602d2ecb48541)
---
updated-dependencies:
- dependency-name: lukka/get-cmake
dependency-version: 4.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
38282114
by dependabot[bot] at 2025-09-19T14:27:20-06:00
Bump github/codeql-action from 3.29.11 to 3.30.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.11 to 3.30.3.
- [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/3c3833e0f8c1c83d449a7478aa59c036a9165498...192325c86100d080feab897ff886c34abd4c83a3)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.30.3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
-
3a7f7875
by Jeremy Hayes at 2025-09-22T08:48:20-06:00
Remove spirv-remapper
The spirv-remap utility from glslang has been ported to the SPIRV-Tools
repository as a new optimization pass called canonicalize-ids, available
in spirv-opt. See spirv-opt --help for usage details.
-
5411a238
by dependabot[bot] at 2025-09-24T14:07:17-06:00
Bump hendrikmuhs/ccache-action from 1.2.18 to 1.2.19
Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action) from 1.2.18 to 1.2.19.
- [Release notes](https://github.com/hendrikmuhs/ccache-action/releases)
- [Commits](https://github.com/hendrikmuhs/ccache-action/compare/63069e3931dedbf3b63792097479563182fe70d1...bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716)
---
updated-dependencies:
- dependency-name: hendrikmuhs/ccache-action
dependency-version: 1.2.19
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
-
b19366df
by dependabot[bot] at 2025-09-24T14:08:43-06:00
Bump actions/setup-python from 5.6.0 to 6.0.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.6.0 to 6.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/a26af69be951a213d495a4c3e4e4022e16d87065...e797f83bcb11b83ae66e0230d6156d7c80228e7c)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
-
b5e5f1b6
by Rodrigo Hernandez Cordoba at 2025-09-25T09:36:56-04:00
Move export tag from member functions to the class declaration in ShaderLang.h (#4041)
Fixes issue where ShaderLang.h VTables are not exported in shader library.
This seems to affect MingW, MacOS and some Linux distros.
-
33a271bf
by Jeremy Hayes at 2025-09-25T09:29:53-06:00
Update known_good.json
-
dd44bd3a
by Seth McDonald at 2025-09-25T12:40:55-04:00
Reformat usage message
Edit the usage message to ensure greater consistency.
- Add line breaks to ensure entire message can fit on an 80-column terminal.
- Add missing newline character before -U option.
- Add vulkan1.4 to the list of valid arguments to --target-env (#4038).
- Correct minor grammar and punctuation errors.
- Fix inconsistent alphanumeric ordering of options.
- Fix inconsistent capitalisation in option descriptions.
- Fix inconsistent indentation of option descriptions.
- Fix inconsistent spacing of arguments with | separators.
- Fix inconsistent use of angle/square brackets around arguments.
- Fix inconsistent use of periods rather than semicolons.
- Fix inconsistent use of single quotes around options.
- Partially fix inconsistent placement of option synonyms.
Does not otherwise alter the content or functionality of the usage message.
-
d213562e
by Yegor Zhumikov at 2025-09-25T12:41:30-04:00
add glslang_shader_set_entry_point and glslang_shader_set_invert_y
-
e70645c4
by Jeremy Hayes at 2025-09-25T16:25:41-06:00
Remove rest of spirv-remapper
This should have been part of my previous PR to remove the
spirv-remapper.
-
a57276bf
by Jeremy Hayes at 2025-09-25T16:40:23-06:00
Update CHANGES for 16.0.0