Browse Source

Fix updates getting stuck in one priority level.
It got stuck when the maximum updates is not reached.
Therefore the next start update was not updated at all.

aignacio_sf 20 years ago
parent
commit
48f95c62b4
1 changed files with 7 additions and 1 deletions
  1. 7 1
      panda/src/dxgsg9/lru.cxx

+ 7 - 1
panda/src/dxgsg9/lru.cxx

@@ -861,7 +861,7 @@ void Lru::partial_lru_update (int maximum_updates)
 
     if (total_page_updates < maximum_updates)
     {
-      for (index = 0; index < start_priority; index++)
+      for (index = 0; index <= start_priority; index++)
       {
         LruPage *next_lru_page;
 
@@ -907,6 +907,12 @@ void Lru::partial_lru_update (int maximum_updates)
       }
     }
 
+    if (total_page_updates < maximum_updates)
+    {
+      this -> _m.start_priority_index = 0;
+      this -> _m.start_update_lru_page = 0;
+    }
+
     this -> update_page_priorities ( );
   }
 }