Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

master to nabla #6

Open
wants to merge 700 commits into
base: nabla
Choose a base branch
from
Open

master to nabla #6

wants to merge 700 commits into from

Conversation

devshgraphicsprogramming
Copy link
Member

No description provided.

moritz-h and others added 30 commits November 27, 2023 19:13
This change primarily fixes some -Wconversion warnings from gcc, but
also silences a warning triggered in glslang_tab.cpp, which is generated
code from bison.

There are still several GCC conversion warnings in Types.h due to the
use of bit fields that will be resolved in a future change.
This fixes several GCC warnings about converting from signed integers to
signed bitfields.
As of KhronosGroup/SPIRV-Tools/pull/5482

SPIRV-Tools builds cleanly for Android/iOS by default
Fixes ranlib warnings complaining about empty archive libraries.

Simplifie build/code.
Adds a cmake BUILD_WERROR option to enable warnings as errors. This
option is off by default.

This change also cleans up a few more compiler warnings.
gtest is the preferred framework for simple tests that don't require
passing special command-line options to glslang.
Add test cases that will make explicit ±0.0 and ±INF appear in the AST
output to make sure those cases are handled correctly.
This requires a small change to to use strncpy() instead of strcpy(),
as well as change of include paths to not use "..". The other warnings
are just not being hit anymore.
1 variable instead of ENABLE_CTEST and BUILD_TESTING.

OFF by default. See README.md for explanation.
Further remove installing glslangtests. There isn't a need to do
that. glslangtests isn't a deliverable.
This is also being done for gtest for similar reasons.

Currently glslang will build everything from spirv-tools despite
this not being neccessary.

EXCLUDE_FROM_ALL dramatically improves the build performance.

Going from compiling roughly 446 files to 292

Furthermore only the targets we need to install are installed.

Which makes it easier to verify the glslang installation.
libSPIRV-Tools.a and libSPIRV-Tools-opt.a aren't being installed.
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.27.7 to 3.27.9.
- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](lukka/get-cmake@8be6cca...4865386)

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

Signed-off-by: dependabot[bot] <[email protected]>
The preprocessor now reports errors for #'s appearing in the wrong
place, which were being triggered by this test. This test is rewritten
slightly to only report the errors we want.
According to the GLSL spec
Each number sign (#) can be preceded in its line only by spaces or horizontal tabs.
It may also be followed by spaces and horizontal tabs, preceding the directive.
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.1 to 5.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@65d7f2d...0a5c615)

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

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.27.9 to 3.28.0.
- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](lukka/get-cmake@4865386...98fde40)

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

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.8 to 2.22.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@407ffaf...c0d1daa)

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

Signed-off-by: dependabot[bot] <[email protected]>
OpSpecConstants with 8 or 16 width types require the corresponding
capabilities.

Fixes KhronosGroup#3449.
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 3.28.0 to 3.28.1.
- [Release notes](https://github.com/lukka/get-cmake/releases)
- [Commits](lukka/get-cmake@98fde40...2654d8e)

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

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@a8a3f3a...c7d193f)

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

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.9 to 3.22.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@c0d1daa...b374143)

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

Signed-off-by: dependabot[bot] <[email protected]>
dependabot bot and others added 30 commits September 2, 2024 12:54
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](github/codeql-action@2c779ab...4dd1613)

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

Signed-off-by: dependabot[bot] <[email protected]>
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](actions/setup-python@39cd149...f677139)

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

Signed-off-by: dependabot[bot] <[email protected]>
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
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.
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.
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.
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](actions/upload-artifact@834a144...5076954)

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

Signed-off-by: dependabot[bot] <[email protected]>
This means the tests won't need to have this entrypoint exposed when
building as a shared library with hidden symbols.
Rather than having a function that needs to be called from ShInitialize
to initialize some global costants, convert them to use static
initializers.
Among other things, this allows using it as a DLL on Windows.
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.
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.
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.
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](github/codeql-action@4dd1613...8214744)

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

Signed-off-by: dependabot[bot] <[email protected]>
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.
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.
Use the correct cmake property to set hidden visibility for shared
libraries.
Testing is disabled on Windows for now due to DLL search path issues.
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.
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.
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](github/codeql-action@8214744...294a9d9)

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

Signed-off-by: dependabot[bot] <[email protected]>
Last 2 years of GLSL stuff
expose TIoMapper::setAutoPushConstantBlock()
add overload for MapToSpirvToolsEnv() that takes TIntermediate instead of SpvVersion.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.