Tobias Hector
395bce6c85
Added missing copyright amendment
2020-09-08 11:10:27 +01:00
Tobias Hector
ed7a097d19
Error when initializing rayQuery with assignment
2020-09-03 15:16:25 +01:00
johnkslang
23f3bdfea1
Build/Test: Dropping 2013 allows using the latest googletests.
...
These have a new spelling: INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P
2020-08-05 11:07:07 -06:00
Vikram Kushwaha
79b93923d2
Add changes for SPV_EXT_shader_atomic_float_add
2020-07-22 05:52:22 -07:00
John Kessenich
f80ef74c80
Fix recently found non-determinism with gl_WorldToObject3x4EXT.
2020-07-14 01:44:35 -06:00
John Kessenich
fe24a54808
Non-determinism: Remove test file that seems to trigger non-determinism.
...
This problem needs to be fixed, but in parallel, we need to see master
and any other changes to it passing all tests.
The removed test is ray-tracing centric, and may indicate non-determinism
in recent code added for that functionality.
2020-07-14 00:32:25 -06:00
John Kessenich
4e13c90944
Fix #2329 : don't use invalid initializers.
2020-07-13 00:35:58 -06:00
John Kessenich
12c155f303
SPV: RelaxedPrecision: use the result precision for texture sampling.
...
Fix #2298 .
The AST has two precisions, an operation precision and a result precision.
Actual use of GLSL with mediump samplers wants the result precision, so
pick that up instead of the operation precision.
2020-06-30 07:52:05 -06:00
John Kessenich
4df10335e6
SPV: Partially address #2293 : correct "const in" precision matching.
...
Track whether formal parameters declare reduced precision and match
that with arguments, and if they differ, make a copy to promote the
precision.
2020-06-26 08:37:06 -06:00
John Kessenich
c30d335377
Fix #2264 : OpEntryPoint incorrectly including function parameters.
2020-06-10 07:17:11 -06:00
Alejandro Piñeiro
ff6dcca575
spirv: Support initializers on uniforms ( #1588 )
...
If a uniform has an initializer it will now be given as the optional
initializer operand to the OpVariable instruction.
Fixes: https://github.com/KhronosGroup/glslang/issues/1259
Signed-off-by: Neil Roberts <nroberts@igalia.com> (the code)
Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com> (the tests)
Signed-off-by: Arcady Goldmints-Orlov <agoldmints@igalia.com>
Co-authored-by: Neil Roberts <nroberts@igalia.com>
2020-06-04 01:39:31 -06:00
Ricardo Garcia
232ba0d848
Add SPIR-V capabilities needed for spec constants ( #2199 )
...
Fixes #2198 .
2020-06-03 07:52:55 -06:00
alelenv
d39b8afc47
EXT_ray_tracing requires spv1.4 ( #2237 )
...
* EXT_ray_tracing requires spv1.4
* Fix typo.
* Add extension data table.
* Updated feedback #2 .
2020-05-28 09:18:07 -06:00
alelenv
59216d5cd8
Add support for primitive culling layout qualifier. ( #2220 )
...
* Add support for primitive culling layout qualifier.
* Add error checks for primitive flags and negative test.
2020-05-21 05:38:41 -06:00
John Kessenich
4657244018
Fix #2178 : Allow specialization constants for texel offsets.
2020-04-12 22:57:07 -06:00
alelenv
f986436a90
Error assigns to objects of rayQueryEXT type.
2020-03-30 10:24:30 -07:00
Neslisah Torosdagli
054b5e35eb
pass by reference updates
2020-03-26 12:24:31 -04:00
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
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
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
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
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
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
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
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