Panda3D
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
BufferContext Class Reference

This is a base class for those kinds of SavedContexts that occupy an easily-measured (and substantial) number of bytes in the video card's frame buffer memory or AGP memory. More...

#include "bufferContext.h"

Inheritance diagram for BufferContext:
SavedContext LinkedListNode TypedObject MemoryBase IndexBufferContext TextureContext VertexBufferContext DXIndexBufferContext9 DXTextureContext9 DXVertexBufferContext9

Public Member Functions

 BufferContext (BufferResidencyTracker *residency, TypedWritableReferenceCount *object)
 
virtual TypeHandle force_init_type ()
 
bool get_active () const
 
size_t get_data_size_bytes () const
 
UpdateSeq get_modified () const
 
BufferContextget_next () const
 This can be used along with BufferContextChain::get_first() to walk through the list of objects stored on a tracker. More...
 
TypedWritableReferenceCountget_object () const
 
bool get_resident () const
 
virtual TypeHandle get_type () const
 
void set_active (bool flag)
 Changes the active flag associated with this object. More...
 
void set_resident (bool flag)
 Changes the resident flag associated with this object. More...
 
void update_data_size_bytes (size_t new_data_size_bytes)
 Should be called (usually by a derived class) when the on-card size of this object has changed. More...
 
void update_modified (UpdateSeq new_modified)
 Should be called (usually by a derived class) when the modified counter for this object has changed. More...
 
- Public Member Functions inherited from SavedContext
virtual void output (std::ostream &out) const
 
virtual void write (std::ostream &out, int indent_level) const
 
- Public Member Functions inherited from TypedObject
 TypedObject (const TypedObject &copy)=default
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
int get_best_parent_from_Set (const std::set< int > &) const
 
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
 
bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly. More...
 
bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type. More...
 
TypedObjectoperator= (const TypedObject &copy)=default
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from SavedContext
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle get_class_type ()
 
static void init_type ()
 This function is declared non-inline to work around a compiler bug in g++ 2.96. More...
 

Public Attributes

 get_active
 Returns the active flag associated with this object. More...
 
 get_data_size_bytes
 Returns the number of bytes previously reported for the data object. More...
 
 get_modified
 Returns the UpdateSeq that was recorded the last time mark_loaded() was called. More...
 
 get_object
 Returns the associated object. More...
 
 get_resident
 Returns the resident flag associated with this object. More...
 
- Public Attributes inherited from TypedObject
 get_type
 

Friends

class BufferContextChain
 
class BufferResidencyTracker
 
class PreparedGraphicsObjects
 

Detailed Description

This is a base class for those kinds of SavedContexts that occupy an easily-measured (and substantial) number of bytes in the video card's frame buffer memory or AGP memory.

At the present, this includes most of the SavedContext types: VertexBufferContext and IndexBufferContext, as well as TextureContext.

This class provides methods for tracking the video memory utilization, as well as residency of each object, via PStats.

Definition at line 38 of file bufferContext.h.

Member Function Documentation

◆ get_next()

BufferContext * BufferContext::get_next ( ) const
inline

This can be used along with BufferContextChain::get_first() to walk through the list of objects stored on a tracker.

Definition at line 95 of file bufferContext.I.

◆ set_active()

void BufferContext::set_active ( bool  flag)
inline

Changes the active flag associated with this object.

An object is considered "active" if it was rendered in the current frame.

Definition at line 65 of file bufferContext.I.

◆ set_resident()

void BufferContext::set_resident ( bool  flag)
inline

Changes the resident flag associated with this object.

An object is considered "resident" if it appears to be resident in texture memory.

Definition at line 81 of file bufferContext.I.

Referenced by TextureContext::mark_loaded(), TextureContext::mark_simple_loaded(), IndexBufferContext::mark_unloaded(), VertexBufferContext::mark_unloaded(), and TextureContext::mark_unloaded().

◆ update_data_size_bytes()

void BufferContext::update_data_size_bytes ( size_t  new_data_size_bytes)
inline

Should be called (usually by a derived class) when the on-card size of this object has changed.

Definition at line 108 of file bufferContext.I.

Referenced by IndexBufferContext::update_data_size_bytes(), VertexBufferContext::update_data_size_bytes(), and TextureContext::update_data_size_bytes().

◆ update_modified()

void BufferContext::update_modified ( UpdateSeq  new_modified)
inline

Should be called (usually by a derived class) when the modified counter for this object has changed.

Definition at line 120 of file bufferContext.I.

Referenced by TextureContext::mark_loaded(), TextureContext::mark_simple_loaded(), IndexBufferContext::mark_unloaded(), VertexBufferContext::mark_unloaded(), and TextureContext::mark_unloaded().

Member Data Documentation

◆ get_active

bool BufferContext::get_active
inline

Returns the active flag associated with this object.

An object is considered "active" if it was rendered in the current frame.

Definition at line 55 of file bufferContext.h.

Referenced by Texture::get_active().

◆ get_data_size_bytes

size_t BufferContext::get_data_size_bytes
inline

Returns the number of bytes previously reported for the data object.

This is used to track changes in the data object's allocated size; if it changes from this, we need to create a new buffer. This is also used to track memory utilization in PStats.

Definition at line 53 of file bufferContext.h.

Referenced by Texture::get_data_size_bytes().

◆ get_modified

UpdateSeq BufferContext::get_modified
inline

Returns the UpdateSeq that was recorded the last time mark_loaded() was called.

Definition at line 54 of file bufferContext.h.

◆ get_object

TypedWritableReferenceCount * BufferContext::get_object
inline

Returns the associated object.

Definition at line 51 of file bufferContext.h.

◆ get_resident

bool BufferContext::get_resident
inline

Returns the resident flag associated with this object.

An object is considered "resident" if it appears to be resident in texture memory.

Definition at line 56 of file bufferContext.h.

Referenced by Texture::get_resident().


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