Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
GraphicsBufferD3D12.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
6namespace Faro
7{
8 class GraphicsBufferD3D12 : public GraphicsBuffer
9 {
10 public:
11 void Init() override;
12
13 void Destroy() override;
14
15 void TransitionResource(ID3D12GraphicsCommandList* commandList, GraphicsResourceState state);
16
17 void Upload(uint8* data) override;
18
19 ID3D12Resource* GetResource();
20 D3D12_CPU_DESCRIPTOR_HANDLE GetDescriptor();
21
22 private:
23 D3D12_RESOURCE_DESC GetNativeDesc();
24
25 uint8* cpuAddress = nullptr;
26 ID3D12Resource* gpuResource = nullptr;
27
28 ID3D12DescriptorHeap* descriptorHeap = nullptr;
29 uint32 descriptorHeapSize = 0;
30 };
31}
32#endif
Definition Array.hpp:8
uint32_t uint32
Definition Primitives.hpp:12
uint8_t uint8
Definition Primitives.hpp:6