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. | |
| virtual void | retainTextureWithoutCompletionProof (gpu::Texture texture, const gpu::TextureDescriptor &desc)=0 |
| Retains a texture whose recorded commands lack completion proof, regardless of its caller. | |
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.
|
pure virtual |
Takes a filter intermediate matching desc from the renderer's pool, or an invalid texture when the renderer's budget refuses it.
| desc | Descriptor the intermediate is allocated with. |
|
pure virtual |
Hands texture back for reuse once the frame it was recorded into has submitted.
| texture | Texture to return; consumed. |
| desc | Descriptor texture was acquired with; must match, or the next acquire for that descriptor misses its bucket. |
|
pure virtual |
Retains a texture whose recorded commands lack completion proof, regardless of its caller.
The texture must not return to a reusable pool. The allocator keeps its backing alive until the owning device is torn down or another backend-specific completion proof exists.