3665 Commits

Author SHA1 Message Date
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
Canon lee
fc017379e3 code format refine 2019-06-07 00:16:31 +08:00
Roy
a137d2ba86 Add interface symbol and uniform symbol location auto mapping for OpenGL shader. 2019-06-06 17:54:04 +08:00
Roy.li
faebe10194
Merge pull request #3 from KhronosGroup/master
Merge code form KhronosGroup/glslang
2019-06-06 17:16:29 +08: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
Roy
adec2ec18c
Merge pull request #1 from KhronosGroup/master
Sync code from KhronosGroup/glslang/master
2019-05-29 14:11:50 +08: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
John Kessenich
27ec919585
Merge pull request #1768 from ShabbyX/enable-opt
Build.gn: allow optimization in glslang lib and standalone
2019-05-17 11:05:01 +07:00
Shahbaz Youssefi
741fc4ab77 Build.gn: allow optimization in glslang lib and standalone 2019-05-16 23:53:15 -04:00
John Kessenich
5bd047ba22
Merge pull request #1767 from dneto0/update-spirv-headers
Update SPIRV-Tools, SPIRV-Headers
2019-05-16 15:26:51 +07:00
David Neto
8b920c793a Update SPIRV-Tools, SPIRV-Headers
Headers update fixes validation of spv.shaderBallotAMD.
2019-05-16 02:59:54 -04:00
John Kessenich
6e384fef6c Build: Fix 3 warnings. 2019-05-10 06:47:00 -06:00
John Kessenich
b03da6edd8
Merge pull request #1761 from KhronosGroup/SPIR-V_1.4
SPV 1.4: Add code generation for SPIR-V 1.4 features
2019-05-10 14:19:07 +07:00
John Kessenich
08e01e79c5 Bump version and revision. 2019-05-10 00:34:10 -06:00
John Kessenich
b64952eddd SPV 1.4: Move to 1.4 validation, removing all 1.4 validation failures. 2019-05-10 00:02:45 -06:00
John Kessenich
f43c739ac5 SPV 1.4: Emit SignExtend and ZeroExtend for integer image reads/writes. 2019-05-10 00:02:45 -06:00
John Kessenich
61a5ce190a SPV 1.4: Lookup tables: Use variable initializer and NonWritable...
...when doing a variable lookup on an array of constants.
2019-05-10 00:02:45 -06:00
John Kessenich
fbb6bdf046 SPV 1.4: Add support for OpCopyLogical, careful of Boolean differences. 2019-05-10 00:02:45 -06:00
John Kessenich
1f4d04687b SPV 1.4: Implement the 5 new loop controls. 2019-05-10 00:02:45 -06:00
John Kessenich
0c1e71a123 SPV 1.4: Use OpSelect for trivial typed non-scalar/vector expressions. 2019-05-10 00:02:45 -06:00
John Kessenich
cfea59d357 SPV 1.4: Add testing infrastructure for SPV 1.4 tests.
This includes the test for the first feature of OpEntryPoint.
2019-05-10 00:02:45 -06:00
John Kessenich
7c7731ecbb SPV 1.4: Generate all globals on OpEntryPoint interface list. 2019-05-10 00:02:45 -06:00
John Kessenich
2dd4ab3a4a SPV: Move to the SPIR-V 1.4 header. 2019-05-09 23:59:37 -06:00
John Kessenich
04aa79d0ed
Merge pull request #1765 from KhronosGroup/update-knowngood-tools-SPIR-V_1.4
Latest known-good SPIRV-Tools: WARNING: Needs python 3.x.
2019-05-10 10:39:15 +07:00
John Kessenich
6fef1ca6f9 Latest known-good SPIRV-Tools: WARNING: Needs python 3.x.
You may need to install python 3.x and also
[windows users] may need to get it in your path in front of python 2.7.x.

If you don't need the external projects (i.e., SPIRV-Tools) and don't want
to upgrade to python 3, don't create the External subdirectory and CMake
won't require python 3.  (CMake has a bug that makes it find the wrong one
on a first pass if the top level does not require the version needed by
lower levels.)
2019-05-09 10:11:54 -06:00
John Kessenich
c11e3156af Bump revision. 2019-05-09 02:11:28 -06:00