summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* general: fix compile for Apple ClangGravatar Liam2022-11-221-0/+1
|
* Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.Gravatar Fernando Sahmkow2022-10-061-3/+3
|
* structured_control_flow: Remove constexpr Flow::BlockGravatar lat9nq2022-06-131-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 SPDXGravatar Morph2022-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 includesGravatar ameerj2022-03-201-2/+0
|
* structured_control_flow: Skip reordering nested demote branches.Gravatar 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 passGravatar ameerj2021-08-301-4/+6
| | | | This is only needed on select drivers when a fragment shader discards/demotes.
* structured_control_flow: Add DemoteCombinationPassGravatar ameerj2021-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 clangGravatar ReinUsesLisp2021-07-221-4/+4
|
* shader_recompiler, video_core: Resolve clang errorsGravatar lat9nq2021-07-221-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 fixesGravatar lat9nq2021-07-221-1/+1
|
* shader: Move loop safety tests to code emissionGravatar ReinUsesLisp2021-07-221-33/+4
|
* shader: Calibrate loop safety thresholdGravatar ReinUsesLisp2021-07-221-1/+1
|
* shader: Fix loop safety to SSA passGravatar ReinUsesLisp2021-07-221-1/+3
|
* shader: Add shader loop safety check settingsGravatar lat9nq2021-07-221-4/+38
| | | | Also add a setting for enable Nsight Aftermath.
* shader: Always initialize up reference in structure control flowGravatar ReinUsesLisp2021-07-221-31/+36
| | | | Fixes ubsan issue.
* shader: Read branch conditions from an instructionGravatar ReinUsesLisp2021-07-221-6/+3
| | | | Fixes the identity removal pass.
* shader_recompiler: GCC fixesGravatar lat9nq2021-07-221-24/+24
| | | | | Fixes members of unnamed union not being accessible, and one function without a declaration.
* glasm: Initial implementation of phi nodes on GLASMGravatar ReinUsesLisp2021-07-221-3/+3
|
* glasm: Rework control flow introducing a syntax listGravatar ReinUsesLisp2021-07-221-99/+136
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* shader: Fix gcc warningsGravatar ReinUsesLisp2021-07-221-1/+1
|
* shader: Improve goto removal algorithm complexityGravatar ReinUsesLisp2021-07-221-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 outGravatar ReinUsesLisp2021-07-221-16/+21
|
* shader: Mark blocks with no end branch as unreachableGravatar ReinUsesLisp2021-07-221-2/+7
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorsGravatar lat9nq2021-07-221-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 instructionsGravatar ReinUsesLisp2021-07-221-3/+3
|
* shader: Implement BRXGravatar FernandoS272021-07-221-0/+57
|
* shader: Fix structured control flow on KIL instructionsGravatar ReinUsesLisp2021-07-221-3/+6
| | | | | This could potentially leave unvisited blocks, leading to illegal phi nodes.
* shader: Properly insert Prologue instructionGravatar ReinUsesLisp2021-07-221-1/+2
|
* shader: Implement NDC [-1, 1], attribute types and default varying ↵Gravatar ReinUsesLisp2021-07-221-1/+6
| | | | initialization
* shader: Add partial rasterizer integrationGravatar ReinUsesLisp2021-07-221-0/+18
|
* shader: Implement CAL inlining function callsGravatar ReinUsesLisp2021-07-221-0/+770