This is a special class object that holds all the information returned by a particular GSG to indicate the texture's internal context identifier. More...
#include "textureContext.h"
Public Member Functions | |
TextureContext (PreparedGraphicsObjects *pgo, Texture *tex, int view) | |
virtual TypeHandle | force_init_type () |
UpdateSeq | get_image_modified () const |
Returns a sequence number which is guaranteed to change at least every time the texture image data (including mipmap levels) are modified. More... | |
virtual uint64_t | get_native_buffer_id () const |
Similar to get_native_id, but some implementations use a separate identifier for the buffer object associated with buffer textures. More... | |
virtual uint64_t | get_native_id () const |
Returns an implementation-defined handle or pointer that can be used to interface directly with the underlying API. More... | |
UpdateSeq | get_properties_modified () const |
Returns a sequence number which is guaranteed to change at least every time the texture properties (unrelated to the image) are modified. More... | |
UpdateSeq | get_simple_image_modified () const |
Returns a sequence number which is guaranteed to change at least every time the texture's "simple" image data is modified. More... | |
Texture * | get_texture () const |
Returns the pointer to the associated Texture object. More... | |
virtual TypeHandle | get_type () const |
int | get_view () const |
Returns the specific view of a multiview texture this context represents. More... | |
void | mark_loaded () |
Should be called after the texture has been loaded into graphics memory, this updates the internal flags for changed_size() and modified(). More... | |
void | mark_needs_reload () |
Should be called to indicate the texture should be reloaded at the nearest opportunity. More... | |
void | mark_simple_loaded () |
Should be called after the texture's "simple" image has been loaded into graphics memory. More... | |
void | mark_unloaded () |
Should be called after the texture has been forced out of texture memory. More... | |
virtual void | output (std::ostream &out) const |
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... | |
bool | was_image_modified () const |
Returns true if the texture image has been modified since the last time mark_loaded() was called. More... | |
bool | was_modified () const |
Returns true if the texture properties or image have been modified since the last time mark_loaded() was called. More... | |
bool | was_properties_modified () const |
Returns true if the texture properties (unrelated to the image) have been modified since the last time mark_loaded() was called. More... | |
bool | was_simple_image_modified () const |
Returns true if the texture's "simple" image has been modified since the last time mark_simple_loaded() was called. More... | |
virtual void | write (std::ostream &out, int indent_level) const |
Public Member Functions inherited from BufferContext | |
BufferContext (BufferResidencyTracker *residency, TypedWritableReferenceCount *object) | |
bool | get_active () const |
size_t | get_data_size_bytes () const |
UpdateSeq | get_modified () const |
BufferContext * | get_next () const |
This can be used along with BufferContextChain::get_first() to walk through the list of objects stored on a tracker. More... | |
TypedWritableReferenceCount * | get_object () const |
bool | get_resident () 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 TypedObject | |
TypedObject (const TypedObject ©)=default | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_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... | |
TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from AdaptiveLruPage | |
AdaptiveLruPage (size_t lru_size) | |
AdaptiveLruPage (const AdaptiveLruPage ©) | |
void | dequeue_lru () |
Removes the page from its AdaptiveLru. More... | |
void | enqueue_lru (AdaptiveLru *lru) |
Adds the page to the LRU for the first time, or marks it recently-accessed if it has already been added. More... | |
virtual void | evict_lru () |
Evicts the page from the LRU. More... | |
AdaptiveLru * | get_lru () const |
Returns the LRU that manages this page, or NULL if it is not currently managed by any LRU. More... | |
size_t | get_lru_size () const |
Returns the size of this page as reported to the LRU, presumably in bytes. More... | |
unsigned int | get_num_frames () const |
Returns the number of frames since the page was first added to its LRU. More... | |
unsigned int | get_num_inactive_frames () const |
Returns the number of frames since the page was last accessed on its LRU. More... | |
void | mark_used_lru () const |
To be called when the page is used; this will move it to the tail of the AdaptiveLru queue it is already on. More... | |
void | mark_used_lru (AdaptiveLru *lru) |
To be called when the page is used; this will move it to the tail of the specified AdaptiveLru queue. More... | |
void | operator= (const AdaptiveLruPage ©) |
void | set_lru_size (size_t lru_size) |
Specifies the size of this page, presumably in bytes, although any unit is possible. More... | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from BufferContext | |
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... | |
Friends | |
class | PreparedGraphicsObjects |
Additional Inherited Members | |
Public Attributes inherited from BufferContext | |
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 | |
This is a special class object that holds all the information returned by a particular GSG to indicate the texture's internal context identifier.
Textures typically have an immediate-mode and a retained-mode operation. When using textures in retained-mode (in response to Texture::prepare()), the GSG will create some internal handle for the texture and store it here. The texture stores all of these handles internally.
Definition at line 33 of file textureContext.h.
|
inline |
Returns a sequence number which is guaranteed to change at least every time the texture image data (including mipmap levels) are modified.
Definition at line 93 of file textureContext.I.
|
virtual |
Similar to get_native_id, but some implementations use a separate identifier for the buffer object associated with buffer textures.
Returns 0 if the underlying implementation does not support this, or if this is not a buffer texture.
Definition at line 35 of file textureContext.cxx.
|
virtual |
Returns an implementation-defined handle or pointer that can be used to interface directly with the underlying API.
Returns 0 if the underlying implementation does not support this.
Definition at line 24 of file textureContext.cxx.
|
inline |
Returns a sequence number which is guaranteed to change at least every time the texture properties (unrelated to the image) are modified.
Definition at line 84 of file textureContext.I.
|
inline |
Returns a sequence number which is guaranteed to change at least every time the texture's "simple" image data is modified.
Definition at line 102 of file textureContext.I.
|
inline |
Returns the pointer to the associated Texture object.
Definition at line 29 of file textureContext.I.
Referenced by DXTextureContext9::create_texture(), DXTextureContext9::evict_lru(), DXTextureContext9::extract_texture_data(), mark_loaded(), mark_simple_loaded(), DXGraphicsStateGuardian9::prepare_texture(), PreparedGraphicsObjects::release_all_textures(), PreparedGraphicsObjects::release_texture(), DXGraphicsStateGuardian9::upload_texture(), was_image_modified(), was_properties_modified(), and was_simple_image_modified().
|
inline |
Returns the specific view of a multiview texture this context represents.
In the usual case, with a non-multiview texture, this will be 0.
Definition at line 38 of file textureContext.I.
Referenced by PreparedGraphicsObjects::release_all_textures(), and PreparedGraphicsObjects::release_texture().
|
inline |
Should be called after the texture has been loaded into graphics memory, this updates the internal flags for changed_size() and modified().
Definition at line 121 of file textureContext.I.
References Texture::get_image_modified, Texture::get_properties_modified, get_texture(), BufferContext::set_resident(), and BufferContext::update_modified().
|
inline |
Should be called to indicate the texture should be reloaded at the nearest opportunity.
Definition at line 163 of file textureContext.I.
|
inline |
Should be called after the texture's "simple" image has been loaded into graphics memory.
Definition at line 136 of file textureContext.I.
References Texture::get_properties_modified, Texture::get_simple_image_modified, get_texture(), BufferContext::set_resident(), and BufferContext::update_modified().
|
inline |
Should be called after the texture has been forced out of texture memory.
Definition at line 149 of file textureContext.I.
References BufferContext::set_resident(), and BufferContext::update_modified().
Referenced by DXTextureContext9::evict_lru(), and DXGraphicsStateGuardian9::upload_texture().
|
inline |
Should be called (usually by a derived class) when the on-card size of this object has changed.
Definition at line 111 of file textureContext.I.
References AdaptiveLruPage::set_lru_size(), and BufferContext::update_data_size_bytes().
Referenced by DXTextureContext9::evict_lru(), and DXGraphicsStateGuardian9::upload_texture().
|
inline |
Returns true if the texture image has been modified since the last time mark_loaded() was called.
Definition at line 66 of file textureContext.I.
References Texture::get_image_modified, and get_texture().
Referenced by Texture::was_image_modified(), and was_modified().
|
inline |
Returns true if the texture properties or image have been modified since the last time mark_loaded() was called.
Definition at line 48 of file textureContext.I.
References was_image_modified(), and was_properties_modified().
|
inline |
Returns true if the texture properties (unrelated to the image) have been modified since the last time mark_loaded() was called.
Definition at line 57 of file textureContext.I.
References Texture::get_properties_modified, and get_texture().
Referenced by was_modified().
|
inline |
Returns true if the texture's "simple" image has been modified since the last time mark_simple_loaded() was called.
Definition at line 75 of file textureContext.I.
References Texture::get_simple_image_modified, and get_texture().
Referenced by DXGraphicsStateGuardian9::upload_texture().