Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
PipelineStages.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <string_view>
5
6namespace EngineCore
7{
8
25enum class PipelineStage : uint32_t
26{
27 // Transfer phase
29
30 // Compute phase (GPU culling, indirect dispatch setup)
33
34 // Graphics phase
36
37 // Presentation phase
39
40 // Marker for stage count - must be last
42};
43
44constexpr uint32_t PIPELINE_STAGE_COUNT = static_cast<uint32_t>(PipelineStage::COUNT);
45
52constexpr std::string_view getPipelineStageName(PipelineStage stage)
53{
54 switch (stage)
55 {
56 case PipelineStage::TransferComplete: return "TransferComplete";
57 case PipelineStage::CullingComplete: return "CullingComplete";
58 case PipelineStage::MeshletUnpackComplete: return "MeshletUnpackComplete";
59 case PipelineStage::GraphicsComplete: return "GraphicsComplete";
60 case PipelineStage::PresentReady: return "PresentReady";
61 default: return "Unknown";
62 }
63}
64
65} // namespace EngineCore
Log category system implementation.
constexpr std::string_view getPipelineStageName(PipelineStage stage)
Gets a human-readable name for a pipeline stage (for debugging/logging)
constexpr uint32_t PIPELINE_STAGE_COUNT
PipelineStage
Extensible pipeline stages for timeline semaphore synchronization.