Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
GpuDataLayouts.hpp
Go to the documentation of this file.
1#pragma once
3#include <cstdint>
4
11
13{
14 #define BINDING_ENUM_ENTRY(name, value) name = value,
15
23
25 {
30 }
31
39
41 {
46 }
47
49 {
54 }
55
63
65 {
70 }
71
73 {
78 }
79
80 namespace PrepareDraw
81 {
86 }
87
88 namespace HiZGeneration
89 {
94 }
95
96 namespace HiZCulling
97 {
102 }
103
104 namespace VSBinning
105 {
110 }
111
119
121 {
126 }
127
128 namespace Graphics
129 {
130 enum Binding : uint32_t
131 {
133 };
134 }
135
136 #undef BINDING_ENUM_ENTRY
137}
138
139
140
141
142
143
144
145
146
#define BINDING_ENUM_ENTRY(name, value)
#define PREPARE_DRAW_BINDINGS(X)
#define PRIMITIVE_BINNING_BINDINGS(X)
#define MESHLET_UNPACKING_V2_BINDINGS(X)
#define HIZ_CULLING_BINDINGS(X)
#define VS_BINNING_BINDINGS(X)
VS Binning Stage 1: Count visible instances per geometry type, allocate write offsets.
#define DISPATCHER_BINDINGS(X)
Single source of truth for shader binding indices. These are expanded into C++ enums and GLSL defines...
#define HIZ_GENERATION_BINDINGS(X)
Hi-Z Generation bindings.
#define MESHLET_UNPACKING_BINDINGS(X)
Legacy meshlet unpacking bindings (deprecated)
#define GRAPHICS_BINDINGS(X)
#define MESHLET_CULLING_DISPATCH_BINDINGS(X)
#define MESHLET_CULLING_BINDINGS(X)
#define VS_INSTANCE_UNPACKING_BINDINGS(X)
VS Instance Unpacking Stage 2: Write primitive IDs to per-geometry bins.
#define PRIMITIVE_CULLING_BINDINGS(X)
#define VS_PREPARE_DRAW_BINDINGS(X)
VS Prepare Draw Stage 3: Generate one draw command per geometry type.
#define MESHLET_UNPACKING_DISPATCH_BINDINGS(X)
C++ side enum definitions for shader bindings, generated from X-macros.