John Kessenich
fe6689c6c4
HLSL: support point mode.
2017-06-26 17:52:22 -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
a8a8320451
Merge pull request #948 from KhronosGroup/env-control
...
Compilation-environment control
2017-06-26 15:46:36 -06:00
John Kessenich
6353d55e94
Command-line: Add support for setting language's environment.
2017-06-26 14:49:11 -06:00
John Kessenich
c178f0a4d9
Infrastructure: Non-functional: rationalize some command-line processing.
2017-06-26 14:49:11 -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
4fbb8cb45e
Merge pull request #947 from LoopDawg/clip-cull-distance
...
HLSL: handle clip/cull distance array semantic matching
2017-06-23 17:57:25 -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
be1085cb88
Build: add switch default to make compilers happy
2017-06-20 09:26:33 -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
f02c8e6ba1
Non-functional: Attempt to reset Travis error, while adding more nullptr use.
...
Top of master is listing a test error, not from glslang, but internally
within Travis itself. Seeing if another run gets it to work again.
2017-06-19 16:25:44 -06: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
John Kessenich
04acb1b7c9
Standalone: Rationalize ShaderCompUnit and file data.
...
ShaderCompUnit was poorly done, a mix of a list of things and hard
coding to a single thing. This makes it all a true list.
File data was greatly simplified to be a single string, no longer
supporting breaking a single file into multiple strings.
2017-06-14 17:36:50 -06:00
John Kessenich
6263fb19fb
Infrastructure: Rationalize command-line options.
...
Makes alphabetical order, fit in 80 columns, abstract in-option
string argument.
2017-06-14 15:52:44 -06:00
John Kessenich
2d46e73b35
Merge pull request #931 from LoopDawg/scalar-mat-assign
...
HLSL: fix several issues in mat construction from scalars
2017-06-14 15:02:01 -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
f7cd88a2b5
Merge pull request #937 from amdrexu/bugfix
...
SPV: Fix an typo of SPV_AMD_texture_gather_bias_lod
2017-06-14 10:05:19 -06:00
Rex Xu
301a2bc8a7
SPV: Fix an typo of SPV_AMD_texture_gather_bias_lod
2017-06-14 23:09:39 +08: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
John Kessenich
91c46c6567
Merge pull request #932 from LoopDawg/warning-fix-1
...
HLSL: compilation warning fix: no functional change
2017-06-12 10:41:54 -06:00
LoopDawg
1892886ae1
HLSL: compilation warning fix: no functional change
...
One liner to eliminate a compile warning.
2017-06-10 07:42:03 -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
65755667d5
Merge pull request #922 from KhronosGroup/dash-I
...
Infrastructure: add include search paths (-I, etc.).
Fixes #921 .
2017-06-07 16:04:29 -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
f6deacd579
HLSL: Track control-flow nesting and warn on aliasing under it.
2017-06-06 19:53:24 -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
John Kessenich
a83959fab1
Merge pull request #920 from jeremy-lunarg/jeremy-build
...
Build: Fix linux
2017-06-06 16:27:34 -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