mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Sync the GPU thread on list/draw sync.
Otherwise, the CPU gets ahead (inside the frame) and games get confused. I don't think there's any good workaround to avoid this.
This commit is contained in:
parent
408e570469
commit
abc396cbe1
1 changed files with 6 additions and 0 deletions
|
@ -48,6 +48,9 @@ void GPUCommon::PopDLQueue() {
|
|||
}
|
||||
|
||||
u32 GPUCommon::DrawSync(int mode) {
|
||||
// Sync first, because the CPU is usually faster than the emulated GPU.
|
||||
SyncThread();
|
||||
|
||||
easy_guard guard(listLock);
|
||||
if (mode < 0 || mode > 1)
|
||||
return SCE_KERNEL_ERROR_INVALID_MODE;
|
||||
|
@ -92,6 +95,9 @@ void GPUCommon::CheckDrawSync() {
|
|||
}
|
||||
|
||||
int GPUCommon::ListSync(int listid, int mode) {
|
||||
// Sync first, because the CPU is usually faster than the emulated GPU.
|
||||
SyncThread();
|
||||
|
||||
easy_guard guard(listLock);
|
||||
if (listid < 0 || listid >= DisplayListMaxCount)
|
||||
return SCE_KERNEL_ERROR_INVALID_ID;
|
||||
|
|
Loading…
Add table
Reference in a new issue