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
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
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
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
89f8d1e64f
HLSL: Fix #942 : Map SV_TargetN to SPV Location N.
2017-06-27 15:17:38 -06:00
John Kessenich
4f54c0c487
HLSL: Fix hull-shader test.
2017-06-26 19:56:41 -06:00
John Kessenich
fe6689c6c4
HLSL: support point mode.
2017-06-26 17:52:22 -06:00
John Kessenich
6353d55e94
Command-line: Add support for setting language's environment.
2017-06-26 14:49:11 -06:00
LoopDawg
c44b95fdec
WIP: HLSL: handle clip/cull distance array semantic matching
...
In HLSL, there are three (TODO: ??) dimensions of clip and cull
distance values:
* The semantic's value N, ala SV_ClipDistanceN.
* The array demension, if the value is an array.
* The vector element, if the value is a vector or array of vectors.
In SPIR-V, clip and cull distance are arrays of scalar floats, always.
This PR currently ignores the semantic N axis, and handles the other
two axes by sequentially copying each vector element of each array member
into sequential floats in the output array.
Fixes : #946
2017-06-23 13:06:53 -06:00
John Kessenich
4329d555ad
HLSL: Broaden solution for #940 , editing integer input for 'flat'.
2017-06-21 01:35:57 -06:00
John Kessenich
f0bc598dd7
HLSL: Force flat interpolation for structure members. Fixes #940 .
2017-06-20 13:19:53 -06:00
John Kessenich
fba125a988
Merge pull request #943 from xxxbxxx/for-upstream-1
...
hlsl: "in out" is also an inout qualifier.
2017-06-20 08:59:50 -06:00
John Kessenich
54596ff99e
HLSL: Force flat (nointerp) onto integer fragment inputs.
...
Addresses #940 .
2017-06-20 03:20:59 -06:00
xavier
b1d97537e8
hlsl: "in out" is also an inout qualifier.
2017-06-20 08:12:40 +02:00
John Kessenich
2fcdd64e50
HLSL: Remove support for named tbuffer/cbuffer. Fixes #939 .
2017-06-19 15:41:11 -06: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
e2ff404f6b
Merge pull request #917 from KhronosGroup/remove-redundant-locations
...
Replace #422 : Remove the redundant location setting in AST->SPIR-V.
2017-06-15 12:11:37 -06:00
John Kessenich
f790b16170
Tests: Fix missing test result.
2017-06-15 11:10:57 -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
0320d090e2
HLSL: Recognize types declared as identifiers as identifiers.
...
E.g., in
float float;
(float) * float;
The "(float)" is not a type cast, it is an expression.
2017-06-13 22:22:52 -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
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
971a0a8d2d
Infrastructure: add include search paths (-I, etc.).
2017-06-07 15:09:54 -06:00
John Kessenich
96f65521b4
HLSL: Implement half matrices, and map all half* -> float*.
2017-06-06 23:35:25 -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
7cdf3fc3c6
Replace #422 : Remove the redundant location setting in AST->SPIR-V.
...
This was redundant in two ways:
1) it replicated algorithms owned in the front end, and
2) it sometimes left location information on both a block and its members.
2017-06-04 13:22:39 -06: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
John Kessenich
0b94a31ee9
Merge pull request #915 from LoopDawg/subvec4-intrinsic
...
HLSL: add test coverage for sub-vec4 texture intrinsics
2017-06-03 15:28:11 -06:00
John Kessenich
f31507421b
HLSL: Convert run-time sampler assignments to compile-time aliases.
...
For "s.m = t", a sampler member assigned a sampler, make t an alias
for s.m, and when s.m is flattened, it will flatten to the alias t.
Normally, assignments to samplers are disallowed.
2017-06-02 18:27:21 -06:00
John Kessenich
750c2d07f7
SPV: When passing structs of opaque types, flatten and pass the members instead.
...
This avoids either A) needing uniformConstant struct, or
B) initializing a struct with opaque members, as writing them is not
allowed.
2017-06-01 18:49:04 -06:00
John Kessenich
d66c5b1299
HLSL: iomapper: Fix #914 . Tolerate user aliasing of bindings.
...
Because it is valid in HLSL to alias bindings:
A) remove validation that aliasing is not done
B) make the algorithms tolerate aliasing
2017-06-01 18:16:33 -06:00
LoopDawg
a696fd1a44
HLSL: add test coverage for sub-vec4 texture intrinsics
...
This changes no functional code. There was a bit of a testing hole
in that textures templatized on sub-vec4 types were not being exercised
with any intrinsics. This adds some basic sanity coverage of that case.
2017-06-01 13:28:12 -06:00
John Kessenich
3494b4da9b
HLSL: Add an Includer to handle #include.
2017-06-01 11:16:32 -06:00
John Kessenich
e485c7af58
SPV: Debug output: Include OpLine information for execution path.
...
Note that declaratives are not handled, only procedurals.
2017-05-31 18:50:53 -06:00
John Kessenich
121853f4df
SPV: Add OpSource shader source code and file name.
2017-05-31 17:14:15 -06:00