aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-10-15gl_shader_decompiler: Make ExprDecompiler's GetResult() a const member functionLioncash
This is only ever used to read, but not write, the resulting string, so we can enforce this by making it a const member function.
2019-10-15gl_shader_decompiler: Use a std::string_view with GetDeclarationWithSuffix()Lioncash
This allows the function to be completely non-allocating for inputs of all sizes (i.e. there's no heap cost for an input to convert to a std::string_view).
2019-10-15gl_shader_decompiler: Fold flow_var constant into GetFlowVariable()Lioncash
This is only ever used within this function, so we can narrow it's scope down.
2019-10-15gl_shader_decompiler: Mark ASTDecompiler/ExprDecompiler parameters as const ↵Lioncash
references where applicable These member functions don't actually modify the input parameter, so we can make this explicit with the use of const.
2019-10-15gl_shader_decompiler: Pass by reference to GenerateTextureArgument()Lioncash
Avoids an unnecessary atomic reference count increment and decrement.
2019-10-15gl_shader_decompiler: Use std::holds_alternative within GenerateTexture()Lioncash
This only ever queries if the type exists within the variant, but doesn't actually do anything with the return value. We can just use std::holds_alternative for this use case.
2019-10-15shader/node: std::move Meta instance within OperationNode constructorLioncash
Allows usages of the constructor to avoid an unnecessary copy.
2019-10-15gl_shader_decompiler: Avoid unnecessary copies of MetaImageLioncash
MetaImage contains a std::vector, so copying here could result in unnecessary reallocations. Given the operation lives throughout the entire scope, this is safe to do.
2019-10-15common: Rename binary_find.h to algorithm.hLioncash
Makes the header more general for other potential algorithms in the future. While we're at it, include a missing <functional> include to satisfy the use of std::less.
2019-10-09Merge pull request #2928 from ReinUsesLisp/dirty-depth-boundsbunnei
maxwell_3d: Add dirty flags for depth bounds values
2019-10-09Merge pull request #2927 from ReinUsesLisp/polygon-offset-unitsbunnei
gl_rasterizer: Fix polygon offset units
2019-10-07shader/half_set_predicate: Fix HSETP2 for constant buffersReinUsesLisp
HSETP2 when used with a constant buffer parses the second operand type as F32. This is not configurable.
2019-10-07shader/half_set_predicate: Reduce DEBUG_ASSERT to LOG_DEBUGReinUsesLisp
2019-10-06gl_shader_disk_cache: Properly ignore existing cacheReinUsesLisp
Previously old entries where appended to the file even if the shader cache was ignored at boot. Address that issue.
2019-10-05video_core/control_flow: Eliminate variable shadowing warningsLioncash
2019-10-05video_core/control_flow: Eliminate pessimizing movesLioncash
These can inhibit the ability of a compiler to perform RVO.
2019-10-05video_core/ast: Unindent most of IsFullyDecompiled() by one levelLioncash
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}: Organize forward declarationLioncash
Keeps them alphabetically sorted for readability.
2019-10-05video_core/expr: Supply operator!= along with operator==Lioncash
Provides logical symmetry to the interface.
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-05Merge pull request #2888 from FernandoS27/decompiler2David
Shader_IR: Implement a full control flow decompiler for the shader IR.
2019-10-05maxwell_3d: Add dirty flags for depth bounds valuesReinUsesLisp
This is useful in Vulkan where we want to update depth bounds without caring if it's enabled or disabled through vkCmdSetDepthBounds.
2019-10-04Texture_Cache: Blit Deduction corrections and simplifications.Fernando Sahmkow
2019-10-04TextureCache: Add the ability to deduce if two textures are depth on blit.Fernando Sahmkow
2019-10-04Shader_ir: Address feedbackFernando Sahmkow
2019-10-04Shader_Ir: Address Feedback and clang format.Fernando Sahmkow
2019-10-04vk_shader_decompiler: Correct Branches inside conditionals.Fernando Sahmkow
2019-10-04vk_shader_decompiler: Clean code and be const correct.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-04vk_shader_compiler: Don't enclose branches with if(true) to avoid crashing AMDFernando Sahmkow
2019-10-04gl_shader_decompiler: Refactor and address feedback.Fernando Sahmkow
2019-10-04Shader_IR: corrections and clang-formatFernando Sahmkow
2019-10-04vk_shader_compiler: Correct SPIR-V AST DecompilingFernando Sahmkow
2019-10-04Shader_IR: allow else derivation to be optional.Fernando Sahmkow
2019-10-04vk_shader_compiler: Implement the decompiler in SPIR-VFernando 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
2019-10-01gl_rasterizer: Fix polygon offset unitsReinUsesLisp
For some reason hardware divides polygon offset units by two. This is visible since drivers multiply the application requested polygon offset by two.
2019-09-24gl_shader_decompiler: Add tailing return for HUnpack2ReinUsesLisp