From 56015d8cd941005043fd0efb0b759ea9df244e00 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 23 Oct 2025 09:12:12 -0700 Subject: [PATCH] freedreno/decode: Drop summary override for CRB It is just normal reg writes, we shouldn't handle it specially or surpress summary state if enabled. In summary mode we shouldn't print each individual register write, but just show the values at draw/etc time. Signed-off-by: Rob Clark Part-of: --- src/freedreno/decode/cffdec.c | 13 +------------ src/freedreno/tests/reference/crash_prefetch.log | 8 -------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/src/freedreno/decode/cffdec.c b/src/freedreno/decode/cffdec.c index 710615637f2..a7ebe27f17c 100644 --- a/src/freedreno/decode/cffdec.c +++ b/src/freedreno/decode/cffdec.c @@ -2979,24 +2979,13 @@ cp_blit(uint32_t *dwords, uint32_t sizedwords, int level) static void cp_context_reg_bunch(uint32_t *dwords, uint32_t sizedwords, int level) { - int i; - - /* NOTE: seems to write same reg multiple times.. not sure if different parts - * of these are triggered by the FLUSH_SO_n events?? (if that is what they - * actually are?) - */ - bool saved_summary = summary; - summary = false; - struct regacc r = regacc(NULL); - for (i = 0; i < sizedwords; i += 2) { + for (int i = 0; i < sizedwords; i += 2) { if (regacc_push(&r, dwords[i + 0], dwords[i + 1])) dump_register(&r, level + 1); reg_set(dwords[i + 0], dwords[i + 1]); } - - summary = saved_summary; } static void diff --git a/src/freedreno/tests/reference/crash_prefetch.log b/src/freedreno/tests/reference/crash_prefetch.log index 1eacbf0ac00..e984136c211 100644 --- a/src/freedreno/tests/reference/crash_prefetch.log +++ b/src/freedreno/tests/reference/crash_prefetch.log @@ -8580,8 +8580,6 @@ got cmdszdw=38 { 2 = 0 } 00000001001e7398: 0000: 706d8003 00000004 00009b07 00000000 opcode: CP_CONTEXT_REG_BUNCH (5c) (5 dwords) - VPC_SO_MAPPING_WPTR: { ADDR = 0 } - VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001001e73f8: 0000: 70dc0004 00009216 00000000 00009305 00000000 group_id: 2 count: 99 @@ -9265,8 +9263,6 @@ got cmdszdw=38 { 2 = 0 } 00000001001e8898: 0000: 706d8003 00000004 00009b07 00000000 opcode: CP_CONTEXT_REG_BUNCH (5c) (5 dwords) - VPC_SO_MAPPING_WPTR: { ADDR = 0 } - VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001001e88f8: 0000: 70dc0004 00009216 00000000 00009305 00000000 group_id: 2 count: 99 @@ -9960,8 +9956,6 @@ got cmdszdw=38 { 2 = 0 } 00000001001e9d98: 0000: 706d8003 00000004 00009b07 00000000 opcode: CP_CONTEXT_REG_BUNCH (5c) (5 dwords) - VPC_SO_MAPPING_WPTR: { ADDR = 0 } - VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001001e9df8: 0000: 70dc0004 00009216 00000000 00009305 00000000 group_id: 2 count: 99 @@ -10579,8 +10573,6 @@ ESTIMATED CRASH LOCATION! { 2 = 0 } 00000001001eb298: 0000: 706d8003 00000004 00009b07 00000000 opcode: CP_CONTEXT_REG_BUNCH (5c) (5 dwords) - VPC_SO_MAPPING_WPTR: { ADDR = 0 } - VPC_SO_CNTL: { BUF0_STREAM = 0 | BUF1_STREAM = 0 | BUF2_STREAM = 0 | BUF3_STREAM = 0 | STREAM_ENABLE = 0 } 00000001001eb2f8: 0000: 70dc0004 00009216 00000000 00009305 00000000 group_id: 2 count: 99