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
5d45eadedc
HLSL: Turn on tests for groupshared.
2016-10-16 12:22:20 -06:00
John Kessenich
a08c929d8e
HLSL: Line numbers only: Set locations (line numbers) on synthesized flattening code.
2016-10-01 17:17:55 -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
d21baed6bc
HLSL: Flatten whole-struct assigns and returns when targeting flattened I/O structs.
2016-09-16 03:20:03 -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
steve-lunarg
297ae211f1
WIP: HLSL: Treat HLSL rows as GLSL columns.
...
WIP: HLSL: EOpGenMul arg reversal
2016-09-09 12:02:42 -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
steve-lunarg
cf57c04401
HLSL: add missing vec,vec,scalar form of lerp(), + test
2016-07-28 13:23:22 -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
e903ab5f04
HLSL: Change intrinsics tests to not use overloaded entry points
2016-06-30 14:13:03 -06: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
5aa59e2044
HLSL: Map parameter qualifiers from generic to function-specific and entry-point specific.
2016-06-17 15:52:46 -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
LoopDawg
592860cae5
Add decompositions for some HLSL intrinsics.
2016-06-10 17:11:18 -06:00
LoopDawg
4b67732c13
Initial implementation of direct-mapped subset of HLSL intrinsics with type subset.
...
This checkin implements about half of the HLSL intrinsics for a subset of their
entire type support (but a useful subset). The uncommented lines in
TBuiltInParseablesHlsl::identifyBuiltIns shows which are connected.
2016-06-03 08:28:29 -06:00