eden/src/video_core
Ribbit 990a43a48c
[vk] Add missing flush per spec (#2624)
We copy pixels into a CPU-side staging buffer and then ask the GPU to read from it. On some systems those CPU writes aren’t automatically visible to the GPU unless explicitly flushed, so the GPU can sometimes read stale data. By calling buffer.Flush() immediately after writing, we force those CPU changes to become visible to the device, ensuring the GPU sees the latest frame. However, this is an emulator, so sometimes what spec says may not work cause reasons.

Co-authored-by: Ribbit <ribbit@placeholder.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2624
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: Ribbit <ribbit@eden-emu.dev>
Co-committed-by: Ribbit <ribbit@eden-emu.dev>
2025-10-02 20:00:34 +02:00
..
buffer_cache [video_core] Fix fast buffers without performance loss (#2605) 2025-09-28 07:29:19 +02:00
control [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
engines [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
host1x [host1x] Improve FFmpeg error handling (#2643) 2025-10-02 00:15:14 +02:00
host_shaders [vk, opengl] add lanczo and spline-1 filtering (#2534) 2025-09-22 17:34:55 +02:00
macro [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
query_cache [vk] Fix query cache leak on missed sync (#131) 2025-07-26 18:12:54 +02:00
renderer_null nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
renderer_opengl [vk, ogl] invalidate pipeline caches from <=0.0.3 (#2637) 2025-10-02 00:25:41 +02:00
renderer_vulkan [vk] Add missing flush per spec (#2624) 2025-10-02 20:00:34 +02:00
texture_cache [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
textures [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
vulkan_common [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
cache_types.h
capture.h nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
cdma_pusher.cpp [common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) (#351) 2025-10-01 06:59:35 +02:00
cdma_pusher.h Port changes from Early Access 2025-04-04 03:40:46 +02:00
CMakeLists.txt [cmake] whole-program LTO, prefer lld on clang (#2581) 2025-09-27 22:40:08 +02:00
compatible_formats.cpp
compatible_formats.h
delayed_destruction_ring.h [VK] Rework SPIRV Shader Optimization (#238) 2025-07-03 01:13:33 +00:00
dirty_flags.cpp
dirty_flags.h
dma_pusher.cpp [video_core] Simplify DMA options (#525) 2025-09-16 18:42:48 +02:00
dma_pusher.h [video_core] Improve DMA logic and add an option to sync memory operations (#276) 2025-08-20 00:21:25 +02:00
fence_manager.h [android] Early Release Fences, v2 (#190) 2025-08-05 23:16:57 +02:00
framebuffer_config.cpp video_core: simplify accelerated surface fetch and crop handling between APIs 2024-01-31 11:27:20 -05:00
framebuffer_config.h nvnflinger/gpu: implement blending 2024-02-09 09:20:53 -05:00
fsr.cpp
fsr.h
gpu.cpp [meta] remove MicroProfile (#185) 2025-08-06 07:48:11 +02:00
gpu.h [vk, opengl] defer checks to topmost call (avoid unnecessary call) (#40) 2025-07-13 03:40:48 +02:00
gpu_thread.cpp [common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) (#351) 2025-10-01 06:59:35 +02:00
gpu_thread.h nvnflinger/gpu: implement layer stack composition 2024-01-31 11:27:21 -05:00
guest_memory.h Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
invalidation_accumulator.h
memory_manager.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
memory_manager.h [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
precompiled_headers.h
present.h gpu: dependency-inject scaling/antialiasing filter state for capture layers 2024-02-09 09:20:53 -05:00
pte_kind.h
query_cache.h VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01: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
renderer_base.h nvnflinger/gpu: implement applet capture 2024-02-09 09:20:53 -05:00
shader_cache.cpp Core: Clang format and other small issues. 2024-01-18 21:12:30 -05:00
shader_cache.h [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
shader_environment.cpp [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
shader_environment.h [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
shader_notify.cpp
shader_notify.h
smaa_area_tex.h
smaa_search_tex.h
surface.cpp [vk] Exclude size equal alpha different copies from incompatible copy (#138) 2025-07-27 19:56:22 +02:00
surface.h [vk] copy incompatible alpha patch 1.5(2) (#123) 2025-07-26 05:58:04 +02:00
transform_feedback.cpp [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
transform_feedback.h
video_core.cpp Removed telemetry and anonymized SCM (git) strings 2025-04-04 03:40:47 +02:00
video_core.h