Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::geode::GeodeTransientResources Struct Reference

RAII holder for transient GPU handles created while recording draws - per-draw uniform buffers, texture views, samplers, and bind groups. More...

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

Public Member Functions

const gpu::Bufferretain (gpu::Buffer &&buffer)
 Retains buffer and returns a reference to it for immediate binding.
const gpu::Textureretain (gpu::Texture &&texture)
 Retains texture and returns a reference to it for immediate binding.
const gpu::TextureViewretain (gpu::TextureView &&view)
 Retains view and returns a reference to it for immediate binding.
const gpu::Samplerretain (gpu::Sampler &&sampler)
 Retains sampler and returns a reference to it for immediate binding.
const gpu::BindGroupretain (gpu::BindGroup &&bindGroup)
 Retains bindGroup and returns a reference to it for immediate binding.
void clear ()
 Releases every retained handle (RAII destruction through the owning device).

Public Attributes

std::deque< gpu::Bufferbuffers
 Retained transient buffers.
std::deque< gpu::Texturetextures
 Retained transient textures.
std::deque< gpu::TextureViewviews
 Retained transient texture views.
std::deque< gpu::Samplersamplers
 Retained transient samplers.
std::deque< gpu::BindGroupbindGroups
 Retained transient bind groups.

Detailed Description

RAII holder for transient GPU handles created while recording draws - per-draw uniform buffers, texture views, samplers, and bind groups.

Everything retained here MUST stay alive until the frame's submit returns: submit re-validates every recorded resource identity and fails closed on a destroyed handle, so this keepalive is mandatory-by-validation.

Member Function Documentation

◆ retain() [1/5]

const gpu::BindGroup & donner::geode::GeodeTransientResources::retain ( gpu::BindGroup && bindGroup)
inline

Retains bindGroup and returns a reference to it for immediate binding.

Parameters
bindGroupBind group to retain.

◆ retain() [2/5]

const gpu::Buffer & donner::geode::GeodeTransientResources::retain ( gpu::Buffer && buffer)
inline

Retains buffer and returns a reference to it for immediate binding.

Parameters
bufferBuffer to retain.

◆ retain() [3/5]

const gpu::Sampler & donner::geode::GeodeTransientResources::retain ( gpu::Sampler && sampler)
inline

Retains sampler and returns a reference to it for immediate binding.

Parameters
samplerSampler to retain.

◆ retain() [4/5]

const gpu::Texture & donner::geode::GeodeTransientResources::retain ( gpu::Texture && texture)
inline

Retains texture and returns a reference to it for immediate binding.

Parameters
textureTexture to retain.

◆ retain() [5/5]

const gpu::TextureView & donner::geode::GeodeTransientResources::retain ( gpu::TextureView && view)
inline

Retains view and returns a reference to it for immediate binding.

Parameters
viewTexture view to retain.

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