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
Arcady Goldmints-Orlov
0dc6711e5a
ci: Get rid of redundant testing
...
It's not necessary to run the runtest tests separately, as they're
already being run by the ctest testing process (as glslang-testsuite).
2024-08-14 14:10:40 -04:00
dependabot[bot]
3a08cd8de1
Bump lukka/get-cmake from 3.30.1 to 3.30.2
...
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake ) from 3.30.1 to 3.30.2.
- [Release notes](https://github.com/lukka/get-cmake/releases )
- [Commits](34181361be...a70f1cfa18
)
---
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-08-12 09:43:31 -06:00
dependabot[bot]
badd6dacf2
Bump github/codeql-action from 3.25.15 to 3.26.0
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3.25.15 to 3.26.0.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](afb54ba388...eb055d739a
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 08:49:47 -06:00
dependabot[bot]
2bd13a7166
Bump hendrikmuhs/ccache-action from 1.2.13 to 1.2.14
...
Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action ) from 1.2.13 to 1.2.14.
- [Release notes](https://github.com/hendrikmuhs/ccache-action/releases )
- [Commits](c92f40bee5...ed74d11c0b
)
---
updated-dependencies:
- dependency-name: hendrikmuhs/ccache-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 08:49:12 -06:00
Arcady Goldmints-Orlov
3ba8cad6ed
Add setSourceFile and addSourceText to TShader
...
These are now accessible through the C++ ShaderLang.h public API as well
as the C API.
2024-08-12 08:48:23 -06:00
dTry
7c4d91e781
Add type checks for hitObjectNV ( #3689 )
...
`VK_NV_ray_tracing_invocation_reorder` extension introduces `hitObjectNV`, a special opaque type
that can only be declared without storage qualifiers in either global or function scope.
Added checks/tests to enforce this constraint.
References:
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_NV_ray_tracing_invocation_reorder.html
3e0d9a3b3f/extensions/nv/GLSL_NV_shader_invocation_reorder.txt (L180)
Co-authored-by: Tianyun <tianyuny@nvidia.com>
2024-08-08 08:21:00 -06:00
Arcady Goldmints-Orlov
5398d55e33
Remove execute permissions from source files.
2024-08-06 14:42:01 -06:00
Arcady Goldmints-Orlov
015cb4ce5c
Fix initialization of arrays in TGlslIoMapper
...
The inVarMaps, outVarMaps, uniformVarMap, and intermediates arrays were
being memset with a size 1 bigger than their actual size. They are now
initialized correctly, which also allows making inVarMaps, outVarMaps,
and uniformVarMap into private members.
2024-08-06 13:36:21 -06:00
Arcady Goldmints-Orlov
b618604e77
Add MachineIndependent/iomapper.h to the list of installed headers.
2024-08-06 13:36:21 -06:00
Arcady Goldmints-Orlov
31584ef79d
Clean up iomapper.h to make it suitable as a public API
...
Remove the dependency on LiveTraverser.h, which transitively includes
localintermediate.h. As a result, some things have been moved from
iomapper.h to iomapper.cpp, specifically the TVarEntry type and the
constructor and destructor of TGlslIoMapper.
2024-08-06 13:36:21 -06:00
dependabot[bot]
71c24c1e4b
Bump actions/upload-artifact from 4.3.4 to 4.3.5
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4.3.4 to 4.3.5.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](0b2256b8c0...89ef406dd8
)
---
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-05 09:59:45 -06:00
Sergei Trofimovich
e40c14a3e0
SPIRV/SpvBuilder.h: add missing <cstdint> include
...
Without the change `glslang` build fails on upcoming `gcc-15` as:
In file included from /build/source/SPIRV/GlslangToSpv.cpp:45:
SPIRV/SpvBuilder.h:248:30: error: 'uint32_t' has not been declared
248 | Id makeDebugLexicalBlock(uint32_t line);
| ^~~~~~~~
2024-08-02 17:00:44 -06:00
Arcady Goldmints-Orlov
11290021b7
ci: Add a list of known validation fails
...
Add a Test/baseResults/validation_fails.txt file to track test results
with known validation fails. This will hopefully make it easier to spot
when new test results are added that have invalid SPIR-V.
2024-08-02 16:47:35 -06:00
ravi688
48154f1766
Update comment to more succint that 8/16-bit composites can't be directly constructed
...
Earlier the comment looked misleading that composites of 8/16-bit types can't be constructed at all.
As per the GL_EXT_shader_16bit_storage extension, they can't be constructed directly, however, can be constructed indirectly.
2024-08-02 14:33:45 -06:00
Malcolm Bechard
8590f62c14
add optimizerAllowExpandedIDBound to SpvOptions
...
This option increases the max_id_bound in the optimizer to 0x3FFFFFFF, and then runs a
compact-id pass if the final result has a max_id greater than the standard limit of 0x3FFFFF.
2024-07-30 21:49:42 -04:00
Arcady Goldmints-Orlov
7e896697dc
Add SPIRV/SpvTools.h back to the public headers
...
Clean up the includes in SpvTools.h so that it doesn't require any
transitive dependencies and add it back to the headers that get
installed.
2024-07-30 19:07:19 -04:00
Malcolm Bechard
69249e46b6
add cross-stage check for missing outputs
...
If an 'in' is present in a shader stage, make sure a matching 'out'
is present in the previous stage. Only enabled when doing Vulkan.
This commit also fixes a bug where previous stage's linkerObjects
got polluted with 'in' variables from the next stage when merging
linker objects.
2024-07-29 19:37:59 -04:00
dependabot[bot]
6a28e226c7
Bump github/codeql-action from 3.25.13 to 3.25.15
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3.25.13 to 3.25.15.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](2d790406f5...afb54ba388
)
---
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-07-29 19:24:48 -04:00
Pavel Asyutchenko
9f34b25f30
Fix HLSL offsets for non-cbuffers ( #3668 )
2024-07-29 19:24:33 -04:00
dependabot[bot]
4b73607b89
Bump ossf/scorecard-action from 2.3.3 to 2.4.0
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.3.3 to 2.4.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](dc50aa9510...62b2cac7ed
)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 16:27:51 -04:00
Steve Urquhart
3c7b12c643
Add C interface types and functions for IO mapping
2024-07-24 18:46:04 -04:00
Steve Urquhart
10a923f740
Add C interface function to set preprocessed shader code
2024-07-24 18:46:04 -04:00