Memory: mark pages on mapping if it is already rasterizer-cached

master
Weiyi Wang 2018-12-10 22:05:28 +07:00
parent 643b7d4dcb
commit 9d616e5951
1 changed files with 6 additions and 0 deletions

@ -100,6 +100,12 @@ void MemorySystem::MapPages(PageTable& page_table, u32 base, u32 size, u8* memor
page_table.attributes[base] = type;
page_table.pointers[base] = memory;
// If the memory to map is already rasterizer-cached, mark the page
if (type == PageType::Memory && impl->cache_marker.IsCached(base * PAGE_SIZE)) {
page_table.attributes[base] = PageType::RasterizerCachedMemory;
page_table.pointers[base] = nullptr;
}
base += 1;
if (memory != nullptr)
memory += PAGE_SIZE;