فهرست منبع

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 سال پیش
والد
کامیت
48f95c62b4
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  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)
     if (total_page_updates < maximum_updates)
     {
     {
-      for (index = 0; index < start_priority; index++)
+      for (index = 0; index <= start_priority; index++)
       {
       {
         LruPage *next_lru_page;
         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 ( );
     this -> update_page_priorities ( );
   }
   }
 }
 }