freedreno/a6xx: fix OUT_REG() vs growable cmdstream
[mesa.git] / src / gallium / drivers / freedreno / a6xx / fd6_pack.h
index 84b232e74a2d8a4e038ef5148945293f7a16a0d4..f5f8e2ca5f7b663077c7f8041e402ca403bb6cb5 100644 (file)
@@ -76,12 +76,12 @@ struct fd_reg_pair {
        do {                                                                                                    \
                const struct fd_reg_pair regs[] = { __VA_ARGS__ };      \
                unsigned count = ARRAY_SIZE(regs);                                      \
-               uint32_t *p = ring->cur;                                                        \
                                                                                                                        \
                STATIC_ASSERT(count > 0);                                                       \
                STATIC_ASSERT(count <= 16);                                                     \
                                                                                                                        \
                BEGIN_RING(ring, count + 1);                                            \
+               uint32_t *p = ring->cur;                                                        \
                *p++ = CP_TYPE4_PKT | count |                                           \
                        (_odd_parity_bit(count) << 7) |                                 \
                        ((regs[0].reg & 0x3ffff) << 8) |                                \