Commit Graph

5112 Commits

Author SHA1 Message Date
dependabot[bot]
89477a5db0 Bump actions/upload-artifact from 3.1.3 to 4.0.0
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](a8a3f3ad30...c7d193f32e)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 12:16:57 -07:00
dependabot[bot]
ffb1b07d30 Bump lukka/get-cmake from 3.28.0 to 3.28.1
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](98fde40bf9...2654d8ee38)

---
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>
2023-12-18 10:58:57 -07:00
Nathaniel Cesario
5ad3d41364 Output 8 and 16 bit capabilities OpSpecConstantOp
OpSpecConstants with 8 or 16 width types require the corresponding
capabilities.

Fixes #3449.
2023-12-15 18:36:00 -05:00
Herman Semenov
db933d7743 Fixed check uint64 before set bool 2023-12-14 16:27:44 -05:00
jimihem
a7785ea1ff
Support GL_EXT_draw_instanced extension. 2023-12-12 18:22:04 -05:00
“jimihe”
07e8220d4e support GL_EXT_texture_array extention. 2023-12-12 14:31:34 -05:00
dependabot[bot]
c4d34471c4 Bump github/codeql-action from 2.22.8 to 2.22.9
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](407ffafae6...c0d1daa7f7)

---
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>
2023-12-12 11:54:18 -05:00
dependabot[bot]
6de514b2ec Bump lukka/get-cmake from 3.27.9 to 3.28.0
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](4865386b66...98fde40bf9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 18:21:47 -05:00
Samuel Bourasseau
3bc462c5bc Properly advertise GL_ARB_bindless_texture as being unavailable when generating SPIR-V 2023-12-11 18:20:18 -05:00
dependabot[bot]
6200ac47a9 Bump actions/setup-python from 4.7.1 to 5.0.0
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](65d7f2d534...0a5c615913)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 16:48:04 -05:00
“jimihe”
feb5437942 PP: Report an error when a # is not the first thing on a line
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.
2023-12-07 19:29:48 -05:00
Arcady Goldmints-Orlov
530a6266b2 Fix tokenLength test to not trigger spurious preprocessor error
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.
2023-12-07 19:29:48 -05:00
Chao Chen
9a35abff55 Always enable the generation of OpDebugBasicType for bool type 2023-12-06 19:23:45 -05:00
dependabot[bot]
0fedf7d95a Bump lukka/get-cmake from 3.27.7 to 3.27.9
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](8be6cca406...4865386b66)

---
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>
2023-12-05 16:45:10 -05:00
Juan Ramos
72b403ad71 Fix continous_deployment
libSPIRV-Tools.a and libSPIRV-Tools-opt.a aren't being installed.
2023-12-05 13:24:11 -05:00
Juan Ramos
a9e7326b2d EXCLUDE_FROM_ALL spirv-tools
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.
2023-12-04 12:04:05 -05:00
Juan Ramos
cf1fbbff44 Only install/test if PROJECT_IS_TOP_LEVEL
Further remove installing glslangtests. There isn't a need to do
that. glslangtests isn't a deliverable.
2023-12-01 18:35:36 -05:00
Juan Ramos
3b99124593 Add GLSLANG_TESTS option
1 variable instead of ENABLE_CTEST and BUILD_TESTING.

OFF by default. See README.md for explanation.
2023-12-01 13:43:54 -05:00
Arcady Goldmints-Orlov
e854c8de10 Remove various warning suppression pragmas
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.
2023-12-01 11:59:54 -05:00
Arcady Goldmints-Orlov
a1138bacff Improve overflow_underflow_toinf_0 test somewhat
Add test cases that will make explicit ±0.0 and ±INF appear in the AST
output to make sure those cases are handled correctly.
2023-11-30 19:10:11 -05:00
Arcady Goldmints-Orlov
a187f47e2c Move overflow_underflow_toinf_0 from runtests to gtest
gtest is the preferred framework for simple tests that don't require
passing special command-line options to glslang.
2023-11-30 19:10:11 -05:00
Nathaniel Cesario
3f615ad93e Add BUILD_WERROR option
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.
2023-11-29 17:34:53 -05:00
Juan Ramos
719b6b7deb Remove outdated comments about travis 2023-11-29 08:21:11 -05:00
Juan Ramos
6be56e45e5 Remove OGLCompiler and HLSL stub libraries from build
Fixes ranlib warnings complaining about empty archive libraries.

Simplifie build/code.
2023-11-29 08:20:27 -05:00
Samuel Bourasseau
c59b876ca0
Implement relaxed rule for opaque struct members 2023-11-28 19:19:02 -05:00
Juan Ramos
a3069e1df4 cmake: Remove SPIRV-Tools workaround
As of KhronosGroup/SPIRV-Tools/pull/5482

SPIRV-Tools builds cleanly for Android/iOS by default
2023-11-28 19:17:51 -05:00
Nathaniel Cesario
40394bf5c6 Fix conversion warnings related to bitfields
This fixes several GCC warnings about converting from signed integers to
signed bitfields.
2023-11-28 19:16:16 -05:00
Nathaniel Cesario
19d541a91d Fix some compiler warnings
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.
2023-11-28 19:16:16 -05:00
Moritz Heinemann
b820431a2c No external install include dir 2023-11-27 19:13:13 -05:00
dependabot[bot]
920a1424c9 Bump github/codeql-action from 2.22.7 to 2.22.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.7 to 2.22.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](66b90a5db1...407ffafae6)

---
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>
2023-11-27 12:54:40 -05:00
dependabot[bot]
bc566d393a Bump mymindstorm/setup-emsdk from 12 to 13
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 12 to 13.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](ab889da2ab...d233ac12b0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 12:04:17 -05:00
FrostyLeaves
153064f2c7 fix: Support SV_ViewID keywords for hlsl. 2023-11-22 17:04:38 -05:00
Juan Ramos
7c5fb5c1a8
cmake: Cleanup ENABLE_PCH
Min is 3.17 checks for 3.16 are no longer needed.
2023-11-22 16:50:04 -05:00
Juan Ramos
4c121b68c8
cmake: Remove find_host_package macro
Originally added in https://github.com/KhronosGroup/glslang/pull/2395

With the rational of causing issues when cross-compiling for iOS.

This is no longer the case.
2023-11-22 16:48:14 -05:00
Juan Ramos
1a370bede9
cmake: Remove OVERRIDE_MSVCCRT
CMake 3.15 removes the need for all of this custom code.
2023-11-22 16:44:30 -05:00
Juan Ramos
b008c0ee45 Fix unused parameter warning
paramNames was going unused in makeFunctionEntry
2023-11-22 16:42:21 -05:00
Juan Ramos
fd403737d2 Replace Darwin check with Apple check
Darwin excludes iOS
2023-11-21 19:11:24 -05:00
Juan Ramos
cd5ea90aee Fix Xcode 15 linker warning
XCode 15 includes a completely new linker implementation.
Hence some flags are deprecated.

The default is now error so we can simply remove the linker option.
2023-11-21 19:11:24 -05:00
Juan Ramos
b3c8e99b68
Cleanup MacOS CI
* ci: Test macos-12 and macos-13 instead of macos-11 and macos-12
  Developer survey shows little to no users still use MacOS 11 or earlier.
* Remove pointless comment about travis
* Fix minor indent issue
2023-11-21 19:04:52 -05:00
Juan Ramos
a7b18c08d0
Add iOS build to CI
Fix iOS build as well as minor Android cleanup since the
problems for both platforms are so similar
2023-11-21 18:59:26 -05:00
Juan Ramos
5fcac839ca cmake: Cleanup usage of option
By default option is OFF
2023-11-21 18:21:00 -05:00
dependabot[bot]
4efde4c4c1 Bump actions/github-script from 6.4.1 to 7.0.1
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](d7906e4ad0...60a0d83039)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 19:27:55 -05:00
dependabot[bot]
3392416ea4 Bump github/codeql-action from 2.22.5 to 2.22.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.5 to 2.22.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](74483a38d3...66b90a5db1)

---
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>
2023-11-20 18:53:11 -05:00
Arcady Goldmints-Orlov
f6cc939499 Remove custom implementations of isinf and isnan
Use the ones from the <cmath> header instead, now that that is available
on all the currently supported versions of MSVC.
2023-11-20 18:30:35 -05:00
Juan Ramos
6b72472f28 Fix Android CI
NDK 23.2.8568313 was removed from the latest runner

Hardcoding the NDK versions like before is asking for a CI
breakage.

Use ANDROID_NDK_HOME environment variable which is set by the
runner
2023-11-20 18:29:59 -05:00
Moritz Heinemann
eac012fff3 Fix spirv-tools dependency 2023-11-20 18:28:38 -05:00
“jimihe”
854db99ff1 Out-of-range floats should overflow/underflow to infinity/0.0
glslang representing literal constants with double precision, so 1.0e40 and 1.0e-50 are normal values.

        Shader1:
        precision highp float;
        out vec4 my_FragColor;
        void main()
        {
        // Out-of-range floats should overflow to infinity
        // GLSL ES 3.00.6 section 4.1.4 Floats:
        // "If the value of the floating point number is too large (small) to be stored as a single precision value, it is converted to positive (negative) infinity"
        float correct = isinf(1.0e40) ? 1.0 : 0.0;
        my_FragColor = vec4(0.0, correct, 0.0, 1.0);
        }
        The expected ouput result of this test is vec4(0.0, 1.0, 0.0, 1.0),
        but it's vec4(0.0,0.0,0.0,1.0).Because the return value of isInf is
        false.

        precision highp float;
        out vec4 my_FragColor;
        void main()
        {
        // GLSL ES 3.00.6 section 4.1.4 Floats:
        // "A value with a magnitude too small to be represented as a mantissa and exponent is converted to zero."
        // 1.0e-50 is small enough that it can't even be stored as subnormal.
        float correct = (1.0e-50 == 0.0) ? 1.0 : 0.0;
        my_FragColor = vec4(0.0, correct, 0.0, 1.0);
        }
        The expected ouput result of this test is vec4(0.0, 1.0, 0.0, 1.0),
        but it's vec4(0.0,0.0,0.0,1.0).

        For f32 and f16 type, when the literal constant out of range of the f32
        and f16 number, the value should overflow or underflow to inf or zero.

            glcts test item
        KHR-GLES3.number_parsing.float_out_of_range_as_infinity
2023-11-17 16:30:22 -05:00
Qingyuan Zheng
845e5d5a28 Fix the corrupted test because of rebase 2023-11-14 14:46:44 -07:00
Qingyuan Zheng
109b5979d3 Support NonSemantic DebugValue and generate it for const arg
For passing-by-value semantic, DebugDeclare cannot be used for parameters because there's no pointer.
2023-11-14 14:46:44 -07:00
Arcady Goldmints-Orlov
1dcb072cda cmake: only install public headers
Only the headers that are part of glslang's public interface are
installed. Previously, all of its headers were installed, which exposed
a lot of internal implementation details and made it difficult to
maintain backward compatiblity. This reduces the API surface somewhat
and will make it easier to maintain API and ABI compatibility.
2023-11-11 08:55:43 -07:00