aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader/ast.cpp
AgeCommit message (Collapse)Author
2021-07-22shader: Remove old shader managementReinUsesLisp
2020-12-07ast: Improve string concat readability in operator()Lioncash
Provides an in-place format string to make it more pleasant to read.
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash
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 Sahmkow
2019-10-25Shader_IR: Implement Fast BRX and allow multi-branches in the CFG.Fernando Sahmkow
2019-10-17video_core/shader/ast: Make ShowCurrentState() and SanityCheck() const ↵Lioncash
member functions These can also trivially be made const member functions, with the addition of a few consts.
2019-10-17video_core/shader/ast: Make ASTManager::Print a const member functionLioncash
Given all visiting functions never modify the nodes, we can trivially make this a const member function.
2019-10-17video_core/shader/ast: Make ExprPrinter members privateLioncash
This member already has an accessor, so there's no need for it to be public.
2019-10-17video_core/shader/ast: Make Indent() return a string_viewLioncash
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-17video_core/shader/ast: Make Indent() privateLioncash
It's never used outside of this class, so we can narrow its scope down.
2019-10-17video_core/shader/ast: Rename Ident() to Indent()Lioncash
This can be confusing, given "ident" is generally used as a shorthand for "identifier".
2019-10-17video_core/shader/ast: Make use of fmt where applicableLioncash
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 ↵Lioncash
std::string Allows the function to be non-allocating in terms of the output string.
2019-10-05video_core/ast: Eliminate variable shadowing warningsLioncash
2019-10-05video_core/ast: Replace std::string with a constexpr std::string_viewLioncash
Same behavior, but without the need to heap allocate
2019-10-05video_core/ast: Default the move constructor and assignment operatorLioncash
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 applicableLioncash
Avoids unnecessary atomic reference count increments and decrements.
2019-10-05video_core/ast: Supply const accessors for data where applicableLioncash
Provides const equivalents of data accessors for use within const contexts.
2019-10-04Shader_ir: Address feedbackFernando Sahmkow
2019-10-04Shader_Ir: Address Feedback and clang format.Fernando Sahmkow
2019-10-04Shader_IR: clean up AST handling and add documentation.Fernando Sahmkow
2019-10-04Shader_IR: Correct OutwardMoves for IfsFernando Sahmkow
2019-10-04Shader_IR: corrections and clang-formatFernando Sahmkow
2019-10-04Shader_IR: allow else derivation to be optional.Fernando Sahmkow
2019-10-04Shader_IR: mark labels as unused for partial decompile.Fernando Sahmkow
2019-10-04Shader_Ir: Refactor Decompilation process and allow multiple decompilation ↵Fernando Sahmkow
modes.
2019-10-04gl_shader_decompiler: Implement AST decompilingFernando Sahmkow
2019-10-04shader_ir: Declare Manager and pass it to appropiate programs.Fernando Sahmkow
2019-10-04shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow
2019-10-04shader_ir: Add basic goto eliminationFernando Sahmkow
2019-10-04shader_ir: Initial Decompile SetupFernando Sahmkow