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: */

Reply via email to