HatchitGraphics
ht_d3d12device.h
1 
15 #pragma once
16 
17 #include <ht_platform.h>
18 #include <ht_device.h>
19 #include <ht_directx.h>
20 
21 namespace Hatchit
22 {
23  namespace Graphics
24  {
25  namespace DX
26  {
27  class HT_API D3D12Device : public IDevice
28  {
29  public:
30  D3D12Device();
31 
32  ~D3D12Device();
33 
34  bool VInitialize() override;
35 
36  void VReportDeviceInfo() override;
37 
38  ID3D12Device* GetDevice();
39  ID3D12CommandQueue* GetQueue();
40  uint32_t GetRTVHeapIncrement();
41  uint32_t GetDSVHeapIncrement();
42  uint32_t GetSamHeapIncrement();
43  uint32_t GetCBVHeapIncrement();
44 
45  private:
46  ID3D12Device* m_device;
47  IDXGIAdapter3* m_adapter;
48  IDXGIFactory4* m_factory;
49  bool m_initialized;
50  uint32_t m_RTVHeapIncrement;
51  uint32_t m_DSVHeapIncrement;
52  uint32_t m_SamHeapIncrement;
53  uint32_t m_CBVHeapIncrement;
54  DXGI_QUERY_VIDEO_MEMORY_INFO m_vminfo;
55  ID3D12CommandQueue* m_queue;
56 
57  static bool _DebugInterfaceEnabled;
58 
59  static HRESULT CheckHardwareAdapter(IDXGIFactory4* factory, IDXGIAdapter3** adapter);
60  };
61  }
62  }
63 }
Definition: ht_d3d12device.h:27
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Interface outlining implementation for GPU Device.
Definition: ht_device.h:27