Greg Fischer [Mon, 28 Mar 2022 18:04:17 +0000 (12:04 -0600)]
Merge pull request #2917 from greg-lunarg/i2907
Improved comment for glslang_optimization_level_t
Greg Fischer [Mon, 28 Mar 2022 17:34:40 +0000 (11:34 -0600)]
Improved comment for glslang_optimization_level_t
Greg Fischer [Fri, 25 Mar 2022 21:56:18 +0000 (15:56 -0600)]
Merge pull request #2913 from greg-lunarg/i2905
Generate Int8, Int16 and Float16 capabilities for constants
Greg Fischer [Fri, 25 Mar 2022 20:36:01 +0000 (14:36 -0600)]
Generate Int8, Int16 and Float16 capabilities for constants
Fixes #2905
Greg Fischer [Thu, 24 Mar 2022 23:51:54 +0000 (17:51 -0600)]
Merge pull request #2851 from chaoticbob/version-override
Added GLSL version override functionality and CLI
Greg Fischer [Thu, 24 Mar 2022 22:41:52 +0000 (16:41 -0600)]
Update glsl.versionOverride.vert
Change shader original version to 110
Greg Fischer [Thu, 24 Mar 2022 22:41:15 +0000 (16:41 -0600)]
Update glsl.versionOverride.tese
Change shader original version to 110
Greg Fischer [Thu, 24 Mar 2022 22:40:18 +0000 (16:40 -0600)]
Update glsl.versionOverride.tesc
Change original shader to version 110
Greg Fischer [Thu, 24 Mar 2022 22:39:34 +0000 (16:39 -0600)]
Update glsl.versionOverride.geom
Change original shader to version 110
Greg Fischer [Thu, 24 Mar 2022 22:37:42 +0000 (16:37 -0600)]
Update glsl.versionOverride.frag
Change original shader to version 110
Greg Fischer [Thu, 24 Mar 2022 22:36:48 +0000 (16:36 -0600)]
Update glsl.versionOverride.comp
Change original shader to version 110
Greg Fischer [Thu, 24 Mar 2022 19:43:40 +0000 (13:43 -0600)]
Merge pull request #2912 from greg-lunarg/edic1
Add eliminate-dead-input-components to -Os
Greg Fischer [Thu, 24 Mar 2022 19:25:38 +0000 (13:25 -0600)]
Merge pull request #2908 from Biswa96/cmake-spirv-remap
cmake: Install SPVRemapper runtime library
Greg Fischer [Thu, 24 Mar 2022 18:13:59 +0000 (12:13 -0600)]
Add eliminate-dead-input-components to -Os
Greg Fischer [Thu, 24 Mar 2022 18:12:40 +0000 (12:12 -0600)]
Merge pull request #2911 from greg-lunarg/kg122
Update spirv-tools and spirv-headers known good
Greg Fischer [Thu, 24 Mar 2022 16:23:19 +0000 (10:23 -0600)]
Update spirv-tools and spirv-headers known good
To pick up support for spirv-opt --eliminate-dead-input-components
Greg Fischer [Wed, 23 Mar 2022 17:43:43 +0000 (11:43 -0600)]
Merge pull request #2906 from apanteleev/escape-deps
Make depfiles compatible with Windows paths
sfricke-samsung [Wed, 23 Mar 2022 17:42:21 +0000 (12:42 -0500)]
Prevent Push Constant blocks being an array (#2904)
* Prevent Push Constant blocks being an array
* Add push constant array error test
Co-authored-by: Greg Fischer <greg@lunarg.com>
Greg Fischer [Mon, 21 Mar 2022 18:03:34 +0000 (12:03 -0600)]
Merge pull request #2902 from ZhiqianXia/gl_FragCoord
The first redeclarations of gl_FragCoord must appear before any use.
Biswapriyo Nath [Tue, 15 Mar 2022 13:56:57 +0000 (19:26 +0530)]
cmake: Install SPVRemapper runtime library
This installs SPVRemapper.dll file which was missing previously.
Alexey Panteleev [Sat, 12 Mar 2022 01:56:15 +0000 (17:56 -0800)]
Escape the characters that Make considers special in the dependency files.
ZhiqianXia [Wed, 2 Mar 2022 11:54:33 +0000 (19:54 +0800)]
The first redeclarations of gl_FragCoord must appear before any
use of gl_FragCoord.
Greg Fischer [Tue, 1 Mar 2022 21:50:55 +0000 (14:50 -0700)]
Merge pull request #2897 from ZhiqianXia/origin_upper_left
Fix the issue for GL_ARB_fragment_coord_conventions extension.
ZhiqianXia [Tue, 1 Mar 2022 07:06:04 +0000 (15:06 +0800)]
1. refine the check for "origin_upper_left" and "pixel_center_integer"
2. gl_FragCoord can be used at ogl140 with extension "GL_ARB_fragment_coord_conventions".
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
Greg Fischer [Fri, 25 Feb 2022 00:57:22 +0000 (17:57 -0700)]
Merge pull request #2895 from greg-lunarg/i2894
Don't do updatePrecision on float16_t operations
Greg Fischer [Thu, 24 Feb 2022 20:50:41 +0000 (13:50 -0700)]
Don't do updatePrecision on float16_t operations
float16_t does not take GLSL precisions and SPIR-V does not
support RelaxedPrecision on float16_t.
Fixes #2894
Greg Fischer [Wed, 23 Feb 2022 23:34:36 +0000 (16:34 -0700)]
Merge pull request #2892 from greg-lunarg/mb
Improve error message for image/sampler functions under enhanced-msgs
Greg Fischer [Fri, 18 Feb 2022 22:08:28 +0000 (15:08 -0700)]
Improve error message for image/sampler functions for enhanced-msgs
For recent GLSL versions, if texture2D function call appears, the error
message reports an unsupported type constructor. Change message to
unsupported function. Likewise for other removed texture* function calls.
Greg Fischer [Wed, 16 Feb 2022 23:15:20 +0000 (16:15 -0700)]
Merge pull request #2891 from dneto0/hlsl-namespace
Fix Test/hlsl.namespace.frag test case
David Neto [Wed, 16 Feb 2022 22:10:29 +0000 (17:10 -0500)]
Fix Test/hlsl.namespace.frag test case
Before this change, the example is rejected by DXC:
$ dxc -T ps_6_0 hlsl.namespace.frag
hlsl.namespace.frag:22:73: error: call to non-static member function
without an object argument
return N1::getVec() + N2::getVec() + N2::N3::getVec() + N2::N3::C1::getVec() * N2::gf;
~~~~~~~~~~~~^~~~~~
The call to the class member function requires an object, or we ned to
make the function static. This update makes the function static.
This also fixes SPIR-V validation: without this change the call
to that getVec does not have enough arguments:
error: line 69: OpFunctionCall Function <id>'s parameter count does not
match the argument count.
%43 = OpFunctionCall %v4float %N2__N3__C1__getVec_
Greg Fischer [Thu, 10 Feb 2022 21:16:44 +0000 (14:16 -0700)]
Merge pull request #2888 from mrpippy/python3
Explicitly use Python 3 for scripts
Greg Fischer [Thu, 10 Feb 2022 18:57:37 +0000 (11:57 -0700)]
Merge pull request #2887 from mbechard/master
avoid leaving decorations on auto-push-constants
Brendan Shanks [Thu, 10 Feb 2022 17:24:03 +0000 (09:24 -0800)]
Explicitly use Python 3 for scripts
Malcolm Bechard [Wed, 9 Feb 2022 23:44:22 +0000 (18:44 -0500)]
avoid leaving decorations on auto-push-constants
uniform blocks that are upgraded to push_constants shouldn't have
set/binding etc. decorations applied to them
Greg Fischer [Mon, 7 Feb 2022 20:09:13 +0000 (13:09 -0700)]
Merge pull request #2886 from greg-lunarg/i2875
Fix sameElementShape test of sampler
Greg Fischer [Mon, 7 Feb 2022 19:15:31 +0000 (12:15 -0700)]
Fix sameElementShape test of sampler
There is apparently a hole in the initialization of sampler in TType
so that a simple comparison which should pass might fail. Until the
hole is found, also test that both types are samplers before comparing
the sampler field for equality.
Fixes #2875
Greg Fischer [Thu, 3 Feb 2022 16:26:44 +0000 (09:26 -0700)]
Merge pull request #2885 from greg-lunarg/kg121
Update spirv-tools known good
Greg Fischer [Thu, 3 Feb 2022 01:37:43 +0000 (18:37 -0700)]
Update spirv-tools known good
Picking up some spirv-tools bug fixes
Greg Fischer [Tue, 1 Feb 2022 22:47:19 +0000 (15:47 -0700)]
Merge pull request #2883 from greg-lunarg/link2
Enhance readability of error messages for GLSL
Greg Fischer [Tue, 1 Feb 2022 22:46:25 +0000 (15:46 -0700)]
Merge pull request #2874 from mbechard/master
fix cases where symbols in the tree didn't get updated during block merging
Greg Fischer [Thu, 30 Dec 2021 18:56:57 +0000 (11:56 -0700)]
Enhance readability of error messages for GLSL
Specifically, make GLSL link error messages more specific and output
only information relevant to the error.
Also change type printing to more closely reflect GLSL syntax. This
is the default for link error messages, but must me enabled with the
new option --enhanced-msgs for compilation error messages.
Also with --enhanced-msgs, only emit one error message per source
line.
Malcolm Bechard [Wed, 26 Jan 2022 02:31:31 +0000 (21:31 -0500)]
fix cases where symbols in the tree didn't get updated during block merging
For GL_EXT_vulkan_glsl_relaxed. When merging the default uniform block,
there were cases where symbols in the tree wern't updated to match the
new block structure after merging blocks together.
This change traverses the symbol tree and updates any references to the
merged block.
Greg Fischer [Thu, 27 Jan 2022 20:21:18 +0000 (13:21 -0700)]
Merge pull request #2879 from greg-lunarg/vulkan-1.3-B
Release 11.8.0
Greg Fischer [Thu, 27 Jan 2022 19:23:47 +0000 (12:23 -0700)]
Release 11.8.0
Greg Fischer [Thu, 27 Jan 2022 19:13:43 +0000 (12:13 -0700)]
Merge pull request #2878 from greg-lunarg/vulkan-1.3-A
Fix size_t to int warning
Greg Fischer [Thu, 27 Jan 2022 18:39:19 +0000 (11:39 -0700)]
Fix size_t to int warning
Greg Fischer [Thu, 27 Jan 2022 17:09:36 +0000 (10:09 -0700)]
Merge pull request #2876 from greg-lunarg/vulkan-1.3
Add Vulkan 1.3 support
Greg Fischer [Wed, 26 Jan 2022 21:45:58 +0000 (14:45 -0700)]
Add Vulkan 1.3 support
Also update known goods to Vulkan 1.3 support
Also re-enable SPIR-V 1.6 tests with vulkan1.3 target
Also re-cache SPIRV 1.6 header which somehow regressed back to 1.5
Greg Fischer [Wed, 26 Jan 2022 00:44:03 +0000 (17:44 -0700)]
Merge pull request #2873 from greg-lunarg/i2872
Fix comment for setEnvInput()
Greg Fischer [Tue, 25 Jan 2022 20:40:07 +0000 (13:40 -0700)]
Fix comment for setEnvInput()
Specifically, add text to clarify dialect and dialectVersion
Fixes #2872
Greg Fischer [Thu, 13 Jan 2022 21:36:29 +0000 (14:36 -0700)]
Merge pull request #2852 from gnoliyil/fuchsia
build: Make action targets hermetic
Greg Fischer [Thu, 13 Jan 2022 21:35:16 +0000 (14:35 -0700)]
Merge pull request #2868 from ben-clayton/patch-1
Update LICENSE.txt
Ben Clayton [Thu, 13 Jan 2022 12:14:34 +0000 (12:14 +0000)]
Update LICENSE.txt
Expand the GPL 3 with special bison exception to the fully expanded license.
Required for Google's updated license checker.
Greg Fischer [Tue, 11 Jan 2022 21:36:01 +0000 (14:36 -0700)]
Merge pull request #2866 from greg-lunarg/i2858
Temporarily disable spirv1.6 tests
Greg Fischer [Tue, 11 Jan 2022 20:13:50 +0000 (13:13 -0700)]
Temporarily disable spirv1.6 tests
These tests will be re-enabled when a Vulkan version is released that
supports spirv1.6.
Fixes #2858
Greg Fischer [Tue, 11 Jan 2022 18:42:11 +0000 (11:42 -0700)]
Merge pull request #2862 from n-morales/2861-macos-gcc-build-failures
#2861 macos gcc build failures
Nicolas Morales [Tue, 11 Jan 2022 10:40:54 +0000 (11:40 +0100)]
#2861: If compiling with macOS and GCC, default ENABLE_PCH to false since CMake will generate incompatible Xarch flags for the precompiled headers
Nicolas Morales [Tue, 11 Jan 2022 10:40:50 +0000 (11:40 +0100)]
#2861: Check for macOS systems before adding "--no-undefined" to linker flags as it is not compatible with the default linker.
Greg Fischer [Mon, 10 Jan 2022 20:04:15 +0000 (13:04 -0700)]
Merge pull request #2853 from ZhiqianXia/EndStreamPrimitive
EndStreamPrimitive not supported when there is #extension GL_ARB_gpu_shader5
Greg Fischer [Mon, 10 Jan 2022 19:27:51 +0000 (12:27 -0700)]
Merge pull request #2864 from scribam/cmake-install-prefix
Override CMAKE_INSTALL_PREFIX only if ENABLE_GLSLANG_INSTALL is ON
Greg Fischer [Mon, 10 Jan 2022 18:49:19 +0000 (11:49 -0700)]
Merge branch 'master' into EndStreamPrimitive
Greg Fischer [Mon, 10 Jan 2022 18:15:41 +0000 (11:15 -0700)]
Merge pull request #2865 from alan-baker/update-license
Add missing license to LICENSE.txt
Alan Baker [Mon, 10 Jan 2022 15:38:49 +0000 (10:38 -0500)]
Add missing license to LICENSE.txt
* This license is used by:
* SPIRV/GLSL.ext.AMD.h
* SPIRV/GLSL.ext.EXT.h
* SPIRV/GLSL.ext.KHR.h
* SPIRV/GLSL.ext.NV.h
Hai Nguyen [Mon, 10 Jan 2022 14:56:54 +0000 (09:56 -0500)]
Added missing test result
Hai Nguyen [Mon, 10 Jan 2022 14:43:44 +0000 (09:43 -0500)]
Added initial tests for --glsl-version
- Added compilation tests for shader stages using a different
version at each stage.
scribam [Sun, 9 Jan 2022 21:28:45 +0000 (22:28 +0100)]
Override CMAKE_INSTALL_PREFIX only if ENABLE_GLSLANG_INSTALL is ON
Greg Fischer [Fri, 7 Jan 2022 21:38:42 +0000 (14:38 -0700)]
Merge pull request #2859 from ZhiqianXia/floatBitsToInt
Support the floatBitsToint function at GL_ARB_gpu_shader5 Extension.
ZhiqianXia [Fri, 7 Jan 2022 05:50:30 +0000 (13:50 +0800)]
Support the floatBitsToint function at GL_ARB_gpu_shader5 Extension.
Greg Fischer [Wed, 5 Jan 2022 18:34:32 +0000 (11:34 -0700)]
Merge pull request #2847 from jeremy-lunarg/hayes-fix-issue-2846
Unblock unsized error from assert
Greg Fischer [Wed, 5 Jan 2022 18:30:08 +0000 (11:30 -0700)]
Merge pull request #2857 from jeremy-lunarg/hayes-fix-warnings
Fix GCC sign-compare warnings
Jeremy Hayes [Thu, 23 Dec 2021 21:53:44 +0000 (14:53 -0700)]
Unblock unsized error from assert
Fix issue #2846.
Jeremy Hayes [Wed, 5 Jan 2022 02:55:41 +0000 (19:55 -0700)]
Fix GCC sign-compare warnings
ZhiqianXia [Tue, 4 Jan 2022 02:40:04 +0000 (10:40 +0800)]
EndStreamPrimitive not supported when there is #extension GL_ARB_gpu_shader5
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
Greg Fischer [Tue, 4 Jan 2022 00:57:38 +0000 (17:57 -0700)]
Merge pull request #2800 from mhillenbrand/string_literal_endianness
Fix encoding/decoding of string literals for big-endian systems
Greg Fischer [Mon, 3 Jan 2022 23:39:45 +0000 (16:39 -0700)]
Merge pull request #2849 from jeremy-lunarg/hayes-fix-issue-2848
Fix seg fault
Hai Nguyen [Sun, 2 Jan 2022 00:02:14 +0000 (19:02 -0500)]
Revisions to GLSL version override
- Reverted public function interface changes for C++.
- Added override member variable to TShader.
- Added accessor TShader::setOverrideVersion.
- Reverted changes to tests.
Yilong Li [Sat, 1 Jan 2022 23:08:35 +0000 (15:08 -0800)]
build: Make action targets hermetic
Fuchsia GN build requires all "action" targets to be
hermetic, and they should correctly and fully state
their inputs and ouptuts in "sources" and "outputs"
fields (see https://fuchsia.dev/fuchsia-src/development/build/hermetic_actions
for details).
This change adds "sources" field to "glslang_extension_headers"
build target so that it states all its input files in its
GN target build rule.
TEST=fx set workstation.x64 --args=build_should_trace_actions=true
fx build
Bug: 90846
Change-Id: I63bd5d03cee86d93b0bb7cf2cee95c5ae0d98f93
Hai Nguyen [Sat, 1 Jan 2022 09:44:06 +0000 (04:44 -0500)]
Updated gtests preprocess()and parse() calls with arg for new parameter
Hai Nguyen [Sat, 1 Jan 2022 09:18:41 +0000 (04:18 -0500)]
Added GLSL version override interface and CLI
This change list allows a user to override the GLSL version from the
command line or through the C and C++ interfaces. This will override the
override happens in ProcessDeferred() before DeduceVersionProfile() so
the process should still error out if the version is insufficient for
the shader code.
- Added --glsl-version <version> to CLI.
- Added parameter to route glslVersion as override version to
preprocessor and parse functions to C++ interface.
- Updated C interface with function to override GLSL version.
Jeremy Hayes [Tue, 28 Dec 2021 22:17:39 +0000 (15:17 -0700)]
Fix seg fault
Check types before accessing typeName.
Fix #2848.
Greg Fischer [Thu, 16 Dec 2021 22:32:54 +0000 (15:32 -0700)]
Merge pull request #2845 from greg-lunarg/sup1.6
Add support for spirv1.6
Greg Fischer [Thu, 2 Sep 2021 23:37:39 +0000 (17:37 -0600)]
Add support for spirv1.6
Add command line support which enables the following behavior:
- Remap discard
Map discard to DemoteToHelperInvocation for HLSL shaders. Map to
OpTerminateInvocation for GLSL shaders.
- Decorate HelperInvocation with Volatile
- Use localSizeId for execution mode
WorkGroupSize is deprecated in spirv1.6
Also update known goods to SPIRV 1.6
Greg Fischer [Thu, 16 Dec 2021 21:48:18 +0000 (14:48 -0700)]
Merge pull request #2844 from greg-lunarg/hdr1.6
Pickup header for SPIR-V 1.6
Greg Fischer [Thu, 16 Dec 2021 18:37:39 +0000 (11:37 -0700)]
Pickup header for SPIR-V 1.6
Greg Fischer [Thu, 9 Dec 2021 18:45:32 +0000 (11:45 -0700)]
Merge pull request #2840 from alelenv/no_location2
Do not output location decoration for certain variables in ray tracing storage classes.
Greg Fischer [Tue, 7 Dec 2021 23:12:05 +0000 (16:12 -0700)]
Merge pull request #2836 from chaoticbob/vulkan_rules_relaxed
Vulkan rules relaxed for glslang C interface
Greg Fischer [Tue, 7 Dec 2021 23:10:28 +0000 (16:10 -0700)]
Merge pull request #2841 from greg-lunarg/i2244a
Fix --hlsl-dx-position-w to work for SV_Position embedded in struct
Greg Fischer [Tue, 7 Dec 2021 21:33:09 +0000 (14:33 -0700)]
Fix --hlsl-dx-position-w to work for SV_Position embedded in struct
Fixes #2244
Ashwin Lele [Mon, 6 Dec 2021 21:09:03 +0000 (13:09 -0800)]
Do not output location decoration for certain variables in ray tracing storage
classes.
Greg Fischer [Thu, 2 Dec 2021 16:48:16 +0000 (09:48 -0700)]
Merge pull request #2838 from jeremy-lunarg/hayes-remove-badge
Remove unnecessary badge
Jeremy Hayes [Wed, 1 Dec 2021 18:40:11 +0000 (11:40 -0700)]
Remove unnecessary badge
I had copy/pasted this badge without really thinking about it's
usefulness. It is unnecessary.
Hai Nguyen [Wed, 1 Dec 2021 17:32:02 +0000 (12:32 -0500)]
Fixed copy/paste error
Hai Nguyen [Wed, 1 Dec 2021 08:55:59 +0000 (03:55 -0500)]
Changed Vulkan rules relaxed to use shader options
- Removed vulkan_rules_relaxed from glslang_input_s
- Added GLSLANG_SHADER_VULKAN_RULES_RELAXED to glslang_shader_options_t
- Modified glslang_shader_set_options to handle new enum value
- Corrected enum value for GLSLANG_SHADER_AUTO_MAP_LOCATIONS
Greg Fischer [Tue, 30 Nov 2021 21:10:58 +0000 (14:10 -0700)]
Merge pull request #2830 from jeremy-lunarg/hayes-migrate-travis-to-github-actions
Migrate travis to github actions
Hai Nguyen [Tue, 30 Nov 2021 09:55:25 +0000 (04:55 -0500)]
Vulkan rules relaxed for glslang C interface
- Added vulkan_rules_relaxed flag to glslang_input_t to turn on Vulkan
rules relaxed during shader creation.
Hai Nguyen [Mon, 29 Nov 2021 21:23:01 +0000 (16:23 -0500)]
Support for automap options and resource binding shift (#2834)
* Support for automap options
- Added glslang_shader_options_t with enums for auto map bindings and
auto map locations.
- Added options param to glslang_shader_parse.
- Modified glslang_shader_parse to call appropriate auto map function if
auto map bits are set.
* Refactored auto map for C interface
- Added glslang_shader_set_options to independently set options instead
of being a param on an existing function.
- Added glslang_program_map_io to call mapIO so auto map location
actually works.
* Added support for shifting resource bindings
- Added resource binding shift functions to match C++ interface
* Uncommented preprocessor call that was commented out for debugging
Greg Fischer [Mon, 29 Nov 2021 21:20:51 +0000 (14:20 -0700)]
Merge pull request #2832 from amdrexu/bugfix
Fix validation failures of test cases regarding GL_EXT_spirv_intrinsics
Rex Xu [Wed, 24 Nov 2021 09:37:52 +0000 (17:37 +0800)]
Fix validation failures of test cases regarding GL_EXT_spirv_intrinsics
1. The test cases of OpReadClockKHR is invalid. The return type is
unsigned integer rather than signed integer.
2. When SPIR-V decorate or SPIR-V type is specified, we should avoid
auto location mapping because the semantics are totally decided by
SPIR-V tokens.
Greg Fischer [Wed, 24 Nov 2021 21:16:45 +0000 (14:16 -0700)]
Merge pull request #2720 from ZhiqianXia/GL_ARB_fragment_coord_conventions
Support the #extension GL_ARB_fragment_coord_conventions.
Greg Fischer [Wed, 24 Nov 2021 18:52:08 +0000 (11:52 -0700)]
Merge branch 'master' into GL_ARB_fragment_coord_conventions