Vulkan Schnee
0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
ShaderBindingsDef.hpp
Go to the documentation of this file.
1
#pragma once
2
10
11
// Pattern: STAGE_BINDINGS(X) where X(name, value) will be expanded differently per use case
12
13
#define DISPATCHER_BINDINGS( X ) \
14
X(DISPATCHER_COUNTER, 0) \
15
X(DISPATCHER_BUFFER, 1)
16
17
#define MESHLET_UNPACKING_DISPATCH_BINDINGS( X ) \
18
X( MESHLET_UNPACKING_DISPATCH_COUNTER, 0 ) \
19
X( MESHLET_UNPACKING_DISPATCH_BUFFER, 1 ) \
20
X( MESHLET_UNPACKING_DISPATCH_LOD_COUNTER, 2 )
21
22
#define MESHLET_CULLING_DISPATCH_BINDINGS( X ) \
23
X( MESHLET_CULLING_DISPATCH_COUNTER, 0 ) \
24
X( MESHLET_CULLING_DISPATCH_BUFFER, 1 )
25
29
#define PRIMITIVE_BINNING_BINDINGS( X ) \
30
X( BINNING_CULLING_SURVIVORS, 0 ) \
31
X( BINNING_PRIMITIVE_MESHLET_DATA, 1 ) \
32
X( BINNING_ALLOCATIONS, 2 ) \
33
X( BINNING_PIPELINE_COUNTERS, 3 ) \
34
X( BINNING_SURVIVOR_COUNT, 4 ) \
35
X( BINNING_LOD_CLUSTER_SURVIVORS, 5 ) \
36
X( BINNING_LOD_CLUSTER_SURVIVOR_COUNT, 6 ) \
37
X( BINNING_CLUSTER_LOD_DATA, 7 ) \
38
X( BINNING_PRIMITIVE_MESHLET_DATA_LOD, 8 )
39
43
#define MESHLET_UNPACKING_V2_BINDINGS( X ) \
44
X( UNPACKING_ALLOCATIONS, 0 ) \
45
X( UNPACKING_BIN_OFFSETS, 1 ) \
46
X( UNPACKING_OUTPUT, 2 ) \
47
X( UNPACKING_SURVIVOR_COUNT, 3 ) \
48
X( UNPACKING_LOD_CLUSTER_SURVIVOR_COUNT, 4 )
49
51
#define MESHLET_UNPACKING_BINDINGS( X ) \
52
X( MESHLET_UNPACKING_OBJECT_IDS, 0 ) \
53
X( MESHLET_UNPACKING_OBJECT_DATA, 1 ) \
54
X( MESHLET_UNPACKING_MESHLET_INDICES, 2 ) \
55
X( MESHLET_UNPACKING_COUNTER, 3 )
56
57
#define PRIMITIVE_CULLING_BINDINGS( X ) \
58
X( PRIMITIVE_CULLING_DATA, 0 ) \
59
X( PRIMITIVE_MESHLET_DATA, 1 ) \
60
X( PRIMITIVE_CULLING_FRUSTUM_PLANES, 2 ) \
61
X( PRIMITIVE_IDS, 3 ) \
62
X( PRIMITIVE_CULLING_COUNTER, 4 ) \
63
X( PRIMITIVE_MESH_UNPACKING_DATA, 5 ) \
64
X( PRIMITIVE_LOCAL_BOUNDS, 8 ) \
65
X( PRIMITIVE_PER_OBJECT_DATA, 9 ) \
66
X( PRIMITIVE_CULLING_FAILED, 10 ) \
67
X( PRIMITIVE_CULLING_FAILED_COUNTER, 11 ) \
68
X( PRIMITIVE_VS_INDIRECT_DRAW, 13 ) \
69
X( PRIMITIVE_VS_INDIRECT_COUNT, 14 ) \
70
X( PRIMITIVE_SINGLE_MESHLET_GEO, 15 ) \
71
X( PRIMITIVE_INSTANCE_CULLING_DATA, 16 ) \
72
X( PRIMITIVE_MESH_GEOMETRY_DATA, 17 ) \
73
X( CLUSTER_LOD_DATA, 18 ) \
74
X( CLUSTER_GROUP_DATA, 19 ) \
75
X( LOD_CONFIG, 20 ) \
76
X( LOD_CLUSTER_SURVIVORS, 21 ) \
77
X( LOD_CLUSTER_SURVIVOR_COUNT, 22 )
78
79
#define MESHLET_CULLING_BINDINGS( X ) \
80
X( MESHLET_CULLING_INDICES, 0 ) \
81
X( MESHLET_CULLING_BOUNDS, 1 ) \
82
X( MESHLET_CULLING_FRUSTUM_PLANES, 2 ) \
83
X( MESHLET_CULLING_COUNTS, 3 ) \
84
X( MESHLET_CULLING_BINNED_RENDERING, 4 )
85
86
#define PREPARE_DRAW_BINDINGS( X ) \
87
X( PREPARE_DRAW_MESHLET_COUNTER, 0 ) \
88
X( PREPARE_DRAW_INDIRECT_DRAW, 1 )
89
91
#define HIZ_GENERATION_BINDINGS( X ) \
92
X( HIZ_SRC_TEXTURE, 0 ) \
93
X( HIZ_SRC_DEPTH_MS, 1 ) \
94
X( HIZ_DST_MIP, 2 )
95
99
#define HIZ_CULLING_BINDINGS( X ) \
100
X( HIZ_PYRAMID, 6 ) \
101
X( HIZ_VIEW_PROJECTION, 7 ) \
102
X( HIZ_PYRAMID_CURRENT, 12 )
103
105
#define VS_BINNING_BINDINGS( X ) \
106
X( VS_BINNING_VISIBLE_INSTANCES, 0 ) \
107
X( VS_BINNING_VISIBLE_COUNT, 1 ) \
108
X( VS_BINNING_MESH_GEOMETRY_DATA, 2 ) \
109
X( VS_BINNING_INSTANCE_CULLING_DATA, 3 ) \
110
X( VS_BINNING_ALLOCATIONS, 4 ) \
111
X( VS_BINNING_GEOMETRY_COUNTERS, 5 )
112
114
#define VS_INSTANCE_UNPACKING_BINDINGS( X ) \
115
X( VS_UNPACKING_ALLOCATIONS, 0 ) \
116
X( VS_UNPACKING_VISIBLE_COUNT, 1 ) \
117
X( VS_UNPACKING_INSTANCE_IDS, 2 )
118
120
#define VS_PREPARE_DRAW_BINDINGS( X ) \
121
X( VS_PREPARE_SINGLE_MESHLET_GEO, 0 ) \
122
X( VS_PREPARE_GEOMETRY_COUNTERS, 1 ) \
123
X( VS_PREPARE_INDIRECT_DRAWS, 2 ) \
124
X( VS_PREPARE_DRAW_COUNT, 3 )
125
126
#define GRAPHICS_BINDINGS( X ) \
127
X( VERTEX_BUFFER, 0 ) \
128
X( VIEW_PROJECTION_UBO, 1 ) \
129
X( MESHLET_BUFFER, 2 ) \
130
X( MESHLET_TRIANGLES_BUFFER, 3 ) \
131
X( BINNED_VISIBLE_MESHLET_INDEX_BUFFER, 4 ) \
132
X( PER_OBJECT_SSBO, 5 ) \
133
X( MESH_BUFFER, 6 ) \
134
X( MESH_PRIMITIVE_BUFFER, 7 ) \
135
X( MESHLET_TO_OBJECT_MAP_BUFFER, 8 ) \
136
X( MATERIAL_DIFFUSE_FLAT_COLOR, 9 ) \
137
X( MATERIAL_DIFFUSE_SHADER, 10 ) \
138
X( MATERIAL_MOVABLE_DIFFUSE, 11 ) \
139
X( MATERIAL_NORMALS, 12 ) \
140
X( MATERIAL_L0, 13 ) \
141
X( MATERIAL_L1, 14 ) \
142
X( MATERIAL_L2, 15 ) \
143
X( MATERIAL_DYNAMIC_TEXTURES, 16 ) \
144
X( MATERIAL_STATIC_LIGHTMAP, 17 ) \
145
X( VS_INSTANCE_IDS, 18 ) \
146
X( SH_PROBE_BUFFER, 19 ) \
147
X( TEXTURE_ARRAY, 20 )
Engine
include
Engine
Renderer
ShaderBindingsDef.hpp
Generated by
1.14.0