Atomic Engine
Atomic Engine is a cross-platform vulkan based 3D Game Engine
Loading...
Searching...
No Matches
device.h
1#pragma once
2
3#include <vulkan/vulkan.hpp>
4
5namespace atomic::render::vkLib
6{
15 {
16 public:
22 VkDeviceManager(VkInstance instance);
23
29
30 private:
36 VkPhysicalDevice physicalDevice = VK_NULL_HANDLE;
37
42 uint32_t deviceCount = 0;
43
48 std::vector<VkPhysicalDevice> devices;
54 std::multimap<int, VkPhysicalDevice> deviceCandidates;
55
60
75 int rateDeviceSuitability(VkPhysicalDevice device);
76
83 bool isDeviceSuitable(VkPhysicalDevice device);
84 };
85}
std::multimap< int, VkPhysicalDevice > deviceCandidates
Ordered map to rank physical devices by their suitability score. This map is used to sort the devices...
Definition device.h:54
bool isDeviceSuitable(VkPhysicalDevice device)
Checks if a Vulkan physical device is suitable for rendering.
Definition device.cpp:65
uint32_t deviceCount
The number of Vulkan physical devices available. The number of all the devices available on the syste...
Definition device.h:42
int rateDeviceSuitability(VkPhysicalDevice device)
Rates the suitability of a Vulkan physical device.
Definition device.cpp:42
VkDeviceManager(VkInstance instance)
Constructs a VkDeviceManager instance.
Definition device.cpp:12
atomic::render::vkLib::device::QueueFamilyIndices queueFamilyIndices
Queue family indices for the selected physical device.
Definition device.h:59
~VkDeviceManager()
Destroys the VkDeviceManager instance and releases resources.
Definition device.cpp:38
std::vector< VkPhysicalDevice > devices
List of all available Vulkan physical devices. Lists all the devices available on the system includin...
Definition device.h:48
VkPhysicalDevice physicalDevice
The selected Vulkan physical device. This device is the one that will be used for rendering by vulkan...
Definition device.h:36