diff options
| author | comex <comexk@gmail.com> | 2013-09-22 15:48:27 -0400 |
|---|---|---|
| committer | comex <comexk@gmail.com> | 2013-09-22 15:48:27 -0400 |
| commit | 6209067daa5121e383d173f7272bbf20bc108047 (patch) | |
| tree | 8ffb7ece371b3d3f9a1e3feae116cc6c3551bfee /Source/Core/VideoCommon | |
| parent | 9a6f28fce486f351c19a304f5ede5662ea802357 (diff) | |
Fix stack misalignment fix.
Diffstat (limited to 'Source/Core/VideoCommon')
| -rw-r--r-- | Source/Core/VideoCommon/Src/VertexLoader.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/Src/x64DLCache.cpp | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/Src/VertexLoader.cpp b/Source/Core/VideoCommon/Src/VertexLoader.cpp index babaff83a5..825e9c6558 100644 --- a/Source/Core/VideoCommon/Src/VertexLoader.cpp +++ b/Source/Core/VideoCommon/Src/VertexLoader.cpp @@ -217,7 +217,7 @@ void VertexLoader::CompileVertexTranslator() PanicAlert("Trying to recompile a vertex translator"); m_compiledCode = GetCodePtr(); - ABI_EmitPrologue(4); + ABI_PushAllCalleeSavedRegsAndAdjustStack(); // Start loop here const u8 *loop_start = GetCodePtr(); @@ -499,7 +499,8 @@ void VertexLoader::CompileVertexTranslator() #endif J_CC(CC_NZ, loop_start, true); - ABI_EmitEpilogue(4); + ABI_PopAllCalleeSavedRegsAndAdjustStack(); + RET(); #endif m_NativeFmt->Initialize(vtx_decl); } diff --git a/Source/Core/VideoCommon/Src/x64DLCache.cpp b/Source/Core/VideoCommon/Src/x64DLCache.cpp index ae32ea5ea9..b412c2e274 100644 --- a/Source/Core/VideoCommon/Src/x64DLCache.cpp +++ b/Source/Core/VideoCommon/Src/x64DLCache.cpp @@ -409,7 +409,7 @@ void CompileAndRunDisplayList(u32 address, u32 size, CachedDisplayList *dl) emitter.AlignCode4(); dl->compiled_code = emitter.GetCodePtr(); - emitter.ABI_EmitPrologue(4); + emitter.ABI_PushAllCalleeSavedRegsAndAdjustStack(); while (g_pVideoData < end) { @@ -572,7 +572,8 @@ void CompileAndRunDisplayList(u32 address, u32 size, CachedDisplayList *dl) break; } } - emitter.ABI_EmitEpilogue(4); + emitter.ABI_PopAllCalleeSavedRegsAndAdjustStack(); + emitter.RET(); INCSTAT(stats.numDListsCalled); INCSTAT(stats.thisFrame.numDListsCalled); Statistics::SwapDL(); |
