From 3f87d70f0edf823b47b0f73d9d99c360a6fa0a19 Mon Sep 17 00:00:00 2001 From: wwylele Date: Tue, 27 Sep 2016 19:50:50 +0800 Subject: [PATCH] memory: fix IsValidVirtualAddress for RasterizerCachedMemory RasterizerCachedMemory doesn't has pointer but should be considered as valid --- src/core/memory.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/memory.cpp b/src/core/memory.cpp index df029d655..64c388374 100644 --- a/src/core/memory.cpp +++ b/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;