suyu/src/video_core/renderer_vulkan
GPUCode 50791cb974 renderer_vulkan: Fix crashing when updating descriptors
* During pipeline configure the function would acquire some payload space from the descriptor update queue,
  write the descriptor data on the GPU thread and give the scheduler a pointer to the beginning of said space to update it later.
  TickFrame resets the payload cursor, used to track acquires, back to the beginning of the buffer.
  This wasn't a problem before since WaitWorker was called at the end of the frame but now it is.
  If a frame writes to a cursor before the scheduler catches up, it will crash

* To fix this the payload buffer has been increased to account for the in flight frames that are allowed to exist now.
  TickFrame will switch between the payload spaces instead of resetting
2023-05-01 23:13:24 +03:00
..
blit_image.cpp remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency 2023-02-14 12:35:39 -05:00
blit_image.h video_core: Implement vulkan clear specified channel 2023-01-28 12:53:05 +08:00
fixed_pipeline_state.cpp general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
fixed_pipeline_state.h MacroHLE: Final cleanup and fixes. 2023-01-01 16:43:58 -05:00
maxwell_to_vk.cpp video_core: Update texture format 2023-03-10 21:48:50 +08:00
maxwell_to_vk.h Update 3D regs 2022-10-07 14:13:45 +01:00
pipeline_helper.h vulkan_common: clean up extension usage 2022-12-04 10:55:13 -05:00
pipeline_statistics.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
pipeline_statistics.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
renderer_vulkan.cpp renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
renderer_vulkan.h renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_blit_screen.cpp renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_blit_screen.h renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_buffer_cache.cpp Buffer Cache: Fully rework the buffer cache. 2023-04-29 00:46:31 +02:00
vk_buffer_cache.h Clang: format and ficx compile errors. 2023-04-29 00:46:31 +02:00
vk_buffer_cache_base.cpp Buffer Cache: Fully rework the buffer cache. 2023-04-29 00:46:31 +02:00
vk_command_pool.cpp general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
vk_command_pool.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
vk_compute_pass.cpp video_core: Implement vulkan QuadStrip topology 2022-12-26 11:37:34 +08:00
vk_compute_pass.h video_core: Implement vulkan QuadStrip topology 2022-12-26 11:37:34 +08:00
vk_compute_pipeline.cpp remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency 2023-02-14 12:35:39 -05:00
vk_compute_pipeline.h video_core/vulkan: Added VkPipelineCache to store Vulkan pipelines 2023-01-05 21:02:44 +01:00
vk_descriptor_pool.cpp general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
vk_descriptor_pool.h video_core: Replace VKScheduler with Scheduler 2022-06-26 20:21:45 -05:00
vk_fence_manager.cpp VideoCore: Refactor fencing system. 2022-10-06 21:00:52 +02:00
vk_fence_manager.h VideoCore: Refactor fencing system. 2022-10-06 21:00:52 +02:00
vk_fsr.cpp video_core/opengl: Add FSR upscaling filter to the OpenGL renderer 2023-01-26 21:43:33 +01:00
vk_fsr.h video_core: Replace VKScheduler with Scheduler 2022-06-26 20:21:45 -05:00
vk_graphics_pipeline.cpp remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency 2023-02-14 12:35:39 -05:00
vk_graphics_pipeline.h video_core/vulkan: Added VkPipelineCache to store Vulkan pipelines 2023-01-05 21:02:44 +01:00
vk_master_semaphore.cpp vulkan: use plain fences when timeline semaphores are not available 2023-04-14 22:53:37 -04:00
vk_master_semaphore.h vulkan: use plain fences when timeline semaphores are not available 2023-04-14 22:53:37 -04:00
vk_pipeline_cache.cpp vk_pipeline_cache: Skip compute pipelines on Intel proprietary drivers 2023-04-28 17:59:36 -04:00
vk_pipeline_cache.h video_core/vulkan: Vulkan driver pipelines now contain cache version 2023-01-05 21:03:01 +01:00
vk_present_manager.cpp renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_present_manager.h renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_query_cache.cpp vulkan_common: promote host query reset usage to core 2022-12-04 10:55:13 -05:00
vk_query_cache.h VideoCore: implement channels on gpu caches. 2022-10-06 21:00:51 +02:00
vk_rasterizer.cpp Accelerate DMA: Use texture cache async downloads to perform the copies 2023-04-29 00:18:21 +02:00
vk_rasterizer.h Refactor AccelerateDMA code 2023-03-06 22:57:45 -05:00
vk_render_pass_cache.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
vk_render_pass_cache.h general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
vk_resource_pool.cpp general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
vk_resource_pool.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
vk_scheduler.cpp renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_scheduler.h renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_shader_util.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
vk_shader_util.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
vk_smaa.cpp remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency 2023-02-14 12:35:39 -05:00
vk_smaa.h video_core: Integrate SMAA 2022-12-08 17:17:45 -05:00
vk_staging_buffer_pool.cpp remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency 2023-02-14 12:35:39 -05:00
vk_staging_buffer_pool.h MacroHLE: Final cleanup and fixes. 2023-01-01 16:43:58 -05:00
vk_state_tracker.cpp Video_core: Address feedback 2023-01-04 14:39:42 -05:00
vk_state_tracker.h Vulkan: rework stencil tracking. 2023-01-03 16:29:16 -05:00
vk_swapchain.cpp renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_swapchain.h renderer_vulkan: Async presentation 2023-05-01 23:13:24 +03:00
vk_texture_cache.cpp Texture Cache: Release stagging buffers on tick frame 2023-04-29 15:31:38 +02:00
vk_texture_cache.h Texture Cache: Release stagging buffers on tick frame 2023-04-29 15:31:38 +02:00
vk_texture_cache_base.cpp general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
vk_turbo_mode.cpp remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency 2023-02-14 12:35:39 -05:00
vk_turbo_mode.h renderer_vulkan: pause turbo submissions on inactive queue 2023-01-07 14:35:11 -05:00
vk_update_descriptor.cpp renderer_vulkan: Fix crashing when updating descriptors 2023-05-01 23:13:24 +03:00
vk_update_descriptor.h renderer_vulkan: Fix crashing when updating descriptors 2023-05-01 23:13:24 +03:00