glslang-zig/hlsl
steve-lunarg 0842dbb39a HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats
This PR adds a CreateParseContext() fn analogous to CreateBuiltInParseables(),
to create a language specific built in parser.  (This code was present before
but not encapsualted in a fn).  This can now be used to create a source language
specific parser for builtins.

Along with this, the code creating HLSL intrinsic prototypes can now produce
them in HLSL syntax, rather than GLSL syntax.  This relaxes certain prior
restrictions at the parser level.  Lower layers (e.g, SPIR-V) may still have
such restrictions, such as around Nx1 matrices: this code does not impact
that.

This PR also fleshes out matrix types for bools and ints, both of which were
partially in place before.  This was easier than maintaining the restrictions
in the HLSL prototype generator to avoid creating protoypes with those types.

Many tests change because the result type from intrinsics moves from "global"
to "temp".

Several new tests are added for the new types.
2016-11-16 11:19:22 -07:00
..
CMakeLists.txt HLSL: implement numthreads for compute shaders 2016-10-31 09:28:17 -06:00
hlslAttributes.cpp HLSL: implement numthreads for compute shaders 2016-10-31 09:28:17 -06:00
hlslAttributes.h HLSL: implement numthreads for compute shaders 2016-10-31 09:28:17 -06:00
hlslGrammar.cpp HLSL: Allow expressions in attributes 2016-11-11 08:23:03 -07:00
hlslGrammar.h HLSL: implement numthreads for compute shaders 2016-10-31 09:28:17 -06:00
hlslOpMap.cpp HLSL: Basic array grammar. 2016-06-19 11:50:34 -06:00
hlslOpMap.h HLSL: Add (almost) full expression grammar: Binary, unary (pre/post-fix), assign, ... 2016-05-03 23:33:00 -06:00
hlslParseables.cpp HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats 2016-11-16 11:19:22 -07:00
hlslParseables.h Add lerp, fix sincos return type, ret type tests, non-square mats, HLSL->AST tx semantics 2016-06-21 10:10:48 -06:00
hlslParseHelper.cpp Merge pull request #576 from steve-lunarg/uav-registers 2016-11-14 09:39:46 -07:00
hlslParseHelper.h Whole stack: Fix stale types in the AST linker object nodes, fixing #557. 2016-11-05 10:22:33 -06:00
hlslScanContext.cpp HLSL: use HLSL parser to parse HLSL intrinsic prototypes, enable int/bool mats 2016-11-16 11:19:22 -07:00
hlslScanContext.h HLSL: Implement basic "struct" grammar. 2016-06-12 23:54:31 -06:00
hlslTokens.h HLSL: Add min*{float,int,uint} types 2016-10-31 12:46:05 -06:00
hlslTokenStream.cpp HLSL: Fix a grammar error related to constructors in parenthetical expressions 2016-07-30 08:09:09 -06:00
hlslTokenStream.h HLSL: Fix a grammar error related to constructors in parenthetical expressions 2016-07-30 08:09:09 -06:00