Owns computed-filter structural reservations and shared raster payload admission.
More...
#include "donner/svg/components/filter/ComputedFilterResourceBudget.h"
|
|
| ComputedFilterResourceBudget (std::shared_ptr< DocumentResourceFamilyBudget > family=nullptr) |
|
| ComputedFilterResourceBudget (std::shared_ptr< DocumentResourceFamilyBudget > family, Limits limits) |
|
| ComputedFilterResourceBudget (const ComputedFilterResourceBudget &)=delete |
|
ComputedFilterResourceBudget & | operator= (const ComputedFilterResourceBudget &)=delete |
|
| ComputedFilterResourceBudget (ComputedFilterResourceBudget &&other) noexcept |
|
ComputedFilterResourceBudget & | operator= (ComputedFilterResourceBudget &&)=delete |
|
bool | reserve (Entity entity, std::size_t bytes) |
|
void | release (Entity entity) |
| std::shared_ptr< const std::vector< std::uint8_t > > | shareImage (Entity sourceEntity, std::uint64_t sourceRevision, const std::vector< std::uint8_t > &sourcePixels) |
| | Return one immutable copy of a loaded image, shared by every graph using the same source.
|
| std::shared_ptr< const std::vector< std::uint8_t > > | adoptImage (std::vector< std::uint8_t > &&sourcePixels) |
| | Adopt a transient renderer-produced image after reserving its full retained lifetime.
|
|
std::size_t | retainedBytes () const |
|
std::size_t | sharedImageMaterializations () const |
|
std::size_t | sharedImageComparedBytes () const |
|
bool | rejected () const |
|
const Limits & | limits () const |
|
|
static constexpr std::size_t | kMaximumBytes = 16 * 1024 * 1024 |
Owns computed-filter structural reservations and shared raster payload admission.
◆ donner::svg::components::ComputedFilterResourceBudget::Limits
| struct donner::svg::components::ComputedFilterResourceBudget::Limits |
| Class Members |
|
size_t |
maximumBytes = kMaximumBytes |
|
◆ adoptImage()
| std::shared_ptr< const std::vector< std::uint8_t > > donner::svg::components::ComputedFilterResourceBudget::adoptImage |
( |
std::vector< std::uint8_t > && | sourcePixels | ) |
|
|
inline |
Adopt a transient renderer-produced image after reserving its full retained lifetime.
- Parameters
-
| sourcePixels | Tightly packed straight-alpha RGBA pixels. |
- Returns
- Shared immutable pixels, or null when admission fails.
◆ shareImage()
| std::shared_ptr< const std::vector< std::uint8_t > > donner::svg::components::ComputedFilterResourceBudget::shareImage |
( |
Entity | sourceEntity, |
|
|
std::uint64_t | sourceRevision, |
|
|
const std::vector< std::uint8_t > & | sourcePixels ) |
|
inline |
Return one immutable copy of a loaded image, shared by every graph using the same source.
The family reservation is captured by the allocation's deleter, so accounting remains live until the final computed graph or render snapshot releases the pixels.
- Parameters
-
| sourceEntity | Entity that owns the decoded image. |
| sourceRevision | Monotonic identity of the decoded image payload. |
| sourcePixels | Decoded straight-alpha RGBA pixels. |
- Returns
- Shared immutable pixels, or null when admission fails.
The documentation for this class was generated from the following file: