eden/src/video_core
MaranBr f273423b2b
[buffer_cache] Simplify GPU fence synchronization and remove GPU buffer readback (#4477)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

This is understood to improve GPU synchronization within the buffer cache in certain edge cases.

GPU Fence Strict is no longer necessary. We now apply the stronger synchronization only in the specific case that actually requires it.

The GPU Buffer Readback has been removed, as it is no longer needed following PR #4473.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4477
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-09-26 05:01:27 +02:00
..
buffer_cache [buffer_cache] Simplify GPU fence synchronization and remove GPU buffer readback (#4477) 2026-09-26 05:01:27 +02:00
control [video_core/control] Fix SIGBUS due to uninit channel_state (#4406) 2026-09-14 00:39:07 +02:00
engines [video_core] cpu buffer fix + kepler uploads / maxwell macro dirty tracking fixes (#4473) 2026-09-24 18:44:14 +02:00
frame_gen [android] Add LSFG UI to quick settings (#4393) 2026-09-14 02:53:30 +02:00
gpu_logging [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
host1x [cmake] Fix some macOS compilation errors (#4350) 2026-09-05 23:43:46 +02:00
host_shaders [vulkan, sgsr] Adjustments to SGSR implementation (#4293) 2026-08-23 23:36:24 +02:00
post_processing [vulkan, android] Add feature of post-processing shaders on Android (#4348) 2026-09-10 15:14:02 +02:00
query_cache [buffer_cache] Simplify GPU fence synchronization and remove GPU buffer readback (#4477) 2026-09-26 05:01:27 +02:00
renderer_null nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
renderer_opengl [shader_recompiler, vulkan] Virtual buffer pages with multi-range + sparse buffers binding (#4362) 2026-09-08 20:42:20 +02:00
renderer_vulkan [buffer_cache] Simplify GPU fence synchronization and remove GPU buffer readback (#4477) 2026-09-26 05:01:27 +02:00
texture_cache [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
textures [vulkan] Removal of QCOM sampler limiters + CustomBorderColor and ColorBorderSwizzle adjustments (#4301) 2026-08-25 20:03:18 +02:00
vulkan_common [vulkan] Masquerade VkInfo as PUBGMobile + UE (#4320) 2026-09-08 21:04:08 +02:00
CMakeLists.txt Revert "[audio] Replace libopus with FFmpeg (#4169)" (#4419) 2026-09-14 14:34:24 +02:00
cache_types.h RasterizerMemory: Add filtering for flushing/invalidation operations. 2023-01-01 16:43:58 -05:00
capture.h nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
cdma_pusher.cpp [fmt] use {#:x} instead of 0x{:#x} (#4170) 2026-07-25 21:47:07 +02:00
cdma_pusher.h [video_core] fix H264 and jthread() causing spurious errors (#3907) 2026-04-29 19:23:20 +02:00
compatible_formats.cpp renderer_vulkan: Fix some missing view formats 2023-07-01 16:03:35 +03:00
compatible_formats.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
delayed_destruction_ring.h [VK] Rework SPIRV Shader Optimization (#238) 2025-07-03 01:13:33 +00:00
dirty_flags.cpp Fix stencil func registers, make clip control equivalent to how it was before, but surely wrong. 2022-10-10 20:59:57 +01:00
dirty_flags.h [scheduler, dma, maxwell] Reduce CPU stalls in the GPU command processing pipeline through multiple targeted optimizations (#3296) 2026-01-18 03:45:18 +01:00
dma_pusher.cpp [video_core] cpu buffer fix + kepler uploads / maxwell macro dirty tracking fixes (#4473) 2026-09-24 18:44:14 +02:00
dma_pusher.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
fence_manager.h [buffer_cache] Simplify GPU fence synchronization and remove GPU buffer readback (#4477) 2026-09-26 05:01:27 +02:00
framebuffer_config.cpp [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
framebuffer_config.h [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
fsr.cpp [common] replace Common::BitCast with libc++ provided one (#2774) 2025-10-22 02:56:28 +02:00
fsr.h [common] replace Common::BitCast with libc++ provided one (#2774) 2025-10-22 02:56:28 +02:00
gpu.cpp [gpu] Fix infinite hangup/freezes at shutdown/reset (#4395) 2026-09-11 15:29:52 +02:00
gpu.h [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
gpu_thread.cpp [gpu] Fix infinite hangup/freezes at shutdown/reset (#4395) 2026-09-11 15:29:52 +02:00
gpu_thread.h [gpu] Fix infinite hangup/freezes at shutdown/reset (#4395) 2026-09-11 15:29:52 +02:00
guest_memory.h Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
invalidation_accumulator.h [video_core] simplify InvalidationAccumulator (#3890) 2026-04-28 00:24:54 +02:00
macro.cpp [meta] Discourage profanity usage (#4239) 2026-08-09 02:53:16 +02:00
macro.h [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
memory_manager.cpp [common/core/dynarmic] Optimize page table allocations (#4219) 2026-09-09 21:35:49 +02:00
memory_manager.h [common/core/dynarmic] Optimize page table allocations (#4219) 2026-09-09 21:35:49 +02:00
present.h gpu: dependency-inject scaling/antialiasing filter state for capture layers 2024-02-09 09:20:53 -05:00
pte_kind.h [video_core] correct not-quite-correct PTE_kind enumeration (#4077) 2026-06-15 22:05:18 +02:00
query_cache.h [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
rasterizer_download_area.h Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
rasterizer_interface.h [Rasterizer]: Implement "Skip CPU Inner Invalidation" hack 2025-07-09 04:23:22 +02:00
renderer_base.cpp [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
renderer_base.h [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
shader_cache.cpp [fmt] use {#:x} instead of 0x{:#x} (#4170) 2026-07-25 21:47:07 +02:00
shader_cache.h [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
shader_environment.cpp [video_core] gate Mesa EXIT terminator detection behind non-proprietary driver (#4151) 2026-07-01 13:06:00 +02:00
shader_environment.h [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
shader_notify.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
shader_notify.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
smaa_area_tex.h [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
smaa_search_tex.h [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
surface.cpp [vulkan] 3rd Vulkan Global Maintenance (#4189) 2026-07-09 04:22:43 +02:00
surface.h [vulkan] 3rd Vulkan Global Maintenance (#4189) 2026-07-09 04:22:43 +02:00
transform_feedback.cpp [vulkan] 2nd Vulkan Global Maintenance (#3853) 2026-04-24 16:37:18 +02:00
transform_feedback.h Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
video_core.cpp [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
video_core.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00