diff --git a/src/core/memory.cpp b/src/core/memory.cpp index 6ce6836146..6c72a3bd07 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -1217,11 +1217,22 @@ bool Memory::InvalidateNCE(Common::ProcessAddress vaddr, size_t size) { if (rasterizer) { impl->InvalidateGPUMemory(ptr, size); } + +#ifdef __linux__ + if (!rasterizer && mapped) { + impl->buffer->DeferredMapSeparateHeap(GetInteger(vaddr)); + } +#endif + return mapped && ptr != nullptr; } bool Memory::InvalidateSeparateHeap(void* fault_address) { +#ifdef __linux__ + return impl->buffer->DeferredMapSeparateHeap(static_cast(fault_address)); +#else return false; +#endif } } // namespace Core::Memory