From b1fcb2b738ab14924292a1bff7a20c8eb7249124 Mon Sep 17 00:00:00 2001 From: Francisco Javier Trujillo Mata Date: Tue, 8 Apr 2025 18:38:42 +0200 Subject: [PATCH] Improve finish --- src/gu/sceGuFinish.c | 41 +++++------------------------------------ 1 file changed, 5 insertions(+), 36 deletions(-) diff --git a/src/gu/sceGuFinish.c b/src/gu/sceGuFinish.c index afccb303..e143b686 100644 --- a/src/gu/sceGuFinish.c +++ b/src/gu/sceGuFinish.c @@ -8,42 +8,6 @@ #include "guInternal.h" -int sceGuFinish(void) -{ - switch (gu_curr_context) - { - case GU_DIRECT: - case GU_SEND: - { - sendCommandi(FINISH, 0); - sendCommandiStall(END, 0); - } - break; - - case GU_CALL: - { - if (gu_call_mode == 1) - { - sendCommandi(SIGNAL, 0x120000); - sendCommandi(END, 0); - sendCommandiStall(NOP, 0); - } - else - { - sendCommandi(RET, 0); - } - } - break; - } - - unsigned int size = ((unsigned int)gu_list->current) - ((unsigned int)gu_list->start); - - // go to parent list - gu_curr_context = gu_list->parent_context; - gu_list = &gu_contexts[gu_curr_context].list; - return size; -} - int sceGuFinishId(unsigned int id) { switch (gu_curr_context) @@ -79,3 +43,8 @@ int sceGuFinishId(unsigned int id) gu_list = &gu_contexts[gu_curr_context].list; return size; } + +int sceGuFinish(void) +{ + return sceGuFinishId(0); +}