Добавил функцию поиска индекса семейства на основании флагов

This commit is contained in:
parent f30ad1335f
commit f53f481f78
2 changed files with 18 additions and 0 deletions

View File

@ -12,6 +12,8 @@ typedef struct _PhysicalDevice
VkPhysicalDeviceFeatures features; // функции VkPhysicalDeviceFeatures features; // функции
VkPhysicalDeviceMemoryProperties memory; // память VkPhysicalDeviceMemoryProperties memory; // память
std::vector<VkQueueFamilyProperties> queueFamilyProperties; // семейства очередей std::vector<VkQueueFamilyProperties> queueFamilyProperties; // семейства очередей
uint32_t pickQueueFamily(VkQueueFlags);
} PhysicalDevice; } PhysicalDevice;
#endif // PHYSICALDEVICE_H #endif // PHYSICALDEVICE_H

16
src/PhysicalDevice.cpp Normal file
View File

@ -0,0 +1,16 @@
#include "PhysicalDevice.h"
// Возвращает индекс первой попавшейся очереди, соответствующей требуемым флагам
uint32_t PhysicalDevice::pickQueueFamily(VkQueueFlags flags)
{
// Цикл по параметрам семейств очередей
for (uint32_t index = 0; index < queueFamilyProperties.size(); index++)
{
// Если очередь соответствует требованиям по возможностям очереди
if (queueFamilyProperties[index].queueFlags & flags)
{
// возвращаем её индекс
return index;
}
}
}