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
John Kessenich
e00e8f45a6
GLSL: replace general missing functionality with specific messages.
2017-06-05 16:42:33 -06:00
John Kessenich
21369c825a
Merge pull request #912 from amdrexu/feature
...
Implement the extension GL_AMD_texture_gather_bias_lod
2017-06-05 09:08:12 -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
99f289d438
Merge pull request #899 from antiagainst/rm-empty-cpps
...
Remove empty cpp files
2017-06-03 15:29:06 -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
70942e5f84
Merge pull request #905 from KhronosGroup/flatten-opaque-structs
...
SPV: When passing structs of opaque types, flatten and pass the membe…
2017-06-02 18:48:26 -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
ae99875e42
Merge pull request #907 from KhronosGroup/include
...
HLSL: Add an Includer to handle #include for local HLSL paths.
2017-06-01 12:37:52 -06:00
John Kessenich
5052152eef
Merge pull request #913 from amdrexu/bugfix
...
Parser: Add missing codes for float16
2017-06-01 12:36:21 -06:00
John Kessenich
3494b4da9b
HLSL: Add an Includer to handle #include.
2017-06-01 11:16:32 -06:00
Rex Xu
0848cc0725
Parser: Add missing codes for float16
2017-06-01 19:59:20 +08:00
John Kessenich
44d2728e3d
Merge pull request #911 from KhronosGroup/debug-info
...
SPV: Add OpSource shader source code and file name.
2017-05-31 22:47:28 -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
John Kessenich
136b1e2d5d
Merge pull request #856 from TiemoJung/texture_upgrade
...
Pure Texture to Sampled Texture Transform
2017-05-29 11:40:43 -06:00
t.jung
baf570efa5
Pure Texture to Sampled Texture Transform
...
Adds a transformation step to the post processing step.
Two modes are available:
1) keep
- Keeps samplers, textures and sampled textures as is
2) transform pure texture into sampled texture and remove pure samplers
- removes all pure samplers
- transforms all pure textures into its sampled counter part
Change-Id: If54972e8052961db66c23f4b7e719d363cf6edbd
2017-05-29 18:29:45 +02:00
John Kessenich
d6af18f621
Merge pull request #901 from LoopDawg/imat-construct
...
HLSL: Add imat, umat, and bmat constructors
2017-05-24 23:12:58 -06:00