Commit graph

5141 commits

Author SHA1 Message Date
Daniel Story
2acc4ea002 Add link-time cross stage optimization test 2024-10-08 15:02:14 -04:00
Daniel Story
05559a2963 Implement optional link-time cross stage optimization 2024-10-08 15:02:14 -04:00
dependabot[bot]
9d00d6d6ca Bump lukka/get-cmake from 3.30.3 to 3.30.4
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.30.3 to 3.30.4.
- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](070a0507a7...582a9f5c6f)

---
updated-dependencies:
- dependency-name: lukka/get-cmake
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 12:49:22 -04:00
dependabot[bot]
7430f863c0 Bump github/codeql-action from 3.26.9 to 3.26.11
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.9 to 3.26.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](461ef6c76d...6db8d6351f)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 12:48:48 -04:00
Sajjad Mirza
f69d2768e5
Use line and column from node on DebugLexicalBlock.
* Fix bug in TestFixture.h, debug info gets enabled when nonsemantic debug info is requested.
2024-10-04 14:11:27 -04:00
Arcady Goldmints-Orlov
48f63fe4b3 Propagate errors from symbol table init
Fixes #580
2024-10-04 14:01:46 -04:00
Sven van Haastregt
4e91335863 Remove extra semicolons
Fix various "extra ';'" compiler warnings.

No functional changes.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
2024-10-04 11:57:17 -04:00
dependabot[bot]
a729c86d78 Bump actions/checkout from 4.1.7 to 4.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...d632683dd7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 15:35:47 -04:00
dependabot[bot]
c694f28df2 Bump github/codeql-action from 3.26.8 to 3.26.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.8 to 3.26.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](294a9d9291...461ef6c76d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 15:17:07 -04:00
Jeff Bolz
ca04c2a16a
Fix nonsemantic debuginfo line attribution for cooperative matrix
* Generate debuginfo for coopmat types, treating them as an opaque composite. Restore the debug source location after calling convertGlslangToSpvType, fixes the line info in this unit test

* Add a cooperative matrix test case, based on the shader from https://github.com/jeffbolznv/vk_cooperative_matrix_perf/blob/master/shaders/shmem.comp
2024-09-30 13:53:27 -04:00
Jeremy Hayes
46ef757e04 Update CHANGES for 15.0.0 2024-09-25 19:10:44 -04:00
Malcolm Bechard
4a9f088915 a few more tweaks for #3681
expose TIoMapper::setAutoPushConstantBlock()
add overload for MapToSpirvToolsEnv() that takes TIntermediate instead of SpvVersion.
2024-09-25 11:17:35 -04:00
dependabot[bot]
96899e0f47 Bump github/codeql-action from 3.26.7 to 3.26.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.7 to 3.26.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8214744c54...294a9d9291)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 13:46:34 -04:00
Arcady Goldmints-Orlov
15ebcea676 Print an error when SPIR-V is requested and ENABLE_SPIRV=0 is set
This case fails slightly less silently now.
Also make ENABLE_OPT depend on ENABLE_SPIRV, since when there's no
SPIR-V optimization doesn't really make sense.
2024-09-23 13:19:01 -04:00
Jeremy Hayes
467ce01c71 Update known_good.json 2024-09-23 12:20:38 -04:00
Shahbaz Youssefi
3e7831ba12 Fix SPIR-V support in GN build
The cmake build recently got ENABLE_SPIRV which is enabled by default.
This was missing from the GN build, accidentally removing SPIR-V support
in this build.
2024-09-20 17:19:02 -04:00
Arcady Goldmints-Orlov
c5b76b78c9 Add CI testing for shared library builds
Testing is disabled on Windows for now due to DLL search path issues.
2024-09-19 17:26:52 -04:00
Arcady Goldmints-Orlov
3dde7d5fa8 cmake: Fix symbol visibility on Linux.
Use the correct cmake property to set hidden visibility for shared
libraries.
2024-09-19 17:26:52 -04:00
Arcady Goldmints-Orlov
ec7e23f458 Final round of symbol visibility fixes
This change adds GLSLANG_EXPORT in a couple more places, as well as
adding a new symbol visibility annotation GLSLANG_EXPORT_FOR_TESTS which
is defined the same as GLSLANG_EXPORT but documents the intention that
the symbols marked with it are only meant to be used by glslang's test
suite and do not form part of the public API and are thus not subject to
ABI stability guarantees.
2024-09-19 17:26:52 -04:00
Yuxin Hu
d7a3dc619e Fix gn build error
After commit d7d5ab8, projects based on
gn builds failed when running command:

gn gen out/<BUILDDIR> --check

```
ERROR at //third_party/glslang/src/glslang/Public/ResourceLimits.h:41:11: Include not allowed.
          ^----------------------
It is not in any dependency of
  //third_party/glslang/src:glslang_default_resource_limits_sources
```

Add the visibility.h to the build target
glslang_default_resource_limits_sources
to fix the error.
2024-09-19 10:23:14 -04:00
dependabot[bot]
e611e99037 Bump github/codeql-action from 3.26.6 to 3.26.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.6 to 3.26.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](4dd16135b6...8214744c54)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 10:56:37 -06:00
Andrei Alexeyev
9213cbd310 Expose setResourceSetBinding() method to the C API 2024-09-17 10:56:10 -06:00
Arcady Goldmints-Orlov
02bc074ac4 Update tests to use the new iomapper interface
This updates the test to use the new public GetGlslIoMapper() and
TProgram::getGlslIoResolver() entry points, instead of depending on
internal points that are not available in shared library builds.
2024-09-13 18:32:24 -06:00
Arcady Goldmints-Orlov
d081b4d8c6 Add an interface to get the GLSL IO mapper and resolver
The TProgram::mapIO method takes a TIoMapResolver and a TIoMapper,
however the only way to obtain instances of these was from methods in
iomapper.h. Rather than try to expose that header as part of the API,
new methods are added to the public ShaderLang.h header to create a
TDefaultGlslIoResolver and a TGlslIoMapper and return them as pointers
to their respective base classes, which are defined in the public
header.
2024-09-13 18:32:24 -06:00
Arcady Goldmints-Orlov
8bd9083bec Revert "Add MachineIndependent/iomapper.h to the list of installed headers."
This reverts commit b618604e77.
2024-09-13 18:32:24 -06:00
Arcady Goldmints-Orlov
36ccaa31bd Explicitly export symbols from libSPVRemapper
Windows requires symbols to be explicitly exported from DLLs, this
change simply marks the entire spirvbin_t class as exported.

The macros from visibility.h are included inline to get around include
path issues.
2024-09-13 07:28:49 -07:00
Arcady Goldmints-Orlov
d7d5ab8f8a Add symbol visibility annotations to glslang-resource-limits library
Among other things, this allows using it as a DLL on Windows.
2024-09-12 14:34:55 -07:00
Jeff Bolz
708d560c23 Allow compute derivative modes when the workgroup dimensions are spec constants 2024-09-12 11:14:23 -07:00
Jeff Bolz
f7f0f3067c Add tests for compute shader derivatives with spec constant workgroup size 2024-09-12 11:14:23 -07:00
Arcady Goldmints-Orlov
dc1012140e Convert keyword maps to static initializers
Rather than having a function that needs to be called from ShInitialize
to initialize some global costants, convert them to use static
initializers.
2024-09-11 14:29:10 -07:00
Arcady Goldmints-Orlov
6495f77b04 Remove redundant calls to spv::Parameterize() from tests
This means the tests won't need to have this entrypoint exposed when
building as a shared library with hidden symbols.
2024-09-11 13:52:22 -07:00
dependabot[bot]
12a17b7ce4 Bump actions/upload-artifact from 4.3.6 to 4.4.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](834a144ee9...50769540e7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 11:57:45 -04:00
Arcady Goldmints-Orlov
79c4235085 ci: Remove redundant testing from continuous deployment workflow
The runtests script is already run as part of the cmake-controlled
testing, so can be removed from the CD workflow like it was from the CI
ones.
2024-09-04 12:37:54 -04:00
Qingyuan Zheng
a496a34b43 Sanitize debug source location tracking for implicit branch and return
This patch tries to attach debug location of a branch/return instruction to its predecessor or the closing brace. If none could be found, no debug info should be emitted.
2024-09-02 14:20:19 -04:00
Arcady Goldmints-Orlov
b1fac200c4 Add symbol visibility annotations to symbols in SPIRV/
Symbols in the SPIRV/ directory that are meant to be part of the public
API of glslangnow have GLSLANG_EXPORT annotations that make sure they
will be accessible when building glslang as a shared library if
-fvisibility=hidden is enabled.
2024-09-02 13:46:30 -04:00
U-NVIDIA.COM\rjennings
9cd7ca26a2 PP: Don't report certain error about '#' when #if'd out
Don't report the following error when scanning inactive code (e.g. code inside #if 0):
"error: '#' : (#) can be preceded in its line only by spaces or horizontal tab"
Adds a variable to PpContext to say whether we're currently skipping over an inactive #if/#ifdef/#elif/#else, and don't report the error inside scanToken if true.

fixes 3704
2024-09-02 13:35:09 -04:00
dependabot[bot]
45f2b112ce Bump actions/setup-python from 5.1.1 to 5.2.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](39cd14951b...f677139bbe)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 13:20:54 -04:00
dependabot[bot]
c45da88fe9 Bump github/codeql-action from 3.26.5 to 3.26.6
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.5 to 3.26.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](2c779ab0d0...4dd16135b6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 12:54:47 -04:00
dependabot[bot]
53dad99378 Bump lukka/get-cmake from 3.30.2 to 3.30.3
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.30.2 to 3.30.3.
- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](a70f1cfa18...070a0507a7)

---
updated-dependencies:
- dependency-name: lukka/get-cmake
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 12:30:03 -04:00
Arcady Goldmints-Orlov
12cbda959b Fix test results after merging #3662
The change was rebased but one test was added in the meantime.
2024-08-29 16:13:51 -04:00
Arcady Goldmints-Orlov
b45d21b287 cmake: Fix dependencies of newly-stubbed libraries
Some downstream projects may only link to e.g. the glslang::SPIRV
library and rely on transitive dependencies to pull in everything else.
To keep this working, the SPIRV and MachineIndependent library stubs are
now linked against the glslang library.
2024-08-29 11:27:44 -04:00
Matthew Moulton
5073d93ec4
Apply GLSL memory decorations to top-level OpVariable
Apply memory decorations from GLSL source to the top-level OpVariable.
Previously, these decorations would only be applied to individual
members. While this is correct behavior, it is more convenient for some
front ends to see the decorations (specifically ReadOnly and WriteOnly)
applied to the whole variable rather than individual members.
2024-08-28 17:46:16 -04:00
dependabot[bot]
df3398078f Bump github/codeql-action from 3.26.2 to 3.26.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.2 to 3.26.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](429e197704...2c779ab0d0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 13:57:32 -04:00
Arcady Goldmints-Orlov
ffd454c57b Add visibility.h to build scripts 2024-08-22 17:43:41 -04:00
Arcady Goldmints-Orlov
9e8dff7d42 Move definition of GLSLANG_EXPORT to visibility.h
The GLSLANG_EXPORT macro is already used (and defined) in two separate
places and will be used in a few more in the near future. To reduce
duplication it is now in its own header.
2024-08-22 17:43:41 -04:00
Arcady Goldmints-Orlov
592de6cf78 Clean up unused includes. 2024-08-20 09:09:44 -04:00
dependabot[bot]
4422273e84 Bump github/codeql-action from 3.26.0 to 3.26.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.0 to 3.26.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](eb055d739a...429e197704)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 12:15:46 -04:00
dependabot[bot]
611950f882 Bump actions/upload-artifact from 4.3.5 to 4.3.6
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](89ef406dd8...834a144ee9)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 12:15:22 -04:00
Arcady Goldmints-Orlov
d59c84d388 Fix typo in Android.mk 2024-08-15 17:53:34 -04:00
Daniel Story
4f01996c9d Merge ancillary libraries into main glslang library and stub originals 2024-08-15 17:32:47 -04:00