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

#include <RenderPipelineInstance.h>

Public Member Functions

 xiiRenderPipelineInstance ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
xiiResult Synchronize (const xiiRenderPipelineResourceHandle &resource, bool *out_changed=nullptr)
xiiResult Initialize (xiiSharedPtr< const xiiRenderPipeline > pipeline)
xiiResult BeginFrame (xiiView *view, xiiRenderGraph &graph, xiiRenderGraphBlackboard &blackboard, const xiiVariantDictionary &overrides={})
xiiResult Build (xiiView *view, xiiRenderGraph &graph, xiiRenderGraphBlackboard &blackboard, const xiiVariantDictionary &overrides={}, xiiArrayPtr< const xiiRenderPipelineInputBinding > inputs={})
const xiiRenderPipelineBinding * GetInterfaceBinding (xiiUInt32 index) const
void Clear ()
void InvalidateTemporalHistory ()
const xiiRenderPipelineBinding * GetOutputBinding (xiiUInt32 passIndex, xiiStringView pin) const
 Frame-local binding inspection. Handles expire when the graph starts its next setup.
const xiiRenderPipeline * GetPipeline () const
xiiStringView GetLastBuildError () const
const xiiRenderPipelinePass * GetPass (xiiUInt32 index) const

Detailed Description

View-local pass objects and bindings. Synchronize only at a frame boundary, after previous CPU graph execution. Resource changes replace immutable compilations; existing snapshots stay valid. A failed replacement drops stale executable state. No graph traversal occurs during Build.

Member Function Documentation

◆ BeginFrame()

xiiResult xiiRenderPipelineInstance::BeginFrame ( xiiView * view,
xiiRenderGraph & graph,
xiiRenderGraphBlackboard & blackboard,
const xiiVariantDictionary & overrides = {} )

Publish explicit previous-frame resources before current-frame inputs are available. Repeated calls within one setup are idempotent; changes to context/configuration require a new setup.


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