Cleanup physical device.
This commit is contained in:
parent
688b34c926
commit
131a55c868
|
|
@ -11,17 +11,12 @@ QueueFamilyIndices PhysicalDevice::get_queue_families(const Window *_window, con
|
||||||
auto queue_families_ = _device->getQueueFamilyProperties();
|
auto queue_families_ = _device->getQueueFamilyProperties();
|
||||||
|
|
||||||
u32 family_index = 0;
|
u32 family_index = 0;
|
||||||
for (const auto &queueFamily : queue_families_) {
|
for (const auto &queue_family : queue_families_) {
|
||||||
u32 this_family_count = 0;
|
u32 this_family_count = 0;
|
||||||
VERBOSE(std::fmt("Queue(%i): %s", family_index, to_string(queueFamily.queueFlags).data()));
|
VERBOSE(std::fmt("Queue(%i): %s", family_index, to_string(queue_family.queueFlags).data()));
|
||||||
|
|
||||||
if (queueFamily.queueCount <= 0) {
|
if (!indices.has_graphics() && (queue_family.queueFlags & vk::QueueFlagBits::eGraphics)) {
|
||||||
++family_index;
|
if (queue_family.queueCount > this_family_count) {
|
||||||
continue; // Skip families with no queues
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!indices.has_graphics() && (queueFamily.queueFlags & vk::QueueFlagBits::eGraphics)) {
|
|
||||||
if (queueFamily.queueCount > this_family_count) {
|
|
||||||
indices.graphics_idx = family_index;
|
indices.graphics_idx = family_index;
|
||||||
++this_family_count;
|
++this_family_count;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -29,8 +24,8 @@ QueueFamilyIndices PhysicalDevice::get_queue_families(const Window *_window, con
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!indices.has_compute() && (queueFamily.queueFlags & vk::QueueFlagBits::eCompute)) {
|
if (!indices.has_compute() && (queue_family.queueFlags & vk::QueueFlagBits::eCompute)) {
|
||||||
if (queueFamily.queueCount > this_family_count) {
|
if (queue_family.queueCount > this_family_count) {
|
||||||
indices.compute_idx = family_index;
|
indices.compute_idx = family_index;
|
||||||
++this_family_count;
|
++this_family_count;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -38,8 +33,8 @@ QueueFamilyIndices PhysicalDevice::get_queue_families(const Window *_window, con
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!indices.has_transfer() && (queueFamily.queueFlags & vk::QueueFlagBits::eTransfer)) {
|
if (!indices.has_transfer() && (queue_family.queueFlags & vk::QueueFlagBits::eTransfer)) {
|
||||||
if (queueFamily.queueCount > this_family_count) {
|
if (queue_family.queueCount > this_family_count) {
|
||||||
indices.transfer_idx = family_index;
|
indices.transfer_idx = family_index;
|
||||||
++this_family_count;
|
++this_family_count;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -49,7 +44,7 @@ QueueFamilyIndices PhysicalDevice::get_queue_families(const Window *_window, con
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!indices.has_present() && _device->getSurfaceSupportKHR(family_index, *_window->surface)) {
|
if (!indices.has_present() && _device->getSurfaceSupportKHR(family_index, *_window->surface)) {
|
||||||
if (queueFamily.queueCount > this_family_count) {
|
if (queue_family.queueCount > this_family_count) {
|
||||||
indices.present_idx = family_index;
|
indices.present_idx = family_index;
|
||||||
++this_family_count;
|
++this_family_count;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue