Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::geode::FrameCommandBufferSink Class Referenceabstract

Renderer-owned collection point for the command buffers one frame records. More...

#include "donner/svg/renderer/geode/GeodeFilterEngine.h"

Public Member Functions

virtual bool appendFrameCommandBuffer (gpu::CommandBuffer commandBuffer)=0
 Adds commandBuffer to the frame, after everything already added.
virtual bool frameUploadRefused () const
 True when the frame refused an upload and must discard its recorded commands without loss.
virtual void retainUntilFrameSubmits (RetainedFilterResources resources)=0
 Keeps the handles a command buffer added here references alive until the frame submits.

Detailed Description

Renderer-owned collection point for the command buffers one frame records.

A filter executing inside a frame adds its command buffers here instead of submitting them, so the whole frame stays one submission whose buffers execute in the order they were added. An execution handed no sink submits each of its command buffers on its own.

Member Function Documentation

◆ appendFrameCommandBuffer()

virtual bool donner::geode::FrameCommandBufferSink::appendFrameCommandBuffer ( gpu::CommandBuffer commandBuffer)
nodiscardpure virtual

Adds commandBuffer to the frame, after everything already added.

Parameters
commandBufferFinished command buffer; consumed.
Returns
False when the frame cannot take it, which fails the execution recording it.

◆ retainUntilFrameSubmits()

virtual void donner::geode::FrameCommandBufferSink::retainUntilFrameSubmits ( RetainedFilterResources resources)
pure virtual

Keeps the handles a command buffer added here references alive until the frame submits.

A submission re-validates every resource a recorded command names, so anything an execution would otherwise drop when it finishes has to outlive the frame it recorded into rather than the execution that recorded it.

Parameters
resourcesHandles the added command buffers reference; consumed.

The documentation for this class was generated from the following file: