Cogs.Core
Cogs.Rendering
Source
Vulkan
ContextStateVK.h
1
#pragma once
2
3
#include "CommonVK.h"
4
5
#include "../Base/ContextCommon.h"
6
7
namespace
Cogs
8
{
9
namespace
Vulkan
10
{
11
struct
InputAssemblerState
:
public
InputAssemblerStateCommon
12
{
13
BufferVK
* currentVertexBuffers[32] = { 0 };
14
BufferVK
* currentIndexBuffer =
nullptr
;
15
};
16
17
struct
PipelineState
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
32
struct
ShaderState
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
}
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::GraphicsDeviceType::Vulkan
@ Vulkan
Graphics device using the Vulkan API.
Cogs::Binding
Definition:
EffectsCommon.h:303
Cogs::BlendStateVK
Definition:
RenderTargetsVK.h:34
Cogs::BufferVK
Definition:
BuffersVK.h:60
Cogs::DepthStencilStateVK
Definition:
RenderTargetsVK.h:29
Cogs::DepthStencilTargetVK
Definition:
RenderTargetsVK.h:19
Cogs::EffectSignature
Definition:
EffectsCommon.h:173
Cogs::EffectVK
Definition:
EffectsVK.h:14
Cogs::InputAssemblerStateCommon
Definition:
ContextCommon.h:15
Cogs::InputLayoutVK
Definition:
BuffersVK.h:81
Cogs::RasterizerStateVK
Definition:
RenderTargetsVK.h:24
Cogs::RenderTargetVK
Definition:
RenderTargetsVK.h:10
Cogs::Vulkan::InputAssemblerState
Definition:
ContextStateVK.h:12
Cogs::Vulkan::PipelineState
Definition:
ContextStateVK.h:18
Cogs::Vulkan::ShaderState
Definition:
ContextStateVK.h:33
Generated by
1.9.6