|
@@ -10495,11 +10495,18 @@ static bool VULKAN_Wait(
|
|
VkResult result;
|
|
VkResult result;
|
|
Sint32 i;
|
|
Sint32 i;
|
|
|
|
|
|
- result = renderer->vkDeviceWaitIdle(renderer->logicalDevice);
|
|
|
|
|
|
+ SDL_LockMutex(renderer->submitLock);
|
|
|
|
|
|
- CHECK_VULKAN_ERROR_AND_RETURN(result, vkDeviceWaitIdle, false);
|
|
|
|
|
|
+ result = renderer->vkDeviceWaitIdle(renderer->logicalDevice);
|
|
|
|
|
|
- SDL_LockMutex(renderer->submitLock);
|
|
|
|
|
|
+ if (result != VK_SUCCESS) {
|
|
|
|
+ if (renderer->debugMode) {
|
|
|
|
+ SDL_LogError(SDL_LOG_CATEGORY_GPU, "%s %s", "vkDeviceWaitIdle", VkErrorMessages(result));
|
|
|
|
+ }
|
|
|
|
+ SDL_SetError("%s %s", "vkDeviceWaitIdle", VkErrorMessages(result));
|
|
|
|
+ SDL_UnlockMutex(renderer->submitLock);
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
|
|
for (i = renderer->submittedCommandBufferCount - 1; i >= 0; i -= 1) {
|
|
for (i = renderer->submittedCommandBufferCount - 1; i >= 0; i -= 1) {
|
|
commandBuffer = renderer->submittedCommandBuffers[i];
|
|
commandBuffer = renderer->submittedCommandBuffers[i];
|