Добавил функцию поиска индекса семейства на основании флагов
This commit is contained in:
parent
f30ad1335f
commit
f53f481f78
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue