summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/ast.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-07-23shader: Remove old shader managementReinUsesLisp1-752/+0
2020-12-07ast: Improve string concat readability in operator()Lioncash1-5/+4
Provides an in-place format string to make it more pleasant to read.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash1-2/+2
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2019-10-25Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow1-1/+1
2019-10-25Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow1-0/+4
2019-10-18video_core/shader/ast: Make ShowCurrentState() and SanityCheck() const member functionsLioncash1-3/+3
These can also trivially be made const member functions, with the addition of a few consts.
2019-10-18video_core/shader/ast: Make ASTManager::Print a const member functionLioncash1-2/+2
Given all visiting functions never modify the nodes, we can trivially make this a const member function.
2019-10-18video_core/shader/ast: Make ExprPrinter members privateLioncash1-1/+2
This member already has an accessor, so there's no need for it to be public.
2019-10-18video_core/shader/ast: Make Indent() return a string_viewLioncash1-14/+24
The returned string is simply a substring of our constexpr tabs string_view, so we can just use a string_view here as well, since the original string_view is guaranteed to always exist. Now the function is fully non-allocating.
2019-10-18video_core/shader/ast: Make Indent() privateLioncash1-9/+9
It's never used outside of this class, so we can narrow its scope down.
2019-10-18video_core/shader/ast: Rename Ident() to Indent()Lioncash1-13/+13
This can be confusing, given "ident" is generally used as a shorthand for "identifier".
2019-10-18video_core/shader/ast: Make use of fmt where applicableLioncash1-14/+14
Makes a few strings nicer to read and also eliminates a bit of string churn with operator+.
2019-10-05video_core/ast: Make ShowCurrentState() take a string_view instead of std::stringLioncash1-1/+1
Allows the function to be non-allocating in terms of the output string.
2019-10-05video_core/ast: Eliminate variable shadowing warningsLioncash1-3/+3
2019-10-05video_core/ast: Replace std::string with a constexpr std::string_viewLioncash1-3/+1
Same behavior, but without the need to heap allocate
2019-10-05video_core/ast: Default the move constructor and assignment operatorLioncash1-24/+0
This is behaviorally equivalent and also fixes a bug where some members weren't being moved over.
2019-10-05video_core/{ast, expr}: Use std::move where applicableLioncash1-9/+11
Avoids unnecessary atomic reference count increments and decrements.
2019-10-05video_core/ast: Supply const accessors for data where applicableLioncash1-35/+31
Provides const equivalents of data accessors for use within const contexts.
2019-10-05Shader_ir: Address feedbackFernando Sahmkow1-41/+7
2019-10-05Shader_Ir: Address Feedback and clang format.Fernando Sahmkow1-4/+10
2019-10-05Shader_IR: clean up AST handling and add documentation.Fernando Sahmkow1-2/+6
2019-10-05Shader_IR: Correct OutwardMoves for IfsFernando Sahmkow1-22/+11
2019-10-05Shader_IR: corrections and clang-formatFernando Sahmkow1-69/+63
2019-10-05Shader_IR: allow else derivation to be optional.Fernando Sahmkow1-3/+6
2019-10-05Shader_IR: mark labels as unused for partial decompile.Fernando Sahmkow1-3/+1
2019-10-05Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.Fernando Sahmkow1-5/+93
2019-10-05gl_shader_decompiler: Implement AST decompilingFernando Sahmkow1-5/+5
2019-10-05shader_ir: Declare Manager and pass it to appropiate programs.Fernando Sahmkow1-3/+136
2019-10-05shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow1-48/+137
2019-10-05shader_ir: Add basic goto eliminationFernando Sahmkow1-16/+332
2019-10-05shader_ir: Initial Decompile SetupFernando Sahmkow1-0/+180