glslang-zig/hlsl
LoopDawg e2713125b9 HLSL: fix several issues in mat construction from scalars
This fixes:

1. A compilation error when assigning scalars to matricies

2. A semantic error in matrix construction from scalars.  This was
initializing the diagonal, where HLSL semantics require the scalar be
replicated to every matrix element.

3. Functions accepting mats can be called with scalars, which will
be shape-converted to the matrix type.  This was previously failing
to match the function signature.

NOTE: this does not yet handle complex scalars (a function call,
say) used to construct matricies.  That'll be added when the
node replicator service is available.  For now, there's an assert.

There's one new test (hlsl.scalar2matrix.frag).  An existing test
lsl.type.half.frag changes, because of (2) above, and a negative
test error message changes due to (3) above.

Fixes #923.
2017-06-14 14:11:18 -06:00
..
CMakeLists.txt Modernise CMake #2 2017-04-29 11:23:15 +02:00
hlslAttributes.cpp HLSL: implement [unroll] and [loop] attributes 2017-05-03 13:44:40 -06:00
hlslAttributes.h HLSL: implement [unroll] and [loop] attributes 2017-05-03 13:44:40 -06:00
hlslGrammar.cpp HLSL: Fix #924: Convert between two different arrays with cast. 2017-06-13 23:13:10 -06:00
hlslGrammar.h HLSL: Recognize types declared as identifiers as identifiers. 2017-06-13 22:22:52 -06:00
hlslOpMap.cpp HLSL: Add scoping operator, accept static member functions, and support calling them. 2017-03-11 14:13:00 -07:00
hlslOpMap.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseables.cpp SPV: When passing structs of opaque types, flatten and pass the members instead. 2017-06-01 18:49:04 -06:00
hlslParseables.h Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
hlslParseHelper.cpp HLSL: fix several issues in mat construction from scalars 2017-06-14 14:11:18 -06:00
hlslParseHelper.h HLSL: Fix #924: Convert between two different arrays with cast. 2017-06-13 23:13:10 -06:00
hlslScanContext.cpp HLSL: Implement half matrices, and map all half* -> float*. 2017-06-06 23:35:25 -06:00
hlslScanContext.h HLSL: Non-functional: the symbol field of a token was in practice unused; remove it. 2017-03-21 18:36:04 -06:00
hlslTokens.h HLSL: Implement half matrices, and map all half* -> float*. 2017-06-06 23:35:25 -06:00
hlslTokenStream.cpp HLSL: Member-functions: capture body token stream for deferred syntax/semantics. 2017-03-11 19:37:29 -07:00
hlslTokenStream.h Merge branch 'TiemoJung-semantic_handling' 2017-03-14 22:44:24 -06:00