- 03 Jan, 2017 4 commits
-
-
steve-lunarg authored
-
John Kessenich authored
Also correctly test and handle missing newline.
-
John Kessenich authored
-
John Kessenich authored
-
- 02 Jan, 2017 1 commit
-
-
John Kessenich authored
-
- 30 Dec, 2016 2 commits
-
-
John Kessenich authored
-
John Kessenich authored
-
- 22 Dec, 2016 1 commit
-
-
John Kessenich authored
Modify shader ballot extension by adding OpSubgroupReadInvocationKHR
-
- 21 Dec, 2016 10 commits
-
-
John Kessenich authored
-
chaoc authored
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
Add support for SPV_NV_geometry_shader_passthrough
-
John Kessenich authored
Fix a large number of Clang warnings about inconsistent usage of 'override'
-
Henrik Rydgård authored
-
John Kessenich authored
Also, eliminate the 'atom' field of TPpToken. Parsing a real 300 line shader, through to making the AST, is about 10% faster. Memory is slightly reduced (< 1%). The whole google-test suite, inclusive of all testing overhead, SPIR-V generation, etc., runs 3% faster. Since this is a code *simplification* that leads to perf. improvement, I'm not going to invest too much more in measuring the perf. than this. The PP code is simply now in a better state to see how to further rationalize/improve it.
-
John Kessenich authored
Always keep 'token' outside. Always return the string to upper levels inside.
-
John Kessenich authored
-
- 20 Dec, 2016 8 commits
-
-
chaoc authored
-
John Kessenich authored
CMake: Add option to make it possible to not build the executables
-
John Kessenich authored
Add support for SPV_NV_sample_mask_override_coverage
-
John Kessenich authored
Removed the preprocesser memory pool. Removed extra copies and unnecessary allocations of objects related to the ones that were using the pool. Replaced some allocated pointers with objects instead, generally using more modern techiques. There end up being fewer memory allocations/deletions to get right. Overall combined effect of all changes is to use slightly less memory and run slightly faster (< 1% for both, but noticable). As part of simplifying the code base, this change makes it easier to see PP symbol tracking, which I suspect has an even bigger run-time simplification to make.
-
Henrik Rydgård authored
-
John Kessenich authored
Also, checking both 'atom' and 'name' is redundant, and I'm hoping to eliminate more atom stuff.
-
chaoc authored
-
chaoc authored
-
- 19 Dec, 2016 7 commits
-
-
John Kessenich authored
-
John Kessenich authored
PP: Implement token pasting for PP identifiers.
-
John Kessenich authored
WIP: Remapper: remove debug info for IDs stripped in other passes
-
John Kessenich authored
HLSL: allow "sample" in expressions.
-
John Kessenich authored
Unbreak build on FreeBSD with GCC/libstdc++ 6.2.0
-
John Kessenich authored
Implement token pasting as per the C++ specification, within the current style of the PP code. Non-identifiers (turning 12 ## 10 into the numeral 1210) is not yet covered; they should be a simple incremental change built on this one. Addresses issue #255.
-
steve-lunarg authored
Unlike other qualifiers, HLSL allows "sample" to be either a qualifier keyword or an identifier (e.g, a variable or function name). A fix to allow this was made a while ago, but that fix was insufficient when 'sample' was used in an expression. The problem was around the initial ambiguity between: sample float a; // "sample" is part of a fully specified type and sample.xyz; // sample is a keyword in a dot expression Both start the same. The "sample" was being accepted as a qualifier before enough further parsing was done to determine we were not a declaration after all. This consumed the token, causing it to fail for its real purpose. Now, when accepting a fully specified type, the token is pushed back onto the stack if the thing is not a fully specified type. This leaves it available for subsequent purposes. Changed the "hlsl.identifier.sample.frag" test to exercise this situation, distilled down from a production shaders.
-
- 17 Dec, 2016 1 commit
-
-
John Kessenich authored
-
- 15 Dec, 2016 1 commit
-
-
John Kessenich authored
-
- 14 Dec, 2016 3 commits
-
-
John Kessenich authored
Change unicode dash to ASCII.
-
Jamie Madill authored
This change is helpful for integration with Chromium, which recently added a compiler option to warn when compiling any source files which use extended characters. In this case the offending character was a single unicode dash in a comment.
-
John Kessenich authored
Fix size_t to int cast warnings.
-
- 13 Dec, 2016 1 commit
-
-
Jamie Madill authored
Several instances in Visual Studio 2015: warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
-
- 12 Dec, 2016 1 commit
-
-
John Kessenich authored
-