Cogs.Core
ContextStateVK.h
1#pragma once
2
3#include "CommonVK.h"
4
5#include "../Base/ContextCommon.h"
6
7namespace Cogs
8{
9 namespace Vulkan
10 {
12 {
13 BufferVK * currentVertexBuffers[32] = { 0 };
14 BufferVK * currentIndexBuffer = nullptr;
15 };
16
18 {
19 struct EffectVK * effect;
20 struct InputLayoutVK * inputLayout;
21
22 struct RenderTargetVK * renderTarget;
23 struct DepthStencilTargetVK * depthStencil;
24
25 struct RasterizerStateVK * rasterizerState;
26 struct DepthStencilStateVK * depthStencilState;
27 struct BlendStateVK * blendState;
28
29 size_t currentStateHash = 0;
30 };
31
33 {
34 EffectSignature effectSignature;
35
36 Binding<BufferVK *, 16> CBVs[ShaderType::NumShaderTypes];
37 Binding<TextureVK *, 16> SRVs[ShaderType::NumShaderTypes];
38 Binding<SamplerVK *, 16> Samplers[ShaderType::NumShaderTypes];
39 Binding<BufferVK *, 16> UAVs[ShaderType::NumShaderTypes];
40 };
41 }
42}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
@ Vulkan
Graphics device using the Vulkan API.