There was an error fetching the commit references. Please try again later.
vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache
The stream buffer before this commit once it was full (no more bytes to write before looping) waiting for all previous operations to finish. This was a temporary solution and had a noticeable performance penalty in performance (from what a profiler showed). To avoid this mark with fences usages of the stream buffer and once it loops wait for them to be signaled. On average this will never wait. Each fence knows where its usage finishes, resulting in a non-paged stream buffer. On the other side, the buffer cache is reimplemented using the generic buffer cache. It makes use of the staging buffer pool and the new stream buffer.
Showing
- src/video_core/renderer_vulkan/vk_buffer_cache.cpp 143 additions, 0 deletionssrc/video_core/renderer_vulkan/vk_buffer_cache.cpp
- src/video_core/renderer_vulkan/vk_buffer_cache.h 73 additions, 0 deletionssrc/video_core/renderer_vulkan/vk_buffer_cache.h
- src/video_core/renderer_vulkan/vk_stream_buffer.cpp 100 additions, 42 deletionssrc/video_core/renderer_vulkan/vk_stream_buffer.cpp
- src/video_core/renderer_vulkan/vk_stream_buffer.h 24 additions, 20 deletionssrc/video_core/renderer_vulkan/vk_stream_buffer.h
Please register or sign in to comment