This commit is contained in:
Pavel 2025-05-23 15:42:13 +03:00
parent 3ac9be537e
commit f434e06678
3 changed files with 52 additions and 7 deletions

View File

@ -1242,6 +1242,17 @@ begin
end;
Function get_bind_str(FBind:TvPointer):RawByteString;
begin
if (FBind.FMemory=nil) then
begin
Result:='(nil)';
end else
begin
Result:='0x'+HexStr(FBind.FMemory.FHandle,16);
end;
end;
procedure Bind_Uniforms(var ctx:t_me_render_context;
BindPoint:TVkPipelineBindPoint;
var UniformBuilder:TvUniformBuilder);
@ -1433,8 +1444,8 @@ begin
range:=size;
Writeln('BindBuffer:->[',i,']'#13#10,
' 0x',HexStr(buf.FHandle,16),':',buf.FName,'->[',diff_a,'..',range,']');
Writeln('BindBuffer:->[',i,':',bind,']',' 0x',HexStr(QWORD(addr),10),' ',get_bind_str(buf.FBind),#13#10,
' 0x',HexStr(buf.FHandle,16),':',buf.FName,'->[',diff_a,'..',diff_a+range,']');
DescriptorGroup.BindBuffer(fset,bind,
buf.FHandle,
@ -2348,6 +2359,8 @@ begin
pm4_InitStream(ctx);
//
//if not ctx.WaitConfirmOrSwitch then Exit;
StartFrameCapture;
ctx.BeginCmdBuffer;
@ -2838,11 +2851,12 @@ end;
procedure pm4_EventWrite(var ctx:t_me_render_context;node:p_pm4_node_EventWrite);
begin
Case node^.eventType of
CS_PARTIAL_FLUSH, //CS
CACHE_FLUSH_AND_INV_EVENT, //CB,DB
FLUSH_AND_INV_CB_PIXEL_DATA, //CB
//FLUSH_AND_INV_DB_DATA_TS :Writeln(' eventType=FLUSH_AND_INV_DB_DATA_TS');
FLUSH_AND_INV_DB_META, //HTILE
FLUSH_AND_INV_CB_META: //CMASK
DB_CACHE_FLUSH_AND_INV, //DB
FLUSH_AND_INV_DB_META, //HTILE
FLUSH_AND_INV_CB_META, //CMASK
FLUSH_AND_INV_CB_PIXEL_DATA: //CB
begin
if (ctx.Cmd<>nil) and ctx.Cmd.IsAllocated then
begin

View File

@ -1076,13 +1076,18 @@ begin
if p_print_gpu_ops then
Case Body^.eventType of
CS_PARTIAL_FLUSH :Writeln(' eventType=CS_PARTIAL_FLUSH');
CACHE_FLUSH_AND_INV_EVENT :Writeln(' eventType=FLUSH_AND_INV_EVENT');
FLUSH_AND_INV_CB_PIXEL_DATA:Writeln(' eventType=FLUSH_AND_INV_CB_PIXEL_DATA');
DB_CACHE_FLUSH_AND_INV :Writeln(' eventType=DB_CACHE_FLUSH_AND_INV');
FLUSH_AND_INV_DB_DATA_TS :Writeln(' eventType=FLUSH_AND_INV_DB_DATA_TS');
FLUSH_AND_INV_DB_META :Writeln(' eventType=FLUSH_AND_INV_DB_META');
FLUSH_AND_INV_CB_DATA_TS :Writeln(' eventType=FLUSH_AND_INV_CB_DATA_TS');
FLUSH_AND_INV_CB_META :Writeln(' eventType=FLUSH_AND_INV_CB_META');
FLUSH_AND_INV_CB_PIXEL_DATA:Writeln(' eventType=FLUSH_AND_INV_CB_PIXEL_DATA');
THREAD_TRACE_MARKER :Writeln(' eventType=THREAD_TRACE_MARKER');
PIXEL_PIPE_STAT_CONTROL :Writeln(' eventType=PIXEL_PIPE_STAT_CONTROL');
PIXEL_PIPE_STAT_DUMP :Writeln(' eventType=PIXEL_PIPE_STAT_DUMP');
PIXEL_PIPE_STAT_RESET :Writeln(' eventType=PIXEL_PIPE_STAT_RESET');
PIPELINESTAT_STOP :Writeln(' eventType=PIPELINESTAT_STOP');
PERFCOUNTER_START :Writeln(' eventType=PERFCOUNTER_START');
PERFCOUNTER_STOP :Writeln(' eventType=PERFCOUNTER_STOP');

View File

@ -1426,6 +1426,32 @@ begin
if (not BeginCmdBuffer) then Exit;
Case eventType of
CS_PARTIAL_FLUSH:
begin
Inc(cmd_count);
DebugReport.CmdInsertLabel(FCmdbuf,'CS_PARTIAL_FLUSH');
vkMemoryBarrier(FCmdbuf,
VK_ACCESS_CS, //srcAccessMask
VK_ACCESS_ANY, //dstAccessMask
ord(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT), //srcStageMask
ord(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)); //dstStageMask
end;
DB_CACHE_FLUSH_AND_INV: //DB
begin
Inc(cmd_count);
DebugReport.CmdInsertLabel(FCmdbuf,'DB_CACHE_FLUSH_AND_INV');
vkMemoryBarrier(FCmdbuf,
VK_ACCESS_DB, //srcAccessMask
VK_ACCESS_ANY, //dstAccessMask
VK_STAGE_DB, //srcStageMask
ord(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)); //dstStageMask
end;
FLUSH_AND_INV_DB_META: //HTILE
begin
Inc(cmd_count);