diff --git a/chip/pm4_pfp.pas b/chip/pm4_pfp.pas index 9ecf5621..f23931d9 100644 --- a/chip/pm4_pfp.pas +++ b/chip/pm4_pfp.pas @@ -1098,7 +1098,7 @@ procedure onEventWriteEop(pctx:p_pfp_ctx;Body:PPM4CMDEVENTWRITEEOP); begin Assert(pctx^.stream_type=stGfxDcb); - FlushAndWaitMe(pctx); + //FlushAndWaitMe(pctx); Case Body^.eventType of CACHE_FLUSH_TS, //FlushCbDbCaches @@ -1461,7 +1461,7 @@ begin Writeln(' size=0x',HexStr(size,10)); end; - FlushAndWaitMe(pctx); + //FlushAndWaitMe(pctx); end; procedure onContextControl(pctx:p_pfp_ctx;Body:PPM4CMDCONTEXTCONTROL); diff --git a/sys/dev/dev_gc.pas b/sys/dev/dev_gc.pas index d968ef75..a9a7de65 100644 --- a/sys/dev/dev_gc.pas +++ b/sys/dev/dev_gc.pas @@ -482,10 +482,7 @@ end; procedure wait_me_idle; begin //first wait PFP - if (GC_SRI_event<>nil) then - begin - RTLEventWaitFor(GC_SRI_event); - end; + gc_wait_GC_SRI; // me_idle_label:=0; //dont SetEvent // @@ -510,7 +507,8 @@ begin if (GC_SRI_event=nil) then Exit; if (pm4_me_gfx.started=nil) then Exit; - gc_wait_GC_SRI; + //gc_wait_GC_SRI; + wait_me_idle; prev:=System.InterlockedExchange64(GC_SRI_label,1); @@ -851,14 +849,16 @@ begin begin Writeln('gc_wait_idle'); - gc_wait_GC_SRI; + //gc_wait_GC_SRI; + wait_me_idle; end; $C004811D: //???? begin Writeln('gc_wait_free:',PInteger(data)^); - gc_wait_GC_SRI; + //gc_wait_GC_SRI; + wait_me_idle; end; $C0048114: //sceGnmFlushGarlic @@ -933,7 +933,8 @@ begin begin start_gfx_ring; - gc_wait_GC_SRI; + //gc_wait_GC_SRI; + wait_me_idle; rw_wlock(ring_gfx_lock); @@ -980,7 +981,8 @@ begin $C00C810E: //sceGnmUnmapComputeQueue begin - gc_wait_GC_SRI; + //gc_wait_GC_SRI; + wait_me_idle; rw_wlock(ring_gfx_lock); @@ -993,7 +995,8 @@ begin begin start_gfx_ring; - gc_wait_GC_SRI; + //gc_wait_GC_SRI; + wait_me_idle; rw_wlock(ring_gfx_lock);