Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
CompilationArtifacts.hpp
1
#pragma once
2
3
#include <map>
4
#include <string_view>
5
#include <string>
6
#include <vector>
7
8
#include <Common/Graphics/Formats.hpp>
9
#include <Common/Formats/PipelineSet.hpp>
10
11
struct
ReflectedBufferBinding
{
12
uint32_t setIndex;
13
uint32_t bindingIndex;
14
uint32_t blockIndex;
15
};
16
17
struct
ReflectedBlock
{
18
std::string name;
19
uint32_t startVariableIndex;
20
uint32_t variableCount;
21
uint32_t totalSize;
22
};
23
24
struct
ReflectedBlockVariable
{
25
std::string name;
26
uint32_t offset;
27
uint32_t arrayCount;
28
uint32_t size;
29
Grindstone::Formats::Pipelines::V1::ReflectedBlockVariableType type;
30
};
31
32
struct
ShaderReflectDescriptorBinding
{
33
uint32_t bindingIndex;
34
uint32_t count;
35
Grindstone::GraphicsAPI::BindingType type;
36
Grindstone::GraphicsAPI::ShaderStageBit stages;
37
std::string name;
38
};
39
40
struct
ShaderReflectDescriptorSet
{
41
uint32_t setIndex;
42
uint32_t bindingStartIndex;
43
uint32_t bindingCount;
44
};
45
46
struct
StageCompilationArtifacts
{
47
Grindstone::GraphicsAPI::ShaderStage stage;
48
std::vector<::ShaderReflectDescriptorBinding> reflectedDescriptorBindings;
49
std::vector<::ShaderReflectDescriptorSet> reflectedDescriptorSets;
50
std::vector<ReflectedBufferBinding> reflectedBufferBindings;
51
std::vector<ReflectedBlock> reflectedBlocks;
52
std::vector<ReflectedBlockVariable> reflectedBlockVariables;
53
std::vector<Grindstone::Formats::Pipelines::V1::MaterialResource> materialResources;
54
std::vector<char> hash;
55
std::vector<char> compiledCode;
56
std::vector<char> compiledPdb;
57
};
58
59
struct
CompilationArtifactsGraphics
{
60
struct
Pass
{
61
std::vector<StageCompilationArtifacts> stages;
62
};
63
64
struct
Configuration
{
65
std::map<std::string_view, Pass> passes;
66
};
67
68
std::map<std::string_view, Configuration> configurations;
69
};
70
71
struct
CompilationArtifactsCompute
{
72
StageCompilationArtifacts
computeStage;
73
};
CompilationArtifactsCompute
Definition
CompilationArtifacts.hpp:71
CompilationArtifactsGraphics::Configuration
Definition
CompilationArtifacts.hpp:64
CompilationArtifactsGraphics::Pass
Definition
CompilationArtifacts.hpp:60
CompilationArtifactsGraphics
Definition
CompilationArtifacts.hpp:59
ReflectedBlockVariable
Definition
CompilationArtifacts.hpp:24
ReflectedBlock
Definition
CompilationArtifacts.hpp:17
ReflectedBufferBinding
Definition
CompilationArtifacts.hpp:11
ShaderReflectDescriptorBinding
Definition
CompilationArtifacts.hpp:32
ShaderReflectDescriptorSet
Definition
CompilationArtifacts.hpp:40
StageCompilationArtifacts
Definition
CompilationArtifacts.hpp:46
plugins
Grindstone.Editor.PipelineSetImporter
include
PipelineSet
Converter
CompilationArtifacts.hpp
Generated by
1.17.0