aboutsummaryrefslogtreecommitdiffstats
path: root/include/api-test/dx12-device.hpp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2025-01-21 23:22:24 +0100
committerladevieq <ladevie.quentin@gmail.com>2025-01-21 23:22:24 +0100
commit11ede6055d54480d3b7486c5811a44f6f63e1c61 (patch)
treee7d3df776bdc94b778d8fa24927af40db99bc8ba /include/api-test/dx12-device.hpp
parentc4a6f4bbaaf86d50d5da103894469a9bc12a1323 (diff)
Save dx12 initial work
Diffstat (limited to 'include/api-test/dx12-device.hpp')
-rw-r--r--include/api-test/dx12-device.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/api-test/dx12-device.hpp b/include/api-test/dx12-device.hpp
new file mode 100644
index 0000000..8d8d1c3
--- /dev/null
+++ b/include/api-test/dx12-device.hpp
@@ -0,0 +1,36 @@
+#include <d3d12.h>
+#include <dxgi.h>
+
+class dx12device {
+ public:
+ void init();
+
+ static inline dx12device& get_render_device() {
+ return render_device;
+ }
+
+ void create_surface(const surface_desc& desc);
+
+ void create_buffer() {};
+
+ void create_texture() {};
+
+ void create_graphics_pipeline() {};
+
+ void create_compute_pipeline() {};
+
+ void allocate_command_buffers() {};
+
+ void get_buffer() {};
+
+ void get_texture() {};
+
+ private:
+ IDXGIFactory* factory;
+ IDXGIAdapter* adapter;
+
+ ID3D12Device* device;
+ ID3D12CommandQueue queues[3U];
+
+ static dx12device render_device;
+};