| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-05-12 | video_core: Add fallback handling for failed storage buffer lookups | Zephyron | |
| Implements a more robust error handling approach when storage buffer lookups fail in the buffer cache. Instead of returning a null binding, the code now: - Provides a fallback buffer with safe default values - Implements warning rate limiting to prevent log spam - Tracks warning counts per cbuf_index - Logs detailed debug information periodically This change helps prevent potential crashes when storage buffer lookups fail while still maintaining visibility into the issue through strategic logging. The fallback mechanism uses a safe static address and a reasonable buffer size (16KB) to handle cases where the normal GPU to CPU address translation fails. Also updates copyright headers to include citron Emulator Project. Signed-off-by: Zephyron <zephyron@citron-emu.org> | |||
| 2025-05-11 | buffer_cache: Simplify storage buffer binding logic | Zephyron | |
| Reverts overly restrictive storage buffer validation and size calculation that was causing rendering issues in The Legend of Zelda: Tears of the Kingdom, particularly in underground/depth areas. The simplified approach: - Uses GetMemoryLayoutSize() instead of manual page probing - Removes unnecessary 4GB memory bounds validation - Streamlines address translation and alignment handling This fixes numerous reported cases of missing or corrupted rendering in TOTK's underground areas where storage buffer operations are heavily used for depth-related effects. | |||
| 2025-05-11 | buffer_cache: Fix storage buffer memory validation and size detection | Zephyron | |
| Fixes the StorageBufferBinding function to properly handle memory validation and size detection. Key changes include: - Fix ReadBlock usage to properly handle void return values - Implement safer memory validation using byte-level reads - Improve size detection logic for storage buffers - Fix NVN buffer size reading - Add proper bounds checking for device memory addresses - Add better error logging for invalid conditions This addresses the "Failed to find storage buffer for cbuf index 0" errors by implementing more robust memory validation and size detection. The changes ensure proper handling of invalid memory addresses and prevent crashes from accessing out-of-bounds memory. | |||
| 2024-02-27 | general: workarounds for SMMU syncing issues (#12749) | liamwhite | |
| 2024-02-20 | Merge pull request #10529 from liamwhite/critical-spacing | Matías Locatti | |
| caches: make critical reclamation less eager and possible in more cases | |||
| 2024-02-13 | buffer_cache: use mapped range with large vertex buffer size | Liam | |
| 2024-02-11 | caches: make critical reclamation less eager and possible in more cases | Liam | |
| 2024-02-05 | Buffer Cache: Refactor to use Range sets instead | Fernando Sahmkow | |
| 2024-01-18 | Core: Eliminate core/memory dependancies. | Fernando Sahmkow | |
| 2024-01-18 | Core: Clang format and other small issues. | Fernando Sahmkow | |
| 2024-01-18 | SMMU: Initial adaptation to video_core. | Fernando Sahmkow | |
| 2023-11-26 | Merge branch 'master' into ssbo-align | Ameer J | |
| 2023-11-26 | Merge pull request #11535 from GPUCode/upload_cmdbuf | Fernando S | |
| renderer_vulkan: Introduce separate cmd buffer for uploads | |||
| 2023-11-18 | Buffer Cache: Eliminate clears on Indirect buffers | Fernando Sahmkow | |
| 2023-11-12 | renderer_vulkan: Introduce separate cmd buffer for uploads | GPUCode | |
| 2023-10-31 | shader_recompiler: Align SSBO offsets in GlobalMemory functions | Ameer J | |
| 2023-10-31 | buffer_cache: Apply storage buffer alignment only to the offset | Ameer J | |
| 2023-10-31 | shader_recompiler: Align SSBO offsets to meet host requirements | Ameer J | |
| Co-Authored-By: Billy Laws <blaws05@gmail.com> | |||
| 2023-10-23 | Add missing dowhile loops around FindBuffer calls | Kelebek1 | |
| 2023-10-05 | Mark a buffer GPU modified after the buffers are confirmed, do not double ↵ | Kelebek1 | |
| synch them | |||
| 2023-09-23 | Query Cache: address issues | Fernando Sahmkow | |
| 2023-09-23 | Query Cachge: Fully rework Vulkan's query cache | Fernando Sahmkow | |
| 2023-08-27 | Buffer Cache: fix discard writes. | Fernando Sahmkow | |
| 2023-07-15 | buffer_cache: Increase number of texture buffers | GPUCode | |
| 2023-07-02 | Use spans over guest memory where possible instead of copying data. | Kelebek1 | |
| 2023-06-28 | Memory Tracking: Optimize tracking to only use atomic writes when contested ↵ | Fernando Sahmkow | |
| with the host GPU | |||
| 2023-06-28 | MemoryTracking: Initial setup of atomic writes. | Fernando Sahmkow | |
| 2023-06-22 | Remove memory allocations in some hot paths | Kelebek1 | |
| 2023-06-17 | Synchronize vertex buffer even when it doesn't require binding | Kelebek1 | |
| 2023-06-13 | buffer_cache_base: Specify buffer type in HostBindings | Morph | |
| Avoid reinterpret-casting from void pointer since the type is already known at compile time. | |||
| 2023-06-08 | Combine vertex/transform feedback buffer binding into a single call | Kelebek1 | |
| 2023-06-07 | Merge pull request #10476 from ameerj/gl-memory-maps | liamwhite | |
| OpenGL: Make use of persistent buffer maps in buffer cache | |||
| 2023-06-01 | Merge pull request #10091 from Kelebek1/bc_bugggggg | liamwhite | |
| Fix buffer overlap checking skipping a page for stream score right expand | |||
| 2023-05-30 | Skip BufferCache tickframe with no channel state set | Kelebek1 | |
| 2023-05-28 | OpenGL: Make use of persistent buffer maps in buffer cache downloads | ameerj | |
| Persistent buffer maps were already used by the texture cache, this extends their usage for the buffer cache. In my testing, using the memory maps for uploads was slower than the existing "ImmediateUpload" path, so the memory map usage is limited to downloads for the time being. | |||
| 2023-05-27 | Move buffer bindings to per-channel state | Kelebek1 | |
| 2023-05-26 | Fix buffer overlap checking skipping a page for stream score right expand | Kelebek1 | |
| 2023-05-24 | Merge pull request #10422 from liamwhite/gc | Fernando S | |
| video_core: tune garbage collection aggressiveness | |||
| 2023-05-23 | video_core: tune garbage collection aggressiveness | Liam | |
| 2023-05-23 | textures: add BC1 and BC3 compressors and recompression setting | Liam | |
| 2023-05-15 | Buffer Cache: Clear sync code. | Fernando Sahmkow | |
| 2023-05-09 | Swap order of checking/setting region modifications in the buffer_cache | Kelebek1 | |
| 2023-05-07 | Buffer Cache: disable reactive flushing in it. | Fernando Sahmkow | |
| 2023-05-07 | Buffer cache: always use async buffer downloads and fix regression. | Fernando Sahmkow | |
| 2023-05-07 | Settings: add option to enable / disable reactive flushing | Fernando Sahmkow | |
| 2023-05-07 | GPU: Add Reactive flushing | Fernando Sahmkow | |
| 2023-05-02 | video_core: fix build on Apple Clang | Liam | |
| 2023-05-01 | BufferCache: Fixes and address feedback | Fernando Sahmkow | |
| 2023-04-29 | Buffer Cache: Release stagging buffers on tick frame | Fernando Sahmkow | |
| 2023-04-29 | Clang: format and ficx compile errors. | Fernando Sahmkow | |
