eden/src/video_core/renderer_vulkan
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
..
present [vk] Add missing flush per spec (#2624) 2025-10-02 20:00:34 +02:00
blit_image.cpp [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
blit_image.h Some fixes before Release (#92) 2025-05-08 23:03:52 +00:00
fixed_pipeline_state.cpp [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
fixed_pipeline_state.h [vk] Enable line stipple and depth bound reg transfer (#59) 2025-07-22 21:34:38 +02:00
maxwell_to_vk.cpp Implement X8_D24 format 2023-10-06 00:58:30 +01:00
maxwell_to_vk.h
pipeline_helper.h Vulkan 1.4 and New Extensions (#93) 2025-05-09 14:19:51 +00:00
pipeline_statistics.cpp Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
pipeline_statistics.h
renderer_vulkan.cpp [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
renderer_vulkan.h Revert "THIS NEEDS TO BE CHECKED BEFORE MERGE: RAII fix, initial MSAA, some fixes for memory misallocation (#116)" 2025-05-19 15:22:08 -04:00
vk_blit_screen.cpp [vk, opengl] add lanczo and spline-1 filtering (#2534) 2025-09-22 17:34:55 +02:00
vk_blit_screen.h gpu: dependency-inject scaling/antialiasing filter state for capture layers 2024-02-09 09:20:53 -05:00
vk_buffer_cache.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
vk_buffer_cache.h Buffer Cache: Refactor to use Range sets instead 2024-02-05 11:06:52 +01:00
vk_buffer_cache_base.cpp
vk_command_pool.cpp
vk_command_pool.h
vk_compute_pass.cpp [VK] change bind point from Graphics to Compute since its a compute pipeline (#293) 2025-08-24 01:16:06 +02:00
vk_compute_pass.h renderer_vulkan: Implement MSAA copies 2023-09-25 09:20:32 -04:00
vk_compute_pipeline.cpp [vk] only enable statistics bit if graphics debugging is enabled (#243) 2025-08-13 19:25:52 +02:00
vk_compute_pipeline.h
vk_descriptor_pool.cpp [Vulkan] Descriptor Pool bug fix (#2564) 2025-09-26 04:58:09 +02:00
vk_descriptor_pool.h Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
vk_fence_manager.cpp
vk_fence_manager.h Query Cache: address issues 2023-09-23 23:05:30 +02:00
vk_graphics_pipeline.cpp [video_core] Improve asynchronous shader building description (#2568) 2025-09-24 22:11:13 +02:00
vk_graphics_pipeline.h [vk] Fix dynamic vertex input state handling (#295) 2025-08-23 20:34:05 +02:00
vk_master_semaphore.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
vk_master_semaphore.h renderer_vulkan: Introduce separate cmd buffer for uploads 2023-11-12 20:27:39 +01:00
vk_pipeline_cache.cpp [vk, ogl] invalidate pipeline caches from <=0.0.3 (#2637) 2025-10-02 00:25:41 +02:00
vk_pipeline_cache.h Optimize SpiriV output 2025-04-12 22:54:32 -03:00
vk_present_manager.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
vk_present_manager.h fix a large variety of issues (#101) 2025-05-11 23:58:25 +00:00
vk_query_cache.cpp [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
vk_query_cache.h [vk] Bring Vulkan closer to Spec (#180) 2025-08-13 18:02:05 +02:00
vk_rasterizer.cpp [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
vk_rasterizer.h [vk] Bring Vulkan closer to Spec (#180) 2025-08-13 18:02:05 +02:00
vk_render_pass_cache.cpp [Vk] Improve Stencil Handling and Fix Read-After-Write Hazard (#235) 2025-08-23 20:04:48 +02:00
vk_render_pass_cache.h
vk_resource_pool.cpp
vk_resource_pool.h
vk_scheduler.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
vk_scheduler.h [vk] Enable line stipple and depth bound reg transfer (#59) 2025-07-22 21:34:38 +02:00
vk_shader_util.cpp Revert some wip changes 2025-04-28 16:14:42 -03:00
vk_shader_util.h Revert some wip changes 2025-04-28 16:14:42 -03:00
vk_staging_buffer_pool.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
vk_staging_buffer_pool.h renderer_vulkan: Introduce separate cmd buffer for uploads 2023-11-12 20:27:39 +01:00
vk_state_tracker.cpp [vk] Enable line stipple and depth bound reg transfer (#59) 2025-07-22 21:34:38 +02:00
vk_state_tracker.h [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
vk_swapchain.cpp [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
vk_swapchain.h fix a large variety of issues (#101) 2025-05-11 23:58:25 +00:00
vk_texture_cache.cpp [texture_cache] fix copy image again? (#2558) 2025-09-23 18:49:44 +02:00
vk_texture_cache.h Initial MSAA fix (Download and Upload) (#145) 2025-06-05 19:06:55 +00:00
vk_texture_cache_base.cpp
vk_texture_manager.cpp Some fixes before Release (#92) 2025-05-08 23:03:52 +00:00
vk_turbo_mode.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
vk_turbo_mode.h
vk_update_descriptor.cpp
vk_update_descriptor.h renderer_vulkan: allow up to 7 swapchain images 2023-12-16 18:59:44 -05:00