Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
GraphicsAdapterD3D12.hpp
Go to the documentation of this file.
1#pragma once
2#if FARO_OS_WINDOWS
3#include <GraphicsAdapter.hpp>
4#include <d3d12.h>
5#include <dxgi.h>
6
7namespace Faro
8{
9 class GraphicsAdapterD3D12 : public GraphicsAdapter
10 {
11 public:
12 void Init(GraphicsAdapterDesc&) override;
13 void Destroy() override;
14
15 ID3D12Device2* GetDevice();
16
17 ID3D12CommandQueue* GetCommandQueue();
18
19 GraphicsCommandList* CreateCommandList() override;
20
21 GraphicsBuffer* CreateBuffer(GraphicsBufferCreateDesc createDesc) override;
22
23 GraphicsFence* CreateFence() override;
24
25 GraphicsSwapchain* CreateSwapchain(Window* window) override;
26
27 GraphicsPipeline* CreatePipeline(GraphicsPipelineDesc desc) override;
28
29 private:
30 GraphicsAdapterDesc desc;
31
32 IDXGIAdapter1* dxgiAdapter = nullptr;
33 ID3D12Device2* device = nullptr;
34
35 ID3D12CommandQueue* commandQueue = nullptr;
36 };
37}
38#endif
Definition Array.hpp:8