瀏覽代碼

Vulkan Renderer - closes #9385. When the vertex buffer size is exceeded, make sure to wait for outstanding work before resizing it. This fixes validation errors/crash found with using Imgui SDL3 renderer on Vulkan.

danginsburg 2 年之前
父節點
當前提交
650ba8f3ec
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      src/render/vulkan/SDL_render_vulkan.c

+ 2 - 0
src/render/vulkan/SDL_render_vulkan.c

@@ -3146,6 +3146,8 @@ static SDL_bool VULKAN_UpdateVertexBuffer(SDL_Renderer *renderer,
     }
     /* If the existing vertex buffer isn't big enough, we need to recreate a big enough one */
     if (dataSizeInBytes > rendererData->vertexBuffers[vbidx].size) {
+        VULKAN_IssueBatch(rendererData);
+        VULKAN_WaitForGPU(rendererData);
         VULKAN_CreateVertexBuffer(rendererData, vbidx, dataSizeInBytes);
     }