From 134ee1eff0039161a74bc7127ffea75c95939b78 Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Wed, 13 Aug 2014 17:00:37 +0300 Subject: [PATCH] Somewhat implemented cellGcmSetFlipImmediate Also a small change (optimization?) in cellGcmSetPrepareFlip() --- rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp b/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp index e36b976f48..a8310a7bc1 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellGcmSys.cpp @@ -440,7 +440,7 @@ s32 cellGcmSetPrepareFlip(mem_ptr_t ctxt, u32 id) { cellGcmSys->Log("cellGcmSetPrepareFlip(ctx=0x%x, id=0x%x)", ctxt.GetAddr(), id); - if(id >= 8) + if(id > 7) { cellGcmSys->Error("cellGcmSetPrepareFlip : CELL_GCM_ERROR_FAILURE"); return CELL_GCM_ERROR_FAILURE; @@ -700,9 +700,18 @@ int cellGcmInitSystemMode(u64 mode) return CELL_OK; } -int cellGcmSetFlipImmediate() +int cellGcmSetFlipImmediate(u8 id) { - UNIMPLEMENTED_FUNC(cellGcmSys); + cellGcmSys->Todo("cellGcmSetFlipImmediate(fid=0x%x)", id); + + if (id > 7) + { + cellGcmSys->Error("cellGcmSetFlipImmediate : CELL_GCM_ERROR_FAILURE"); + return CELL_GCM_ERROR_FAILURE; + } + + cellGcmSetFlipMode(id); + return CELL_OK; }