Cogs.Core
ContextStateD3D12.h
1#pragma once
2
3#include "CommonD3D12.h"
4
5#include <numeric>
6
7#include "../Base/ContextCommon.h"
8
9namespace Cogs
10{
11 namespace Direct3D12
12 {
14 {
15 BufferD3D12 * currentVertexBuffers[32] = { 0 };
16 BufferD3D12 * currentIndexBuffer;
17 };
18
20 {
21 EffectD3D12 * currentEffect;
22 InputLayoutD3D12 * currentInputLayout;
23
24 BlendStateD3D12 * currentBlendState;
25 RasterizerStateD3D12 * currentRasterizerState;
26 DepthStencilStateD3D12 * currentDepthStencilState;
27
28 RenderTargetD3D12 * currentRenderTarget;
29 DepthStencilTargetD3D12 * currentDepthStencil;
30
31 size_t currentStateHash = 0;
32 bool dirty = true;
33 };
34
36 {
37 Signature effectSignature;
39
40 Binding<BufferD3D12 *, 16> CBVs[ShaderType::NumShaderTypes];
41 Binding<ResourceD3D12 *, 16> SRVs[ShaderType::NumShaderTypes];
42 Binding<D3D12_SAMPLER_DESC *, 16> Samplers[ShaderType::NumShaderTypes];
43 Binding<BufferD3D12 *, 16> UAVs[ShaderType::NumShaderTypes];
44 };
45 }
46}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
@ Direct3D12
Graphics device using the Direct3D 12 API.