summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/ir/ir_emitter.cpp
AgeCommit message (Collapse)Author
2025-01-17shader_recompiler: Add stubs for CSM/FCSM flow test conditionsZephyron
Add stub implementations for previously unhandled flow test conditions in the shader recompiler's IR emitter. These conditions were previously throwing "Not Implemented" exceptions when encountered. The following flow test cases are now stubbed: - FCSM_TR (Fragment Shader Coarse/Fine Mode Test and Reject) - CSM_TA (Coarse/Fine Mode Test Accept) - CSM_TR (Coarse/Fine Mode Test and Reject) - CSM_MX (Coarse/Fine Mode Maximum) - FCSM_TA (Fragment Shader Coarse/Fine Mode Test Accept) - FCSM_MX (Fragment Shader Coarse/Fine Mode Maximum) Currently these stubs: 1. Return false (ir.Imm1(false)) as a placeholder value 2. Log a warning message indicating the stub 3. Allow shaders using these conditions to compile rather than fail This is a step toward proper implementation of coarse/fine mode shader operations. The stubs prevent crashes while making it clear which code paths need full implementation. Technical notes: - Removed the previous FCSM_TR implementation that used flag operations - Added consistent warning messages for tracking stub usage - Kept within the existing GetFlowTest switch statement structure
2025-01-17Downgrade Android SDK and build toolsZephyron
- Reduce compileSdkVersion and targetSdk from 35 to 34 - Change NDK version to 26.1.10909125 - Downgrade Android Gradle Plugin from 8.8.0 to 8.1.2 - Add androidx.constraintlayout dependency These changes improve compatibility with current Android development environment and add necessary layout support.
2025-01-17Revert "shader-recompiler: implement FCSM_TR flow test case"vampiric_x
This reverts commit 496b010927d7db3bcd6c52ddeadf34b9d9ca4f3a.
2025-01-15shader-recompiler: implement FCSM_TR flow test caseZephyron
Remove the stubbed implementation of FCSM_TR (Forward Condition Set Mode - Thread Reduction) flow test and replace it with an initial implementation using SFlag and ZFlag conditions. This provides basic functionality while allowing for future refinement based on specific shader architecture requirements.
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2023-11-18shader_recompiler: Fix spelling of "derivate" (#12067)Ameer J
2023-01-29Merge pull request #9694 from ameerj/txq-mipsliamwhite
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28shader_recompiler: TXQ: Skip QueryLevels when possibleameerj
2023-01-25shader_recompiler: Remove S32 IR typeameerj
The frontend IR opcodes do not distinguish between signed and unsigned integer types. Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
2023-01-01MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow
2022-11-07video_core: Fix few issues in Tess stageFengChen
2022-11-04video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen
2022-09-20video_core: Generate mipmap texture by drawingFengChen
2022-08-25video_code: support rectangle textureFengChen
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.
2021-11-16shader: Properly scale image reads and add GL SPIR-V supportReinUsesLisp
Thanks for everything!
2021-11-16shader: Add IsTextureScaled opcodeReinUsesLisp
2021-11-16shader: Add integer division opcodesReinUsesLisp
2021-11-16shader: Add resolution down factor opcodeReinUsesLisp
2021-07-22shader: Remove IAbs64ReinUsesLisp
2021-07-22shader: Move loop safety tests to code emissionReinUsesLisp
2021-07-22shader: Add loggingReinUsesLisp
2021-07-22shader: Add shader loop safety check settingslat9nq
Also add a setting for enable Nsight Aftermath.
2021-07-22shader: Read branch conditions from an instructionReinUsesLisp
Fixes the identity removal pass.
2021-07-22glasm: Implement TEX and TEXS instructionsReinUsesLisp
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
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: Add floating-point rounding to I2FReinUsesLisp
2021-07-22shader: Implement Int32 SUATOM/SUREDameerj
2021-07-22shader: Initial OpenGL implementationReinUsesLisp
2021-07-22shader: Add coarse derivativesFernandoS27
2021-07-22shader: Implement fine derivates constant propagationFernandoS27
2021-07-22shader: Implement SR_Y_DIRECTIONFernandoS27
2021-07-22shader: Fix memory barriersReinUsesLisp
2021-07-22shader: Implement SampleMaskReinUsesLisp
2021-07-22shader: Implement PIXLD.MY_INDEXReinUsesLisp
2021-07-22shader: Implement tessellation shaders, polygon mode and invocation idReinUsesLisp
2021-07-22shader: Implement geometry shadersReinUsesLisp
2021-07-22shader: Implement OUTReinUsesLisp
2021-07-22shader: Implement SR_THREAD_KILLReinUsesLisp
2021-07-22shader: Implement ATOM/S and REDameerj
2021-07-22shader: Implement SULD and SUSTReinUsesLisp
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: Address feedbackFernandoS27
2021-07-22shader: Implement indexed attributesFernandoS27
2021-07-22shader: Add subgroup masksReinUsesLisp
2021-07-22shader: Implement BAR and fix memory barriersReinUsesLisp
2021-07-22shader: Reimplement GetCbufU64 as GetCbufU32x2ReinUsesLisp
It may generate better code on some compilers and it's easier to handle.
2021-07-22shader: Fix undetected bug from reviewFernandoS27