summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* general: fix compile for Apple ClangLiam2022-11-231-0/+1
|
* Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.Fernando Sahmkow2022-10-061-3/+3
|
* structured_control_flow: Remove constexpr Flow::Blocklat9nq2022-06-141-6/+0
| | | | | | 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.
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* shader_recompiler: Reduce unused includesameerj2022-03-201-2/+0
|
* structured_control_flow: Skip reordering nested demote branches.ameerj2021-08-301-0/+11
| | | | Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
* structured_control_flow: Conditionally invoke demote reorder passameerj2021-08-301-4/+6
| | | | This is only needed on select drivers when a fragment shader discards/demotes.
* structured_control_flow: Add DemoteCombinationPassameerj2021-08-281-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
* shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp2021-07-231-4/+4
|
* shader_recompiler, video_core: Resolve clang errorslat9nq2021-07-231-7/+2
| | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
* shader: GCC fmt 8.0.0 fixeslat9nq2021-07-231-1/+1
|
* shader: Move loop safety tests to code emissionReinUsesLisp2021-07-231-33/+4
|
* shader: Calibrate loop safety thresholdReinUsesLisp2021-07-231-1/+1
|
* shader: Fix loop safety to SSA passReinUsesLisp2021-07-231-1/+3
|
* shader: Add shader loop safety check settingslat9nq2021-07-231-4/+38
| | | | Also add a setting for enable Nsight Aftermath.
* shader: Always initialize up reference in structure control flowReinUsesLisp2021-07-231-31/+36
| | | | Fixes ubsan issue.
* shader: Read branch conditions from an instructionReinUsesLisp2021-07-231-6/+3
| | | | Fixes the identity removal pass.
* shader_recompiler: GCC fixeslat9nq2021-07-231-24/+24
| | | | | Fixes members of unnamed union not being accessible, and one function without a declaration.
* glasm: Initial implementation of phi nodes on GLASMReinUsesLisp2021-07-231-3/+3
|
* glasm: Rework control flow introducing a syntax listReinUsesLisp2021-07-231-99/+136
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* shader: Fix gcc warningsReinUsesLisp2021-07-231-1/+1
|
* shader: Improve goto removal algorithm complexityReinUsesLisp2021-07-231-49/+28
| | | | | Find sibling node containing a nephew searching from the nephew itself instead of the uncle.
* shader: Move siblings check to a separate function and comment them outReinUsesLisp2021-07-231-16/+21
|
* shader: Mark blocks with no end branch as unreachableReinUsesLisp2021-07-231-2/+7
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq2021-07-231-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>
* shader: Fix indirect branches to scheduler instructionsReinUsesLisp2021-07-231-3/+3
|
* shader: Implement BRXFernandoS272021-07-231-0/+57
|
* shader: Fix structured control flow on KIL instructionsReinUsesLisp2021-07-231-3/+6
| | | | | This could potentially leave unvisited blocks, leading to illegal phi nodes.
* shader: Properly insert Prologue instructionReinUsesLisp2021-07-231-1/+2
|
* shader: Implement NDC [-1, 1], attribute types and default varying initializationReinUsesLisp2021-07-231-1/+6
|
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-231-0/+18
|
* shader: Implement CAL inlining function callsReinUsesLisp2021-07-231-0/+770