From f94f28fb4a376535da4d098bc28b565c4e569360 Mon Sep 17 00:00:00 2001 From: Sacha Date: Wed, 28 May 2014 01:52:38 +1000 Subject: [PATCH] Symbian: Over allocate VRAM (x4) in attempt to solve crash caused by 0.9.8-601. This brings allocation to the same as before the commit. See #6103 --- Common/MemArena.cpp | 6 +++++- Core/MemMap.h | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Common/MemArena.cpp b/Common/MemArena.cpp index 6dbb792728..1581e8ae92 100644 --- a/Common/MemArena.cpp +++ b/Common/MemArena.cpp @@ -297,7 +297,11 @@ static bool Memory_TryBase(u8 *base, const MemoryView *views, int num_views, u32 } else { #ifdef __SYMBIAN32__ *(view.out_ptr_low) = (u8*)((int)arena->memmap->Base() + view.virtual_address); - arena->memmap->Commit(view.virtual_address & 0x3FFFFFFF, view.size); + // Over allocate VRAM to span the mirrors. Hopefully resolves crash. + if (i == 2) + arena->memmap->Commit(view.virtual_address & 0x3FFFFFFF, view.size * 4); + else + arena->memmap->Commit(view.virtual_address & 0x3FFFFFFF, view.size); } *(view.out_ptr) = (u8*)((int)arena->memmap->Base() + view.virtual_address & 0x3FFFFFFF); #elif defined(_XBOX) diff --git a/Core/MemMap.h b/Core/MemMap.h index e632aa6182..5b1de5fa11 100644 --- a/Core/MemMap.h +++ b/Core/MemMap.h @@ -108,7 +108,7 @@ void Write_Opcode_JIT(const u32 _Address, const Opcode _Value); Opcode Read_Instruction(const u32 _Address, bool resolveReplacements = false); Opcode ReadUnchecked_Instruction(const u32 _Address, bool resolveReplacements = false); -u8 Read_U8(const u32 _Address); +u8 Read_U8(const u32 _Address); u16 Read_U16(const u32 _Address); u32 Read_U32(const u32 _Address); u64 Read_U64(const u32 _Address);