Commit Graph

3284 Commits

Author SHA1 Message Date
Jeff Bolz
531344905f Handle SPIR-V type mismatch when constructing a composite 2019-06-25 13:32:35 -05: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
Daniel Koch
c3e60ad9b6 Add AST tests for ray tracing shaders
with subgroup touch tests (error and non-error cases)
Currently the subgroup built-ins are NOT giving the correct output.
This is fixed in the next commit.
2019-05-31 14:17:22 -04:00
Daniel Koch
3418cb4c98 Add AST tests for mesh and task shaders
with subgroup touch testing (error and non-error cases)

Add missing symbolTable.relateToOperator("subgroupMemoryBarrierShared") call for
Mesh/Task shaders so they don't assert in ParseHelper.cpp
2019-05-31 14:17:13 -04:00
Daniel Koch
51760c88ca Add more subgroup testing
Touch test all subgroup builtins in vert, tesc, tese, geom, frag, compute shaders
before and after enabling extensions to make sure the correct errors are generated
and then not generated (after enablement).
2019-05-31 14:16:52 -04:00
John Kessenich
6d88284607
Merge pull request #1781 from jeffbolznv/issue_1766
Allow runtime-sized arrays of acceleration structures
2019-05-31 03:28:07 -06:00
Jeff Bolz
8adc2f565e Allow runtime-sized arrays of acceleration structures 2019-05-30 12:45:15 -05:00
John Kessenich
625eb25d6e
Merge pull request #1776 from dgkoch/dgkoch_20190525_fixes
Misc fixes from dgkoch
2019-05-29 16:00:31 -06:00
Daniel Koch
40b1a9e14e Fix include guard for GL_EXT_multiview 2019-05-28 15:23:19 -04:00
Daniel Koch
9bb17cd0eb Return consistent names from CapabilityString
Don't prefix with "Capability" since the majority of them don't.
Also add missing CapabilityImageFootprintNV
2019-05-28 15:23:10 -04:00
John Kessenich
66e46037d7
Merge pull request #1772 from mattparks/patch-2
Fixed .dll install on MSVC.
2019-05-23 23:35:46 -06:00
Matthew Albrecht
cda52d5333 Fixed .dll install on MSVC. 2019-05-23 19:06:44 -05:00
Tom Anderson
e10c87a306 Remove non-source sources from binary targets
No behavior changes.  Please see [1] for why this is necessary.

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=964411
2019-05-17 10:54:03 -07:00