HatchitGraphics
ht_vkdevice.h
1 
15 #pragma once
16 
17 #include <ht_platform.h>
18 #include <ht_device.h>
19 #include <ht_string.h>
20 #include <ht_vulkan.h>
21 #include <set>
22 
23 namespace Hatchit
24 {
25  namespace Graphics
26  {
27  namespace Vulkan
28  {
29  class VKApplication;
30 
39  class HT_API VKDevice
40  {
41  public:
42  VKDevice();
43 
44  ~VKDevice();
45 
46  bool Initialize(VKApplication& instance, uint32_t index);
47 
48 
49  const VkPhysicalDeviceProperties& Properties() const;
50 
51  operator VkDevice();
52  operator VkPhysicalDevice();
53 
54  private:
55  VkDevice m_vkDevice;
56  VkPhysicalDevice m_vkPhysicalDevice;
57  VkPhysicalDeviceFeatures m_vkPhysicalDeviceFeatures;
58  VkPhysicalDeviceProperties m_vkPhysicalDeviceProperties;
59  VkPhysicalDeviceMemoryProperties m_vkPhysicalDeviceMemoryProperties;
60 
61 
62  bool EnumeratePhysicalDevices(VKApplication& instance, uint32_t index);
63  bool QueryPhysicalDeviceInfo();
64  };
65  }
66  }
67 }
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19