nCine::RHI::Vulkan::VulkanDebug class

Debug-output and object-labelling stub of the Vulkan backend.

The backend has no device-side debug facility wired up, so every entry point is a no-op. The class exists to satisfy the RHI::Debug contract alias (debug groups, message insertion and object labels used by the render pipeline). These could later route to VK_EXT_debug_utils labels / object names when the validation layer or a debugger is present.

Public types

class ScopedGroup
RAII scope for a debug message group (a no-op for the Vulkan backend).
enum class LabelTypes { Buffer, Shader, Program, VertexArray, Query, ProgramPipeline, TransformFeedback, Sampler, Texture, RenderBuffer, FrameBuffer }
Object types that can be labelled (values are irrelevant for the Vulkan backend).

Public static functions

static void Init(const IGfxCapabilities& gfxCaps)
static void Reset()
static auto IsAvailable() -> bool
static void PushGroup(StringView message)
static void PopGroup()
static void MessageInsert(StringView message)
static void SetObjectLabel(LabelTypes identifier, std::uint32_t name, StringView label)
static void GetObjectLabel(LabelTypes identifier, std::uint32_t name, std::int32_t bufSize, std::int32_t* length, char* label)
static auto GetMaxLabelLength() -> std::int32_t