- Jan 02, 2017
-
-
John Kessenich authored
-
- Dec 30, 2016
-
-
John Kessenich authored
-
John Kessenich authored
-
- Dec 22, 2016
-
-
John Kessenich authored
Modify shader ballot extension by adding OpSubgroupReadInvocationKHR
-
- Dec 21, 2016
-
-
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
-
- Dec 20, 2016
-
-
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
-
- Dec 19, 2016
-
-
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.
-
- Dec 17, 2016
-
-
John Kessenich authored
-
- Dec 15, 2016
-
-
John Kessenich authored
-
- Dec 14, 2016
-
-
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.
-
- Dec 13, 2016
-
-
Jamie Madill authored
Several instances in Visual Studio 2015: warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
-
- Dec 12, 2016
-
-
John Kessenich authored
-
steve-lunarg authored
If some DCE is performed such as removing dead functions, then even if we are NOT stripping debug info, we still must remove the debug opcodes that refer to the now-dead IDs. Also, this adds a small change to perform no ID remapping if none is requested, making spirv-remap properly be a no-op if no options are given.
-
- Dec 10, 2016
-
-
John Kessenich authored
Fixes issue #610. Also provides a testing option to keep uncalled functions.
-
John Kessenich authored
-
John Kessenich authored
This wasn't needed until the recent generalization of "main" to "entry point", so makes some HLSL-specific code be generic now, for GLSL functional correctness.
-