From ad118fa8429543340303f7cd5d3d4b08465648c5 Mon Sep 17 00:00:00 2001 From: DrChat Date: Thu, 21 Dec 2017 12:16:22 -0600 Subject: [PATCH] [Vulkan] Fix queue priorites going out of scope prematurely --- src/xenia/ui/vulkan/vulkan_device.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/xenia/ui/vulkan/vulkan_device.cc b/src/xenia/ui/vulkan/vulkan_device.cc index b865a5aa9..dcd0414b8 100644 --- a/src/xenia/ui/vulkan/vulkan_device.cc +++ b/src/xenia/ui/vulkan/vulkan_device.cc @@ -145,7 +145,9 @@ bool VulkanDevice::Initialize(DeviceInfo device_info) { } std::vector queue_infos; + std::vector> queue_priorities; queue_infos.resize(device_info.queue_family_properties.size()); + queue_priorities.resize(queue_infos.size()); for (int i = 0; i < queue_infos.size(); i++) { VkDeviceQueueCreateInfo& queue_info = queue_infos[i]; VkQueueFamilyProperties& family_props = @@ -157,15 +159,13 @@ bool VulkanDevice::Initialize(DeviceInfo device_info) { queue_info.queueFamilyIndex = i; queue_info.queueCount = family_props.queueCount; - std::vector queue_priorities(queue_count); + queue_priorities[i].resize(queue_count, 0.f); if (i == ideal_queue_family_index) { // Prioritize the first queue on the primary queue family. - queue_priorities[0] = 1.0f; - } else { - queue_priorities[0] = 0.f; + queue_priorities[i][0] = 1.0f; } - queue_info.pQueuePriorities = queue_priorities.data(); + queue_info.pQueuePriorities = queue_priorities[i].data(); } VkDeviceCreateInfo create_info;