summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt/constant_propagation_pass.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix "Propietary" typo elsewhereGravatar Viktor Szépe2024-01-071-1/+1
|
* shader_recompiler: ensure derivatives for textureGrad are f32Gravatar Liam2023-12-211-1/+11
|
* shader_recompiler: Fix spelling of "derivate" (#12067)Gravatar Ameer J2023-11-181-5/+5
|
* Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagationGravatar Fernando Sahmkow2023-08-181-1/+226
|
* Video_core: Address feedbackGravatar Fernando Sahmkow2023-01-041-0/+3
|
* ShaderCompiler: Inline driver specific constants.Gravatar Fernando Sahmkow2023-01-031-1/+29
|
* MacroHLE: Add HLE replacement for base vertex and base instance.Gravatar Fernando Sahmkow2023-01-011-3/+42
|
* 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-1/+0
|
* shader: Add integer attribute get optimization passGravatar ameerj2021-12-291-0/+23
| | | | Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
* Merge pull request #6767 from ReinUsesLisp/fold-float-packGravatar Morph2021-07-301-0/+4
|\ | | | | shader: Fold UnpackFloat2x16 and PackFloat2x16
| * shader: Fold UnpackFloat2x16 and PackFloat2x16Gravatar ReinUsesLisp2021-07-291-0/+4
| | | | | | | | | | Simplifies the code a bit when possible. These instructions should be no-ops codegen wise.
* | shader: Fold integer FMA from Nvidia's patternGravatar ReinUsesLisp2021-07-261-0/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fold shaders doing "a * b + c" on integers from the pattern generated by Nvidia's GL compiler. On a somewhat complex compute shader it reduces the code size by 16 instructions from 2 matches on Turing GPUs. On Intel as extracted from KHR_pipeline_executable_properties: Before the optimization: ``` Instruction Count: 2057 Basic Block Count: 45 Scratch Memory Size: 14752 Spill Count: 232 Fill Count: 261 SEND Count: 610 Cycle Count: 11325 ``` After the optimization: ``` Instruction Count: 2046 Basic Block Count: 44 Scratch Memory Size: 13728 Spill Count: 219 Fill Count: 268 SEND Count: 604 Cycle Count: 11367 ```
* | shader: Use TryInstRecursive on XMAD multiply foldingGravatar ReinUsesLisp2021-07-261-14/+12
|/ | | | Simplify a bit the logic.
* shader: Avoid usage of C++20 ranges to build in clangGravatar ReinUsesLisp2021-07-221-2/+3
|
* shader: Add constant propagation to integer vectorsGravatar ReinUsesLisp2021-07-221-0/+9
|
* shader: Fix FSwizzleAdd folding when going through phi nodesGravatar ReinUsesLisp2021-07-221-2/+2
|
* glasm: Rework control flow introducing a syntax listGravatar ReinUsesLisp2021-07-221-20/+0
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* shader: Fix BFE s32 undefined checkGravatar ameerj2021-07-221-1/+1
| | | | Our unit tests were hitting this exception.
* shader: Fix error checking in bitfieldExtract and implement bitfieldInsert ↵Gravatar ReinUsesLisp2021-07-221-5/+14
| | | | folding
* shader: Move microinstruction header to the value headerGravatar ReinUsesLisp2021-07-221-1/+1
|
* shader: Add constant propagation for arithmetic right shiftsGravatar ReinUsesLisp2021-07-221-0/+3
|
* shader: Add coarse derivativesGravatar FernandoS272021-07-221-8/+0
|
* shader: Implement fine derivates constant propagationGravatar FernandoS272021-07-221-0/+67
|
* shader: Add constant propagation for *&^| binary operationsGravatar ReinUsesLisp2021-07-221-0/+12
|
* shader_recompiler,video_core: Cleanup some GCC and Clang errorsGravatar lat9nq2021-07-221-23/+26
| | | | | | | | | | | | | | | | | 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: Address FeedbackGravatar FernandoS272021-07-221-6/+3
|
* shader: Fold composite extractGravatar FernandoS272021-07-221-0/+62
|
* shader: Fold comparisons and Pack/Unpack16Gravatar FernandoS272021-07-221-1/+41
|
* shader: Fix constant propagation to use reverse post orderGravatar ReinUsesLisp2021-07-221-1/+2
|
* shader: Refactor PTP and other minor changesGravatar ReinUsesLisp2021-07-221-20/+2
|
* shader: Implement TLD4.PTPGravatar FernandoS272021-07-221-0/+18
|
* shader: Implement TLD4 and TLD4_BGravatar FernandoS272021-07-221-0/+12
|
* shader: Fold interpolation multiplicationsGravatar ReinUsesLisp2021-07-221-0/+34
|
* shader: Implement DMNMX, DSET, DSETPGravatar ameerj2021-07-221-2/+8
|
* shader: Implement CAL inlining function callsGravatar ReinUsesLisp2021-07-221-3/+5
|
* shader: Partial implementation of LDCGravatar ReinUsesLisp2021-07-221-6/+16
|
* shader: FMUL, select, RRO, and MUFU fixesGravatar ReinUsesLisp2021-07-221-1/+1
|
* spirv: Add lower fp16 to fp32 passGravatar ReinUsesLisp2021-07-221-6/+6
|
* shader: Add XMAD multiplication folding optimizationGravatar ReinUsesLisp2021-07-221-5/+77
|
* spirv: Initial bindings supportGravatar ReinUsesLisp2021-07-221-12/+64
|
* shader: Misc fixesGravatar ReinUsesLisp2021-07-221-16/+11
|
* shader: Initial implementation of an ASTGravatar ReinUsesLisp2021-07-221-0/+50
|
* shader: Better constant foldingGravatar ReinUsesLisp2021-07-221-12/+47
|
* shader: Make typed IRGravatar ReinUsesLisp2021-07-221-0/+20
|
* shader: Constant propagation and global memory to storage bufferGravatar ReinUsesLisp2021-07-221-0/+146