Unravel Engine C++ Reference
Loading...
Searching...
No Matches
gfx::eviction_registry Class Reference

Public Member Functions

auto get_init_status () const -> eviction::init_status
 
auto init (const eviction::config &cfg) -> eviction::init_status
 
void shutdown ()
 
void register_resource (ievictable *r)
 
void register_evicted_resource (ievictable *r)
 
void unregister_resource (ievictable *r)
 
void restore_resource (ievictable *r)
 
auto restore_all () -> eviction::stats
 
auto evict (const eviction::config &cfg) -> eviction::stats
 
auto evict_bytes (std::uint64_t free_bytes, eviction::strategy strat, std::uint32_t min_age_frames, std::uint32_t max_evictions) -> eviction::stats
 
auto evict_all () -> eviction::stats
 
auto evict_default () -> eviction::stats
 
void set_budget (const eviction::budget_state &budget, std::uint64_t used_bytes)
 
auto current_budget () const -> eviction::budget_state
 
auto snapshot_default_config () const -> eviction::config
 
auto get_stats () -> eviction::stats
 
void note_pending_allocation (std::uint64_t bytes)
 
auto peek_external_queued_bytes () const -> std::uint64_t
 
auto peek_pending_release_bytes () const -> std::uint64_t
 
auto peek_queued_bytes () const -> std::uint64_t
 
void clear_queued_allocations ()
 
void on_frame_advanced ()
 

Static Public Member Functions

static auto instance () -> eviction_registry &
 

Detailed Description

Static registry of evictable GPU resources. Owns no resources; it only tracks raw pointers whose lifetime is bounded by register/unregister calls made from handle_impl.

Definition at line 33 of file eviction.cpp.

Member Function Documentation

◆ clear_queued_allocations()

void gfx::eviction_registry::clear_queued_allocations ( )
inline

Definition at line 346 of file eviction.cpp.

◆ current_budget()

auto gfx::eviction_registry::current_budget ( ) const -> eviction::budget_state
inline

Definition at line 289 of file eviction.cpp.

◆ evict()

auto gfx::eviction_registry::evict ( const eviction::config & cfg) -> eviction::stats
inline

Definition at line 198 of file eviction.cpp.

◆ evict_all()

auto gfx::eviction_registry::evict_all ( ) -> eviction::stats
inline

Definition at line 250 of file eviction.cpp.

◆ evict_bytes()

auto gfx::eviction_registry::evict_bytes ( std::uint64_t free_bytes,
eviction::strategy strat,
std::uint32_t min_age_frames,
std::uint32_t max_evictions ) -> eviction::stats
inline

Definition at line 230 of file eviction.cpp.

◆ evict_default()

auto gfx::eviction_registry::evict_default ( ) -> eviction::stats
inline

Definition at line 267 of file eviction.cpp.

◆ get_init_status()

auto gfx::eviction_registry::get_init_status ( ) const -> eviction::init_status
inline

Definition at line 42 of file eviction.cpp.

◆ get_stats()

auto gfx::eviction_registry::get_stats ( ) -> eviction::stats
inline

Definition at line 313 of file eviction.cpp.

◆ init()

auto gfx::eviction_registry::init ( const eviction::config & cfg) -> eviction::init_status
inline

Definition at line 49 of file eviction.cpp.

◆ instance()

static auto gfx::eviction_registry::instance ( ) -> eviction_registry&
inlinestatic

Definition at line 36 of file eviction.cpp.

◆ note_pending_allocation()

void gfx::eviction_registry::note_pending_allocation ( std::uint64_t bytes)
inline

Definition at line 319 of file eviction.cpp.

◆ on_frame_advanced()

void gfx::eviction_registry::on_frame_advanced ( )
inline

Definition at line 357 of file eviction.cpp.

◆ peek_external_queued_bytes()

auto gfx::eviction_registry::peek_external_queued_bytes ( ) const -> std::uint64_t
inline

Definition at line 331 of file eviction.cpp.

◆ peek_pending_release_bytes()

auto gfx::eviction_registry::peek_pending_release_bytes ( ) const -> std::uint64_t
inline

Definition at line 336 of file eviction.cpp.

◆ peek_queued_bytes()

auto gfx::eviction_registry::peek_queued_bytes ( ) const -> std::uint64_t
inline

Definition at line 341 of file eviction.cpp.

◆ register_evicted_resource()

void gfx::eviction_registry::register_evicted_resource ( ievictable * r)
inline

Definition at line 122 of file eviction.cpp.

◆ register_resource()

void gfx::eviction_registry::register_resource ( ievictable * r)
inline

Definition at line 99 of file eviction.cpp.

◆ restore_all()

auto gfx::eviction_registry::restore_all ( ) -> eviction::stats
inline

Definition at line 177 of file eviction.cpp.

◆ restore_resource()

void gfx::eviction_registry::restore_resource ( ievictable * r)
inline

Definition at line 162 of file eviction.cpp.

◆ set_budget()

void gfx::eviction_registry::set_budget ( const eviction::budget_state & budget,
std::uint64_t used_bytes )
inline

Definition at line 277 of file eviction.cpp.

◆ shutdown()

void gfx::eviction_registry::shutdown ( )
inline

Definition at line 76 of file eviction.cpp.

◆ snapshot_default_config()

auto gfx::eviction_registry::snapshot_default_config ( ) const -> eviction::config
inline

Definition at line 307 of file eviction.cpp.

◆ unregister_resource()

void gfx::eviction_registry::unregister_resource ( ievictable * r)
inline

Definition at line 140 of file eviction.cpp.


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