This commit is contained in:
Pavel 2025-03-25 23:21:56 +03:00
parent e0f3c61212
commit 7133d46f71
2 changed files with 15 additions and 12 deletions

View File

@ -1098,7 +1098,7 @@ procedure onEventWriteEop(pctx:p_pfp_ctx;Body:PPM4CMDEVENTWRITEEOP);
begin begin
Assert(pctx^.stream_type=stGfxDcb); Assert(pctx^.stream_type=stGfxDcb);
FlushAndWaitMe(pctx); //FlushAndWaitMe(pctx);
Case Body^.eventType of Case Body^.eventType of
CACHE_FLUSH_TS, //FlushCbDbCaches CACHE_FLUSH_TS, //FlushCbDbCaches
@ -1461,7 +1461,7 @@ begin
Writeln(' size=0x',HexStr(size,10)); Writeln(' size=0x',HexStr(size,10));
end; end;
FlushAndWaitMe(pctx); //FlushAndWaitMe(pctx);
end; end;
procedure onContextControl(pctx:p_pfp_ctx;Body:PPM4CMDCONTEXTCONTROL); procedure onContextControl(pctx:p_pfp_ctx;Body:PPM4CMDCONTEXTCONTROL);

View File

@ -482,10 +482,7 @@ end;
procedure wait_me_idle; procedure wait_me_idle;
begin begin
//first wait PFP //first wait PFP
if (GC_SRI_event<>nil) then gc_wait_GC_SRI;
begin
RTLEventWaitFor(GC_SRI_event);
end;
// //
me_idle_label:=0; //dont SetEvent me_idle_label:=0; //dont SetEvent
// //
@ -510,7 +507,8 @@ begin
if (GC_SRI_event=nil) then Exit; if (GC_SRI_event=nil) then Exit;
if (pm4_me_gfx.started=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); prev:=System.InterlockedExchange64(GC_SRI_label,1);
@ -851,14 +849,16 @@ begin
begin begin
Writeln('gc_wait_idle'); Writeln('gc_wait_idle');
gc_wait_GC_SRI; //gc_wait_GC_SRI;
wait_me_idle;
end; end;
$C004811D: //???? $C004811D: //????
begin begin
Writeln('gc_wait_free:',PInteger(data)^); Writeln('gc_wait_free:',PInteger(data)^);
gc_wait_GC_SRI; //gc_wait_GC_SRI;
wait_me_idle;
end; end;
$C0048114: //sceGnmFlushGarlic $C0048114: //sceGnmFlushGarlic
@ -933,7 +933,8 @@ begin
begin begin
start_gfx_ring; start_gfx_ring;
gc_wait_GC_SRI; //gc_wait_GC_SRI;
wait_me_idle;
rw_wlock(ring_gfx_lock); rw_wlock(ring_gfx_lock);
@ -980,7 +981,8 @@ begin
$C00C810E: //sceGnmUnmapComputeQueue $C00C810E: //sceGnmUnmapComputeQueue
begin begin
gc_wait_GC_SRI; //gc_wait_GC_SRI;
wait_me_idle;
rw_wlock(ring_gfx_lock); rw_wlock(ring_gfx_lock);
@ -993,7 +995,8 @@ begin
begin begin
start_gfx_ring; start_gfx_ring;
gc_wait_GC_SRI; //gc_wait_GC_SRI;
wait_me_idle;
rw_wlock(ring_gfx_lock); rw_wlock(ring_gfx_lock);