-
51813b65
by Jeremy Hayes at 2023-01-20T09:34:34-07:00
Update readme with upcoming branch rename
-
8504d5ae
by Amir Masoud Abdol at 2023-01-20T10:27:13-07:00
Replace the deprecated $<CONFIGURATION> with $<CONFIG>
-
0d3211ff
by Arcady Goldmints-Orlov at 2023-01-20T17:45:18-07:00
Reject non-float inputs/outputs with version < 120
GLSL 1.20 and prior stated that "the attribute qualifier can be used
only with float, floating-point vectors, and matrices" and likewise
for varying.
Fixes: #3111
-
4e9cde50
by Maciej at 2023-01-23T12:49:48-07:00
Move check if useStorageBuffer needs to be set.
>From TParseContext used only by GLSL, to TParseContextBase inherited by both GLSL and HLSL paths.
It caused compilations from HLSL to SPIR-V 1.3+ to use BufferBlock decoration which is no longer valid.
-
58d302cf
by Jeremy Hayes at 2023-01-30T15:31:05-07:00
Rename master to main and update news
Update CI and README to reflect rename.
Update News:
* Notify users of rename.
* Update minimum required VS compiler to 2019.
* Remove notice about versioning. This has been completed.
* Remove notice about SPIRV folder relocation. It has been 2.5 years
since this occured.
-
5137ce1a
by rdb at 2023-02-02T11:14:33-07:00
HLSL: Add missing relaxed-precision float/int matrix expansions
-
7341a21b
by Hans Wennborg at 2023-02-02T11:20:54-07:00
GLSL: Fix integer overflow warnings in Constant.cpp
New versions of Clang warn:
```
glslang/MachineIndependent/Constant.cpp(216,114):
error: overflow in _expression_; result is -9223372036854775808 with type 'long long' [-Werror,-Winteger-overflow]
else if (rightUnionArray[i].getI64Const() == -1 && leftUnionArray[i].getI64Const() == (long long)-0x8000000000000000ll)
^
glslang/MachineIndependent/Constant.cpp(217,61):
error: overflow in _expression_; result is -9223372036854775808 with type 'long long' [-Werror,-Winteger-overflow]
newConstArray[i].setI64Const((long long)-0x8000000000000000ll);
^
2 errors generated.
```
Using LLONG_MIN instead avoids the problem. I think it's also more
clear, and the code for EOpMod further down already does this.
-
95ad533e
by Maciej at 2023-02-02T16:33:32-07:00
Block-decorate Vulkan Structs with RuntimeArrays
Fixes KhronosGroup/glslang#2439
When decorating a struct for Vulkan, add [Buffer]Block decoration if the
struct has a RuntimeArray member, as required by VUID-...-04680.
-
d604f268
by Maciej at 2023-02-02T16:33:32-07:00
Add test
-
8329d4a4
by David Neto at 2023-02-02T16:34:01-07:00
kokoro: avoid git permissions issue that GN fails on
In the docker build script that Kokoro runs, the directories
are owned by a different user. Git complains about that and in the GN
flow GN will error out.
In this docker flow we don't care about that warning, so within
the docker config set a git global option to ignore the issue.
-
d62ef8a2
by David Neto at 2023-02-02T16:34:01-07:00
Use the ninja already in the docker build.
-
4386679b
by Jan Engelhardt at 2023-02-03T15:19:35-07:00
build: set SOVERSION on all libraries
Commit fbe9a23baf2cb020fe3f80d68d972e2a97d9b954 erroneously
only added SOVERSION to libglslang.so, but none of the others
that are produced.
Signed-off-by: Jan Engelhardt <jengelh@inai.de>
-
ae55d83a
by Randall C. O'Reilly at 2023-02-08T13:28:52-07:00
change HLSL/hlslParseables.cpp to support InterlockedAdd on F=float types
-
6d41bb9c
by Randall C. O'Reilly at 2023-02-08T13:28:52-07:00
updated test to test atomic float add and test results
-
f5fa5931
by Moritz Heinemann at 2023-02-15T20:06:26+01:00
move ResourceLimits from StandAlone to glslang dir (Fix #3064)
-
c64c9826
by Johan Mattsson at 2023-02-20T17:33:15-05:00
Fix potential NULL dereference
-
9cdfc5a5
by Johan Mattsson at 2023-02-20T18:31:34-05:00
Fix potential NULL dereference
-
2ca0ee3b
by Greg Fischer at 2023-03-02T11:43:06-07:00
Merge pull request #3137 from moritz-h/resource-limits
Move ResourceLimits from StandAlone to glslang dir
-
aae2a7ae
by Greg Fischer at 2023-03-03T15:17:03-07:00
Fix installation of resource limits headers
Fixes #3150
-
20481269
by Greg Fischer at 2023-03-03T16:08:30-07:00
Merge pull request #3153 from greg-lunarg/i3150
Fix installation of resource limits headers
-
cd2082e0
by Joyce at 2023-03-08T11:27:09-05:00
Set token permissions to workflows (#3156)
Signed-off-by: Joyce <joycebrum@google.com>
-
0094e479
by Jeremy Hayes at 2023-03-16T10:05:58-06:00
Fix outdated cmake conditional
Remove cmake condition. The minimum is 3.14. The condition is no longer
required.
C++17 is now required. Update the landing page.
-
43978b7c
by Juan Ramos at 2023-03-16T10:41:39-06:00
cmake: Remove outdated comment
-
ef77cf3a
by Juan Ramos at 2023-03-16T10:41:39-06:00
cmake: No need to set CMP0048/CMP0054
Now that the minimum is 3.14.0 setting these policies is redundant
-
b34f619e
by Nathan Gauër at 2023-03-17T12:53:47-06:00
kokoro: always chown files after build
-
59abdcf9
by Jeremy Hayes at 2023-03-21T15:38:26-06:00
Update known_good.json
-
14e5a04e
by Jeremy Hayes at 2023-03-21T16:20:54-06:00
Update CHANGES for release 12.1.0
-
c43008e8
by Arcady Goldmints-Orlov at 2023-03-23T17:45:57-04:00
Fix double expansion of macro arguments.
This adds a new fullyExpanded flag that makes sure that macro arguments
only get expanded once. This can happen either in PrescanMacroArg, or, if
there is token pasting or a function-like macro name has been passed as
an argument and may need to be expanded when used as a function.
-
1db9cd28
by Moritz Heinemann at 2023-03-24T16:31:40-04:00
Fix CMake for OSDependent install
-
45405e1d
by Faith Ekstrand at 2023-03-25T12:26:55-04:00
Add a .mailmap file
This will make my name and e-mail address remap properly in command-line
Git tools.
-
2aca6d41
by Arcady Goldmints-Orlov at 2023-03-31T19:53:42-06:00
Refactor Builder::createTextureCall() to use std::vector
Use a temporary std::vector to accumulate arguments, rather than a
stack-allocated array with a fixed size. This is safer and more
future-proof.
-
fbabd37a
by Arcady Goldmints-Orlov at 2023-03-31T19:53:42-06:00
Remove a redundant condition in an if statement
This was added erroneously in commit 12bc9aa9c.
-
f8a2442a
by Qingyuan Zheng at 2023-04-01T21:04:46-06:00
Improve line info for symbol access and assignment
-
cdb350b3
by Arcady Goldmints-Orlov at 2023-04-03T12:33:59-04:00
Fix generation of conditionals with a struct result in SPIR-V
It is possible for the SPIR-V code generator to receive a conditional
where the two branches have the same shader language level type but
different SPIR-V types because of things like offset decorations. This
change modifies visitSelection() to handle this case by using either
multiTypeStore() or, if that is available, OpCopyLogical.
Fixes #3164
-
adcc7e81
by Arcady Goldmints-Orlov at 2023-04-03T12:33:59-04:00
Add tests for conditionals that return a struct value
There are 3 separate tests added to cover the 3 cases in
visitSelection(). With SPIR-V versions prior to 1.4, control flow is
generated, with GLSL generating code to execute only the appropriate
branch of the conditional while HLSL executes both branches and uses the
control flow to select the appropriate one. Finally, with SPIR-V
versions newer than 1.4, OpSelect can be used on structs.
Note that the hlsl.structcopy.comp and hlsl.structcopylogical.comp tests
have identical shader code, but are compiled with different versions of
SPIR-V and result in different codepaths being used and different SPIR-V
generated.
-
8ff8b451
by Rex Xu at 2023-04-03T18:02:49-04:00
Parameters of spirv_decorate_id should accept variables
spirv_decorate_id will generate OpDecorateId. The parameter list should
accept variables as part of decorations. This is because OpDecorateId
allows this. The spec says:
All such <id> Extra Operands must be constant instructions or
OpVariable instructions.
-
77f7cdfb
by Rex Xu at 2023-04-03T18:02:49-04:00
Fix an issue when we merge multiple spirv_decorate_xxx directives
There is a typo.
-
1aefd184
by Jeremy Hayes at 2023-04-04T10:56:17-04:00
Fix DebugCompilationUnit scope
Fix 3167.
-
893145ea
by Moritz Heinemann at 2023-04-06T13:38:39-04:00
Add option to glslangValidator to inject preamble
-
bdba39ba
by Moritz Heinemann at 2023-04-06T13:38:39-04:00
Add more preamble tests
-
9fe52233
by spencer-lunarg at 2023-04-10T16:21:15-04:00
Improve error message of alignment offset
-
a270fdae
by Jeremy Hayes at 2023-04-11T13:38:56-06:00
Fix appveyor build worker image
-
f766ee96
by Arcady Goldmints-Orlov at 2023-04-12T18:24:35-04:00
Improve help text for the new -P option
-
4142fead
by Try at 2023-04-13T09:49:00-04:00
fix crash in HLSL frontend
fix crash, when converting HLSL return of hull shader into spirv/glsl like arrayed output.
fix #2914
-
68f073b1
by Arcady Goldmints-Orlov at 2023-04-13T09:49:00-04:00
Add a test for empty structs in HLSL hull shaders
-
f46f4b19
by sean at 2023-04-19T14:51:55-06:00
Fix: Migrate Windows CI to GitHub Actions
-
dfdd0ed2
by Jeremy Hayes at 2023-04-20T11:03:54-06:00
Delete appveyor configuration
Windows CI is now covered by GitHub actions.
-
b8955549
by David Neto at 2023-04-20T18:25:55-04:00
fix error message for vertex struct input
Vertex shaders can have pipeline inputs that are arrays, but not structure
inputs. (GLSL 4.5 section 4.3.4)
But the error message for struct inputs says "cannot be a structure or array".
This PR removes the "or array" part.
Note: The array case is handled immediately after the check for
structure type.
Co-authored-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
-
9c7fd1a3
by Brad Smith at 2023-04-21T20:51:32-04:00
Fix building on OpenBSD when building shared libs
OpenBSD does not link shared libs against libc so it is expected
that the use of --no-undefined when linking will fail.
Also garbage collect CMAKE_VERSION check while here, as requested, since
the minimum version is already 3.14.
-
dfc97740
by Chuang Zhu at 2023-05-02T15:46:45-06:00
Use CMAKE_INSTALL_FULL_LIBDIR in compat cmake files
According to
https://cmake.org/cmake/help/v3.25/module/GNUInstallDirs.html,
CMAKE_INSTALL_LIBDIR can be an absolute path. For instance, Nixpkgs
[defined it to an absolute path in /nix/store](https://github.com/NixOS/nixpkgs/blob/3d17b4c305cefef284109fa9d426b00f3e5072c6/pkgs/development/tools/build-managers/cmake/setup-hook.sh#L101).
The output in this case is:
# result-glslang/lib/cmake/glslangTargets.cmake:5
include("${CMAKE_CURRENT_LIST_DIR}/../..//nix/store/3mif2zibig0cilk5dbz334278n0vlq9s-glslang-1.3.231.0/lib/glslang/glslang-targets.cmake")
Signed-off-by: Chuang Zhu <git@chuang.cz>
-
bc6b2bc1
by Sruthik P at 2023-05-03T09:09:01-06:00
glslang: Do not link with pthread on QNX
On QNX, pthread APIs are provided as part of libc and a separate pthread
library does not exist.
This change updates the makefile of glslang to not link with pthread on
QNX, thereby enabling glslang to be built for QNX platforms.
-
955f21aa
by juan-lunarg at 2023-05-05T09:11:06-06:00
cmake: Remove explicitly setting CMAKE_EXPORT_COMPILE_COMMANDS
Modern IDEs / C++ environments will just set this for you.
EX: vscode will set this for you.
-
d6e9d3bb
by juan-lunarg at 2023-05-05T09:11:06-06:00
cmake: Remove USE_CCACHE
This is no longer needed with modern CMake.
I've already removed this from several Khronos repos.
See this stackoverflow for modern approaches to setting ccache via cmake:
https://stackoverflow.com/a/74120112/19739129
-
9d8c7b75
by Eric Werness at 2023-05-05T09:12:37-06:00
GL_EXT_ray_tracing_position_fetch
-
9743480f
by juan-lunarg at 2023-05-05T10:17:32-06:00
cmake: Don't set CMAKE_INSTALL_PREFIX
While trying to set a default for CMAKE_INSTALL_PREFIX sounds
appealing it has multiple issues.
It's particularly problematic for open source projects where
many users try to accomplish many different things.
It's also conflicting with the new way of installing with cmake
IE: `cmake --install build --prefix build/install`
I've already removed similar logic in various other Khronos
repositories a while ago to address similar complaints.
closes #1015
-
a3310b7c
by juan-lunarg at 2023-05-05T22:02:16-06:00
ci: Test GCC on MacOS CI
closes #3062
-
0bbec2e8
by janharaldfredriksen-arm at 2023-05-08T19:49:25-06:00
Add GLSL_EXT_shader_tile_image
-
010019f9
by Jeremy Hayes at 2023-05-09T08:31:04-06:00
Fix windows-msvc-2015-bazel CI job
The build file is updated to use MSVC 2019 as well as bazel 5.0.0.
-
1397890e
by Steven Perron at 2023-05-09T09:29:29-06:00
Add windows-msvc-2019-release-bazel CI config
The `windows-msvc-2015-release-bazel` build config name is misleading.
It now runs VS2019. We should rename it. This is the first part: create
the new config files.
-
84d11c47
by Alexey Ozeritskiy at 2023-05-09T10:38:08-06:00
Use custom callbacks if they are available in 'i->callbacks'
-
49aad136
by Steven Perron at 2023-05-09T11:33:42-06:00
Remove the windows-msvc-2015-release-bazel config
The VS2015 bazel test has been stopped, so we can not remove the config
file. We have the windows-msvc-2019-release-bazel to replace it. It is
already running, and it is passing.
-
a02dde76
by Ryan Harrison at 2023-05-09T12:39:09-06:00
Correct ctor order to make '-Wreorder-ctor' pass
These lines in the ctor being out of order are causing -Wreorder-ctor
to fire when trying to integrate glslang ToT into Chromium/Dawn/etc,
https://logs.chromium.org/logs/dawn/buildbucket/cr-buildbucket/8781562047251466593/+/u/compile_with_ninja/stdout.
-
14e57abf
by Arcady Goldmints-Orlov at 2023-05-09T14:37:10-06:00
Enable constructor reorder warnings
They no longer happen "all over" as the comment suggests, and downstream
builds have them enabled already.
-
076c3586
by Johannes Kauffmann at 2023-05-10T09:55:02-06:00
SPIRV: hex_float: remove workaround for VS2013
-
e00517ac
by Johannes Kauffmann at 2023-05-10T09:55:02-06:00
SPIRV: remove pre-C++11 workaround
-
f202aa66
by Johannes Kauffmann at 2023-05-10T09:55:02-06:00
PP: remove workaround for VS2015
-
d9c3c753
by Johannes Kauffmann at 2023-05-10T09:55:02-06:00
Common.h: don't use to_string workaround on MSVC
Pre-VS2012 is no longer supported.
It might still be needed on Android, I haven't tested this.
-
1e4955ad
by Arcady Goldmints-Orlov at 2023-05-15T14:06:02-06:00
Include <cstdint> header in Common.h
This change also cleans up some ifdef'd code for no longer supported
versions of MSVC.
Fixes: #3139
-
f697b55c
by Jeremy Hayes at 2023-05-16T17:03:00-06:00
Update known_good.json
-
d1517d64
by Jeremy Hayes at 2023-05-17T14:47:56-06:00
Update CHANGES for release 12.2.0