17 #include <ht_platform.h> 18 #include <ht_device.h> 19 #include <ht_vulkan.h> 36 bool VInitialize()
override;
37 void VReportDeviceInfo()
override;
39 void SetValidation(
bool validate);
41 const std::vector<VkDevice>& GetVKDevices()
const;
42 const std::vector<VkPhysicalDevice>& GetVKPhysicalDevices()
const;
43 const std::vector<VkPhysicalDeviceFeatures>& GetVKPhysicalDeviceFeatures()
const;
44 const std::vector<VkPhysicalDeviceMemoryProperties>& GetVKPhysicalDeviceMemoryProperties()
const;
45 const VkInstance& GetVKInstance()
const;
48 std::vector<VkDevice> m_devices;
49 std::vector<VkPhysicalDevice> m_gpus;
50 std::vector<VkPhysicalDeviceFeatures> m_gpuFeatures;
51 std::vector<VkPhysicalDeviceMemoryProperties> m_gpuMemoryProps;
52 VkInstance m_instance;
57 VkDebugReportCallbackEXT m_debugReportCallback;
60 std::vector<const char*> m_layerNames1013;
61 std::vector<const char*> m_layerNames1011;
62 std::vector<const char*> m_layerNames108;
63 std::vector<const char*> m_layerNames105;
64 std::vector<const char*> m_layerNames103;
67 std::vector<std::vector<const char*>> m_layerNamesCollection;
70 std::vector<const char*> m_enabledExtensionNames;
71 std::vector<const char*> m_enabledLayerNames;
74 bool enumeratePhysicalDevices();
75 bool queryDeviceCapabilities();
77 bool setupProcAddresses();
78 bool setupDebugCallback();
80 bool checkInstanceLayers();
81 bool checkInstanceExtensions();
82 bool checkDeviceLayers(
const VkPhysicalDevice& gpu);
83 bool checkDeviceExtensions(
const VkPhysicalDevice& gpu);
85 bool checkLayers(std::vector<const char*> layerNames, std::vector <VkLayerProperties> layers);
87 static VKAPI_ATTR VkBool32 VKAPI_CALL debugFunction(VkFlags msgFlags, VkDebugReportObjectTypeEXT objType,
88 uint64_t srcObject,
size_t location, int32_t msgCode,
89 const char *pLayerPrefix,
const char *pMsg,
void *pUserData);
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Interface outlining implementation for GPU Device.
Definition: ht_device.h:27
Vulkan device wrapper.
Definition: ht_vkdevice.h:29