Nathan Reed [Wed, 28 Jul 2021 15:29:17 +0000 (08:29 -0700)]
Fix OpImageRead result type when compiling HLSL (#2706)
Fix OpImageRead result type when compiling HLSL
- Per the Vulkan spec, OpImageRead must return a 4-component vector always. When compiling HLSL, loads from a RWTexture of a template type with < 4 components would incorrectly generate an OpImageRead with a < 4 component result, resulting in validation errors.
- This was previously fixed for OpImageFetch in commit 4425f24; this commit does the same thing for OpImageRead.
- Added associated tests and expanded existing image fetch tests to check all the different types of textures, in both float and int incarnations, for completeness.
- Update other HLSL tests involving OpImageRead
Greg Fischer [Wed, 28 Jul 2021 15:27:03 +0000 (09:27 -0600)]
Merge pull request #2705 from pkasting/master
Fix some instances of -Wunused-but-set-variable.
Greg Fischer [Tue, 27 Jul 2021 21:03:35 +0000 (15:03 -0600)]
Merge pull request #2704 from YunHsiao/master
Fix per-set argument parsing in standalone
Peter Kasting [Mon, 26 Jul 2021 14:34:37 +0000 (07:34 -0700)]
Fix some instances of -Wunused-but-set-variable.
Bug: chromium:1203071
Yun Hsiao Wu [Mon, 26 Jul 2021 08:21:12 +0000 (16:21 +0800)]
Fix per-set argument parsing in standalone
Greg Fischer [Fri, 16 Jul 2021 14:40:37 +0000 (08:40 -0600)]
Merge pull request #2695 from ShabbyX/fix-bool-array-in-uniform-load
Fix loading bool arrays from interface blocks
Shahbaz Youssefi [Fri, 16 Jul 2021 02:00:51 +0000 (22:00 -0400)]
Fix loading bool arrays from interface blocks
SPIR-V disallows bool in interface blocks, which is emulated with uint.
When loading a bool variable (through accessChainLoad()), it's converted
from uint to bool if it came from an interface block.
This was handled for bool and bvecN, but not for bool arrays. This
change implements the conversion for bool arrays.
Closes #2694
Greg Fischer [Thu, 8 Jul 2021 21:15:55 +0000 (15:15 -0600)]
Merge pull request #2688 from KhronosGroup/revert-2643-master
Revert "Atomic memory function can only be used for shader storage block member or shared variable."
Greg Fischer [Thu, 8 Jul 2021 19:10:58 +0000 (13:10 -0600)]
Revert "Atomic memory function can only be used for shader storage block member or shared variable."
Greg Fischer [Wed, 7 Jul 2021 21:08:55 +0000 (15:08 -0600)]
Merge pull request #2684 from ZhiqianXia/Dev
Add support for gl_MaxVaryingVectors for ogl.
Greg Fischer [Wed, 7 Jul 2021 20:27:10 +0000 (14:27 -0600)]
Merge pull request #2643 from ZhiqianXia/master
Atomic memory function can only be used for shader storage block member or shared variable.
ZhiqianXia [Wed, 7 Jul 2021 07:32:52 +0000 (15:32 +0800)]
Add support for gl_MaxVaryingVectors for ogl.
ZhiqianXia [Wed, 7 Jul 2021 06:12:33 +0000 (14:12 +0800)]
Merge branch 'KhronosGroup:master' into master
Greg Fischer [Wed, 23 Jun 2021 20:25:17 +0000 (14:25 -0600)]
Merge pull request #2671 from greg-lunarg/kg118
Update known goods and CHANGES for 11.5.0
Greg Fischer [Wed, 23 Jun 2021 19:47:39 +0000 (13:47 -0600)]
Update known goods and CHANGES for 11.5.0
Greg Fischer [Wed, 23 Jun 2021 16:46:28 +0000 (10:46 -0600)]
Merge pull request #2670 from dneto0/fix-android-mk
Android.mk: Add SpirvIntrinsics.cpp
David Neto [Wed, 23 Jun 2021 01:57:05 +0000 (21:57 -0400)]
Android.mk: Add SpirvIntrinsics.cpp
It was missing, and was breaking the build for Android.mk.
Greg Fischer [Thu, 17 Jun 2021 21:29:34 +0000 (15:29 -0600)]
Merge pull request #2669 from sudonatalie/remove-unused-var
Remove unused variable Num_string_literal_EXTs
Greg Fischer [Thu, 17 Jun 2021 20:49:02 +0000 (14:49 -0600)]
Merge pull request #2664 from mbechard/master
only declare compatibility gl_ variables in compatibility mode
Natalie Chouinard [Thu, 17 Jun 2021 18:10:10 +0000 (11:10 -0700)]
Remove unused variable Num_string_literal_EXTs
Remove an unused variable that causes build failures in downstream
repository.
Greg Fischer [Thu, 17 Jun 2021 17:27:47 +0000 (11:27 -0600)]
Merge pull request #2668 from cmarcelo/GLSL_EXT_shader_atomic_float2
Implement GLSL_EXT_shader_atomic_float2
Greg Fischer [Wed, 16 Jun 2021 20:52:35 +0000 (14:52 -0600)]
Merge pull request #2625 from amdrexu/feature
Implement the extension GL_EXT_spirv_intrinsics
Greg Fischer [Wed, 16 Jun 2021 17:54:07 +0000 (11:54 -0600)]
Merge pull request #2667 from greg-lunarg/i2666
Remove output variables from compute regression tests
Jason Ekstrand [Wed, 13 Jan 2021 20:36:17 +0000 (14:36 -0600)]
Implement GLSL_EXT_shader_atomic_float2
Greg Fischer [Tue, 15 Jun 2021 21:56:27 +0000 (15:56 -0600)]
Remove output variables from compute regression tests
Output variables in GLCompute shaders is not supported in Vulkan.
Recent upgrade of spirv-tools revealed this problem.
Greg Fischer [Tue, 15 Jun 2021 21:00:58 +0000 (15:00 -0600)]
Merge pull request #2666 from alan-baker/update-tools
Update SPIRV-Tools and SPIRV-Headers
Alan Baker [Tue, 15 Jun 2021 15:13:35 +0000 (11:13 -0400)]
Update test expectations
Alan Baker [Tue, 15 Jun 2021 15:11:58 +0000 (11:11 -0400)]
Update known good SPIRV-Tools and SPIRV-Headers
Greg Fischer [Mon, 14 Jun 2021 16:35:29 +0000 (10:35 -0600)]
Merge pull request #2665 from JustSid/master
Fix SPIR-V remapper not remapping OpExtInst instruction set IDs
Sidney Just [Sat, 12 Jun 2021 22:30:36 +0000 (15:30 -0700)]
Fixed SPIR-V remapper not remapping OpExtInst instruction set IDs
Malcolm Bechard [Fri, 11 Jun 2021 01:42:46 +0000 (21:42 -0400)]
only declare compatibility gl_ variables in compatibility mode
avoid declaring them in GLSL 1.50+ if core profile is chosen by the
version statement
fixes #2663
Greg Fischer [Wed, 9 Jun 2021 19:09:28 +0000 (13:09 -0600)]
Merge pull request #2662 from greg-lunarg/spec1
Add support for float spec const vector initialization
Greg Fischer [Wed, 9 Jun 2021 01:10:48 +0000 (19:10 -0600)]
Add support for float spec const vector initialization
Fixes #2025
Rex Xu [Sun, 25 Apr 2021 08:52:35 +0000 (16:52 +0800)]
Implement the extension GL_EXT_spirv_intrinsics
- Add support of SPIR-V execution mode qualifiers.
- Add support of SPIR-V storage class qualifier.
- Add support of SPIR-V decorate qualifiers.
- Add support of SPIR-V type specifier.
- Add support of SPIR-V intruction qualifiers.
- Add support of spirv_by_reference/spirv_literal parameter qualifier.
- Add shader stage macros introduced by this extension.
Greg Fischer [Tue, 8 Jun 2021 21:20:46 +0000 (15:20 -0600)]
Merge pull request #2661 from jaebaek/update_spirv_tools_and_unit_tests
Update spirv tools and unit tests
Jaebaek Seo [Tue, 8 Jun 2021 14:39:55 +0000 (10:39 -0400)]
Fix unit test failures
Jaebaek Seo [Tue, 8 Jun 2021 13:47:29 +0000 (09:47 -0400)]
Update known_good.json for SPIRV-Tools
Greg Fischer [Mon, 7 Jun 2021 20:14:22 +0000 (14:14 -0600)]
Merge pull request #2659 from alan-baker/subgroup-uniform-control-flow
Implement GL_EXT_subgroup_uniform_control_flow.
John Kessenich [Fri, 5 Jun 2020 10:15:43 +0000 (04:15 -0600)]
Implement GL_EXT_subgroup_uniform_control_flow.
Greg Fischer [Fri, 4 Jun 2021 18:08:29 +0000 (12:08 -0600)]
Merge pull request #2653 from syntheticmagus/selectionBlockSetters
Add setters for true and false blocks of selection nodes, copying the pattern already used for the condition.
Greg Fischer [Fri, 4 Jun 2021 17:00:27 +0000 (11:00 -0600)]
Merge pull request #2656 from ShabbyX/fix-oob
Fix OOB write in matrix constructor
Greg Fischer [Fri, 4 Jun 2021 16:45:48 +0000 (10:45 -0600)]
Merge pull request #2655 from ShabbyX/fix-ubsan
Fix UBSAN error with negating 0x8000'0000
Shahbaz Youssefi [Wed, 2 Jun 2021 02:02:49 +0000 (22:02 -0400)]
Fix UBSAN error with negating 0x8000'0000
Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>
Shahbaz Youssefi [Thu, 3 Jun 2021 17:42:57 +0000 (13:42 -0400)]
Fix OOB write in matrix constructor
In a matrix constructor that takes a number of components, as many
components as necessary must be taken, with the rest discarded, as GLSL
allows more components than necessary to be specified. For example, the
following:
mat4 m4 = mat4(v4, v4.yzwx, v4.zwx, v4.zwxy, v4.wxyz);
is equivalent to:
mat4 m4 = mat4(v4, v4.yzwx, v4.zwx, v4.zwxy, v4.w);
glslang takes the components from the constructor and builds the single
components of the matrix in a 2D array before constructing the matrix
itself. It however did not check for extra parameters and was thus
writing OOB to said 2D array. This is fixed in this change
Signed-off-by: Shahbaz Youssefi <shabbyx@gmail.com>
syntheticmagus [Sat, 29 May 2021 01:24:59 +0000 (18:24 -0700)]
Add setters for true and false blocks of selection nodes, copying the pattern already used for the condition.
Greg Fischer [Thu, 27 May 2021 20:11:46 +0000 (14:11 -0600)]
Merge pull request #2651 from greg-lunarg/rel0
Add missing libs to release
Greg Fischer [Wed, 26 May 2021 22:14:23 +0000 (16:14 -0600)]
Add missing libs to release
GenericCodeGen, MachineIndependent and glslang-default-resource-limits
Fixes #2648
Greg Fischer [Thu, 20 May 2021 19:45:51 +0000 (13:45 -0600)]
Merge pull request #2647 from greg-lunarg/arg2
Do true SPV type check for function array arg linkage
Greg Fischer [Thu, 20 May 2021 15:17:53 +0000 (09:17 -0600)]
Do true SPV type check for function array arg linkage
Previous check was missing type difference between uniform array
actual arg with stride decoration and the formal arg without. Now
does logical or component-wise copy where needed.
Fixes #2637
Greg Fischer [Tue, 18 May 2021 17:00:08 +0000 (11:00 -0600)]
Merge pull request #2646 from johnstiles-google/parseconst
Fix mat4x2(scalar) constructor.
John Stiles [Tue, 18 May 2021 16:13:41 +0000 (12:13 -0400)]
Fix mat4x2(scalar) constructor.
ZhiqianXia [Wed, 12 May 2021 12:07:52 +0000 (20:07 +0800)]
Atomic memory function can only be used for shader storage block member or shared variable.
The glsl spec says:A shader will fail to compile if the value passed to the mem argument of an atomic memory function does not
correspond to a buffer or shared variable.
Greg Fischer [Tue, 11 May 2021 19:50:53 +0000 (13:50 -0600)]
Merge pull request #2641 from tgfrerer/fix_hlsl_function_error_msg
fix error message for hlslGrammar::acceptConstructor
Greg Fischer [Tue, 11 May 2021 16:10:34 +0000 (10:10 -0600)]
Merge pull request #2634 from xantares/patch-1
Dont export inline TObjectReflection::getType()
tgfrerer [Tue, 11 May 2021 08:42:11 +0000 (09:42 +0100)]
fix error message for hlslGrammar::acceptConstructor
Fix the error message for when an erroneous HLSL constructor statement
is detected.
Prior to this change, such error messages would not show correct file
path and line number information.
Additionally, update test data to account for updated error messages.
xantares [Sat, 8 May 2021 08:37:37 +0000 (10:37 +0200)]
Dont export inline TObjectReflection::getType()
Fixes mingw build
Closes #2460
Greg Fischer [Fri, 7 May 2021 16:09:17 +0000 (10:09 -0600)]
Merge pull request #2632 from greg-lunarg/karl0
Fix arrays dimensioned with spec constant sized gl_WorkGroupSize
Greg Fischer [Fri, 7 May 2021 00:01:20 +0000 (18:01 -0600)]
Fix arrays dimensioned with spec constant sized gl_WorkGroupSize
Greg Fischer [Mon, 3 May 2021 20:29:52 +0000 (14:29 -0600)]
Merge pull request #2631 from godlikepanos/master
Add support for 64bit integer types and 64bit integer vector types to bitCount() builtin
Greg Fischer [Mon, 3 May 2021 20:10:53 +0000 (14:10 -0600)]
Merge pull request #2629 from okuoku/silence-cygwin-warning
Set CMake policy CMP0054 to NEW to silence warning
Panagiotis Christopoulos Charitos [Mon, 3 May 2021 12:26:11 +0000 (14:26 +0200)]
Add support for 64bit integer types and 64bit integer vector types to bitCount() builtin.
Fixes #2630
okuoku [Sat, 1 May 2021 18:47:00 +0000 (03:47 +0900)]
Set CMake policy CMP0054 to NEW to silence warning
CMAKE_SYSTEM_NAME variable might evaluate to existing variable such as
CYGWIN. This setting also matches with SPIRV-Tools.
Greg Fischer [Tue, 27 Apr 2021 17:36:07 +0000 (11:36 -0600)]
Merge pull request #2621 from Rob2309/auto-sampled-textures-tests
Added usage hint for --auto-sampled-textures and added test cases
Robin Quint [Tue, 27 Apr 2021 14:06:06 +0000 (16:06 +0200)]
Improved usage hint
Greg Fischer [Fri, 23 Apr 2021 08:16:52 +0000 (02:16 -0600)]
Merge pull request #2624 from greg-lunarg/v011004000
Update CHANGES for 11.4.0
Greg Fischer [Fri, 23 Apr 2021 00:09:42 +0000 (18:09 -0600)]
Update CHANGES for 11.4.0
Greg Fischer [Fri, 23 Apr 2021 00:03:36 +0000 (18:03 -0600)]
Merge pull request #2623 from greg-lunarg/except
Fix CMakeLists.txt to keep compatibility with CMake 3.10.2
Greg Fischer [Thu, 22 Apr 2021 22:30:17 +0000 (16:30 -0600)]
Fix CMakeLists.txt to keep compatibility with CMake 3.10.2
Robin Quint [Thu, 22 Apr 2021 11:13:38 +0000 (13:13 +0200)]
Added usage hint for --auto-sampled-textures, added test cases
Greg Fischer [Thu, 22 Apr 2021 04:58:39 +0000 (22:58 -0600)]
Merge pull request #2620 from greg-lunarg/v011003000
Update CHANGES for 11.3.0
Greg Fischer [Thu, 22 Apr 2021 04:57:06 +0000 (22:57 -0600)]
Merge pull request #2619 from greg-lunarg/kg117
Update spirv-tools and spirv-headers known good
Greg Fischer [Thu, 22 Apr 2021 00:42:12 +0000 (18:42 -0600)]
Update CHANGES for 11.3.0
Greg Fischer [Thu, 22 Apr 2021 00:33:46 +0000 (18:33 -0600)]
Update spirv-tools and spirv-headers known good
Greg Fischer [Thu, 22 Apr 2021 00:17:42 +0000 (18:17 -0600)]
Merge pull request #2616 from Rob2309/standalone-hlsl-sampled-textures
Exposed #856 as --hlsl-sampled-textures in the StandAlone
Greg Fischer [Wed, 21 Apr 2021 22:49:53 +0000 (16:49 -0600)]
Change --hlsl-sampled-textures to --auto-sampled-textures
Greg Fischer [Wed, 21 Apr 2021 17:47:00 +0000 (11:47 -0600)]
Merge pull request #2618 from DadSchoorse/depfile
Add a --depfile option in Standalone mode
Georg Lehmann [Tue, 20 Apr 2021 16:12:39 +0000 (18:12 +0200)]
Add some basic --depfile tests
Georg Lehmann [Mon, 19 Apr 2021 22:22:15 +0000 (00:22 +0200)]
Add a --depfile option.
The output is similar to gcc -MMD and can be used by build systems
like meson to automatically recompile shaders if an included header
was changed.
Robin Quint [Tue, 20 Apr 2021 05:58:36 +0000 (07:58 +0200)]
Exposed #856 as --hlsl-sampled-textures in the StandAlone
Greg Fischer [Mon, 19 Apr 2021 18:03:05 +0000 (12:03 -0600)]
Merge pull request #2609 from ZhiqianXia/Feature2
TextureOffset not support sampler2DArrayShadow sampler until 430.
Greg Fischer [Mon, 19 Apr 2021 17:03:39 +0000 (11:03 -0600)]
Merge pull request #2614 from ZaOniRinku/master
Typo in ShaderLang.h
Greg Fischer [Sat, 17 Apr 2021 00:52:51 +0000 (18:52 -0600)]
Fix and enable textureOffset_samper2darrayshadow test
ZaOniRinku [Mon, 19 Apr 2021 07:15:36 +0000 (09:15 +0200)]
Fix typo in ShaderLang.h
Greg Fischer [Fri, 16 Apr 2021 23:42:16 +0000 (17:42 -0600)]
Merge pull request #2612 from greg-lunarg/explicit0
Fix builtins for GL_EXT_shader_explicit_arithmetic_types for es
Greg Fischer [Fri, 16 Apr 2021 06:07:08 +0000 (00:07 -0600)]
Add missing builtins for GL_EXT_explicit_arithmetic_types for es
ZhiqianXia [Thu, 15 Apr 2021 13:38:35 +0000 (21:38 +0800)]
TextureOffset not support sampler2DArrayShadow sampler until 430.
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
Greg Fischer [Wed, 14 Apr 2021 22:24:38 +0000 (16:24 -0600)]
Merge pull request #2602 from jeremy-lunarg/hayes-2514
Issue error when declaration rule fails
Greg Fischer [Wed, 14 Apr 2021 21:16:04 +0000 (15:16 -0600)]
Merge pull request #2522 from dneto0/intlog2
Add IntLog2 and use it
David Neto [Wed, 3 Feb 2021 18:56:06 +0000 (13:56 -0500)]
Add IntLog2 and use it
Replace uses of floating point log2 when we want an integer result from
an integer operand. This avoids concerns about accuracy of floating
point library functions.
Greg Fischer [Tue, 13 Apr 2021 16:16:50 +0000 (10:16 -0600)]
Merge pull request #2606 from greg-lunarg/semifix0
Get rid of extra semicolon causing gcc 10.3 troubles.
Greg Fischer [Tue, 13 Apr 2021 00:12:58 +0000 (18:12 -0600)]
Get rid of extra semicolon causing gcc 10.3 troubles.
Greg Fischer [Mon, 12 Apr 2021 23:04:48 +0000 (17:04 -0600)]
Merge pull request #2601 from masterleming/always-install-resource-limits
Removed condition for glslang-default-resource-limits instalation.
Greg Fischer [Mon, 12 Apr 2021 21:14:42 +0000 (15:14 -0600)]
Merge pull request #2603 from jeremy-lunarg/hayes-fix-key-whitespace
Fix table key and whitespace
Jeremy Hayes [Fri, 9 Apr 2021 23:00:40 +0000 (17:00 -0600)]
Fix table key and whitespace
These got lost in the wash with my last revert but are still relevant.
Jeremy Hayes [Fri, 9 Apr 2021 22:37:20 +0000 (16:37 -0600)]
Issue error when declaration rule fails
Fix #2514.
Krzysztof Pilch [Fri, 9 Apr 2021 14:20:01 +0000 (16:20 +0200)]
Fixed CMake configuration for resource-limits library.
Greg Fischer [Thu, 8 Apr 2021 18:35:06 +0000 (12:35 -0600)]
Merge pull request #2600 from Drigax/add-tinterim-selection-condition-setter
Add setter for TInterimSelection.condition
Nicholas Barlow [Wed, 7 Apr 2021 23:08:17 +0000 (16:08 -0700)]
Add setter for TInterimSelection.condition
Krzysztof Pilch [Thu, 8 Apr 2021 14:33:29 +0000 (16:33 +0200)]
Removed condition for glslang-default-resource-limits instalation.
This way the limits are available to clients that links statically.
Greg Fischer [Thu, 8 Apr 2021 14:25:23 +0000 (08:25 -0600)]
Merge pull request #2599 from KhronosGroup/revert-2593-hayes-update-min-spv-requirement
Revert "Update minimum SPIR-V requirement for GL_EXT_buffer_reference"