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,