648 Commits

Author SHA1 Message Date
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
John Kessenich
630e1bc636 Merge pull request #402 from steve-lunarg/samplers
HLSL: Add SampleLevel method
2016-07-21 15:47:27 -06:00
John Kessenich
c8f6903b1d Front-end: Fix default layout(component) widths and correct for doubles.
Replaces PR #372.
2016-07-21 15:43:00 -06:00
John Kessenich
5c08ecb419 Tests: line-number change only: make room for more component tests. 2016-07-21 15:39:23 -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
John Kessenich
934855a642 Fix issue #382: Detect implicitly-sized atomic_uint arrays. 2016-07-19 15:50:58 -06:00
John Kessenich
f2cfe27021 Fix issue #388.
Protect more against error recovery of bad built-in variable redeclarations.
2016-07-19 15:13:47 -06:00
John Kessenich
31a51becd2 Fix issue #391: input stack underflow on too few macro arguments. 2016-07-19 14:32:52 -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
d8509b3367 Front-end: Implement compile-time constant folding for any() and all(). 2016-07-12 01:27:48 -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
b501a7501c Front end: Fix issue #374: put a limit on how big a type name can get. 2016-07-08 14:49:48 -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
d5ed0b6982 HLSL: Mostly non-functional: simplify, rationalize, and generalize the declaration grammar. 2016-07-04 18:35:51 -06:00
John Kessenich
073542416c HLSL: Grammar: Recognize { } style initializers for composites. 2016-07-01 19:58:06 -06:00
John Kessenich
b0a63f578a HLSL: Correctly identify which variables are global storage class. 2016-07-01 19:35:53 -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
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
LoopDawg
e903ab5f04 HLSL: Change intrinsics tests to not use overloaded entry points 2016-06-30 14:13:03 -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
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
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