freedreno/cffdec: Fix unitialized count for pkt2

This was causing us to use the size of the previous packet.  Which just
happened to land on a valid packet because pkt2 only followed a
CP_INDIRECT_BUFFER.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19551>
This commit is contained in:
Rob Clark 2022-11-05 12:03:33 -07:00 committed by Marge Bot
parent 4060cf5772
commit cb13e24758
3 changed files with 128 additions and 6 deletions

View file

@ -371,6 +371,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122d1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 10
:0,0,10,6
0122d1e8: 0000: 0000057e 0000000a
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1251
@ -745,6 +749,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122f1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 16
:0,0,16,12
0122f1e8: 0000: 0000057e 00000010
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1252
@ -1119,6 +1127,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122d1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 22
:0,0,22,18
0122d1e8: 0000: 0000057e 00000016
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1253
@ -1493,6 +1505,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122f1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 28
:0,0,28,24
0122f1e8: 0000: 0000057e 0000001c
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1254
@ -1867,6 +1883,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122d1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 34
:0,0,34,30
0122d1e8: 0000: 0000057e 00000022
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1255
@ -2241,6 +2261,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122f1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 40
:0,0,40,36
0122f1e8: 0000: 0000057e 00000028
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1256
@ -2615,6 +2639,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122d1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 46
:0,0,46,42
0122d1e8: 0000: 0000057e 0000002e
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1257
@ -2989,6 +3017,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122f1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 52
:0,0,52,48
0122f1e8: 0000: 0000057e 00000034
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1258
@ -3363,6 +3395,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122d1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 58
:0,0,58,54
0122d1e8: 0000: 0000057e 0000003a
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1259
@ -3706,6 +3742,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0110c30c: 0000: c0004600 00000006
0110a21c: 0000: c0013700 0110c000 000000c5
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 68
:0,0,68,62
0110a22c: 0000: 0000057e 00000044
opcode: CP_SET_CONSTANT (2d) (3 dwords)
VGT_VERTEX_REUSE_BLOCK_CNTL: { VTX_REUSE_DEPTH = 2 }
0110a234: 0000: c0012d00 00040316 00000002
@ -4216,6 +4256,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0110b658: 0000: c0004600 00000006
0110a2cc: 0000: c0013700 0110b000 00000198
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 70
:0,0,70,60
0110a2dc: 0000: 0000057e 00000046
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 71
:0,0,71,60
@ -4396,6 +4440,11 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0125e184: 0000: c0012d00 00040208 00000004
0110a2ec: 0000: c0013700 0125e000 00000064
nop
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 72
:0,0,72,66
0110a2fc: 0000: 0000057e 00000048
opcode: CP_SET_CONSTANT (2d) (3 dwords)
RB_COLOR_INFO: { FORMAT = COLORX_8_8_8_8 | ROUND_MODE = 0 | ENDIAN = 0 | SWAP = 1 | BASE = 0 }
0110a304: 0000: c0012d00 00040001 00000205
@ -4440,6 +4489,11 @@ NEEDS WFI: CP_SCRATCH_REG6 (57e)
0110a390: 0000: c0013700 0110b000 00000198
nop
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 74
:0,0,74,66
0110a3a0: 0000: 0000057e 0000004a
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 75
:0,0,75,66
@ -4449,6 +4503,11 @@ NEEDS WFI: CP_SCRATCH_REG6 (57e)
ibsize:00000064
0110a3b0: 0000: c0013700 0125e000 00000064
nop
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 76
:0,0,76,66
0110a3c0: 0000: 0000057e 0000004c
opcode: CP_SET_CONSTANT (2d) (3 dwords)
RB_COLOR_INFO: { FORMAT = COLORX_8_8_8_8 | ROUND_MODE = 0 | ENDIAN = 0 | SWAP = 1 | BASE = 0 }
0110a3c8: 0000: c0012d00 00040001 00000205
@ -4493,6 +4552,11 @@ NEEDS WFI: CP_SCRATCH_REG6 (57e)
0110a454: 0000: c0013700 0110b000 00000198
nop
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 78
:0,0,78,66
0110a464: 0000: 0000057e 0000004e
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 79
:0,0,79,66
@ -4502,6 +4566,11 @@ NEEDS WFI: CP_SCRATCH_REG6 (57e)
ibsize:00000064
0110a474: 0000: c0013700 0125e000 00000064
nop
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 80
:0,0,80,66
0110a484: 0000: 0000057e 00000050
opcode: CP_SET_CONSTANT (2d) (3 dwords)
RB_COLOR_INFO: { FORMAT = COLORX_8_8_8_8 | ROUND_MODE = 0 | ENDIAN = 0 | SWAP = 1 | BASE = 0 }
0110a48c: 0000: c0012d00 00040001 00000205
@ -4546,6 +4615,11 @@ NEEDS WFI: CP_SCRATCH_REG6 (57e)
0110a518: 0000: c0013700 0110b000 00000198
nop
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 82
:0,0,82,66
0110a528: 0000: 0000057e 00000052
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 83
:0,0,83,66
@ -4555,6 +4629,11 @@ NEEDS WFI: CP_SCRATCH_REG6 (57e)
ibsize:00000064
0110a538: 0000: c0013700 0125e000 00000064
nop
write CP_SCRATCH_REG6 (057e)
NEEDS WFI: CP_SCRATCH_REG6 (57e)
CP_SCRATCH_REG6: 84
:0,0,84,66
0110a548: 0000: 0000057e 00000054
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1260
@ -4941,6 +5020,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122f1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 90
:0,0,90,86
0122f1e8: 0000: 0000057e 0000005a
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1261
@ -5317,6 +5400,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0110b2d8: 0000: c0004600 00000006
0110c1d8: 0000: c0013700 0110b000 000000b8
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 96
:0,0,96,92
0110c1e8: 0000: 0000057e 00000060
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1262
@ -5691,6 +5778,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122d1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 102
:0,0,102,98
0122d1e8: 0000: 0000057e 00000066
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1263
@ -6067,6 +6158,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0110b2d8: 0000: c0004600 00000006
0110a1d8: 0000: c0013700 0110b000 000000b8
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 108
:0,0,108,104
0110a1e8: 0000: 0000057e 0000006c
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1264
@ -6441,6 +6536,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122f1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 114
:0,0,114,110
0122f1e8: 0000: 0000057e 00000072
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1265
@ -6817,6 +6916,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0110b2d8: 0000: c0004600 00000006
0110c1d8: 0000: c0013700 0110b000 000000b8
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 120
:0,0,120,116
0110c1e8: 0000: 0000057e 00000078
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1266
@ -7191,6 +7294,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122d1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 126
:0,0,126,122
0122d1e8: 0000: 0000057e 0000007e
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1267
@ -7567,6 +7674,10 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0110b2d8: 0000: c0004600 00000006
0110a1d8: 0000: c0013700 0110b000 000000b8
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 132
:0,0,132,128
0110a1e8: 0000: 0000057e 00000084
############################################################
vertices: 0
cmd: deqp-gles2/185: fence=1268
@ -7941,5 +8052,9 @@ NEEDS WFI: CP_SCRATCH_REG7 (57f)
0122e2d0: 0000: c0004600 00000006
0122f1d8: 0000: c0013700 0122e000 000000b6
nop
write CP_SCRATCH_REG6 (057e)
CP_SCRATCH_REG6: 138
:0,0,138,134
0122f1e8: 0000: 0000057e 0000008a
############################################################
vertices: 0

View file

@ -4911,6 +4911,10 @@ cmdstream[1]: 414 dwords
109d1cb0: 0000: 0000057f 0000006f
108ce2d0: 0000: c0013f00 109ce000 00000f2e
nop
write CP_SCRATCH[0x6].REG (057e)
CP_SCRATCH[0x6].REG: 0x74
:0,109,116,111
108ce2e0: 0000: 0000057e 00000074
write RB_DEPTH_CONTROL (2101)
RB_DEPTH_CONTROL: { ZFUNC = FUNC_NEVER }
108ce2e8: 0000: 00002101 00000000
@ -5125,15 +5129,17 @@ cmdstream[1]: 414 dwords
108ce608: 0000: 000320fc 00064010 10edc000 00000028 0003c068
write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x75
:0,109,115,117
:0,109,116,117
108ce61c: 0000: 0000057f 00000075
opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
{ PRIM_TYPE = DI_PT_RECTLIST | SOURCE_SELECT = DI_SRC_SEL_AUTO_INDEX | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_8_BIT | PATCH_TYPE = TESS_QUADS }
{ NUM_INSTANCES = 1 }
{ NUM_INDICES = 2 }
draw[19] register values
!+ 00000074 CP_SCRATCH[0x6].REG: 0x74
:0,109,116,117
!+ 00000075 CP_SCRATCH[0x7].REG: 0x75
:0,109,115,117
:0,109,116,117
+ 00000000 UCHE_INVALIDATE0: 0
+ 00000012 UCHE_INVALIDATE1: 0x12
+ 00080000 GRAS_CL_CLIP_CNTL: { 0x80000 }
@ -5231,7 +5237,7 @@ cmdstream[1]: 414 dwords
108ce624: 0000: c0023800 00000088 00000001 00000002
write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x76
:0,109,115,118
:0,109,116,118
108ce634: 0000: 0000057f 00000076
write RB_COPY_CONTROL (20fc)
RB_COPY_CONTROL: { MSAA_RESOLVE = MSAA_ONE | MODE = RB_COPY_RESOLVE | FASTCLEAR = 0 | GMEM_BASE = 0 }
@ -5241,7 +5247,7 @@ cmdstream[1]: 414 dwords
108ce63c: 0000: 000320fc 00000010 10f3c000 00000028 0003c168
write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x77
:0,109,115,119
:0,109,116,119
108ce650: 0000: 0000057f 00000077
opcode: CP_DRAW_INDX_OFFSET (38) (4 dwords)
{ PRIM_TYPE = DI_PT_RECTLIST | SOURCE_SELECT = DI_SRC_SEL_AUTO_INDEX | VIS_CULL = IGNORE_VISIBILITY | INDEX_SIZE = INDEX4_SIZE_8_BIT | PATCH_TYPE = TESS_QUADS }
@ -5249,7 +5255,7 @@ cmdstream[1]: 414 dwords
{ NUM_INDICES = 2 }
draw[20] register values
!+ 00000077 CP_SCRATCH[0x7].REG: 0x77
:0,109,115,119
:0,109,116,119
!+ 00000010 RB_COPY_CONTROL: { MSAA_RESOLVE = MSAA_ONE | MODE = RB_COPY_RESOLVE | FASTCLEAR = 0 | GMEM_BASE = 0 }
!+ 10f3c000 RB_COPY_DEST_BASE: { BASE = 0x10f3c000 }
+ 00000028 RB_COPY_DEST_PITCH: { PITCH = 1280 }
@ -5257,7 +5263,7 @@ cmdstream[1]: 414 dwords
108ce658: 0000: c0023800 00000088 00000001 00000002
write CP_SCRATCH[0x7].REG (057f)
CP_SCRATCH[0x7].REG: 0x78
:0,109,115,120
:0,109,116,120
108ce668: 0000: 0000057f 00000078
write GRAS_SC_CONTROL (207b)
GRAS_SC_CONTROL: { RENDER_MODE = RB_RENDERING_PASS | MSAA_SAMPLES = 0 | MSAA_DISABLE | RASTER_MODE = 0 }

View file

@ -2897,6 +2897,7 @@ dump_commands(uint32_t *dwords, uint32_t sizedwords, int level)
dump_hex(dwords, count, level + 1);
} else if (pkt_is_type2(dwords[0])) {
printl(3, "%snop\n", levels[level + 1]);
count = 1;
} else {
/* for 5xx+ we can do a passable job of looking for start of next valid
* packet: */