eden/src/video_core/renderer_vulkan
Ribbit 5d4cfe195b
[vk] Fix Vulkan Upload & Present Barriers for Spec Compliance (#2681)
The barrier before the CPU-upload copy was using VK_PIPELINE_STAGE_HOST_BIT. Validation rules only allow HOST as the source stage if you’re also specifying host-side access flags; inside a command buffer the GPU isn’t executing “host work,” so pairing that stage with the usual image layout transition is technically invalid.

Switching the source stage to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT keeps the ordering guarantee we need and satisfies the spec, while the actual host visibility is still handled correctly by the preceding vmaFlushAllocation.

Co-authored-by: Ribbit <ribbit@placeholder.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2681
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: Ribbit <ribbit@eden-emu.dev>
Co-committed-by: Ribbit <ribbit@eden-emu.dev>
2025-10-06 17:39:32 +02:00
..
present [vk] Fix Vulkan Upload & Present Barriers for Spec Compliance (#2681) 2025-10-06 17:39:32 +02:00
blit_image.cpp [vk] Implement Shader Read Barrier (#2671) 2025-10-04 23:58:08 +02:00
blit_image.h [vk] Implement Shader Read Barrier (#2671) 2025-10-04 23:58:08 +02: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
maxwell_to_vk.h
pipeline_helper.h
pipeline_statistics.cpp
pipeline_statistics.h
renderer_vulkan.cpp [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
renderer_vulkan.h
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
vk_buffer_cache.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
vk_buffer_cache.h
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
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
vk_fence_manager.cpp
vk_fence_manager.h
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
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
vk_present_manager.cpp [vk] Fix Vulkan Upload & Present Barriers for Spec Compliance (#2681) 2025-10-06 17:39:32 +02:00
vk_present_manager.h
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
vk_shader_util.h
vk_staging_buffer_pool.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
vk_staging_buffer_pool.h
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
vk_texture_cache.cpp [vk] Fix Vulkan Upload & Present Barriers for Spec Compliance (#2681) 2025-10-06 17:39:32 +02:00
vk_texture_cache.h
vk_texture_cache_base.cpp
vk_texture_manager.cpp
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