summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrChat <arkolbed@gmail.com>2017-12-21 12:16:22 -0600
committerDrChat <arkolbed@gmail.com>2017-12-21 12:16:22 -0600
commitad118fa8429543340303f7cd5d3d4b08465648c5 (patch)
treeadf66a67ead51462e7df8b7286cbb3fb4b562eb2
parentc6ce4990fd5c8a708dd9cbaf35b124367c0b7813 (diff)
[Vulkan] Fix queue priorites going out of scope prematurely
-rw-r--r--src/xenia/ui/vulkan/vulkan_device.cc10
1 files 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<VkDeviceQueueCreateInfo> queue_infos;
+ std::vector<std::vector<float>> 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<float> 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;