Use a possibly harmless hack to prevent hangs.
Not sure where the problem is, but this fixes it pretty consistently for me... seems like lists are somehow not being processed after becoming processable?
This commit is contained in:
parent
639ab8306b
commit
e0f699fd5f
2 changed files with 6 additions and 0 deletions
|
@ -46,6 +46,8 @@ void GPUCommon::PopDLQueue() {
|
|||
}
|
||||
|
||||
u32 GPUCommon::DrawSync(int mode) {
|
||||
// FIXME: Workaround for displaylists sometimes hanging unprocessed. Not yet sure of the cause.
|
||||
ScheduleEvent(GPU_EVENT_PROCESS_QUEUE);
|
||||
// Sync first, because the CPU is usually faster than the emulated GPU.
|
||||
SyncThread();
|
||||
|
||||
|
@ -93,6 +95,8 @@ void GPUCommon::CheckDrawSync() {
|
|||
}
|
||||
|
||||
int GPUCommon::ListSync(int listid, int mode) {
|
||||
// FIXME: Workaround for displaylists sometimes hanging unprocessed. Not yet sure of the cause.
|
||||
ScheduleEvent(GPU_EVENT_PROCESS_QUEUE);
|
||||
// Sync first, because the CPU is usually faster than the emulated GPU.
|
||||
SyncThread();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue