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  EngineCore
 Log category system implementation.
namespace  EngineCore::ShaderStage
 C++ side enum definitions for shader bindings, generated from X-macros.
namespace  EngineCore::ShaderStage::MeshletUnpackingDispatch
namespace  EngineCore::ShaderStage::ComputeDispatch
namespace  EngineCore::ShaderStage::MeshletCullingDispatch
namespace  EngineCore::ShaderStage::MeshletUnpacking
namespace  EngineCore::ShaderStage::PrimitiveBinning
namespace  EngineCore::ShaderStage::MeshletUnpackingV2
namespace  EngineCore::ShaderStage::PrimitiveCulling
namespace  EngineCore::ShaderStage::MeshletCulling
namespace  EngineCore::ShaderStage::PrepareDraw
namespace  EngineCore::ShaderStage::HiZGeneration
namespace  EngineCore::ShaderStage::HiZCulling
namespace  EngineCore::ShaderStage::VSBinning
namespace  EngineCore::ShaderStage::VSInstanceUnpacking
namespace  EngineCore::ShaderStage::VSPrepareDraw
namespace  EngineCore::ShaderStage::Graphics

Macros

#define BINDING_ENUM_ENTRY(name, value)

Enumerations

enum  EngineCore::ShaderStage::MeshletUnpackingDispatch::Binding : uint32_t {
  EngineCore::ShaderStage::MeshletUnpackingDispatch::MESHLET_UNPACKING_DISPATCH_COUNTER = 0 ,
  EngineCore::ShaderStage::MeshletUnpackingDispatch::MESHLET_UNPACKING_DISPATCH_BUFFER = 1 ,
  EngineCore::ShaderStage::MeshletUnpackingDispatch::MESHLET_UNPACKING_DISPATCH_LOD_COUNTER = 2
}
enum  EngineCore::ShaderStage::ComputeDispatch::Binding : uint32_t {
  EngineCore::ShaderStage::ComputeDispatch::DISPATCHER_COUNTER = 0 ,
  EngineCore::ShaderStage::ComputeDispatch::DISPATCHER_BUFFER = 1
}
enum  EngineCore::ShaderStage::MeshletCullingDispatch::Binding : uint32_t {
  EngineCore::ShaderStage::MeshletCullingDispatch::MESHLET_CULLING_DISPATCH_COUNTER = 0 ,
  EngineCore::ShaderStage::MeshletCullingDispatch::MESHLET_CULLING_DISPATCH_BUFFER = 1
}
enum  EngineCore::ShaderStage::MeshletUnpacking::Binding : uint32_t {
  EngineCore::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_OBJECT_IDS = 0 ,
  EngineCore::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_OBJECT_DATA = 1 ,
  EngineCore::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_MESHLET_INDICES = 2 ,
  EngineCore::ShaderStage::MeshletUnpacking::MESHLET_UNPACKING_COUNTER = 3
}
enum  EngineCore::ShaderStage::PrimitiveBinning::Binding : uint32_t {
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_CULLING_SURVIVORS = 0 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_PRIMITIVE_MESHLET_DATA = 1 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_ALLOCATIONS = 2 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_PIPELINE_COUNTERS = 3 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_SURVIVOR_COUNT = 4 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_LOD_CLUSTER_SURVIVORS = 5 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_LOD_CLUSTER_SURVIVOR_COUNT = 6 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_CLUSTER_LOD_DATA = 7 ,
  EngineCore::ShaderStage::PrimitiveBinning::BINNING_PRIMITIVE_MESHLET_DATA_LOD = 8
}
enum  EngineCore::ShaderStage::MeshletUnpackingV2::Binding : uint32_t {
  EngineCore::ShaderStage::MeshletUnpackingV2::UNPACKING_ALLOCATIONS = 0 ,
  EngineCore::ShaderStage::MeshletUnpackingV2::UNPACKING_BIN_OFFSETS = 1 ,
  EngineCore::ShaderStage::MeshletUnpackingV2::UNPACKING_OUTPUT = 2 ,
  EngineCore::ShaderStage::MeshletUnpackingV2::UNPACKING_SURVIVOR_COUNT = 3 ,
  EngineCore::ShaderStage::MeshletUnpackingV2::UNPACKING_LOD_CLUSTER_SURVIVOR_COUNT = 4
}
enum  EngineCore::ShaderStage::PrimitiveCulling::Binding : uint32_t {
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_DATA = 0 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_MESHLET_DATA = 1 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_FRUSTUM_PLANES = 2 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_IDS = 3 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_COUNTER = 4 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_MESH_UNPACKING_DATA = 5 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_LOCAL_BOUNDS = 8 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_PER_OBJECT_DATA = 9 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_FAILED = 10 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_CULLING_FAILED_COUNTER = 11 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_VS_INDIRECT_DRAW = 13 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_VS_INDIRECT_COUNT = 14 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_SINGLE_MESHLET_GEO = 15 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_INSTANCE_CULLING_DATA = 16 ,
  EngineCore::ShaderStage::PrimitiveCulling::PRIMITIVE_MESH_GEOMETRY_DATA = 17 ,
  EngineCore::ShaderStage::PrimitiveCulling::CLUSTER_LOD_DATA = 18 ,
  EngineCore::ShaderStage::PrimitiveCulling::CLUSTER_GROUP_DATA = 19 ,
  EngineCore::ShaderStage::PrimitiveCulling::LOD_CONFIG = 20 ,
  EngineCore::ShaderStage::PrimitiveCulling::LOD_CLUSTER_SURVIVORS = 21 ,
  EngineCore::ShaderStage::PrimitiveCulling::LOD_CLUSTER_SURVIVOR_COUNT = 22
}
enum  EngineCore::ShaderStage::MeshletCulling::Binding : uint32_t {
  EngineCore::ShaderStage::MeshletCulling::MESHLET_CULLING_INDICES = 0 ,
  EngineCore::ShaderStage::MeshletCulling::MESHLET_CULLING_BOUNDS = 1 ,
  EngineCore::ShaderStage::MeshletCulling::MESHLET_CULLING_FRUSTUM_PLANES = 2 ,
  EngineCore::ShaderStage::MeshletCulling::MESHLET_CULLING_COUNTS = 3 ,
  EngineCore::ShaderStage::MeshletCulling::MESHLET_CULLING_BINNED_RENDERING = 4
}
enum  EngineCore::ShaderStage::PrepareDraw::Binding : uint32_t {
  EngineCore::ShaderStage::PrepareDraw::PREPARE_DRAW_MESHLET_COUNTER = 0 ,
  EngineCore::ShaderStage::PrepareDraw::PREPARE_DRAW_INDIRECT_DRAW = 1
}
enum  EngineCore::ShaderStage::HiZGeneration::Binding : uint32_t {
  EngineCore::ShaderStage::HiZGeneration::HIZ_SRC_TEXTURE = 0 ,
  EngineCore::ShaderStage::HiZGeneration::HIZ_SRC_DEPTH_MS = 1 ,
  EngineCore::ShaderStage::HiZGeneration::HIZ_DST_MIP = 2
}
enum  EngineCore::ShaderStage::HiZCulling::Binding : uint32_t {
  EngineCore::ShaderStage::HiZCulling::HIZ_PYRAMID = 6 ,
  EngineCore::ShaderStage::HiZCulling::HIZ_VIEW_PROJECTION = 7 ,
  EngineCore::ShaderStage::HiZCulling::HIZ_PYRAMID_CURRENT = 12
}
enum  EngineCore::ShaderStage::VSBinning::Binding : uint32_t {
  EngineCore::ShaderStage::VSBinning::VS_BINNING_VISIBLE_INSTANCES = 0 ,
  EngineCore::ShaderStage::VSBinning::VS_BINNING_VISIBLE_COUNT = 1 ,
  EngineCore::ShaderStage::VSBinning::VS_BINNING_MESH_GEOMETRY_DATA = 2 ,
  EngineCore::ShaderStage::VSBinning::VS_BINNING_INSTANCE_CULLING_DATA = 3 ,
  EngineCore::ShaderStage::VSBinning::VS_BINNING_ALLOCATIONS = 4 ,
  EngineCore::ShaderStage::VSBinning::VS_BINNING_GEOMETRY_COUNTERS = 5
}
enum  EngineCore::ShaderStage::VSInstanceUnpacking::Binding : uint32_t {
  EngineCore::ShaderStage::VSInstanceUnpacking::VS_UNPACKING_ALLOCATIONS = 0 ,
  EngineCore::ShaderStage::VSInstanceUnpacking::VS_UNPACKING_VISIBLE_COUNT = 1 ,
  EngineCore::ShaderStage::VSInstanceUnpacking::VS_UNPACKING_INSTANCE_IDS = 2
}
enum  EngineCore::ShaderStage::VSPrepareDraw::Binding : uint32_t {
  EngineCore::ShaderStage::VSPrepareDraw::VS_PREPARE_SINGLE_MESHLET_GEO = 0 ,
  EngineCore::ShaderStage::VSPrepareDraw::VS_PREPARE_GEOMETRY_COUNTERS = 1 ,
  EngineCore::ShaderStage::VSPrepareDraw::VS_PREPARE_INDIRECT_DRAWS = 2 ,
  EngineCore::ShaderStage::VSPrepareDraw::VS_PREPARE_DRAW_COUNT = 3
}
enum  EngineCore::ShaderStage::Graphics::Binding : uint32_t {
  EngineCore::ShaderStage::Graphics::VERTEX_BUFFER = 0 ,
  EngineCore::ShaderStage::Graphics::VIEW_PROJECTION_UBO = 1 ,
  EngineCore::ShaderStage::Graphics::MESHLET_BUFFER = 2 ,
  EngineCore::ShaderStage::Graphics::MESHLET_TRIANGLES_BUFFER = 3 ,
  EngineCore::ShaderStage::Graphics::BINNED_VISIBLE_MESHLET_INDEX_BUFFER = 4 ,
  EngineCore::ShaderStage::Graphics::PER_OBJECT_SSBO = 5 ,
  EngineCore::ShaderStage::Graphics::MESH_BUFFER = 6 ,
  EngineCore::ShaderStage::Graphics::MESH_PRIMITIVE_BUFFER = 7 ,
  EngineCore::ShaderStage::Graphics::MESHLET_TO_OBJECT_MAP_BUFFER = 8 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_DIFFUSE_FLAT_COLOR = 9 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_DIFFUSE_SHADER = 10 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_MOVABLE_DIFFUSE = 11 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_NORMALS = 12 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_L0 = 13 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_L1 = 14 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_L2 = 15 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_DYNAMIC_TEXTURES = 16 ,
  EngineCore::ShaderStage::Graphics::MATERIAL_STATIC_LIGHTMAP = 17 ,
  EngineCore::ShaderStage::Graphics::VS_INSTANCE_IDS = 18 ,
  EngineCore::ShaderStage::Graphics::SH_PROBE_BUFFER = 19 ,
  EngineCore::ShaderStage::Graphics::TEXTURE_ARRAY = 20
}

Macro Definition Documentation

◆ BINDING_ENUM_ENTRY

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

Definition at line 14 of file GpuDataLayouts.hpp.