mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 21:39:52 +00:00
Use proper draw sequence in PPGeDraw
This commit is contained in:
parent
0d54048efd
commit
c37566d3bc
@ -44,5 +44,9 @@ void __GeShutdown();
|
||||
// Export functions for use by Util/PPGe
|
||||
u32 sceGeRestoreContext(u32 ctxAddr);
|
||||
u32 sceGeSaveContext(u32 ctxAddr);
|
||||
int sceGeBreak(u32 mode);
|
||||
int sceGeContinue();
|
||||
int sceGeListSync(u32 displayListID, u32 mode);
|
||||
|
||||
u32 sceGeListEnQueue(u32 listAddress, u32 stallAddress, int callbackId, u32 optParamAddr);
|
||||
u32 sceGeListEnQueueHead(u32 listAddress, u32 stallAddress, int callbackId, u32 optParamAddr);
|
||||
|
@ -229,15 +229,15 @@ void PPGeEnd()
|
||||
WriteCmd(GE_CMD_END, 0);
|
||||
|
||||
if (dataWritePtr > dataPtr) {
|
||||
sceGeBreak(0);
|
||||
sceGeSaveContext(savedContextPtr);
|
||||
gpu->EnableInterrupts(false);
|
||||
|
||||
// We actually drew something
|
||||
u32 list = sceGeListEnQueue(dlPtr, dlWritePtr, 0, 0);
|
||||
u32 list = sceGeListEnQueueHead(dlPtr, dlWritePtr, -1, 0);
|
||||
DEBUG_LOG(HLE, "PPGe enqueued display list %i", list);
|
||||
// TODO: Might need to call some internal trickery function when this is actually synchronous.
|
||||
// sceGeListSync(u32 displayListID, 1); //0 : wait for completion 1:check and return
|
||||
gpu->EnableInterrupts(true);
|
||||
sceGeContinue();
|
||||
sceGeRestoreContext(savedContextPtr);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user