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

#include <RenderGraphManager.h>

Public Member Functions

xiiResult Begin (xiiUInt32 uiFramesInFlight=3U)
void End ()
 Ends the frame and releases the rendering lock.
XII_ALWAYS_INLINE bool IsActive () const
 Returns true after Begin() and before End().
XII_ALWAYS_INLINE xiiUInt64 GetFrameIndex () const
 Returns the device-wide frame index, or zero when inactive.
XII_ALWAYS_INLINE xiiUInt64 GetCompletedFrame () const
 Returns the last completed GPU frame observed when this frame began.

Friends

class xiiRenderGraphManager

Detailed Description

Serializes device-wide frame preparation and submission across rendering workloads. Begin acquires the rendering lock, waits for reusable frame slots, and advances the shared material/visibility/shadow/bindless timeline. End captures all submitted queues, including failed or empty frames, and releases the lock. Destruction calls End. Use on one thread; nesting fails.

Member Function Documentation

◆ Begin()

xiiResult xiiRenderGraphFrame::Begin ( xiiUInt32 uiFramesInFlight = 3U)
nodiscard

The requested submission window is bounded by the smallest live material, geometry, visibility, shadow or ray-tracing buffer ring. Zero, an already active scope, or nested frames return failure.


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