XII Release 0.1.0
Loading...
Searching...
No Matches
xiiRenderGraphDebug Class Reference

#include <RenderGraphDebug.h>

Classes

struct  ExecutionEvent

Static Public Member Functions

static xiiResult WriteSnapshot (const ExecutionEvent &event, xiiStreamWriter &stream)
static xiiResult DumpToDot (xiiArrayPtr< const xiiRenderGraphCompiledPass > pCompiledPasses, xiiArrayPtr< const xiiRenderGraphBarrierDescription > pBarriers, xiiArrayPtr< const xiiRenderGraphMergeGroup > pMergeGroups, xiiArrayPtr< const xiiRenderGraphQueueSubmission > pQueueSubmissions, xiiArrayPtr< const xiiRenderGraphResourceDescription > pResources, xiiArrayPtr< const xiiRenderGraphResourceVersionDescription > pVersions, xiiStringBuilder &out_sDot)
 Copyright (c) Theophilus Eriata. All Rights Reserved.

Static Public Attributes

static xiiEvent< const ExecutionEvent &, xiiMutex > s_ExecutionEvents
 Copyright (c) Theophilus Eriata. All Rights Reserved.

Detailed Description

Static utility class for render graph debugging and visualization.

Provides methods to serialize a compiled render graph into human-readable formats suitable for offline visualization with Graphviz or similar tools.

Member Function Documentation

◆ DumpToDot()

xiiResult xiiRenderGraphDebug::DumpToDot ( xiiArrayPtr< const xiiRenderGraphCompiledPass > pCompiledPasses,
xiiArrayPtr< const xiiRenderGraphBarrierDescription > pBarriers,
xiiArrayPtr< const xiiRenderGraphMergeGroup > pMergeGroups,
xiiArrayPtr< const xiiRenderGraphQueueSubmission > pQueueSubmissions,
xiiArrayPtr< const xiiRenderGraphResourceDescription > pResources,
xiiArrayPtr< const xiiRenderGraphResourceVersionDescription > pVersions,
xiiStringBuilder & out_sDot )
staticnodiscard

Copyright (c) Theophilus Eriata. All Rights Reserved.

Generates a DOT-language description of the compiled render graph.

The output contains:

  • One node per compiled (non-culled) pass, labeled with the pass name and queue index.
  • Directed edges representing data-flow dependencies (resource reads/writes).
  • Cluster sub-graphs for each merge group (passes that share a native render pass).
  • Cluster sub-graphs by queue (Graphics / AsyncCompute / AsyncTransfer).
  • Edge annotations for barrier type (Immediate / SplitBegin / SplitEnd / UAV).
Parameters
compiledPasses- All compiled passes returned by xiiRenderGraph::Compile().
barriers- All barriers from xiiRenderGraph::Compile().
mergeGroups- Merge groups from xiiRenderGraph::Compile().
queueSubmission- Queue submission ordering from xiiRenderGraph::Compile().
out_sDot- Receives the DOT text on success.

◆ WriteSnapshot()

xiiResult xiiRenderGraphDebug::WriteSnapshot ( const ExecutionEvent & event,
xiiStreamWriter & stream )
staticnodiscard

Versioned, pointer-free capture; stable IDs are strings to preserve JSON precision. The caller supplies a bounded stream. No GPU waits or query creation are performed.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/RenderGraphDebug.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/Implementation/RenderGraphCapture.cpp
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/Implementation/RenderGraphDebug.cpp