Browse Source

memory: fix IsValidVirtualAddress for RasterizerCachedMemory

RasterizerCachedMemory doesn't has pointer but should be considered as valid
wwylele 9 years ago
parent
commit
3f87d70f0e
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/core/memory.cpp

+ 3 - 0
src/core/memory.cpp

@@ -251,6 +251,9 @@ bool IsValidVirtualAddress(const VAddr vaddr) {
     if (page_pointer)
         return true;
 
+    if (current_page_table->attributes[vaddr >> PAGE_BITS] == PageType::RasterizerCachedMemory)
+        return true;
+
     if (current_page_table->attributes[vaddr >> PAGE_BITS] != PageType::Special)
         return false;