MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Portal::Graphics::ImageCacheSet Class Reference

Cache images keyed by immutable allocation properties. More...

#include <TextureLoom.hpp>

+ Collaboration diagram for MayaFlux::Portal::Graphics::ImageCacheSet:

Classes

struct  Entry
 

Public Member Functions

std::shared_ptr< Core::VKImage > acquire (TextureLoom &loom, const ImageKey &key)
 
 ImageCacheSet (const ImageCacheSet &)=delete
 
 ImageCacheSet (ImageCacheSet &&) noexcept=default
 
 ImageCacheSet (size_t byte_budget)
 
ImageCacheSet & operator= (const ImageCacheSet &)=delete
 
ImageCacheSet & operator= (ImageCacheSet &&) noexcept=default
 
 ~ImageCacheSet ()=default
 

Private Attributes

bool m_budget_warned {}
 
size_t m_byte_budget
 
size_t m_cached_bytes {}
 
std::unordered_map< ImageKey, Entry, ImageKeyHash > m_entries
 
Entry * m_last_entry {}
 
std::optional< ImageKey > m_last_key
 

Detailed Description

Cache images keyed by immutable allocation properties.

The byte budget is a warning threshold. Entries remain cached after the threshold is exceeded because TextureLoom retains created images until shutdown and eviction would recreate them on a later request.

Definition at line 608 of file TextureLoom.hpp.


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