18 #include "../utils/utils.hpp"
22 static char const * AppName =
"PhysicalDeviceGroups";
23 static char const * EngineName =
"Vulkan.hpp";
30 #if !defined( NDEBUG )
39 for (
size_t i = 0; i < groupProperties.size(); i++ )
41 std::cout <<
"Group Properties " << i <<
"\n";
43 <<
"physicalDeviceCount = " << groupProperties[i].physicalDeviceCount <<
"\n";
45 <<
"physicalDevices:\n";
46 for (
size_t j = 0; j < groupProperties[i].physicalDeviceCount; j++ )
48 std::cout <<
"\t\t" << j <<
" : " << groupProperties[i].physicalDevices[j].getProperties().deviceName <<
"\n";
51 <<
"subsetAllocation = " << !!groupProperties[i].subsetAllocation <<
"\n";
54 if ( 0 < groupProperties[i].physicalDeviceCount )
62 auto propertyIterator = std::find_if( queueFamilyProperties.begin(),
63 queueFamilyProperties.end(),
65 size_t graphicsQueueFamilyIndex = std::distance( queueFamilyProperties.begin(), propertyIterator );
66 assert( graphicsQueueFamilyIndex < queueFamilyProperties.size() );
69 float queuePriority = 0.0f;
72 { {}, deviceQueueCreateInfo }, { groupProperties[i].physicalDeviceCount, groupProperties[i].physicalDevices } );
83 #if !defined( NDEBUG )
93 catch ( std::exception & err )
void cout(vk::SurfaceCapabilitiesKHR const &surfaceCapabilities)
VULKAN_HPP_NODISCARD Result createDebugUtilsMessengerEXT(const vk::DebugUtilsMessengerCreateInfoEXT *pCreateInfo, const vk::AllocationCallbacks *pAllocator, vk::DebugUtilsMessengerEXT *pMessenger, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NODISCARD Result enumeratePhysicalDeviceGroups(uint32_t *pPhysicalDeviceGroupCount, vk::PhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
void destroy(const vk::AllocationCallbacks *pAllocator, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
void destroyDebugUtilsMessengerEXT(vk::DebugUtilsMessengerEXT messenger, const vk::AllocationCallbacks *pAllocator, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
void getQueueFamilyProperties(uint32_t *pQueueFamilyPropertyCount, vk::QueueFamilyProperties *pQueueFamilyProperties, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NODISCARD Result createDevice(const vk::DeviceCreateInfo *pCreateInfo, const vk::AllocationCallbacks *pAllocator, vk::Device *pDevice, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
virtual const char * what() const VULKAN_HPP_NOEXCEPT
vk::DebugUtilsMessengerCreateInfoEXT makeDebugUtilsMessengerCreateInfoEXT()
vk::Instance createInstance(std::string const &appName, std::string const &engineName, std::vector< std::string > const &layers, std::vector< std::string > const &extensions, uint32_t apiVersion)
#define VK_API_VERSION_1_1