summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-08-30structured_control_flow: Skip reordering nested demote branches.ameerj1-0/+11
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 passameerj1-4/+6
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-28structured_control_flow: Add DemoteCombinationPassameerj1-1/+107
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-23shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp1-4/+4
2021-07-23shader_recompiler, video_core: Resolve clang errorslat9nq1-7/+2
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-23shader: GCC fmt 8.0.0 fixeslat9nq1-1/+1
2021-07-23shader: Move loop safety tests to code emissionReinUsesLisp1-33/+4
2021-07-23shader: Calibrate loop safety thresholdReinUsesLisp1-1/+1
2021-07-23shader: Fix loop safety to SSA passReinUsesLisp1-1/+3
2021-07-23shader: Add shader loop safety check settingslat9nq1-4/+38
Also add a setting for enable Nsight Aftermath.
2021-07-23shader: Always initialize up reference in structure control flowReinUsesLisp1-31/+36
Fixes ubsan issue.
2021-07-23shader: Read branch conditions from an instructionReinUsesLisp1-6/+3
Fixes the identity removal pass.
2021-07-23shader_recompiler: GCC fixeslat9nq1-24/+24
Fixes members of unnamed union not being accessible, and one function without a declaration.
2021-07-23glasm: Initial implementation of phi nodes on GLASMReinUsesLisp1-3/+3
2021-07-23glasm: Rework control flow introducing a syntax listReinUsesLisp1-99/+136
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-23shader: Fix gcc warningsReinUsesLisp1-1/+1
2021-07-23shader: Improve goto removal algorithm complexityReinUsesLisp1-49/+28
Find sibling node containing a nephew searching from the nephew itself instead of the uncle.
2021-07-23shader: Move siblings check to a separate function and comment them outReinUsesLisp1-16/+21
2021-07-23shader: Mark blocks with no end branch as unreachableReinUsesLisp1-2/+7
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq1-2/+1
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-23shader: Fix indirect branches to scheduler instructionsReinUsesLisp1-3/+3
2021-07-23shader: Implement BRXFernandoS271-0/+57
2021-07-23shader: Fix structured control flow on KIL instructionsReinUsesLisp1-3/+6
This could potentially leave unvisited blocks, leading to illegal phi nodes.
2021-07-23shader: Properly insert Prologue instructionReinUsesLisp1-1/+2
2021-07-23shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp1-1/+6
2021-07-23shader: Add partial rasterizer integrationReinUsesLisp1-0/+18
2021-07-23shader: Implement CAL inlining function callsReinUsesLisp1-114/+140
2021-07-23shader: Fix control flowReinUsesLisp1-5/+10
2021-07-23spirv: Fixes and Intel specific workaroundsReinUsesLisp1-3/+0
2021-07-23shader: Improve object poolReinUsesLisp1-5/+5
2021-07-23shader: Initial implementation of an ASTReinUsesLisp1-0/+742