mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 21:39:52 +00:00
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
@ -304,6 +304,8 @@ void GLES_GPU::SetDisplayFramebuffer(u32 framebuf, u32 stride, GEBufferFormat fo
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool GLES_GPU::FramebufferDirty() {
|
bool GLES_GPU::FramebufferDirty() {
|
||||||
|
// FIXME: Workaround for displaylists sometimes hanging unprocessed. Not yet sure of the cause.
|
||||||
|
ScheduleEvent(GPU_EVENT_PROCESS_QUEUE);
|
||||||
// Allow it to process fully before deciding if it's dirty.
|
// Allow it to process fully before deciding if it's dirty.
|
||||||
SyncThread();
|
SyncThread();
|
||||||
|
|
||||||
|
@ -46,6 +46,8 @@ void GPUCommon::PopDLQueue() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
u32 GPUCommon::DrawSync(int mode) {
|
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.
|
// Sync first, because the CPU is usually faster than the emulated GPU.
|
||||||
SyncThread();
|
SyncThread();
|
||||||
|
|
||||||
@ -93,6 +95,8 @@ void GPUCommon::CheckDrawSync() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int GPUCommon::ListSync(int listid, int mode) {
|
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.
|
// Sync first, because the CPU is usually faster than the emulated GPU.
|
||||||
SyncThread();
|
SyncThread();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user