- 09 May, 2016 1 commit
-
-
qining authored
Reimplement the whole workflow to make that: precise'ness of struct members won't spread to other non-precise members of the same struct instance. Approach: 1. Build the map from symbols to their defining nodes. And for each object node (StructIndex, DirectIndex, Symbol nodes, etc), generates an accesschain path. Different AST nodes that indicating a same object should have the same accesschain path. 2. Along the building phase in step 1, collect the initial set of 'precise' (AST qualifier: 'noContraction') objects' accesschain paths. 3. Start with the initial set of 'precise' accesschain paths, use it as a worklist, do as the following steps until the worklist is empty: 1) Pop an accesschain path from worklist. 2) Get the symbol part from the accesschain path. 3) Find the defining nodes of that symbol. 4) For each defining node, check whether it is defining a 'precise' object, or its assignee has nested 'precise' object. Get the incremental path from assignee to its nested 'precise' object (if any). 5) Traverse the right side of the defining node, obtain the accesschain paths of the corresponding involved 'precise' objects. Update the worklist with those new objects' accesschain paths. Label involved operations with 'noContraction'. In each step, whenever we find the parent object of an nested object is 'precise' (has 'noContraction' qualifier), we let the nested object inherit the 'precise'ness from its parent object.
-
- 06 May, 2016 2 commits
-
-
John Kessenich authored
-
John Kessenich authored
-
- 05 May, 2016 19 commits
-
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
CMake: Updated to better organize folders and options.
-
John Kessenich authored
-
John Kessenich authored
Use strtoll, as stoll is unavailable on Android.
-
Andrew Woloszyn authored
-
Andrew Woloszyn authored
This adds solution folders that properly group gtest/glslang/hlsl. This also marks gtest options as advanced so they don't show up in cmake-gui by default.
-
John Kessenich authored
-
Dejan Mircevski authored
-
John Kessenich authored
Avoid printing to stdout directly in library functions.
-
John Kessenich authored
README: Explain test organization and deduplication.
-
Lei Zhang authored
-
Lei Zhang authored
-
Lei Zhang authored
-
Lei Zhang authored
Previously GlslangToSpv() reported missing/TBD functionalities by directly writing to stdout using printf. That could cause problems to callers of GlslangToSpv(). This patch cleans up the error reporting logic in GlslangToSpv(), TGlslangToSpvTraverser, and spv::Builder a little bit to use ostringstream. Also fixed the usage of GlslangToSpv() in GTest fixtures to capture warnings/errors reported when translating AST to SPIR-V.
-
Rex Xu authored
-
Rex Xu authored
Add new built-in variables and functions to the parser (SPIR-V tokens are missing).
-
- 04 May, 2016 15 commits
-
-
John Kessenich authored
CMake: Remove duplicated cmake_minimum_required() calls.
-
Lei Zhang authored
-
John Kessenich authored
This should be the last commit in this sequence to form the base of the work in pull request #222.
-
John Kessenich authored
This partly overlaps pull request #222, we have divided the work on this one.
-
John Kessenich authored
This hopefully prevents obsucuring actual changes in a future commit. Also, adds a script to update the grammar.
-
John Kessenich authored
Remove the obselete and incorrect LinusDoAll.bash.
-
Lei Zhang authored
-
John Kessenich authored
CMake: Bump minimum required CMake version to 2.8.12.
-
Lei Zhang authored
CMake 2.8.12 added support for target_include_directories(), among other features, and we would like to use it.
-
John Kessenich authored
Testing: Add configuration for Travis to test on Linux and Mac OS X.
-
Lei Zhang authored
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
Note this requires test-based piecing together of the preamble string, so it changed to being a std::string to make it easier to do. This closes issue #254.
-
John Kessenich authored
This is a replacement commit for pull request #238. This is a design change, followed by implementation change that A) fixes the changes caused by the design change, and B) fixes some cases that were originally incorrect. The design change is to not give built-in functions default precision qualification. This is to allow the rule that the precision of some built-in functions adopt their precision qualification from the calling arguments. This is A above. A consequence of this design change is that all built-ins that are supposed to have an explicit precision qualifier must now be declared that way. So, a lot more built-in declarations now have precision qualifiers, just to keep things the same. This is B above.
-
- 02 May, 2016 2 commits
-
-
John Kessenich authored
Remove unused files SetupLinux.sh and index.php.
-
David Yen authored
-
- 30 Apr, 2016 1 commit
-
-
John Kessenich authored
Full stack: Implement the extension GL_ARB_gpu_shader_int64
-