Module: Mesa Branch: main Commit: cb13e24758c52211ded2f61c89ab389fff2b994d URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb13e24758c52211ded2f61c89ab389fff2b994d
Author: Rob Clark <[email protected]> Date: Sat Nov 5 12:03:33 2022 -0700 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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19551> --- ...e.specification.basic_teximage2d.rgba16f_2d.log | 115 +++++++++++++++++++++ .../.gitlab-ci/reference/glxgears-a420.log | 18 ++-- src/freedreno/decode/cffdec.c | 1 + 3 files changed, 128 insertions(+), 6 deletions(-) diff --git a/src/freedreno/.gitlab-ci/reference/dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d.log b/src/freedreno/.gitlab-ci/reference/dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d.log index d196b66b0d1..9b7d21703f2 100644 --- a/src/freedreno/.gitlab-ci/reference/dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d.log +++ b/src/freedreno/.gitlab-ci/reference/dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d.log @@ -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 diff --git a/src/freedreno/.gitlab-ci/reference/glxgears-a420.log b/src/freedreno/.gitlab-ci/reference/glxgears-a420.log index b547de29387..98b9f5d10b0 100644 --- a/src/freedreno/.gitlab-ci/reference/glxgears-a420.log +++ b/src/freedreno/.gitlab-ci/reference/glxgears-a420.log @@ -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 } diff --git a/src/freedreno/decode/cffdec.c b/src/freedreno/decode/cffdec.c index 739af122a1a..c9dfa2c0ea3 100644 --- a/src/freedreno/decode/cffdec.c +++ b/src/freedreno/decode/cffdec.c @@ -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: */
