John Kessenich
73d4fb5bc5
PP: Fix issue #408 : # as last character in macro.
...
This would look ahead for a second #, for token pasting, and if not
found, backup one token. This is fine, unless at the end of line,
which would backup the #, rather than the look ahead.
2016-07-30 12:41:35 -06:00
steve-lunarg
fe5a3ff2f3
HLSL: allow trailing commas in initializer lists & scalar initialization
2016-07-30 10:47:33 -06:00
steve-lunarg
5964c64b2a
HLSL: Fix a grammar error related to constructors in parenthetical expressions
2016-07-30 08:09:09 -06:00
John Kessenich
fea226ba43
HLSL: Add shape conversions for scalar -> vector assigments.
...
Also, this allows turning on the error check for a failed assigment
when parsing.
This makes 39 HLSL tests have a working assignment that was previously
silently dropped, due to lack of this functionality.
2016-07-28 18:41:20 -06:00
John Kessenich
c552aece83
Merge pull request #417 from steve-lunarg/buffers
...
HLSL: add Buffer support for Load method
2016-07-28 16:56:39 -06:00
steve-lunarg
2de329112b
HLSL: allow uint literals, and add test for numeric suffixes
2016-07-28 14:49:48 -06:00
steve-lunarg
d53f717fd3
HLSL: add Buffer support for Load method
2016-07-27 15:57:31 -06:00
steve-lunarg
68f2c144e3
HLSL: Add CalculateLevelOfDetail, and unimplemented errors for *Unclamped and GetSamplePosition
2016-07-27 10:46:33 -06:00
John Kessenich
00957f8110
HLSL: Implement ?: grammar productions.
...
Missing are implicit conversions between int/bool/etc.
2016-07-27 10:39:57 -06:00
steve-lunarg
1e19d90043
HLSL: add 2DMS texture formats, and matching Load / GetDimensions support
2016-07-27 07:37:21 -06:00
John Kessenich
8c8505c604
SPV: For AST interpolateAt* ops consuming a swizzle, invert the order.
...
Apply the interpolation first, then apply the swizzle to the result,
the inverse of the order requested by the AST. This fixes issue #411 .
2016-07-26 12:53:54 -06:00
John Kessenich
731cd83ef6
Merge pull request #405 from steve-lunarg/samplers
...
HLSL: Add gather, improve proto generator machine for upcoming 2DMS/S…
2016-07-26 09:40:46 -06:00
John Kessenich
64723c20b5
Merge pull request #406 from steve-lunarg/pp_line
...
HLSL: enable #line extension by default for HLSL source.
2016-07-26 09:39:48 -06:00
John Kessenich
3d157c510f
HLSL: cbuffer and tbuffer grammar and production.
2016-07-25 16:05:33 -06:00
LoopDawg
6256146ef3
HLSL: enable #line extension by default for HLSL source.
2016-07-23 10:45:00 -06:00
LoopDawg
a2f3d285a8
HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow
2016-07-22 12:46:11 -06:00
LoopDawg
3ef7852ef6
HLSL: Add SampleLevel method
2016-07-21 15:02:30 -06:00
LoopDawg
f245101954
HLSL: Add texture Load method & decomposition
2016-07-21 09:42:35 -06:00
LoopDawg
a78b02941b
HLSL: Add SampleCmp and SampleCmpLevelZero texture methods
2016-07-20 09:57:03 -06:00
LoopDawg
5d58faecc0
HLSL: Add tx.GetDimensions method (uint returns only)
2016-07-18 16:40:21 -06:00
LoopDawg
a2b7991497
HLSL: Add SampleBias and SampleGrad, and associated tests
2016-07-15 11:38:49 -06:00
John Kessenich
51e74b17bf
Merge pull request #385 from steve-lunarg/inout-qualifiers
...
HLSL: add in/out/inout qualifiers
2016-07-13 15:42:48 -06:00
LoopDawg
92aff54632
HLSL: add offset Sample() form and arrayed texture support
2016-07-13 11:58:56 -06:00
LoopDawg
9249c709b0
HLSL: add in/out/inout qualifiers.
2016-07-12 20:50:34 -06:00
LoopDawg
4886f69734
HLSL: Sampler/texture declarations, method syntax, partial Sample method
2016-07-12 15:57:46 -06:00
John Kessenich
a86836ede2
Front-end: Fix known crashes by early exit on error (issue #29 , issue #34 , issue #35 ).
...
Added -C option to request cascading errors. By default, will exit early,
to avoid all error-recovery-based crashes.
This works by simulating end-of-file in input on first error, so no
need for exception handling, or stack unwinding, or any complex error
checking/handling to get out of the stack.
2016-07-09 14:53:11 -06:00
John Kessenich
7f349c73db
Build: Remove causes of pedantic warnings. Addresses issue #352 and PR #242 .
2016-07-08 22:09:10 -06:00
John Kessenich
78a4557621
SPV: Fix issue #376 ; declare Geometry capability for fragment use of gl_Layer.
2016-07-08 14:05:15 -06:00
John Kessenich
91e4aa5900
SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V.
...
Includes adding test cases to verify the differences.
2016-07-07 19:27:15 -06:00
John Kessenich
2d0cc786f3
SPV: Turn on atomic-storage functionality for SPIR-V.
...
This is used by OpenGL, but not Vulkan.
Includes:
- atomicCounter, atomicIncrement, atomicCounterDecrement
- atomic_uint layout-offset checking
- AtomicStorage capability
2016-07-07 17:40:35 -06:00
John Kessenich
5e69ec683d
HLSL: Add typedef grammar and production.
2016-07-05 00:02:40 -06:00
John Kessenich
532543c1c4
HLSL: Grammar: Make comma-separated declaration lists work.
2016-07-01 19:10:01 -06:00
LoopDawg
6daaa4fadf
HLSL: Add template style constructors for vector & matrix types
2016-07-01 13:59:36 -06:00
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
187254b92c
Merge pull request #357 from steve-lunarg/intrinsics
...
HLSL: Add asdouble, fma, & mad intrinsics
2016-06-29 10:50:33 -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
5bc4d9a26f
HLSL: Airplane work: break/continue/discard grammar, and decls for for/if/while.
2016-06-27 21:12:07 -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
9000bd5eb6
Front-end: Make ES floatBitsToInt/intBitsToFloat/etc. all be highp.
2016-06-14 20:38:58 -06: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
e6e7494e2a
HLSL: Implement basic "struct" grammar.
2016-06-12 23:54:31 -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
John Kessenich
80cb324ff6
Front-end: Fix issue #146 : which versions allow double in/out.
2016-06-05 18:52:05 -06:00
John Kessenich
119f8f6906
HLSL: Flesh out the loop grammar and productions.
2016-06-05 15:44:07 -06:00
John Kessenich
0d2b6de45b
HLSL: Attribute grammar and if-else grammar/productions.
2016-06-05 12:32:18 -06:00