diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml
index d860fd94fea..7993b911bdd 100644
--- a/src/freedreno/registers/adreno/a6xx.xml
+++ b/src/freedreno/registers/adreno/a6xx.xml
@@ -1265,9 +1265,11 @@ by a particular renderpass/blit.
-
+
+
+
-
+
@@ -3104,10 +3106,15 @@ by a particular renderpass/blit.
+
+
+
+
+
+
-
-
-
+
+
diff --git a/src/freedreno/registers/adreno/a6xx_enums.xml b/src/freedreno/registers/adreno/a6xx_enums.xml
index 665539b098c..62d236562d9 100644
--- a/src/freedreno/registers/adreno/a6xx_enums.xml
+++ b/src/freedreno/registers/adreno/a6xx_enums.xml
@@ -320,14 +320,14 @@ to upconvert to 32b float internally?
16b float: 3
-->
-
+
-
+
diff --git a/src/freedreno/tests/reference/crash.log b/src/freedreno/tests/reference/crash.log
index bf2b8264c95..499db6a8c5f 100644
--- a/src/freedreno/tests/reference/crash.log
+++ b/src/freedreno/tests/reference/crash.log
@@ -5445,7 +5445,7 @@ clusters:
00000000 GRAS_LRZ_FAST_CLEAR_BUFFER_BASE: 0
00000000 GRAS_LRZ_PS_SAMPLEFREQ_CNTL: { 0 }
00000000 GRAS_UNKNOWN_8110: 0
- 00000000 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_RAW | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
00000000 GRAS_A2D_SRC_XMIN: 0
00000000 GRAS_A2D_SRC_XMAX: 0
00000000 GRAS_A2D_SRC_YMIN: 0
@@ -5688,7 +5688,7 @@ clusters:
00000000 GRAS_LRZ_FAST_CLEAR_BUFFER_BASE: 0
00000000 GRAS_LRZ_PS_SAMPLEFREQ_CNTL: { 0 }
00000000 GRAS_UNKNOWN_8110: 0
- 00000000 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_RAW | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
00000000 GRAS_A2D_SRC_XMIN: 0
00000000 GRAS_A2D_SRC_XMAX: 0
00000000 GRAS_A2D_SRC_YMIN: 0
@@ -5847,7 +5847,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910)
00000000 RB_COLOR_FLAG_BUFFER[0x6].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
00000000 RB_COLOR_FLAG_BUFFER[0x7].ADDR: 0
00000000 RB_COLOR_FLAG_BUFFER[0x7].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
- 00000000 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_RAW | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
00000000 RB_A2D_PIXEL_CNTL: 0
00000000 0x8c08: 00000000
00000000 0x8c09: 00000000
@@ -6024,7 +6024,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910)
00000000 RB_COLOR_FLAG_BUFFER[0x6].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
00000000 RB_COLOR_FLAG_BUFFER[0x7].ADDR: 0
00000000 RB_COLOR_FLAG_BUFFER[0x7].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
- 00000000 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_RAW | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = 0 | MASK = 0 | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
00000000 RB_A2D_PIXEL_CNTL: 0
00000000 0x8c08: 00000000
00000000 0x8c09: 00000000
@@ -7272,9 +7272,9 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
00000000 0xaa31: 00000000
- cluster-name: CLUSTER_SP_PS
- context: 0
- 00000000 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = 0 | MASK = 0 }
+ 00000000 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = 0 | MASK = 0 }
- context: 1
- 00000000 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = 0 | MASK = 0 }
+ 00000000 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = 0 | MASK = 0 }
- cluster-name: CLUSTER_SP_PS
- context: 0
00000000 TPL1_CS_BORDER_COLOR_BASE: 0
diff --git a/src/freedreno/tests/reference/crash_prefetch.log b/src/freedreno/tests/reference/crash_prefetch.log
index 7343b50731b..af434d8bf68 100644
--- a/src/freedreno/tests/reference/crash_prefetch.log
+++ b/src/freedreno/tests/reference/crash_prefetch.log
@@ -1982,7 +1982,7 @@ got cmdszdw=38
+ 00000000 SP_UNKNOWN_A9A8: 0
!+ 00000005 SP_MODE_CNTL: { CONSTANT_DEMOTION_ENABLE | ISAMMODE = ISAMMODE_GL }
+ 00000000 SP_GFX_USIZE: 0
-!+ 0000f300 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
+!+ 0000f300 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
+ 00000000 SP_DBG_ECO_CNTL: 0
!+ 00000430 SP_CHICKEN_BITS: 0x430
+ 00000000 SP_NC_MODE_CNTL_2: { 0 }
@@ -2006,10 +2006,10 @@ got cmdszdw=38
mode: (null)
skip_ib2: g=0, l=0
draw[1] register values
-!+ 10f00e80 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e80 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_DEST_TL: { X = 0 | Y = 0 }
+ 0040003e GRAS_A2D_DEST_BR: { X = 62 | Y = 64 }
-!+ 10f00e80 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e80 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_PIXEL_CNTL: 0
!+ 0000130e RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | FLAGS | SAMPLES = MSAA_ONE }
!+ 100095000 RB_A2D_DEST_BUFFER_BASE: 0x100095000
@@ -2020,7 +2020,7 @@ got cmdszdw=38
!+ 00000000 RB_A2D_CLEAR_COLOR_DW1: 0
!+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW3: 0
-!+ 0000f070 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
+!+ 0000f070 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
00000001000e32fc: 0000: 702c0001 00000003
opcode: CP_BLIT (2c) (2 dwords)
{ OP = BLIT_OP_SCALE }
@@ -2041,17 +2041,17 @@ got cmdszdw=38
+ 00000000 RB_A2D_CLEAR_COLOR_DW1: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW3: 0
-!+ 0000f300 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
+!+ 0000f300 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
00000001000e3368: 0000: 702c0001 00000003
opcode: CP_BLIT (2c) (2 dwords)
{ OP = BLIT_OP_SCALE }
mode: (null)
skip_ib2: g=0, l=0
draw[3] register values
-!+ 10f00e80 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e80 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_DEST_TL: { X = 0 | Y = 0 }
+ 0040003e GRAS_A2D_DEST_BR: { X = 62 | Y = 64 }
-!+ 10f00e80 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e80 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_PIXEL_CNTL: 0
!+ 0000130e RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | FLAGS | SAMPLES = MSAA_ONE }
!+ 1000af000 RB_A2D_DEST_BUFFER_BASE: 0x1000af000
@@ -2062,7 +2062,7 @@ got cmdszdw=38
+ 00000000 RB_A2D_CLEAR_COLOR_DW1: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW3: 0
-!+ 0000f070 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
+!+ 0000f070 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
00000001000e33d4: 0000: 702c0001 00000003
opcode: CP_BLIT (2c) (2 dwords)
{ OP = BLIT_OP_SCALE }
@@ -2083,7 +2083,7 @@ got cmdszdw=38
!+ 3f800000 RB_A2D_CLEAR_COLOR_DW1: 0x3f800000
+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW3: 0
-!+ 0000f218 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_UNORM | MASK = 0xf }
+!+ 0000f218 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_UNORM | MASK = 0xf }
00000001000e3440: 0000: 702c0001 00000003
opcode: CP_BLIT (2c) (2 dwords)
{ OP = BLIT_OP_SCALE }
@@ -2104,7 +2104,7 @@ got cmdszdw=38
!+ 00000000 RB_A2D_CLEAR_COLOR_DW1: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
!+ 3f800000 RB_A2D_CLEAR_COLOR_DW3: 0x3f800000
-!+ 0000f308 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
+!+ 0000f308 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
00000001000e34ac: 0000: 702c0001 00000003
opcode: CP_BLIT (2c) (2 dwords)
{ OP = BLIT_OP_SCALE }
@@ -2125,7 +2125,7 @@ got cmdszdw=38
+ 00000000 RB_A2D_CLEAR_COLOR_DW1: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
!+ 00000000 RB_A2D_CLEAR_COLOR_DW3: 0
-!+ 0000f25c SP_A2D_OUTPUT_INFO: { UINT | COLOR_FORMAT = FMT6_32_UINT | MASK = 0xf }
+!+ 0000f25c SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_UINT | COLOR_FORMAT = FMT6_32_UINT | MASK = 0xf }
00000001000e3518: 0000: 702c0001 00000003
opcode: CP_BLIT (2c) (2 dwords)
{ OP = BLIT_OP_SCALE }
@@ -2146,7 +2146,7 @@ got cmdszdw=38
!+ 000000ff RB_A2D_CLEAR_COLOR_DW1: 0xff
!+ 000000ff RB_A2D_CLEAR_COLOR_DW2: 0xff
!+ 000000ff RB_A2D_CLEAR_COLOR_DW3: 0xff
-!+ 0000f980 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | SRGB | MASK = 0xf }
+!+ 0000f980 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | SRGB | MASK = 0xf }
00000001000e3584: 0000: 702c0001 00000003
opcode: CP_EVENT_WRITE (46) (5 dwords)
{ EVENT = PC_CCU_FLUSH_COLOR_TS }
@@ -3034,7 +3034,7 @@ got cmdszdw=38
!+ 3f800000 RB_A2D_CLEAR_COLOR_DW1: 0x3f800000
!+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
!+ 00000000 RB_A2D_CLEAR_COLOR_DW3: 0
-!+ 0000f218 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_UNORM | MASK = 0xf }
+!+ 0000f218 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_UNORM | MASK = 0xf }
000000010022736c: 0000: 702c0001 00000003
opcode: CP_EVENT_WRITE (46) (5 dwords)
{ EVENT = PC_CCU_FLUSH_COLOR_TS }
@@ -3752,7 +3752,7 @@ got cmdszdw=38
+ 3f800000 RB_A2D_CLEAR_COLOR_DW1: 0x3f800000
+ 00000000 RB_A2D_CLEAR_COLOR_DW2: 0
+ 00000000 RB_A2D_CLEAR_COLOR_DW3: 0
-!+ 0000f308 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
+!+ 0000f308 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
0000000100227640: 0000: 702c0001 00000003
opcode: CP_EVENT_WRITE (46) (5 dwords)
{ EVENT = PC_CCU_FLUSH_COLOR_TS }
@@ -5192,7 +5192,7 @@ ESTIMATED CRASH LOCATION!
+ 00000000 SP_UNKNOWN_A9A8: 0
+ 00000005 SP_MODE_CNTL: { CONSTANT_DEMOTION_ENABLE | ISAMMODE = ISAMMODE_GL }
+ 00000000 SP_GFX_USIZE: 0
-!+ 0000f300 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
+!+ 0000f300 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
+ 00000000 SP_DBG_ECO_CNTL: 0
+ 00000430 SP_CHICKEN_BITS: 0x430
+ 00000000 SP_NC_MODE_CNTL_2: { 0 }
@@ -6182,19 +6182,19 @@ ESTIMATED CRASH LOCATION!
mode: RM6_DIRECT_RENDER
skip_ib2: g=0, l=0
draw[86] register values
-!+ 10f00e00 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e00 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_SRC_XMIN: 0
+ 00003e00 GRAS_A2D_SRC_XMAX: 62
!+ 00000000 GRAS_A2D_SRC_YMIN: 0
!+ 00000000 GRAS_A2D_SRC_YMAX: 0
+ 00000000 GRAS_A2D_DEST_TL: { X = 0 | Y = 0 }
+ 0000003e GRAS_A2D_DEST_BR: { X = 62 | Y = 0 }
-!+ 10f00e00 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e00 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_PIXEL_CNTL: 0
!+ 0000040e RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WXYZ | SAMPLES = MSAA_ONE }
!+ 10009a000 RB_A2D_DEST_BUFFER_BASE: 0x10009a000
+ 00000000 RB_A2D_DEST_BUFFER_PITCH: 0
-!+ 0000f070 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
+!+ 0000f070 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
!+ 0050130e TPL1_A2D_SRC_TEXTURE_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | FLAGS | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
+ 0020803f TPL1_A2D_SRC_TEXTURE_SIZE: { WIDTH = 63 | HEIGHT = 65 }
!+ 100095000 TPL1_A2D_SRC_TEXTURE_BASE: 0x100095000
@@ -7179,7 +7179,7 @@ ESTIMATED CRASH LOCATION!
!+ 00000060 RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE }
!+ 1000a6000 RB_A2D_DEST_BUFFER_BASE: 0x1000a6000
+ 00000000 RB_A2D_DEST_BUFFER_PITCH: 0
-!+ 0000f300 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
+!+ 0000f300 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
!+ 00500360 TPL1_A2D_SRC_TEXTURE_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
+ 0020803f TPL1_A2D_SRC_TEXTURE_SIZE: { WIDTH = 63 | HEIGHT = 65 }
!+ 10009c000 TPL1_A2D_SRC_TEXTURE_BASE: 0x10009c000
@@ -8152,19 +8152,19 @@ ESTIMATED CRASH LOCATION!
mode: RM6_DIRECT_RENDER
skip_ib2: g=0, l=0
draw[216] register values
-!+ 10f00e00 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e00 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_SRC_XMIN: 0
+ 00003e00 GRAS_A2D_SRC_XMAX: 62
!+ 00000000 GRAS_A2D_SRC_YMIN: 0
!+ 00000000 GRAS_A2D_SRC_YMAX: 0
+ 00000000 GRAS_A2D_DEST_TL: { X = 0 | Y = 0 }
+ 0000003e GRAS_A2D_DEST_BR: { X = 62 | Y = 0 }
-!+ 10f00e00 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f00e00 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_PIXEL_CNTL: 0
!+ 0000040e RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WXYZ | SAMPLES = MSAA_ONE }
!+ 1000b4000 RB_A2D_DEST_BUFFER_BASE: 0x1000b4000
+ 00000000 RB_A2D_DEST_BUFFER_PITCH: 0
-!+ 0000f070 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
+!+ 0000f070 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_5_6_5_UNORM | MASK = 0xf }
!+ 0050130e TPL1_A2D_SRC_TEXTURE_INFO: { COLOR_FORMAT = FMT6_5_6_5_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | FLAGS | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
+ 0020803f TPL1_A2D_SRC_TEXTURE_SIZE: { WIDTH = 63 | HEIGHT = 65 }
!+ 1000af000 TPL1_A2D_SRC_TEXTURE_BASE: 0x1000af000
@@ -9153,7 +9153,7 @@ ESTIMATED CRASH LOCATION!
!+ 00000043 RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_16_16_UNORM | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE }
!+ 1000bb000 RB_A2D_DEST_BUFFER_BASE: 0x1000bb000
+ 00000000 RB_A2D_DEST_BUFFER_PITCH: 0
-!+ 0000f218 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_UNORM | MASK = 0xf }
+!+ 0000f218 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_UNORM | MASK = 0xf }
!+ 00500343 TPL1_A2D_SRC_TEXTURE_INFO: { COLOR_FORMAT = FMT6_16_16_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
+ 0020803f TPL1_A2D_SRC_TEXTURE_SIZE: { WIDTH = 63 | HEIGHT = 65 }
!+ 1000b6000 TPL1_A2D_SRC_TEXTURE_BASE: 0x1000b6000
@@ -10138,7 +10138,7 @@ ESTIMATED CRASH LOCATION!
!+ 00000060 RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE }
!+ 1000c9000 RB_A2D_DEST_BUFFER_BASE: 0x1000c9000
+ 00000000 RB_A2D_DEST_BUFFER_PITCH: 0
-!+ 0000f300 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
+!+ 0000f300 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_UNORM | MASK = 0xf }
!+ 00500360 TPL1_A2D_SRC_TEXTURE_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
+ 0020803f TPL1_A2D_SRC_TEXTURE_SIZE: { WIDTH = 63 | HEIGHT = 65 }
!+ 1000bf000 TPL1_A2D_SRC_TEXTURE_BASE: 0x1000bf000
@@ -11123,7 +11123,7 @@ ESTIMATED CRASH LOCATION!
!+ 0000004b RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_32_UINT | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE }
!+ 1000d6000 RB_A2D_DEST_BUFFER_BASE: 0x1000d6000
+ 00000000 RB_A2D_DEST_BUFFER_PITCH: 0
-!+ 0000f25c SP_A2D_OUTPUT_INFO: { UINT | COLOR_FORMAT = FMT6_32_UINT | MASK = 0xf }
+!+ 0000f25c SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_UINT | COLOR_FORMAT = FMT6_32_UINT | MASK = 0xf }
!+ 0050034b TPL1_A2D_SRC_TEXTURE_INFO: { COLOR_FORMAT = FMT6_32_UINT | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
+ 0020803f TPL1_A2D_SRC_TEXTURE_SIZE: { WIDTH = 63 | HEIGHT = 65 }
!+ 1000d1000 TPL1_A2D_SRC_TEXTURE_BASE: 0x1000d1000
@@ -12108,7 +12108,7 @@ ESTIMATED CRASH LOCATION!
!+ 00002430 RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | TILE_MODE = TILE6_LINEAR | COLOR_SWAP = WXYZ | SRGB | SAMPLES = MSAA_ONE }
!+ 1000df000 RB_A2D_DEST_BUFFER_BASE: 0x1000df000
+ 00000000 RB_A2D_DEST_BUFFER_PITCH: 0
-!+ 0000f980 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | SRGB | MASK = 0xf }
+!+ 0000f980 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | SRGB | MASK = 0xf }
!+ 00502330 TPL1_A2D_SRC_TEXTURE_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | SRGB | SAMPLES = MSAA_ONE | UNK20 | UNK22 }
+ 0020803f TPL1_A2D_SRC_TEXTURE_SIZE: { WIDTH = 63 | HEIGHT = 65 }
!+ 1000da000 TPL1_A2D_SRC_TEXTURE_BASE: 0x1000da000
@@ -19070,9 +19070,9 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
00000000 0xaa31: 00000000
- cluster-name: CLUSTER_SP_PS
- context: 0
- 0000f308 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
+ 0000f308 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
- context: 1
- 0000f308 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
+ 0000f308 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_16_16_16_16_SNORM | MASK = 0xf }
- cluster-name: CLUSTER_SP_PS
- context: 0
100001100 TPL1_CS_BORDER_COLOR_BASE: 0x100001100 base=100000000, offset=4352, size=532480
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 a65101f0527..76c319f3d5f 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
@@ -237,13 +237,13 @@ cmdstream[0]: 265 dwords
RB_A2D_PIXEL_CNTL: 0
0000000001058278: 0000: 488c0101 00000000
write RB_A2D_BLT_CNTL (8c00)
- RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+ RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
0000000001058280: 0000: 408c0001 10f03080
write GRAS_A2D_BLT_CNTL (8400)
- GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+ GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
0000000001058288: 0000: 48840001 10f03080
write SP_A2D_OUTPUT_INFO (acc0)
- SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
+ SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
0000000001058290: 0000: 48acc001 0000f180
write RB_A2D_CLEAR_COLOR_DW0 (8c2c)
RB_A2D_CLEAR_COLOR_DW0: 0
@@ -279,7 +279,7 @@ cmdstream[0]: 265 dwords
+ 00000000 GRAS_UNKNOWN_80AF: FALSE
+ 00000000 GRAS_LRZ_CNTL: { DIR = 0 }
+ 00000000 GRAS_UNKNOWN_8110: 0
-!+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_DEST_TL: { X = 0 | Y = 0 }
!+ 00ff00ff GRAS_A2D_DEST_BR: { X = 255 | Y = 255 }
!+ 00000880 GRAS_DBG_ECO_CNTL: { UNK7 | LRZCACHELOCKDIS }
@@ -297,7 +297,7 @@ cmdstream[0]: 265 dwords
+ 00000000 RB_UNKNOWN_881E: 0
+ 00000000 RB_LRZ_CNTL: { 0 }
+ 00000000 RB_UNKNOWN_88F0: 0
-!+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_PIXEL_CNTL: 0
!+ 00001330 RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | FLAGS | SAMPLES = MSAA_ONE }
!+ 01013000 RB_A2D_DEST_BUFFER_BASE: 0x1013000
@@ -334,7 +334,7 @@ cmdstream[0]: 265 dwords
+ 00000000 SP_UNKNOWN_A9A8: 0
!+ 00000005 SP_MODE_CNTL: { CONSTANT_DEMOTION_ENABLE | ISAMMODE = ISAMMODE_GL }
+ 00000000 SP_GFX_USIZE: 0
-!+ 0000f180 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
+!+ 0000f180 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
+ 00000000 SP_DBG_ECO_CNTL: 0
!+ 00000410 SP_CHICKEN_BITS: 0x410
!+ 00000008 SP_NC_MODE_CNTL_2: { F16_NO_INF }
diff --git a/src/freedreno/tests/reference/prefetch-test.log b/src/freedreno/tests/reference/prefetch-test.log
index 59c61c22afd..0b6da69b68e 100644
--- a/src/freedreno/tests/reference/prefetch-test.log
+++ b/src/freedreno/tests/reference/prefetch-test.log
@@ -2510,7 +2510,7 @@ got cmdszdw=416
+ 00000000 GRAS_LRZ_PS_INPUT_CNTL: { FRAGCOORDSAMPLEMODE = FRAGCOORD_CENTER }
+ 00000000 GRAS_LRZ_PS_SAMPLEFREQ_CNTL: { 0 }
!+ 00000002 GRAS_UNKNOWN_8110: 0x2
-!+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 GRAS_A2D_DEST_TL: { X = 0 | Y = 0 }
!+ 003f003f GRAS_A2D_DEST_BR: { X = 63 | Y = 63 }
+ 00000000 GRAS_A2D_SCISSOR_TL: { X = 0 | Y = 0 }
@@ -2533,7 +2533,7 @@ got cmdszdw=416
+ 00000000 RB_RESOLVE_CNTL_3: { BINW = 0 | BINH = 0 }
+ 00000000 RB_RESOLVE_WINDOW_OFFSET: { X = 0 | Y = 0 }
+ 00000000 RB_UNKNOWN_88F0: 0
-!+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+!+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
+ 00000000 RB_A2D_PIXEL_CNTL: 0
!+ 00001330 RB_A2D_DEST_BUFFER_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | TILE_MODE = TILE6_3 | COLOR_SWAP = WZYX | FLAGS | SAMPLES = MSAA_ONE }
!+ 103736000 RB_A2D_DEST_BUFFER_BASE: 0x103736000
@@ -2600,7 +2600,7 @@ got cmdszdw=416
+ 00000000 VFD_VERTEX_BUFFER[0x1f].SIZE: 0
!+ 00000005 SP_MODE_CNTL: { CONSTANT_DEMOTION_ENABLE | ISAMMODE = ISAMMODE_GL }
+ 00000000 SP_GFX_USIZE: 0
-!+ 0000f180 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
+!+ 0000f180 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
+ 00000000 SP_DBG_ECO_CNTL: 0
!+ 00001430 SP_CHICKEN_BITS: 0x1430
!+ 00000008 SP_NC_MODE_CNTL_2: { F16_NO_INF }
@@ -151722,7 +151722,7 @@ clusters:
00000000 GRAS_LRZ_FAST_CLEAR_BUFFER_BASE: 0
00000000 GRAS_LRZ_PS_SAMPLEFREQ_CNTL: { 0 }
00000002 GRAS_UNKNOWN_8110: 0x2
- 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
00000000 GRAS_A2D_SRC_XMIN: 0
00000000 GRAS_A2D_SRC_XMAX: 0
00000000 GRAS_A2D_SRC_YMIN: 0
@@ -151965,7 +151965,7 @@ clusters:
00000000 GRAS_LRZ_FAST_CLEAR_BUFFER_BASE: 0
00000000 GRAS_LRZ_PS_SAMPLEFREQ_CNTL: { 0 }
00000002 GRAS_UNKNOWN_8110: 0x2
- 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+ 10f03080 GRAS_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
00000000 GRAS_A2D_SRC_XMIN: 0
00000000 GRAS_A2D_SRC_XMAX: 0
00000000 GRAS_A2D_SRC_YMIN: 0
@@ -152124,7 +152124,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910)
00000000 RB_COLOR_FLAG_BUFFER[0x6].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
00000000 RB_COLOR_FLAG_BUFFER[0x7].ADDR: 0
00000000 RB_COLOR_FLAG_BUFFER[0x7].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
- 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
00000000 RB_A2D_PIXEL_CNTL: 0
00000000 0x8c08: 00000000
00000000 0x8c09: 00000000
@@ -152301,7 +152301,7 @@ WARNING: 64b discontinuity (no _LO dword for 8910)
00000000 RB_COLOR_FLAG_BUFFER[0x6].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
00000000 RB_COLOR_FLAG_BUFFER[0x7].ADDR: 0
00000000 RB_COLOR_FLAG_BUFFER[0x7].PITCH: { PITCH = 0 | ARRAY_PITCH = 0 }
- 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | RASTER_MODE = TYPE_TILED }
+ 10f03080 RB_A2D_BLT_CNTL: { ROTATE = ROTATE_0 | SOLID_COLOR | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf | IFMT = R2D_UNORM8 | UNK28 | RASTER_MODE = TYPE_TILED }
00000000 RB_A2D_PIXEL_CNTL: 0
00000000 0x8c08: 00000000
00000000 0x8c09: 00000000
@@ -153549,9 +153549,9 @@ WARNING: 64b discontinuity (no _LO dword for 890d)
00000000 0xaa31: 00000000
- cluster-name: CLUSTER_SP_PS
- context: 0
- 0000f180 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
+ 0000f180 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
- context: 1
- 0000f180 SP_A2D_OUTPUT_INFO: { COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
+ 0000f180 SP_A2D_OUTPUT_INFO: { IFMT_TYPE = OUTPUT_IFMT_2D_FLOAT | COLOR_FORMAT = FMT6_8_8_8_8_UNORM | MASK = 0xf }
- cluster-name: CLUSTER_SP_PS
- context: 0
00000000 TPL1_CS_BORDER_COLOR_BASE: 0
diff --git a/src/freedreno/vulkan/tu_clear_blit.cc b/src/freedreno/vulkan/tu_clear_blit.cc
index eab10042b61..1215f11ddfb 100644
--- a/src/freedreno/vulkan/tu_clear_blit.cc
+++ b/src/freedreno/vulkan/tu_clear_blit.cc
@@ -509,9 +509,16 @@ r2d_setup_common(struct tu_cmd_buffer *cmd,
if (fmt == FMT6_10_10_10_2_UNORM_DEST)
fmt = FMT6_16_16_16_16_FLOAT;
+ enum a6xx_sp_a2d_output_ifmt_type output_ifmt_type;
+ if (util_format_is_pure_uint(dst_format))
+ output_ifmt_type = OUTPUT_IFMT_2D_UINT;
+ else if (util_format_is_pure_sint(dst_format))
+ output_ifmt_type = OUTPUT_IFMT_2D_SINT;
+ else
+ output_ifmt_type = OUTPUT_IFMT_2D_FLOAT;
+
tu_cs_emit_regs(cs, SP_A2D_OUTPUT_INFO(CHIP,
- .sint = util_format_is_pure_sint(dst_format),
- .uint = util_format_is_pure_uint(dst_format),
+ .ifmt_type = output_ifmt_type,
.color_format = fmt,
.srgb = util_format_is_srgb(dst_format),
.mask = 0xf));
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc
index f3a841a7ac7..edda706e893 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc
@@ -333,14 +333,21 @@ emit_blit_setup(struct fd_ringbuffer *ring, enum pipe_format pfmt,
if (fmt == FMT6_10_10_10_2_UNORM_DEST)
fmt = FMT6_16_16_16_16_FLOAT;
+ enum a6xx_sp_a2d_output_ifmt_type output_ifmt_type;
+ if (util_format_is_pure_uint(pfmt))
+ output_ifmt_type = OUTPUT_IFMT_2D_UINT;
+ else if (util_format_is_pure_sint(pfmt))
+ output_ifmt_type = OUTPUT_IFMT_2D_SINT;
+ else
+ output_ifmt_type = OUTPUT_IFMT_2D_FLOAT;
+
/* This register is probably badly named... it seems that it's
* controlling the internal/accumulator format or something like
* that. It's certainly not tied to only the src format.
*/
OUT_REG(ring, SP_A2D_OUTPUT_INFO(
CHIP,
- .sint = util_format_is_pure_sint(pfmt),
- .uint = util_format_is_pure_uint(pfmt),
+ .ifmt_type = output_ifmt_type,
.color_format = fmt,
.srgb = is_srgb,
.mask = 0xf,