From 0720bbe19f4122ec974cdfed251e961186669264 Mon Sep 17 00:00:00 2001 From: DrChat Date: Mon, 7 Aug 2017 23:35:17 -0500 Subject: [PATCH] Vulkan: Fix race crash in trace viewer --- src/xenia/gpu/vulkan/vulkan_graphics_system.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/xenia/gpu/vulkan/vulkan_graphics_system.cc b/src/xenia/gpu/vulkan/vulkan_graphics_system.cc index 159b36a0d..73adf3d01 100644 --- a/src/xenia/gpu/vulkan/vulkan_graphics_system.cc +++ b/src/xenia/gpu/vulkan/vulkan_graphics_system.cc @@ -85,7 +85,7 @@ std::unique_ptr VulkanGraphicsSystem::Capture() { 1, }; - VkCommandBuffer cmd; + VkCommandBuffer cmd = nullptr; status = vkAllocateCommandBuffers(*device_, &alloc_info, &cmd); CheckResult(status, "vkAllocateCommandBuffers"); @@ -247,6 +247,11 @@ void VulkanGraphicsSystem::Swap(xe::ui::UIEvent* e) { } auto event = reinterpret_cast(swap_state.backend_data); + if (event == nullptr) { + // The command processor is currently uninitialized. + return; + } + VkResult status = vkGetEventStatus(*device_, event); if (status != VK_EVENT_SET) { // The device has not finished processing the image.