4#include <vulkan/vulkan.h>
20 VK_KHR_SWAPCHAIN_EXTENSION_NAME
48 PhysicalDevice(
const VkInstance & instance,
const VkSurfaceKHR & surface);
53 const VkPhysicalDeviceLimits &
getLimits()
const {
return deviceLimits; }
55 const VkSampleCountFlagBits &
getMaxMsaa()
const {
return msaaSamples; }
59 VkPhysicalDevice physicalDevice = VK_NULL_HANDLE;
61 std::vector<std::pair<std::string, VkPhysicalDevice>> alternatives;
63 VkSampleCountFlagBits msaaSamples = VK_SAMPLE_COUNT_1_BIT;
65 VkPhysicalDeviceLimits deviceLimits;
70 void pick(
const VkInstance & instance,
const VkSurfaceKHR & surface);
72 bool isDeviceSuitable(
const VkPhysicalDevice device,
const VkSurfaceKHR surface)
const;
73 QueueFamilyIndices findQueueFamilies(
const VkPhysicalDevice physicalDevice,
const VkSurfaceKHR surface)
const;
74 bool checkDeviceExtensionSupport(
const VkPhysicalDevice physicalDevice)
const;
75 SwapchainSupportDetails querySwapchainSupport(
const VkPhysicalDevice physicalDevice,
const VkSurfaceKHR surface)
const;
76 VkSampleCountFlagBits getMaxUsableSampleCount()
const;
Definition physicalDevice.h:42
const SwapchainSupportDetails & getSwapchainSupportDetails() const
Definition physicalDevice.h:52
const VkSampleCountFlagBits & getMaxMsaa() const
Definition physicalDevice.h:55
const VkPhysicalDeviceLimits & getLimits() const
Definition physicalDevice.h:53
const VkPhysicalDevice & getVkPhysicalDevice() const
Definition physicalDevice.h:50
const QueueFamilyIndices & getQueueFamilyIndices() const
Definition physicalDevice.h:51
const std::vector< const char * > deviceExtensions
Definition physicalDevice.h:18
Definition physicalDevice.h:24
std::optional< uint32_t > presentFamily
Definition physicalDevice.h:26
std::optional< uint32_t > graphicsFamily
Definition physicalDevice.h:25
bool isComplete()
Definition physicalDevice.h:28
Definition physicalDevice.h:35
std::vector< VkPresentModeKHR > presentModes
Definition physicalDevice.h:38
std::vector< VkSurfaceFormatKHR > formats
Definition physicalDevice.h:37
VkSurfaceCapabilitiesKHR capabilities
Definition physicalDevice.h:36