3295 Commits

Author SHA1 Message Date
John Kessenich
96524f9168 SPV: Fix #1783: Don't do bounds checking for spec-const-expression size
It's okay for symbolic spec-consts, but without constant folding,
not okay when the array size is an expression.
2019-07-03 09:37:25 -06:00
John Kessenich
4b4b41a634 HLSL: Fix #1815: Don't constant fold spec-constant array indexing. 2019-07-03 01:28:51 -06:00
John Kessenich
22683b409e
Merge pull request #1819 from jeffbolznv/demote
update spirv-headers to pick up demote_to_helper_invocation
2019-07-02 11:04:44 -06:00
Jeff Bolz
6a50a7850d update spirv-headers to pick up demote_to_helper_invocation 2019-07-02 10:58:15 -05:00
John Kessenich
e5c394bcba Standalone: Fix #1814: Check that linkage was specified for reflection. 2019-07-02 09:47:42 -06:00
John Kessenich
974a586688
Merge pull request #1817 from jeffbolznv/demote
Implement GL_EXT_demote_to_helper_invocation
2019-07-02 02:20:18 -06:00
John Kessenich
73f0108138 Build: Tweak PR #1808 to avoid an implicit conversion warning. 2019-07-02 01:51:50 -06:00
Jeff Bolz
ba6170b534 Implement GL_EXT_demote_to_helper_invocation 2019-07-01 09:36:15 -05:00
John Kessenich
4162de4bbf
Merge pull request #1811 from ShabbyX/fix
Remove extraneous semicolons
2019-06-26 00:53:18 -06:00
John Kessenich
1e063615d0
Merge pull request #1812 from ShabbyX/master
Remove __DATE__ and __TIME__ usage
2019-06-26 00:52:12 -06:00
Shahbaz Youssefi
f4edb8f820 Remove __DATE__ and __TIME__ usage
These macros result in a non-deterministic build.  In chromium, these
macros are specifically set to empty, resulting in a compile error.
2019-06-25 13:20:42 -04:00
Shahbaz Youssefi
6cca0e983e Remove extraneous semicolons
They cause a warning (-Wextra-semi) that can lead to a compile error
(-Werror).
2019-06-25 13:20:16 -04:00
John Kessenich
4e6b9ea329
Merge pull request #1808 from jeffbolznv/promote_types
Handle all basic scalar types in promoteConstantUnion
2019-06-23 09:10:16 -06:00
Jeff Bolz
4b5c498923 Add a bunch of missing cases to promoteConstantUnion. Use macros to expand all the cases more simply. 2019-06-22 22:28:25 -05:00
John Kessenich
46cf14638a
Merge pull request #1807 from digit-google/fuchsia-fixes
BUILD.gn: Fix file for use with Fuchsia platform build.
2019-06-22 20:45:18 -06:00
Jeff Bolz
8912336663 Add test for constant type conversion 2019-06-21 23:32:25 -05:00
David 'Digit' Turner
1f5799c155 BUILD.gn: Fix file for use with Fuchsia platform build.
In order to upgrade the version of glslang used by the
Fuchsia platform source tree, BUILD.gn needs to be
slightly modified to care about the case where it is
not used with the Chromium //build configuration:

- Remove a new compiler warning to ensure proper
  compilation with -Werror (which is the default).

- Add a build target for spirv-remap, which is used
  by Fuchsia at build time to optimize the precompiled
  shaders of some of its graphics libraries.
2019-06-21 16:00:30 +02:00
John Kessenich
f9d08a25fb
Merge pull request #1804 from KhronosGroup/fix-930-subgroup--mask-ops
AST/SPV: Fix #930: translate uvec4 <-> uint64 for SubgroupGeMask et. al.
2019-06-18 02:00:46 -06:00
John Kessenich
8e96e247fa Bump revision. 2019-06-18 00:37:51 -06:00
John Kessenich
9c14f77f5d AST/SPV: Fix #930: translate uvec4 <-> uint64 for SubgroupGeMask et. al.
On reading built-in variables SubgroupEqMask, SubgroupGeMask, SubgroupGtMask,
SubgroupLeMask, and SubgroupLtMask, the AST expects 64-bit ints, while SPIR-V
is defined as vectors of 32-bit ints.

The declaration type has to be translated in the opposite direction.
2019-06-18 00:36:17 -06:00
John Kessenich
11805e41d9 Bump revision. 2019-06-18 00:33:46 -06:00
John Kessenich
a9b00ac5d5
Merge pull request #1806 from KhronosGroup/nan-clamp
SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
2019-06-18 00:26:25 -06:00
John Kessenich
5d73a3c95c
Merge pull request #1698 from jeffbolznv/private_storage_variables
Add Float16/Int8/Int16 capabilities for private variables and function parameters
2019-06-17 23:42:13 -06:00
John Kessenich
605afc7b1b SPV: Add a switch for favoring non-NaN operands in min, max, and clamp. 2019-06-17 23:33:09 -06:00
John Kessenich
d579c0a7d4 Bump revision. 2019-06-17 22:33:11 -06:00
John Kessenich
9db72785be
Merge pull request #1803 from Igalia/siglesias/fix-gl_SubGroupSizeARB-tese-geom
Fix gl_SubGroupSizeARB builtin treatment
2019-06-17 09:16:02 -06:00
Samuel Iglesias Gonsálvez
2cfde2bdbe Delete duplicated gl_SubGroupSizeARB builtin treatment
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2019-06-17 16:05:52 +02:00
John Kessenich
def9662348
Merge pull request #1796 from Igalia/siglesias/fix-gl_SubGroupSizeARB-tese-geom
Add missing GL_ARB_shader_ballot builtins to Geometry and Tessellatio…
2019-06-16 23:02:02 -06:00
John Kessenich
69596baef3
Merge pull request #1799 from jeffbolznv/volatile_semantics
Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics, and make volatile-qualified atomics generate MemorySemanticsVolatile when using the Vulkan memory model
2019-06-16 22:31:16 -06:00
Samuel Iglesias Gonsálvez
dbe6b06dde Add missing GL_ARB_shader_ballot builtins to Geometry and Tessellation shaders
When processing Geometry and Tessellation Control/Evaluation shaders,
the builtins defined by GL_ARB_shader_ballot were not processed by
glslang. This specially a problem for gl_SubGroupSizeARB because, it is
treated as shader input instead of uniform on Vulkan.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2019-06-15 12:55:50 +02:00
Jeff Bolz
38a52fca93 Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics, and make volatile-qualified atomics generate MemorySemanticsVolatile when using the Vulkan memory model 2019-06-14 09:57:01 -05:00
John Kessenich
96ee92f09b
Merge pull request #1797 from alan-baker/update-tools
Update tools
2019-06-13 09:48:47 -06:00
Alan Baker
e86cc18e8c Update test expectations for new SPIRV-Tools 2019-06-13 08:54:31 -04:00
Alan Baker
4d8df4f636 Update known good SPIRV-Tools 2019-06-13 08:54:01 -04:00
John Kessenich
9866ad9195
Merge pull request #1787 from dgkoch/add_sm_builtins
Support GL_NV_shader_sm_builtins
2019-06-09 20:50:07 -06:00
Daniel Koch
2cb2f197a7 Add support for GL_NV_shader_sm_builtins
Including spirv and AST tests

Also increase size of TBuiltInVariable bitfields since we've now exceeded 127
and add a static_assert to make this easier to find next time it happens!
2019-06-08 08:53:11 -04:00
John Kessenich
92b5c9ee91 GLSL: Revert f6873f7 to fix #1764. 2019-06-08 04:30:46 -06:00
John Kessenich
60e774b22f
Merge pull request #1794 from jeffbolznv/pre_legalization
Use spvValidatorOptionsSetBeforeHlslLegalization for pre-legalized HLSL
2019-06-08 04:04:15 -06:00
John Kessenich
f575f4c8e4
Merge pull request #1793 from greg-lunarg/kg104
Uppdate spirv-tools known-good
2019-06-08 02:06:33 -06:00
Jeff Bolz
fd556e32b3 Use spvValidatorOptionsSetBeforeHlslLegalization for pre-legalized HLSL 2019-06-07 14:42:08 -05:00
Greg Fischer
21eebe7421 Uppdate spirv-tools known-good 2019-06-06 13:18:08 -06:00
John Kessenich
d3692c701b
Merge pull request #1791 from dj2/unused
Remove unused parameter
2019-06-05 10:37:11 -06:00
Dan Sinclair
3555043c04 Remove unused parameter 2019-06-05 11:48:20 -04:00
John Kessenich
2f4a8dfd3a
Merge pull request #1788 from jeffbolznv/ifdef_fix
Add missing NV_EXTENSIONS ifdef
2019-06-04 09:04:19 -06:00
Jeff Bolz
71e5b1323d Add missing NV_EXTENSIONS ifdef 2019-06-04 09:47:41 -05:00
John Kessenich
9fe95274f8
Merge pull request #1786 from jeffbolznv/fsi
Support GL_ARB_fragment_shader_interlock
2019-06-04 03:36:51 -06:00
Jeff Bolz
c6f0ce8dbc Support GL_ARB_fragment_shader_interlock 2019-06-03 11:55:25 -05:00
John Kessenich
a549bb8175
Merge pull request #1769 from tanderson-google/RemoveInvalidGnSource
Remove glslang.y from gn sources
2019-06-01 22:36:55 -06:00
John Kessenich
27a3e4c3c4
Merge pull request #1782 from dgkoch/fix_1735
Fix subgroup support for ray tracing
2019-06-01 20:29:59 -06:00
Daniel Koch
593a4e0aa5 Fix subgroup support for ray tracing
Closes #1735

GlslangToSpv.cpp
- minor formatting cleanup

BaseTypes.h
- minor formatting cleanup
- add subgroup builtins to GetBuiltInVariableString
  (was resulting in "unknown built-in variable" messages in test output)

Initialize.cpp
- better naming and re-use of strings for subgroup builtin variable declarations
- define subgroup builtin variables in ray-tracing shaders

intermOut.cpp
- add handling of the EOpSubgroupParition* variables
  (was resulting in "ERROR: Bad aggregation op" messages in test output)

Update test results.
2019-05-31 14:17:36 -04:00