From 34a9253cdb48f8bb9a53cc3d8a1cdbccccae6a16 Mon Sep 17 00:00:00 2001 From: David Rose Date: Thu, 13 Apr 2006 14:08:29 +0000 Subject: [PATCH] only unload textures if we are not managing --- panda/src/dxgsg9/dxTextureContext9.cxx | 32 ++++++++++++++------------ 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/panda/src/dxgsg9/dxTextureContext9.cxx b/panda/src/dxgsg9/dxTextureContext9.cxx index 44afa8cdea..4391328755 100755 --- a/panda/src/dxgsg9/dxTextureContext9.cxx +++ b/panda/src/dxgsg9/dxTextureContext9.cxx @@ -817,25 +817,27 @@ create_texture(DXScreenData &scrn) { } // must not put render to texture into LRU - if (_lru_page == 0 && _managed == false && get_texture()->get_render_to_texture ( ) == false) { - Lru *lru; - - lru = scrn._dxgsg9 -> _lru; - if (lru) { - LruPage *lru_page; - - lru_page = lru -> allocate_page (data_size); - if (lru_page) { - lru_page -> _m.v.type = GPT_Texture; - lru_page -> _m.lru_page_type.pointer = this; - - lru -> add_cached_page (LPP_New, lru_page); - _lru_page = lru_page; + if (!_managed && !get_texture()->get_render_to_texture()) { + if (_lru_page == 0) { + Lru *lru; + + lru = scrn._dxgsg9 -> _lru; + if (lru) { + LruPage *lru_page; + + lru_page = lru -> allocate_page (data_size); + if (lru_page) { + lru_page -> _m.v.type = GPT_Texture; + lru_page -> _m.lru_page_type.pointer = this; + + lru -> add_cached_page (LPP_New, lru_page); + _lru_page = lru_page; + } } } + get_texture()->texture_uploaded(); } - get_texture()->texture_uploaded(); return true; error_exit: