John Kessenich
07ed11f9a0
SPV: GeneratorVersion: bump version number because of atomic decrement change.
2017-10-07 11:41:20 -06:00
xavier
ae8af5d33e
HLSL: fix array[1] of vec4 constant declaration.
2017-09-15 15:28:38 -06:00
John Kessenich
c64a9dd6a9
Test: Make another test legal HLSL, and rationalize GLSL vs HLSL addConstructor().
2017-09-15 13:15:23 -06:00
John Kessenich
54596ff99e
HLSL: Force flat (nointerp) onto integer fragment inputs.
...
Addresses #940 .
2017-06-20 03:20:59 -06:00
John Kessenich
6fa17641b5
HLSL: Emit the OpSource HLSL instruction for HLSL, using new headers.
2017-04-07 15:40:01 -06:00
John Kessenich
000c818efb
HLSL: Allow use of $Global members in between function calls.
...
This allows global initializers to use $Global members.
2017-03-22 23:21:34 -06:00
John Kessenich
71c100d7c0
GLSL output: Removed fixed-size buffer; fixes #769 .
...
Makes some white-space differences in most output, plus a few cases
where more could have been put out but was cut short by the previous
fix-sized buffer.
2017-03-14 19:51:29 -06:00
John Kessenich
02467d8d94
HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
...
This needs some render testing, but is destined to be part of master.
This also leads to a variety of other simplifications.
- IO are global symbols, so only need one list of linkage nodes (deferred)
- no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
- several parts of splitting/flattening are now localized
2017-02-06 22:58:32 -07:00
John Kessenich
d3f1122a44
Whole stack: Fix stale types in the AST linker object nodes, fixing #557 .
...
Rationalizes the entire tracking of the linker object nodes, effecting
GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before
their type snapshot for linker objects.
Should only effect things when the rest of the AST contained no reference to
the symbol, because normal AST nodes were not stale. Also will only effect such
objects when their types were edited.
2016-11-05 10:22:33 -06:00
John Kessenich
4e55988a47
HLSL Tests: Tests for previous commit, to make it easier to see what's changing.
2016-09-29 10:25:15 -06:00
John Kessenich
7dc630f3da
HLSL: Flatten a return struct from an entry point and assign locations after flattening.
...
Locations now get assigned in order, but skipping built-ins, which can be
done post flattening.
2016-09-16 01:44:43 -06:00
John Kessenich
deb4940c17
HLSL: Register all entry-point in/out as part of the interface.
...
This makes the interface be invariant, whether or not individual
variables are used.
2016-09-12 11:55:47 -06:00
John Kessenich
1a4b775cd5
HLSL: Correct line numbers for function definitions.
2016-09-02 19:05:24 -06:00
John Kessenich
830b0cc98b
HLSL: Start location numbering with the entry-point return value.
...
Also, increment location numbers by the size of the objects.
2016-08-29 18:10:47 -06:00
John Kessenich
510d83b384
HLSL: Create test results for the previous commits.
2016-08-29 16:34:12 -06:00
John Kessenich
6a70eb7161
HLSL: Emulate write-to-output on return-from-entry-point, for return value.
...
This fixes issue #487 and #480 .
It also correctly handles output parameters from the entry point.
2016-08-28 20:13:07 -06:00
Dan Baker
2c646b7afa
Updating tests, sadly every single HLSL test needs updating becuase of the language identifier
2016-08-15 16:25:55 -04:00
John Kessenich
64076ed7e9
HLSL: Fix binary-expression associativity and termination issue.
2016-07-28 21:48:25 -06:00
John Kessenich
b0a63f578a
HLSL: Correctly identify which variables are global storage class.
2016-07-01 19:35:53 -06:00
John Kessenich
19b92fff7e
HLSL: Basic array grammar.
2016-06-19 11:50:34 -06:00