John Kessenich
d02dc5d05a
HLSL: Implement switch/case/default.
2016-07-01 00:04:11 -06:00
John Kessenich
2f47bc9781
SPV: Don't decorate locations within an array, it doesn't make sense.
...
This fixes issue #360 .
2016-06-30 22:00:09 -06:00
John Kessenich
6090df0fa3
SPV: Non-functional: break up big function into three smaller ones.
...
Also, improve variable names. This grew to be overly hard to understand.
2016-06-30 21:28:33 -06:00
John Kessenich
266b1d3e84
Merge pull request #363 from cdwfs/vertex_instance_id
...
Suggest gl_[Vertex,Instance]Index when gl_[Vertex,Instance]ID is encountered in Vulkan GLSL
2016-06-30 18:15:24 -06:00
John Kessenich
f5dcdf0123
Front-end: Don't lower precision of bit operations taking highp inputs.
...
See issue #350 for detail. This may be an ESSL specification issue.
2016-06-30 16:46:24 -06:00
John Kessenich
ae3e77308c
Merge pull request #364 from steve-lunarg/test-entrypoints
...
HLSL: Change intrinsics tests to not use overloaded entry points
2016-06-30 15:41:25 -06:00
LoopDawg
e903ab5f04
HLSL: Change intrinsics tests to not use overloaded entry points
2016-06-30 14:13:03 -06:00
Cort Stratton
85028e1469
When parsing Vulkan GLSL, suggest gl_VertexIndex/gl_InstanceIndex instead of gl_VertexID/gl_InstanceID.
2016-06-30 12:51:10 -07:00
John Kessenich
af151f964f
Merge pull request #358 from amdrexu/bugfix
...
SPV: Certain decorations are missing for structure-typed in/out variables
2016-06-30 11:08:17 -06:00
Rex Xu
c884b4a47f
SPV: Certain decorations are missing for structure-typed in/out variables.
2016-06-30 13:11:36 +08:00
John Kessenich
187254b92c
Merge pull request #357 from steve-lunarg/intrinsics
...
HLSL: Add asdouble, fma, & mad intrinsics
2016-06-29 10:50:33 -06:00
John Kessenich
7c8b743599
Merge pull request #267 from antiagainst/rm-test-dup
...
Remove duplicated tests from the runtests script.
2016-06-29 10:47:47 -06:00
John Kessenich
bc17b0a96a
Front-end: Add missing rule for function-return implicit type conversion check.
...
Basic (component) type conversion was done, but checking that the composite
was correct was not being done.
Fixes issue #353 .
2016-06-28 23:56:31 -06:00
John Kessenich
b10feabc95
Front-end: Non-functional: Move return-value handling from .y to .cpp.
...
This is to make the real change needed in the next commit easier.
2016-06-28 23:54:36 -06:00
John Kessenich
1011971981
Front-end: Handle simultaneous use of SPIR-V or non-SPIR-V.
...
Symbol table sharing has different sets of symbols for different
versions. This needs to take into account that SPIR-V has different
symbols than non-SPIR-V.
2016-06-28 16:16:43 -06:00
Lei Zhang
48e296b18c
Remove duplicated tests from the runtests script.
2016-06-28 17:54:07 -04:00
LoopDawg
1b7fd0f7b7
Add asdouble, fma, & mad intrinsics and change profile to allow doubles when parsing prototypes
2016-06-28 15:38:38 -06:00
John Kessenich
e5a807276f
Merge pull request #349 from steve-lunarg/intrinsics
...
HLSL: Add lerp, fix sincos ret, add ret type tests, non-square mats, tx semantics
2016-06-28 15:34:11 -06:00
John Kessenich
22bca551a8
Merge pull request #354 from yavn/fix_off_by_one_limit_check
...
Front-end: allow max size built-in arrays like gl_ClipDistance
2016-06-28 13:24:18 -06:00
John Kessenich
5bc4d9a26f
HLSL: Airplane work: break/continue/discard grammar, and decls for for/if/while.
2016-06-27 21:12:07 -06:00
Maciej Jesionowski
bbbcb5b2eb
Front-end: allow max size built-in arrays like gl_ClipDistance
...
Fixed off-by-one error with gl_MaxClipDistances and similar limits.
2016-06-27 12:44:15 +02:00
LoopDawg
4624a02e21
Add lerp, fix sincos return type, ret type tests, non-square mats, HLSL->AST tx semantics
2016-06-21 10:10:48 -06:00
John Kessenich
a4a4d5e22c
Merge pull request #346 from steve-lunarg/intrinsics
...
Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttrib…
2016-06-21 09:45:52 -06:00
LoopDawg
6e72fddaa2
Add HLSL memory barrier intrinsics, fix dst, add lit & EvaluateAttributeSnapped
2016-06-20 09:53:59 -06:00
John Kessenich
19b92fff7e
HLSL: Basic array grammar.
2016-06-19 11:50:34 -06:00
John Kessenich
93a162a857
HLSL: Handle "." for structure dereference and swizzle.
2016-06-17 17:16:27 -06:00
John Kessenich
5aa59e2044
HLSL: Map parameter qualifiers from generic to function-specific and entry-point specific.
2016-06-17 15:52:46 -06:00
John Kessenich
c3387d33ee
HLSL: Support semantics in function parameter declarations.
2016-06-17 14:21:02 -06:00
John Kessenich
21f1286f57
Front-end: Implement GL_EXT_shader_non_constant_global_initializers.
...
This lets ES shaders use non-constant initializers for non-constant globals.
2016-06-17 12:43:31 -06:00
John Kessenich
b901ade058
SPV: Non-functional: Condense SPV-related versioning, and rationalize all uses.
2016-06-16 23:31:29 -06:00
John Kessenich
65336488a8
SPV: projective texturing: move the project coordinate.
...
SPV doesn't allow gaps in the components of the texturing coordinate.
It also removes the shadow reference.
So, close up the components so all used components are together.
2016-06-16 14:06:26 -06:00
John Kessenich
76d4dfcd51
SPV non-functional: minor readability improvements for texturing.
2016-06-16 12:43:23 -06:00
John Kessenich
ac666e7368
Front-end ESSL: require precision declarations for images.
2016-06-14 22:12:20 -06:00
John Kessenich
9000bd5eb6
Front-end: Make ES floatBitsToInt/intBitsToFloat/etc. all be highp.
2016-06-14 20:38:58 -06:00
John Kessenich
c51287d744
SPV: Update to spec. decisions (and issue #205 ) for barrier().
...
A barrier (ESSL/GLSL) or OpControlBarrier when in a tessellation control
shader also means doing memory synchronization for output variables.
2016-06-14 19:50:26 -06:00
John Kessenich
01de90bb1c
Merge pull request #339 from steve-lunarg/intrinsics
...
HLSL: Implement atomic ops, bit conversions, fix minor intrinsics bugs
2016-06-14 10:56:50 -06:00
John Kessenich
7b04bdde36
Merge pull request #340 from dneto0/const-key-in-std-maps
...
Build: Tracking allocator must use const key
2016-06-14 10:42:13 -06:00
David Neto
ec1476b706
Tracking allocator must use const key
...
Fixes TMap template.
This is required to build with newer libc++ versions that have a static
assert on const-ness of value_type
2016-06-14 12:15:59 -04:00
LoopDawg
589107095c
Implement atomic ops, bit conversions, fix fwidth stage mask, fix saturate dest modifier.
2016-06-13 20:50:36 -06:00
John Kessenich
cd784bc561
Merge pull request #337 from steve-lunarg/intrinsics
...
HLSL: Add decompositions for some intrinsics.
2016-06-13 08:54:45 -06:00
John Kessenich
af3674d831
Merge pull request #338 from Nekotekina/fix1
...
Build: Compilation fix (mingw64)
2016-06-13 08:37:29 -06:00
Nekotekina
5dd29c8a97
Compilation fix (mingw64)
2016-06-13 11:25:18 +03:00
John Kessenich
630dd7da43
HLSL: Flesh out misc. declaration grammar: semantics/registers/annotations/precise/etc.
...
Details within these bear even more fleshing out, but would like to have
that driven by actual need.
2016-06-12 23:54:31 -06:00
John Kessenich
e6e7494e2a
HLSL: Implement basic "struct" grammar.
2016-06-12 23:54:31 -06:00
LoopDawg
592860cae5
Add decompositions for some HLSL intrinsics.
2016-06-10 17:11:18 -06:00
John Kessenich
41ebc42926
Merge pull request #335 from jekstrand/sampler-params
...
SPV: Fix pointer address spaces for sampler function parameters
2016-06-09 20:42:23 -06:00
John Kessenich
077e052a8f
HLSL: Implement proper nesting of symbol-table scopes and identifier searching.
2016-06-09 02:03:46 -06:00
John Kessenich
71351de879
HLSL: Add all int/float/bool/uint matrix types, void for functions, and a few others.
2016-06-09 01:33:10 -06:00
Jason Ekstrand
ed15ef1a5b
GlslangToSpv: Pass the pointer directly into the client function for opaque types
...
For opaque types such as samplers, images, and atomic counters, we want to
reference the actual object in the child function. For a long time, we
used a shadow variable and made a copy of the image/sampler. In 76d0ac1a
,
this was changed to not shadow samplers. However, this didn't cover all
opaque types and it also didn't get the pointer storage classes right.
This commit fixes both of these issues.
Fixes #324
2016-06-08 17:22:46 -07:00
Jason Ekstrand
228546a8af
Types: Add an isOpaque() helper
2016-06-08 17:22:43 -07:00