Neslisah Torosdagli
65c81bf236
compute and fragment shader test_cases added for rayQuery
2020-03-23 21:56:31 -04:00
Neslisah Torosdagli
2fb45def04
rayQuery test cases added
2020-03-23 21:34:09 -04:00
Neslisah Torosdagli
4893bae5e9
test names updated
2020-03-23 19:20:24 -04:00
Neslisah Torosdagli
39a7fc3700
rayQuery test cases disabled
2020-03-23 11:36:06 -04:00
Neslisah Torosdagli
50a722818b
GL_EXT_ray_query glslang updates, and test cases added.
2020-03-20 18:23:27 -04:00
Daniel Koch
db32b243ff
Add support for GLSL_EXT_ray_tracing
...
and SPV_KHR_ray_tracing
2020-03-17 20:42:47 -04:00
Jeff Bolz
40007b862d
Forbid memoryBarrierAtomicCounter for Vulkan compiles
2020-03-16 23:53:04 -05:00
Malcolm Bechard
4b2483ee88
Fix #2005 . Allow multiple compilation units to declare identical push_constant blocks ( #2123 )
...
* Fixes #2005
Allow multiple units in a stage to have push_constants as long
as the blocks match.
Requires #2006 to be fixed to be functional.
* tweaks to #2005 fix after some testing
* add unit tests for push constants across multiple compilation units
For #2005
* update reference output for tests that fail validation
* fix uninitialized result.validationResult
2020-03-16 08:51:15 -06:00
Jeff Bolz
ad3f10bbd0
EXT_debug_printf - make escape sequences better match C/C++
2020-03-10 10:23:07 -05:00
Jeff Bolz
b57af2f5ad
Decorate accesschain operand for nonuniform UBO loads
...
This is conservative and still also decorates the loaded value.
2020-03-09 14:09:41 -05:00
Jeff Bolz
39ffdaf2ab
Allow nonuniformEXT() on sampler types.
...
Also add missing NonUniformEXT decoration on OpImageTexelPointer.
2020-03-09 10:48:12 -05:00
Jeff Bolz
04d73731de
GL_EXT_debug_printf implementation
2020-03-05 13:41:34 -06:00
John Kessenich
abfc4c2ceb
Fix part of #2070 : Correctly handle promotion for <unary-op>(int).
...
This still only handles a scalar correctly, and some
vector cases need additional fixes.
2020-02-18 06:53:39 -07:00
John Kessenich
86258aab80
Merge pull request #1972 from andflo-Arm/master
...
Fix construction issue for 8 and 16 bit types.
2019-11-22 21:38:36 -07:00
John Kessenich
e01c847a70
Merge branch 'dj2-install'
2019-11-22 06:24:38 -07:00
Dan Sinclair
04567eb232
Check for ENABLE_SPVREMAPPER flag in CMakeList files.
...
There is a flag to disable the SPVRemapper during the GLSLang build.
That flag is check in some, but not all spots so if you try to build
with SPVRemapper disabled you get CMake errors and compile errors.
This CL fixs up the build so building with -DENABLE_SPVREMAPPER=0 will
complete correclty.
2019-11-21 10:33:32 -05:00
Arfrever Frehtes Taifersar Arahesis
bd69a4fb12
Respect CMAKE_INSTALL_LIBDIR in installed CMake files
...
Fixes #1965
2019-11-18 11:11:55 -08:00
Andreas Flöjt
cb563e68d2
Add a test for 8- and 16-bit construction.
2019-11-14 14:41:52 +01:00
David Neto
8c3d5b4b6c
SPIR-V: Aggressively prune unreachable merge, continue target
...
More aggressively prune unreachable code as follows.
When no control flow edges reach a merge block or continue target:
- delete their contents so that:
- a merge block becomes OpLabel, then OpUnreachable
- a continue target becomes OpLabel, then an OpBranch back to the
loop header
- any basic block which is dominated by such a merge block or continue
target is removed as well.
- decorations targeting the removed instructions are removed.
Enables the SPIR-V builder post-processing step the GLSLANG_WEB case.
2019-10-29 15:33:54 -04:00
Jeff Bolz
016ddee83a
Only apply volatile semantics to atomics when using Vulkan Memory Model
2019-10-17 11:22:57 -05:00
John Kessenich
b03e4fc4e0
Merge pull request #1866 from rumblehhh/master
...
Export glslang targets on installation
2019-10-15 04:25:20 -06:00
John Kessenich
2d9b0a3550
HLSL: Fix #1912 : add attribute syntax for overriding image formats.
2019-09-28 11:39:15 -06:00
John Kessenich
90e402f42b
SPV_KHR_physical_storage_buffer/SPV: Add GL_EXT_buffer_reference_uvec2
...
Adds uvec2 <-> reference constructor support.
Switches from EXT to KHR for physical_storage_buffer.
2019-09-18 23:52:36 -06:00
Jeff Bolz
c5b669e04c
Add GL_EXT_shader_subgroup_extended_types support
2019-09-17 23:44:27 -05:00
Jeff Bolz
387657e4cf
GL_NV_integer_cooperative_matrix support
2019-08-22 20:37:59 -05:00
John Kessenich
9a5689f632
GLSL: Inherit memory qualifiers, both declaratively and in execution.
...
Fixes #1870 , probably others.
2019-08-22 08:54:22 -06:00
John Kessenich
b9197c812e
Web: Make switched methods all be non-virtual, more web-dependent code,
...
added a few more HLSL flag tests. This was mostly focused on the SPV generator.
Saves about 17K.
2019-08-20 23:21:56 -06:00
John Kessenich
b6d3ee5aca
Web: Turn off bracket-style attributes, reflection, and IO mapping.
2019-08-20 23:21:55 -06:00
John Kessenich
7015bd658e
Web: Remove/rationalize a set of *_EXTENSIONS, using GLSLANG_WEB.
...
Focus was on the front end (not SPIR-V), minus the grammar.
Reduces #ifdef count by around 320 and makes the web build 270K smaller,
which is about 90% the target size.
The grammar and scanner will be another step, as will the SPIR-V backend.
This makes heavy use of methods #ifdef'd to return false as a global way
of turning off code, relying on C++ DCE to do the rest.
2019-08-20 23:21:55 -06:00
James Rumble
c6f7294ced
Handle install vs build include directories
...
Fix target_include_directories to appropriately handle build-tree and the install-tree.
2019-08-06 15:29:31 +01:00
James Rumble
ab6d1499e1
Export glslang targets on installation
...
This allows the targets to be used in other cmake projects. See the following for more details:
https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#creating-packages
https://foonathan.net/blog/2016/07/07/cmake-dependency-handling.html
2019-08-06 14:47:51 +01:00
John Kessenich
7fc8683491
Merge pull request #1813 from jeffbolznv/compositeconstruct
...
Handle SPIR-V type mismatch when constructing a composite
2019-07-28 23:20:26 -06:00
Sahil Parmar
f2dcc87c6a
Allow unsized view array dimension for non-block perviewNV attributes
2019-07-15 16:14:00 -07:00
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
Jeff Bolz
ba6170b534
Implement GL_EXT_demote_to_helper_invocation
2019-07-01 09:36:15 -05:00
Jeff Bolz
531344905f
Handle SPIR-V type mismatch when constructing a composite
2019-06-25 13:32:35 -05:00
Jeff Bolz
8912336663
Add test for constant type conversion
2019-06-21 23:32:25 -05: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
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
Jeff Bolz
c6f0ce8dbc
Support GL_ARB_fragment_shader_interlock
2019-06-03 11:55:25 -05: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
Jeff Bolz
8adc2f565e
Allow runtime-sized arrays of acceleration structures
2019-05-30 12:45:15 -05: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