Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::geode::FilterTextureAllocator Class Referenceabstract

Renderer-owned allocation boundary for filter textures. More...

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

Public Member Functions

virtual gpu::Texture acquireFilterTexture (const gpu::TextureDescriptor &desc)=0
 Takes a filter intermediate matching desc from the renderer's pool, or an invalid texture when the renderer's budget refuses it.
virtual void releaseFilterTextureAtFrameEnd (gpu::Texture texture, const gpu::TextureDescriptor &desc)=0
 Hands texture back for reuse once the frame it was recorded into has submitted.

Detailed Description

Renderer-owned allocation boundary for filter textures.

Filter work is recorded into the renderer's frame command encoder, so textures must remain unavailable for reuse until that frame submits. Implementations provide exact-descriptor pooling and defer releases to the frame boundary.

Member Function Documentation

◆ acquireFilterTexture()

virtual gpu::Texture donner::geode::FilterTextureAllocator::acquireFilterTexture ( const gpu::TextureDescriptor & desc)
pure virtual

Takes a filter intermediate matching desc from the renderer's pool, or an invalid texture when the renderer's budget refuses it.

Parameters
descDescriptor the intermediate is allocated with.

◆ releaseFilterTextureAtFrameEnd()

virtual void donner::geode::FilterTextureAllocator::releaseFilterTextureAtFrameEnd ( gpu::Texture texture,
const gpu::TextureDescriptor & desc )
pure virtual

Hands texture back for reuse once the frame it was recorded into has submitted.

Parameters
textureTexture to return; consumed.
descDescriptor texture was acquired with; must match, or the next acquire for that descriptor misses its bucket.

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