1114 Commits

Author SHA1 Message Date
John Kessenich
a58cc9ffdf GLSL reflection: Fix #985: reflect runtime sized arrays having no constant index. 2017-07-28 17:37:31 -06:00
John Kessenich
a353bf1f20 Nonfunctional: Add reflect test case, and fix long lines in reflection code. 2017-07-28 17:32:27 -06:00
John Kessenich
53863a3a90 GLSL: Implement version 320 for ES. 2017-07-23 13:54:15 -06:00
John Kessenich
9353f1afab GLSL: Add version-number checking. 2017-07-23 11:49:42 -06:00
John Kessenich
67eb497002 SPV/OpenGL: Require locations on non-opaque uniform variables. 2017-07-21 13:37:46 -06:00
John Kessenich
ab0086754e Merge pull request #991 from LoopDawg/resource-set-binding-fix
HLSL: Fix crash with --resource-set-binding [n] (global form, not per-register form)
2017-07-22 01:59:42 +09:00
John Kessenich
a2b71902e2 Reflection: Fix #977: Expose getBinding(), use in new getUniformBinding(). 2017-07-20 16:44:17 -06:00
LoopDawg
52017192e5 Fix crash with --resource-set-binding [n] (common set form, not per-register form)
--resource-set-binding has a mode which allows per-register assignments of
bindings and descriptor sets on the command line, and another accepting a
single descriptor set value to assign to all variables.

The former worked, but the latter would crash when assigning the values.
This fixes it, and makes the former case a bit more robust against premature
termination of the pre-register values, which must come in (regname,set,binding)
triples.

This also allows the form "--resource-set-binding stage setnum", which was
mentioned in the usage message, but did not parse.

The operation of the per-register form of this option is unchanged.
2017-07-18 11:15:40 -06:00
Gabríel Arthúr Pétursson
b5d9c11e1a Fix NULL pointer dereference in TParseContext::builtInOpCheck 2017-07-15 15:22:50 +00:00
John Kessenich
91e69c03bd SPV: Address #989: Don't add Location to built-ins when automapping. 2017-07-14 05:54:05 -06:00
Rex Xu
57e65929e4 HLSL: Translate directive [flatten] and [branch] to SPV control mask. 2017-07-06 11:31:33 +08:00
John Kessenich
9645f78293 Merge pull request #965 from chaoc/spv-khr-post-depth-coverage
Implement SPV_KHR_post_depth_coverage
2017-07-05 14:48:19 -06:00
chaoc
c120452754 Implement SPV_KHR_post_depth_coverage
Added support for both extension GL_ARB_post_depth_coverage and GL_EXT_post_depth_coverage.
2017-07-05 12:27:15 -07:00
John Kessenich
eb5f12d1ca Merge pull request #967 from dsrbecky/multiview
Multiview extension: Accept layout(num_views) qualifier
2017-07-03 22:14:09 -06:00
John Kessenich
0af795e808 Merge pull request #966 from TiemoJung/io_remapper_update
io resolver improvements
2017-07-03 21:48:58 -06:00
John Kessenich
aad93a80b2 Merge pull request #959 from TiemoJung/texture_upgrade
Fix for not transforming all image symbols into sampled images symbols
2017-07-03 21:47:39 -06:00
David Srbecky
5513d9d0d8 Multiview extension: Accept layout(num_views) qualifier 2017-07-03 15:51:40 +01:00
t.jung
0422eb234f io resolver improvements
- adds stage parameter to end notify
- adds begin notify
- adds begin resolve
- adds end resolve

Change-Id: Ib134fe42a1a6d996d81dca59475cce6b4a9ff865
2017-07-01 10:29:11 +02:00
David Srbecký
0fbe02c6a0 Implement extensions GL_OVR_multiview and GL_OVR_multiview2
They are almost identical to the already supported GL_EXT_multiview
2017-06-30 19:11:56 +01:00
t.jung
fde4975d27 Fix for not transforming all image symbols into sampled images symbols
Change-Id: I10f9bcea2e97f36912a81214552b93db4805b61a
2017-06-30 07:06:17 +02:00
John Kessenich
2ae23ca1ca Merge pull request #957 from amdrexu/feature
Implement extension GL_ARB_shader_stencil_export
2017-06-29 15:28:52 -06:00
Ben Vanik
82da44d4d7 Fixing initialization order to fix -Wreorder warning in clang. 2017-06-29 11:13:35 -07:00
John Kessenich
89400ea73e GLSL: validation of early_fragment_tests, others, on an object.
Some layout qualifiers must not be on an object and had a TBD for testing
them: early_fragment_tests, cw/ccw, points, point_mode, and
fractional_even_spacing/fractional_odd_spacing/equal_spacing.
2017-06-29 10:46:47 -06:00
Rex Xu
37cdceed41 Implement extension GL_ARB_shader_stencil_export 2017-06-29 17:50:46 +08:00
John Kessenich
da9eb815b3 HLSL: Don't pin down which tessellation stage must error check input primitive. 2017-06-26 17:56:54 -06:00
John Kessenich
102328b75f Merge pull request #950 from dsrbecky/shadow_samplers
Add support for GL_EXT_shadow_samplers
2017-06-26 15:50:18 -06:00
John Kessenich
4be4aebdcd Infrastructure: Non-functional: Move to rich description of environment.
This is for input languages, client APIs, code to generate, etc.
2017-06-26 14:49:11 -06:00
David Srbecky
c6ac40a1a7 Add support for GL_EXT_shadow_samplers 2017-06-26 17:43:32 +01:00
John Kessenich
054378d988 HLSL: Non-functional: Make test valid HLSL, and related comments/cleanup. 2017-06-19 15:32:27 -06:00
John Kessenich
a931366f56 Standalone: Implement -D and -U for preprocessor macros.
Works for both GLSL and HLSL.
Fixes #87.
2017-06-15 10:57:18 -06:00
LoopDawg
e2713125b9 HLSL: fix several issues in mat construction from scalars
This fixes:

1. A compilation error when assigning scalars to matricies

2. A semantic error in matrix construction from scalars.  This was
initializing the diagonal, where HLSL semantics require the scalar be
replicated to every matrix element.

3. Functions accepting mats can be called with scalars, which will
be shape-converted to the matrix type.  This was previously failing
to match the function signature.

NOTE: this does not yet handle complex scalars (a function call,
say) used to construct matricies.  That'll be added when the
node replicator service is available.  For now, there's an assert.

There's one new test (hlsl.scalar2matrix.frag).  An existing test
lsl.type.half.frag changes, because of (2) above, and a negative
test error message changes due to (3) above.

Fixes #923.
2017-06-14 14:11:18 -06:00
John Kessenich
82ae8c31e0 HLSL: Fix #924: Convert between two different arrays with cast. 2017-06-13 23:13:10 -06:00
John Kessenich
5ea6a192f0 Merge branch 'amdrexu-feature' 2017-06-09 12:52:21 -06:00
Rex Xu
cabbb788b4 Implement extension GL_AMD_gpu_shader_int16
- Add int16 types (int16_t, uint16_t, i16vec, u16vec).
- Add int16 support to GLSL operators.
- Add int16 type conversions (to int16, from int16).
- Add int16 built-in functions.
2017-06-09 17:11:23 +08:00
John Kessenich
4d5bcd3162 HLSL: Allow macro expansions to create the 'defined' operator. 2017-06-08 17:12:56 -06:00
John Kessenich
3fcb42cfa6 GLSL: Fix #853: Only outer dimension of array can be specialization constant. 2017-06-08 12:26:49 -06:00
John Kessenich
d314ecfbe3 GLSL: Correct missing "not" from error message about non writeonly images. 2017-06-08 10:36:45 -06:00
John Kessenich
dd56173d04 GLSL: Disallow 'shared' in nested scopes.
This implements Khronos-private specification bug 16130.
2017-06-08 10:13:15 -06:00
John Kessenich
c5f2ab965f GLSL: Disallow unsized arrays of atomic_uint.
This tracks Khronos-private specification bug 15945.
2017-06-08 10:07:14 -06:00
John Kessenich
885443c788 Build: reset for multi-threaded test error, that reported a single missing character. 2017-06-07 19:03:11 -06:00
John Kessenich
14d65beb06 GLSL: Fix Khronos private Bugzilla 15973: local sizes can't be 0. 2017-06-07 18:53:33 -06:00
John Kessenich
2eb135506a GLSL: Fix #396: Error when 'defined' comes from macro expansion. 2017-06-07 17:19:08 -06:00
John Kessenich
9b2531ba23 Infrastructure: Move nesting counters, etc., to base class.
This lets all languages share the same definitions.
2017-06-06 19:53:24 -06:00
John Kessenich
b4d46627cb Build: Fix build warnings. 2017-06-06 19:53:24 -06:00
Jeremy Hayes
549764b5ec Build: Fix linux
I believe this is a repeat of 12d6936.
2017-06-06 15:52:50 -06:00
John Kessenich
0e07119ae2 HLSL: Fix #919: for-init-statement is arbitrary declaration or expression.
Unlike "if (XXX)" and "while (XXX)", with "for (YYY...", the YYY can be
more kinds of statements than the XXX.
2017-06-06 11:37:33 -06:00
John Kessenich
e00e8f45a6 GLSL: replace general missing functionality with specific messages. 2017-06-05 16:42:33 -06:00
Rex Xu
225e0fcadd Implement the extension GL_AMD_texture_gather_bias_lod 2017-06-05 16:41:06 +08:00
John Kessenich
94c18a84cd GLSL: Fix bug setting component=0 for an auto-location assignment.
Setting component=0 is later taken to mean the shader did so, which
is not always legal. It should instead set the component as not set
by the shader.
2017-06-04 13:17:20 -06:00
John Kessenich
8de7e7bf14 GLSL: Error when using location on an arrayed block.
This implements a recent change to the GLSL specification to enforce
this ill-defined situation.
2017-06-04 13:05:50 -06:00