8 #ifndef PHYSICAL_DEVICE_HPP 9 #define PHYSICAL_DEVICE_HPP 11 #include <SimpleGL_vk/SimpleGL_vk_Export.h> 15 #include <vulkan/vulkan.h> 68 VkPhysicalDevice handle;
95 static std::vector<PhysicalDevice*> getAvailablePhysicalDevices(
Surface* surface);
104 static PhysicalDevice* getSuitablePhysicalDevice(std::vector<PhysicalDevice*> physicalDevices);
114 VkPhysicalDevice getHandle();
135 VkPhysicalDeviceProperties getProperties();
142 VkPhysicalDeviceFeatures getFeatures();
149 std::vector<VkQueueFamilyProperties> getQueueFamilyProperties();
This class wraps a Vulkan physical device and represents a graphics card.
int32_t presentation
The index of the presentation queue family.
This struct stores relevant queue family indices.
std::vector< VkSurfaceFormatKHR > surfaceFormats
The supported surface formats.
This struct stores necessary data for swapchain support.
Generic namespace for the SimpleGL framework.
VkSurfaceCapabilitiesKHR surfaceCapabilities
The basic capabilities of a surface.
bool isValid()
Checks if the queue family indices are valid.
std::vector< VkPresentModeKHR > presentModes
The supported present modes.
int32_t graphics
The index of the graphics queue family.
This class wraps a Vulkan surface.