37 = { VK_KHR_SWAPCHAIN_EXTENSION_NAME };
95 void init(VkInstance instance, VkSurfaceKHR surface);
This initializes, manages and destroys the logical and physical devices(GPU).
VkSampleCountFlagBits maxMsaaSamples
VkDevice device
This is the logical device that is used by Vulkan.
void destroy()
This is the function that destroys the device.
void pickPhysicalDevice(VkInstance instance, VkSurfaceKHR surface)
This is the function that picks the best device based on the requirements and features that we requir...
void init(VkInstance instance, VkSurfaceKHR surface)
This is the function that initializes the devices and queues.
VkQueue presentQueue
This is the queue that is used for presentation of the rendered frames.
VkPhysicalDevice physicalDevice
This is the physical device that is used by Vulkan.
VkSampleCountFlagBits msaaSamples
This sets the MSAA samples count.
VkQueue graphicsQueue
This is the queue that is used for graphics rendering.
void createLogicalDevice(VkSurfaceKHR surface)
This creates the logical device.
const std::vector< const char * > deviceExtensions
THis contain the device extensions that are needed to be enabled in vulkan.