Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
GpuDataLayouts.hpp File Reference
#include "ShaderBindingsDef.hpp"
#include <cstdint>
Include dependency graph for GpuDataLayouts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Engine
namespace  Engine::Rendering
namespace  Engine::Rendering::ShaderStage
 C++ side enum definitions for shader bindings, generated from X-macros.
namespace  Engine::Rendering::ShaderStage::MeshletUnpackingDispatch
namespace  Engine::Rendering::ShaderStage::ComputeDispatch
namespace  Engine::Rendering::ShaderStage::MeshletCullingDispatch
namespace  Engine::Rendering::ShaderStage::MeshletUnpacking
namespace  Engine::Rendering::ShaderStage::PrimitiveBinning
namespace  Engine::Rendering::ShaderStage::MeshletUnpackingV2
namespace  Engine::Rendering::ShaderStage::PrimitiveCulling
namespace  Engine::Rendering::ShaderStage::MeshletCulling
namespace  Engine::Rendering::ShaderStage::PrepareDraw
namespace  Engine::Rendering::ShaderStage::VSBinning
namespace  Engine::Rendering::ShaderStage::VSInstanceUnpacking
namespace  Engine::Rendering::ShaderStage::VSPrefixSum
namespace  Engine::Rendering::ShaderStage::VSPrepareDraw
namespace  Engine::Rendering::ShaderStage::ClusterPrefixSum
namespace  Engine::Rendering::ShaderStage::ClusterLodSelection
namespace  Engine::Rendering::ShaderStage::Graphics

Macros

#define BINDING_ENUM_ENTRY(name, value)

Enumerations

enum  Engine::Rendering::ShaderStage::MeshletUnpackingDispatch::Binding : uint32_t {
  Engine::Rendering::ShaderStage::MeshletUnpackingDispatch::MESHLET_UNPACKING_DISPATCH_COUNTER = 0 ,
  Engine::Rendering::ShaderStage::MeshletUnpackingDispatch::MESHLET_UNPACKING_DISPATCH_BUFFER = 1 ,
  Engine::Rendering::ShaderStage::MeshletUnpackingDispatch::MESHLET_UNPACKING_DISPATCH_LOD_COUNTER = 2
}
enum  Engine::Rendering::ShaderStage::ComputeDispatch::Binding : uint32_t {
  Engine::Rendering::ShaderStage::ComputeDispatch::DISPATCHER_COUNTER = 0 ,
  Engine::Rendering::ShaderStage::ComputeDispatch::DISPATCHER_BUFFER = 1
}
enum  Engine::Rendering::ShaderStage::MeshletCullingDispatch::Binding : uint32_t {
  Engine::Rendering::ShaderStage::MeshletCullingDispatch::MESHLET_CULLING_DISPATCH_COUNTER = 0 ,
  Engine::Rendering::ShaderStage::MeshletCullingDispatch::MESHLET_CULLING_DISPATCH_BUFFER = 1
}
enum  Engine::Rendering::ShaderStage::MeshletUnpacking::Binding : uint32_t {
  Engine::Rendering::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_OBJECT_IDS = 0 ,
  Engine::Rendering::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_OBJECT_DATA = 1 ,
  Engine::Rendering::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_MESHLET_INDICES = 2 ,
  Engine::Rendering::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_COUNTER = 3
}
enum  Engine::Rendering::ShaderStage::PrimitiveBinning::Binding : uint32_t {
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_CULLING_SURVIVORS = 0 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_PRIMITIVE_MESHLET_DATA = 1 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_ALLOCATIONS = 2 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_PIPELINE_COUNTERS = 3 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_SURVIVOR_COUNT = 4 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_LOD_CLUSTER_SURVIVORS = 5 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_LOD_CLUSTER_SURVIVOR_COUNT = 6 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_CLUSTER_LOD_DATA = 7 ,
  Engine::Rendering::ShaderStage::PrimitiveBinning::BINNING_PRIMITIVE_MESHLET_DATA_LOD = 8
}
enum  Engine::Rendering::ShaderStage::MeshletUnpackingV2::Binding : uint32_t {
  Engine::Rendering::ShaderStage::MeshletUnpackingV2::UNPACKING_ALLOCATIONS = 0 ,
  Engine::Rendering::ShaderStage::MeshletUnpackingV2::UNPACKING_BIN_OFFSETS = 1 ,
  Engine::Rendering::ShaderStage::MeshletUnpackingV2::UNPACKING_OUTPUT = 2 ,
  Engine::Rendering::ShaderStage::MeshletUnpackingV2::UNPACKING_SURVIVOR_COUNT = 3 ,
  Engine::Rendering::ShaderStage::MeshletUnpackingV2::UNPACKING_LOD_CLUSTER_SURVIVOR_COUNT = 4
}
enum  Engine::Rendering::ShaderStage::PrimitiveCulling::Binding : uint32_t {
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_DATA = 0 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_MESHLET_DATA = 1 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_FRUSTUM_PLANES = 2 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_IDS = 3 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_COUNTER = 4 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_MESH_UNPACKING_DATA = 5 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_LOCAL_BOUNDS = 8 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_PER_OBJECT_DATA = 9 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_VS_INDIRECT_DRAW = 13 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_VS_INDIRECT_COUNT = 14 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_SINGLE_MESHLET_GEO = 15 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_INSTANCE_CULLING_DATA = 16 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_MESH_GEOMETRY_DATA = 17 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::CLUSTER_LOD_DATA = 18 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::CLUSTER_GROUP_DATA = 19 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::LOD_CONFIG = 20 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::LOD_CLUSTER_SURVIVORS = 21 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::LOD_CLUSTER_SURVIVOR_COUNT = 22 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::LOD_VISIBLE_PRIMITIVES = 23 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::LOD_VISIBLE_PRIMITIVE_COUNT = 24 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::ACTIVE_INSTANCE_IDS = 25 ,
  Engine::Rendering::ShaderStage::PrimitiveCulling::PRIMITIVE_SUN_SHADOW_CASCADE_BUFFER = 26
}
enum  Engine::Rendering::ShaderStage::MeshletCulling::Binding : uint32_t {
  Engine::Rendering::ShaderStage::MeshletCulling::MESHLET_CULLING_INDICES = 0 ,
  Engine::Rendering::ShaderStage::MeshletCulling::MESHLET_CULLING_BOUNDS = 1 ,
  Engine::Rendering::ShaderStage::MeshletCulling::MESHLET_CULLING_FRUSTUM_PLANES = 2 ,
  Engine::Rendering::ShaderStage::MeshletCulling::MESHLET_CULLING_COUNTS = 3 ,
  Engine::Rendering::ShaderStage::MeshletCulling::MESHLET_CULLING_BINNED_RENDERING = 4
}
enum  Engine::Rendering::ShaderStage::PrepareDraw::Binding : uint32_t {
  Engine::Rendering::ShaderStage::PrepareDraw::PREPARE_DRAW_MESHLET_COUNTER = 0 ,
  Engine::Rendering::ShaderStage::PrepareDraw::PREPARE_DRAW_INDIRECT_DRAW = 1
}
enum  Engine::Rendering::ShaderStage::VSBinning::Binding : uint32_t {
  Engine::Rendering::ShaderStage::VSBinning::VS_BINNING_VISIBLE_INSTANCES = 0 ,
  Engine::Rendering::ShaderStage::VSBinning::VS_BINNING_VISIBLE_COUNT = 1 ,
  Engine::Rendering::ShaderStage::VSBinning::VS_BINNING_MESH_GEOMETRY_DATA = 2 ,
  Engine::Rendering::ShaderStage::VSBinning::VS_BINNING_INSTANCE_CULLING_DATA = 3 ,
  Engine::Rendering::ShaderStage::VSBinning::VS_BINNING_ALLOCATIONS = 4 ,
  Engine::Rendering::ShaderStage::VSBinning::VS_BINNING_GEOMETRY_COUNTERS = 5
}
enum  Engine::Rendering::ShaderStage::VSInstanceUnpacking::Binding : uint32_t {
  Engine::Rendering::ShaderStage::VSInstanceUnpacking::VS_UNPACKING_ALLOCATIONS = 0 ,
  Engine::Rendering::ShaderStage::VSInstanceUnpacking::VS_UNPACKING_VISIBLE_COUNT = 1 ,
  Engine::Rendering::ShaderStage::VSInstanceUnpacking::VS_UNPACKING_INSTANCE_IDS = 2 ,
  Engine::Rendering::ShaderStage::VSInstanceUnpacking::VS_UNPACKING_GEOMETRY_OFFSETS = 3
}
enum  Engine::Rendering::ShaderStage::VSPrefixSum::Binding : uint32_t {
  Engine::Rendering::ShaderStage::VSPrefixSum::VS_PREFIX_COUNTERS = 0 ,
  Engine::Rendering::ShaderStage::VSPrefixSum::VS_PREFIX_OFFSETS = 1
}
enum  Engine::Rendering::ShaderStage::VSPrepareDraw::Binding : uint32_t {
  Engine::Rendering::ShaderStage::VSPrepareDraw::VS_PREPARE_SINGLE_MESHLET_GEO = 0 ,
  Engine::Rendering::ShaderStage::VSPrepareDraw::VS_PREPARE_GEOMETRY_COUNTERS = 1 ,
  Engine::Rendering::ShaderStage::VSPrepareDraw::VS_PREPARE_INDIRECT_DRAWS = 2 ,
  Engine::Rendering::ShaderStage::VSPrepareDraw::VS_PREPARE_DRAW_COUNT = 3 ,
  Engine::Rendering::ShaderStage::VSPrepareDraw::VS_PREPARE_GEOMETRY_OFFSETS = 4 ,
  Engine::Rendering::ShaderStage::VSPrepareDraw::VS_PREPARE_PIPELINE_DRAW_OFFSETS = 5
}
enum  Engine::Rendering::ShaderStage::ClusterPrefixSum::Binding : uint32_t {
  Engine::Rendering::ShaderStage::ClusterPrefixSum::PREFIX_SUM_VISIBLE_PRIMITIVES = 0 ,
  Engine::Rendering::ShaderStage::ClusterPrefixSum::PREFIX_SUM_VISIBLE_COUNT = 1 ,
  Engine::Rendering::ShaderStage::ClusterPrefixSum::PREFIX_SUM_OUTPUT = 2 ,
  Engine::Rendering::ShaderStage::ClusterPrefixSum::PREFIX_SUM_TOTAL_CLUSTERS = 3 ,
  Engine::Rendering::ShaderStage::ClusterPrefixSum::PREFIX_SUM_DISPATCH_BUFFER = 4
}
enum  Engine::Rendering::ShaderStage::ClusterLodSelection::Binding : uint32_t {
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_VISIBLE_PRIMITIVES = 0 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_VISIBLE_COUNT = 1 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_PREFIX_SUM = 2 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_TOTAL_CLUSTERS = 3 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_CLUSTER_LOD_DATA = 4 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_CLUSTER_GROUP_DATA = 5 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_LOD_CONFIG = 6 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_PER_OBJECT_DATA = 7 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_CLUSTER_SURVIVORS = 8 ,
  Engine::Rendering::ShaderStage::ClusterLodSelection::LOD_SELECT_CLUSTER_SURVIVOR_COUNT = 9
}
enum  Engine::Rendering::ShaderStage::Graphics::Binding : uint32_t {
  Engine::Rendering::ShaderStage::Graphics::VERTEX_BUFFER = 0 ,
  Engine::Rendering::ShaderStage::Graphics::VIEW_PROJECTION_UBO = 1 ,
  Engine::Rendering::ShaderStage::Graphics::MESHLET_BUFFER = 2 ,
  Engine::Rendering::ShaderStage::Graphics::MESHLET_TRIANGLES_BUFFER = 3 ,
  Engine::Rendering::ShaderStage::Graphics::BINNED_VISIBLE_MESHLET_INDEX_BUFFER = 4 ,
  Engine::Rendering::ShaderStage::Graphics::PER_OBJECT_SSBO = 5 ,
  Engine::Rendering::ShaderStage::Graphics::MESH_BUFFER = 6 ,
  Engine::Rendering::ShaderStage::Graphics::MESH_PRIMITIVE_BUFFER = 7 ,
  Engine::Rendering::ShaderStage::Graphics::MESHLET_TO_OBJECT_MAP_BUFFER = 8 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_DIFFUSE_FLAT_COLOR = 9 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_DIFFUSE_SHADER = 10 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_MOVABLE_DIFFUSE = 11 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_NORMALS = 12 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_L0 = 13 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_L1 = 14 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_L2 = 15 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_DYNAMIC_TEXTURES = 16 ,
  Engine::Rendering::ShaderStage::Graphics::MATERIAL_STATIC_LIGHTMAP = 17 ,
  Engine::Rendering::ShaderStage::Graphics::VS_INSTANCE_IDS = 18 ,
  Engine::Rendering::ShaderStage::Graphics::SH_PROBE_BUFFER = 19 ,
  Engine::Rendering::ShaderStage::Graphics::BONE_VERTEX_DATA = 20 ,
  Engine::Rendering::ShaderStage::Graphics::BONE_MATRIX_BUFFER = 21 ,
  Engine::Rendering::ShaderStage::Graphics::BONE_MATRIX_OFFSETS = 22 ,
  Engine::Rendering::ShaderStage::Graphics::MESH_GEOMETRY_DATA_GRAPHICS = 23 ,
  Engine::Rendering::ShaderStage::Graphics::INSTANCE_DATA_GRAPHICS = 24 ,
  Engine::Rendering::ShaderStage::Graphics::ENVIRONMENT_CUBEMAP = 25 ,
  Engine::Rendering::ShaderStage::Graphics::BRDF_LUT = 26 ,
  Engine::Rendering::ShaderStage::Graphics::SH_PROBE_VOLUME_BUFFER = 27 ,
  Engine::Rendering::ShaderStage::Graphics::SH_PROBE_ROOT_INDEX_BUFFER = 28 ,
  Engine::Rendering::ShaderStage::Graphics::SH_PROBE_OCTREE_NODE_BUFFER = 29 ,
  Engine::Rendering::ShaderStage::Graphics::DYNAMIC_POINT_LIGHT_BUFFER = 30 ,
  Engine::Rendering::ShaderStage::Graphics::SUN_LIGHT_BUFFER = 31 ,
  Engine::Rendering::ShaderStage::Graphics::LIGHTMAP_STREAMING_METADATA = 32 ,
  Engine::Rendering::ShaderStage::Graphics::LIGHTMAP_STREAMING_FEEDBACK = 33 ,
  Engine::Rendering::ShaderStage::Graphics::SUN_SHADOW_CASCADE_BUFFER = 34 ,
  Engine::Rendering::ShaderStage::Graphics::SUN_SHADOW_MAP = 35 ,
  Engine::Rendering::ShaderStage::Graphics::DYNAMIC_SUN_SHADOW_MAP = 36 ,
  Engine::Rendering::ShaderStage::Graphics::TEXTURE_ARRAY = 37
}

Macro Definition Documentation

◆ BINDING_ENUM_ENTRY

#define BINDING_ENUM_ENTRY ( name,
value )
Value:
name = value,

Definition at line 11 of file GpuDataLayouts.hpp.