diff options
Diffstat (limited to 'include/api-test/dx12-device.hpp')
| -rw-r--r-- | include/api-test/dx12-device.hpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/api-test/dx12-device.hpp b/include/api-test/dx12-device.hpp index 8d8d1c3..5f48f95 100644 --- a/include/api-test/dx12-device.hpp +++ b/include/api-test/dx12-device.hpp @@ -1,5 +1,7 @@ #include <d3d12.h> -#include <dxgi.h> + +#include "freelist.hpp" +#include "dx12-device-types.hpp" class dx12device { public: @@ -9,7 +11,7 @@ class dx12device { return render_device; } - void create_surface(const surface_desc& desc); + handle<dx12::device_surface> create_surface(const dx12::surface_desc& desc); void create_buffer() {}; @@ -25,12 +27,18 @@ class dx12device { void get_texture() {}; + [[nodiscard]] inline dx12::device_surface& get_surface(handle<dx12::device_surface> handle) { + return surfaces[handle]; + } + private: IDXGIFactory* factory; IDXGIAdapter* adapter; ID3D12Device* device; - ID3D12CommandQueue queues[3U]; + ID3D12CommandQueue* queues[3U]; + + freelist<dx12::device_surface> surfaces; static dx12device render_device; }; |
