aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
AgeCommit message (Collapse)Author
2022-11-22general: fix compile for Apple ClangLiam
2022-10-06Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.Fernando Sahmkow
2022-06-13structured_control_flow: Remove constexpr Flow::Blocklat9nq
This seems to be unsupported in newer libstdc++ versions due to Flow::Block's base class being a non-literal type. It's not clear to me why this was permitted in earlier versions.
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-03-20shader_recompiler: Reduce unused includesameerj
2021-08-30structured_control_flow: Skip reordering nested demote branches.ameerj
Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
2021-08-30structured_control_flow: Conditionally invoke demote reorder passameerj
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-28structured_control_flow: Add DemoteCombinationPassameerj
Some drivers misread data when demotes are interleaved in the program. This moves demote branches to be checked at the end of the program. Fixes "wireframe" issue in Pokemon SwSh on some drivers
2021-07-22shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp
2021-07-22shader_recompiler, video_core: Resolve clang errorslat9nq
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-22shader: GCC fmt 8.0.0 fixeslat9nq
2021-07-22shader: Move loop safety tests to code emissionReinUsesLisp
2021-07-22shader: Calibrate loop safety thresholdReinUsesLisp
2021-07-22shader: Fix loop safety to SSA passReinUsesLisp
2021-07-22shader: Add shader loop safety check settingslat9nq
Also add a setting for enable Nsight Aftermath.
2021-07-22shader: Always initialize up reference in structure control flowReinUsesLisp
Fixes ubsan issue.
2021-07-22shader: Read branch conditions from an instructionReinUsesLisp
Fixes the identity removal pass.
2021-07-22shader_recompiler: GCC fixeslat9nq
Fixes members of unnamed union not being accessible, and one function without a declaration.
2021-07-22glasm: Initial implementation of phi nodes on GLASMReinUsesLisp
2021-07-22glasm: Rework control flow introducing a syntax listReinUsesLisp
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-22shader: Fix gcc warningsReinUsesLisp
2021-07-22shader: Improve goto removal algorithm complexityReinUsesLisp
Find sibling node containing a nephew searching from the nephew itself instead of the uncle.
2021-07-22shader: Move siblings check to a separate function and comment them outReinUsesLisp
2021-07-22shader: Mark blocks with no end branch as unreachableReinUsesLisp
2021-07-22shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq
Mostly fixing unused *, implicit conversion, braced scalar init, fpermissive, and some others. Some Clang errors likely remain in video_core, and std::ranges is still a pertinent issue in shader_recompiler shader_recompiler: cmake: Force bracket depth to 1024 on Clang Increases the maximum fold expression depth thread_worker: Include condition_variable Don't use list initializers in control flow Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
2021-07-22shader: Fix indirect branches to scheduler instructionsReinUsesLisp
2021-07-22shader: Implement BRXFernandoS27
2021-07-22shader: Fix structured control flow on KIL instructionsReinUsesLisp
This could potentially leave unvisited blocks, leading to illegal phi nodes.
2021-07-22shader: Properly insert Prologue instructionReinUsesLisp
2021-07-22shader: Implement NDC [-1, 1], attribute types and default varying ↵ReinUsesLisp
initialization
2021-07-22shader: Add partial rasterizer integrationReinUsesLisp
2021-07-22shader: Implement CAL inlining function callsReinUsesLisp