From 5635f2769f2178f3176bef12a937c5ebf162fac5 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 30 Jul 2025 11:52:47 -0700 Subject: [PATCH] freedreno/registers: Fix RB_A2D_DEST_FLAG_BUFFER_PITCH We were using the old-style RB_COLOR_FLAG_BUFFER_PITCH builders for this. The new cs builders don't allow that slop. Signed-off-by: Rob Clark Part-of: --- src/freedreno/registers/adreno/a6xx.xml | 22 ++++++++--------- src/freedreno/tests/reference/crash.log | 4 ++-- .../tests/reference/crash_prefetch.log | 24 +++++++++---------- ...exed.indirect_draw_count.triangle_list.log | 4 ++-- .../tests/reference/prefetch-test.log | 6 ++--- 5 files changed, 29 insertions(+), 31 deletions(-) diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml index ff6b6562197..d22b4f778f8 100644 --- a/src/freedreno/registers/adreno/a6xx.xml +++ b/src/freedreno/registers/adreno/a6xx.xml @@ -1652,10 +1652,13 @@ by a particular renderpass/blit. - + + - - + + + + @@ -1728,10 +1731,7 @@ by a particular renderpass/blit. - - - - + @@ -1749,12 +1749,10 @@ by a particular renderpass/blit. + - - - - + @@ -1817,7 +1815,7 @@ by a particular renderpass/blit. - + diff --git a/src/freedreno/tests/reference/crash.log b/src/freedreno/tests/reference/crash.log index 5aaafdbeccd..752dbd78fc2 100644 --- a/src/freedreno/tests/reference/crash.log +++ b/src/freedreno/tests/reference/crash.log @@ -6074,7 +6074,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 0x8c15: 00000000 00000000 0x8c16: 00000000 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0 - 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE_1: 0 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH_1: 0 - context: 1 @@ -6100,7 +6100,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 0x8c15: 00000000 00000000 0x8c16: 00000000 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0 - 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE_1: 0 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH_1: 0 - cluster-name: CLUSTER_PS diff --git a/src/freedreno/tests/reference/crash_prefetch.log b/src/freedreno/tests/reference/crash_prefetch.log index 77cc70571c3..8eb7a422169 100644 --- a/src/freedreno/tests/reference/crash_prefetch.log +++ b/src/freedreno/tests/reference/crash_prefetch.log @@ -1957,7 +1957,7 @@ got cmdszdw=38 !+ 100082000 RB_A2D_DEST_BUFFER_BASE: 0x100082000 !+ 00000008 RB_A2D_DEST_BUFFER_PITCH: 512 !+ 100082000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x100082000 - + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } !+ 3f800000 RB_A2D_CLEAR_COLOR_DW0: 0x3f800000 !+ 3f800000 RB_A2D_CLEAR_COLOR_DW1: 0x3f800000 !+ 3f800000 RB_A2D_CLEAR_COLOR_DW2: 0x3f800000 @@ -2012,7 +2012,7 @@ got cmdszdw=38 !+ 100095000 RB_A2D_DEST_BUFFER_BASE: 0x100095000 !+ 00000004 RB_A2D_DEST_BUFFER_PITCH: 256 !+ 100094000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x100094000 -!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: 64 | 0x4000 +!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } !+ 00000000 RB_A2D_CLEAR_COLOR_DW0: 0 !+ 00000000 RB_A2D_CLEAR_COLOR_DW1: 0 !+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -2033,7 +2033,7 @@ got cmdszdw=38 !+ 10009c000 RB_A2D_DEST_BUFFER_BASE: 0x10009c000 !+ 00000008 RB_A2D_DEST_BUFFER_PITCH: 512 !+ 10009c000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x10009c000 -!+ 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 +!+ 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } !+ 3f800000 RB_A2D_CLEAR_COLOR_DW0: 0x3f800000 + 00000000 RB_A2D_CLEAR_COLOR_DW1: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -2054,7 +2054,7 @@ got cmdszdw=38 !+ 1000af000 RB_A2D_DEST_BUFFER_BASE: 0x1000af000 !+ 00000004 RB_A2D_DEST_BUFFER_PITCH: 256 !+ 1000ae000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000ae000 -!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: 64 | 0x4000 +!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } !+ 00000000 RB_A2D_CLEAR_COLOR_DW0: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW1: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -2075,7 +2075,7 @@ got cmdszdw=38 !+ 1000b6000 RB_A2D_DEST_BUFFER_BASE: 0x1000b6000 + 00000004 RB_A2D_DEST_BUFFER_PITCH: 256 !+ 1000b6000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000b6000 -!+ 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 +!+ 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } + 00000000 RB_A2D_CLEAR_COLOR_DW0: 0 !+ 3f800000 RB_A2D_CLEAR_COLOR_DW1: 0x3f800000 + 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -2096,7 +2096,7 @@ got cmdszdw=38 !+ 1000bf000 RB_A2D_DEST_BUFFER_BASE: 0x1000bf000 !+ 00000008 RB_A2D_DEST_BUFFER_PITCH: 512 !+ 1000bf000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000bf000 - + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } !+ 3f800000 RB_A2D_CLEAR_COLOR_DW0: 0x3f800000 !+ 00000000 RB_A2D_CLEAR_COLOR_DW1: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -2117,7 +2117,7 @@ got cmdszdw=38 !+ 1000d1000 RB_A2D_DEST_BUFFER_BASE: 0x1000d1000 !+ 00000004 RB_A2D_DEST_BUFFER_PITCH: 256 !+ 1000d1000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000d1000 - + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } !+ 00000001 RB_A2D_CLEAR_COLOR_DW0: 0x1 + 00000000 RB_A2D_CLEAR_COLOR_DW1: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -2138,7 +2138,7 @@ got cmdszdw=38 !+ 1000da000 RB_A2D_DEST_BUFFER_BASE: 0x1000da000 + 00000004 RB_A2D_DEST_BUFFER_PITCH: 256 !+ 1000da000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000da000 - + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } !+ 00000000 RB_A2D_CLEAR_COLOR_DW0: 0 !+ 000000ff RB_A2D_CLEAR_COLOR_DW1: 0xff !+ 000000ff RB_A2D_CLEAR_COLOR_DW2: 0xff @@ -2990,7 +2990,7 @@ got cmdszdw=38 !+ 1000b6000 RB_A2D_DEST_BUFFER_BASE: 0x1000b6000 + 00000004 RB_A2D_DEST_BUFFER_PITCH: 256 !+ 1000b6000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000b6000 - + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } !+ 3f800000 RB_A2D_CLEAR_COLOR_DW0: 0x3f800000 !+ 3f800000 RB_A2D_CLEAR_COLOR_DW1: 0x3f800000 !+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -3675,7 +3675,7 @@ got cmdszdw=38 !+ 1000bf000 RB_A2D_DEST_BUFFER_BASE: 0x1000bf000 !+ 00000008 RB_A2D_DEST_BUFFER_PITCH: 512 !+ 1000bf000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000bf000 - + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } !+ 00000000 RB_A2D_CLEAR_COLOR_DW0: 0 + 3f800000 RB_A2D_CLEAR_COLOR_DW1: 0x3f800000 + 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 @@ -17725,7 +17725,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 0x8c15: 00000000 00000000 0x8c16: 00000000 1000b6000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000b6000 - 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE_1: 0 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH_1: 0 - context: 1 @@ -17751,7 +17751,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 0x8c15: 00000000 00000000 0x8c16: 00000000 1000bf000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1000bf000 - 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: 0 + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 0 | ARRAY_PITCH = 0 } 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE_1: 0 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH_1: 0 - cluster-name: CLUSTER_PS diff --git a/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log b/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log index d67f25fe915..8c158b2fcc0 100644 --- a/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log +++ b/src/freedreno/tests/reference/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log @@ -260,7 +260,7 @@ cmdstream[0]: 265 dwords 00000000010582b8: 0000: 408c1704 00001330 01013000 00000000 00000010 write RB_A2D_DEST_FLAG_BUFFER_BASE (8c20) RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1012000 - RB_A2D_DEST_FLAG_BUFFER_PITCH: 64 | 0x4000 + RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } 00000000010582cc: 0000: 488c2083 01012000 00000000 00004001 opcode: CP_BLIT (2c) (2 dwords) { OP = BLIT_OP_SCALE } @@ -301,7 +301,7 @@ cmdstream[0]: 265 dwords !+ 01013000 RB_A2D_DEST_BUFFER_BASE: 0x1013000 !+ 00000010 RB_A2D_DEST_BUFFER_PITCH: 1024 !+ 01012000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x1012000 -!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: 64 | 0x4000 +!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } + 00000000 RB_A2D_CLEAR_COLOR_DW0: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW1: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW2: 0 diff --git a/src/freedreno/tests/reference/prefetch-test.log b/src/freedreno/tests/reference/prefetch-test.log index 4ec5781278e..c942e1d0dfe 100644 --- a/src/freedreno/tests/reference/prefetch-test.log +++ b/src/freedreno/tests/reference/prefetch-test.log @@ -2541,7 +2541,7 @@ got cmdszdw=416 + 00000000 RB_A2D_DEST_BUFFER_PITCH_1: 0 + 00000000 RB_A2D_DEST_BUFFER_BASE_2: 0 !+ 103735000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x103735000 -!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: 64 | 0x4000 +!+ 00004001 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 64 | ARRAY_PITCH = 1024 } + 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE_1: 0 + 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH_1: 0 + 00000000 RB_A2D_CLEAR_COLOR_DW0: 0 @@ -143616,7 +143616,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 0x8c15: 00000000 00000000 0x8c16: 00000000 103735000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x103735000 - 00000001 RB_A2D_DEST_FLAG_BUFFER_PITCH: 64 + 00000001 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 64 | ARRAY_PITCH = 0 } 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE_1: 0 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH_1: 0 - context: 1 @@ -143642,7 +143642,7 @@ WARNING: 64b discontinuity (no _LO dword for 890d) 00000000 0x8c15: 00000000 00000000 0x8c16: 00000000 103735000 RB_A2D_DEST_FLAG_BUFFER_BASE: 0x103735000 - 00000001 RB_A2D_DEST_FLAG_BUFFER_PITCH: 64 + 00000001 RB_A2D_DEST_FLAG_BUFFER_PITCH: { PITCH = 64 | ARRAY_PITCH = 0 } 00000000 RB_A2D_DEST_FLAG_BUFFER_BASE_1: 0 00000000 RB_A2D_DEST_FLAG_BUFFER_PITCH_1: 0 - cluster-name: CLUSTER_PS