diff --git a/src/panfrost/midgard/midgard_emit.c b/src/panfrost/midgard/midgard_emit.c index fc5fa8eb1d1..7c6fbd27aa1 100644 --- a/src/panfrost/midgard/midgard_emit.c +++ b/src/panfrost/midgard/midgard_emit.c @@ -244,6 +244,12 @@ mir_pack_swizzle(unsigned mask, unsigned *swizzle, bool lo = swizzle[0] >= COMPONENT_Z; bool hi = swizzle[1] >= COMPONENT_Z; + assert(!(mask & ~0xf)); + assert(!(mask & 0x3) || !(mask & 0xc)); + + if (mask > 3) + mask >>= 2; + if (mask & 0x1) { /* We can't mix halves... */ if (mask & 2)