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