summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt
AgeCommit message (Collapse)Author
2025-05-12socket: Implement missing errno values and improve network error handlingZephyron
Add support for missing errno values needed by TOTK: - Add BUSY (16) for "Device or resource busy" errors - Add NOTSOCK (88) for "Socket operation on non-socket" errors Improvements: - Update TranslateNativeError on both Windows and Unix to handle new error codes - Change socket error logging for NOTSOCK from WARNING to DEBUG level - Fix formatting in Unix errno translation code - Update shader storage buffer tracking range to accommodate TOTK buffers - Add hex format to storage buffer logging for easier comparison with bias range - Change storage buffer tracking log level from WARNING to DEBUG These changes help prevent error messages in games that use network features not fully implemented in the emulator yet. Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-12nvn(fix): Optimize shader performance by enhancing NVN bias settingsZephyron
Improve GPU storage buffer detection and memory access patterns: - Expand NVN bias address range (0x100-0x800 vs 0x110-0x610) - Increase alignment from 16 to 32 bytes for optimal memory access - Raise default alignment from 8 to 16 bytes for non-biased addresses - Refactor bias handling code for better readability - Add detailed performance-related comments These changes help identify more storage buffers within shaders and ensure memory accesses are better aligned, which improves overall shader compilation and execution performance. Signed-off-by: Zephyron <zephyron@citron-emu.org>
2024-12-20shader/recompiler: Revert NVN storage buffer bias rangeEmulationEnjoyer
- Return to original NVN bias values which better cover the full range of storage buffer accesses: - offset_begin: 0x110 -> 0x100 - offset_end: 0x610 -> 0x700 The wider range ensures we catch all valid storage buffer accesses while maintaining the same alignment requirements. ref: https://git.citron-emu.org/Citron/Citron/commit/2564e721df8b11e81df66c3fd5b04ae760e9550b
2024-01-07Fix "Propietary" typo elsewhereViktor Szépe
2023-12-22Merge pull request #12435 from liamwhite/type-checkFernando S
shader_recompiler: ensure derivatives for textureGrad are f32
2023-12-21shader_recompiler: ensure derivatives for textureGrad are f32Liam
2023-12-21shader_recompiler: use float image operations on load/store when requiredLiam
2023-12-18shader_recompiler: use minimal clip distance arrayLiam
2023-11-26Merge branch 'master' into ssbo-alignAmeer J
2023-11-19Merge pull request #12066 from ameerj/nvidia-nsanityliamwhite
shader_recompiler: add byteswap pattern workaround for Nvidia
2023-11-18shader_recompiler: Fix spelling of "derivate" (#12067)Ameer J
2023-11-17shader_recompiler: add byteswap pattern workaround for NvidiaAmeer J
2023-10-31shader_recompiler: Align SSBO offsets to meet host requirementsAmeer J
Co-Authored-By: Billy Laws <blaws05@gmail.com>
2023-08-18Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagationFernando Sahmkow
2023-07-23ssa_rewrite_pass: use proper mapsLiam
2023-06-25shaders: Track local memory usageameerj
2023-06-12Merge pull request #10699 from liamwhite/conditional-barrierMatías Locatti
shader_recompiler: remove barriers in conditional control flow when device lacks support
2023-06-10shader_recompiler: translate f64 to f32 when unsupported on hostLiam
2023-06-10shader_recompiler: remove barriers in conditional control flow when device ↵Liam
lacks support
2023-02-25buffer_cache: Add logic for non-NVN storage buffer trackingameerj
2023-02-19Merge pull request #9588 from liamwhite/bylaws-revertsliamwhite
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
2023-01-29Merge pull request #9699 from ameerj/texture-pass-descliamwhite
texture_pass: Fix texture descriptors comparisons
2023-01-29Merge pull request #9698 from ameerj/texture-pass-handleliamwhite
texture_pass: Refactor texture handle retrieval
2023-01-29Merge pull request #9694 from ameerj/txq-mipsliamwhite
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28texture_pass: Fix texture descriptors comparisonsameerj
2023-01-28texture_pass: Refactor texture handle retrievalameerj
2023-01-28Merge pull request #9682 from ameerj/shader-s32bunnei
shader_recompiler: Remove S32 IR type
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-23spirv: fix multisampled image fetchLiam
2023-01-07Revert "shader_recompiler: Align SSBO offsets to meet host requirements"Liam
This reverts commit 8804a4eb23e0c4f3e4bab03dee7c204bd38bf21e.
2023-01-05Run clang-formatBilly Laws
2023-01-05shader_recompiler: Align SSBO offsets to meet host requirementsBilly Laws
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-04Video_core: Address feedbackFernando Sahmkow
2023-01-03ShaderCompiler: Inline driver specific constants.Fernando Sahmkow
2023-01-01MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow
2022-12-01shader_recompiler: add gl_Layer translation GS for older hardwareLiam
2022-11-11Merge pull request #9167 from vonchenplus/tessliamwhite
video_core: Fix few issues in Tess stage
2022-11-11ir/texture_pass: Use host_info instead of querying Settings::values (#9176)Morph
2022-11-07video_core: Fix few issues in Tess stageFengChen
2022-11-04video_core: Fix SNORM texture buffer emulating error (#9001)Feng Chen
2022-11-03Merge pull request #8858 from vonchenplus/mipmapbunnei
video_core: Generate mipmap texture by drawing
2022-10-25Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass"Feng Chen
2022-10-06General: Fix compilation for GCCLiam White
2022-10-06Shader Decompiler: implement better tracking for Vulkan samplers.Fernando Sahmkow
2022-10-06Shader Decompiler: Check for shift when deriving composite samplers.Fernando Sahmkow
2022-09-20Merge branch 'master' into mipmapFeng Chen
2022-09-20video_core: Generate mipmap texture by drawingFengChen
2022-08-31style: General style changes to match with the rest of the codebaseMorph
2022-08-25video_code: support rectangle textureFengChen