vc4: Pack the unorm-packing bits into a src MUL instruction when possible.
[mesa.git] / src / gallium / drivers / vc4 / vc4_qpu_emit.c
index ef35f33a0eb6d994f3466a49adb64a499fc1ba1e..bf614a2c1fd776c2c98982bb7eedf3c981e6de2a 100644 (file)
@@ -507,6 +507,11 @@ vc4_generate_code(struct vc4_context *vc4, struct vc4_compile *c)
                                 queue(c, qpu_m_alu2(translate[qinst->op].op,
                                                     dst,
                                                     src[0], src[1]));
+                                if (qinst->dst.pack) {
+                                        *last_inst(c) |= QPU_PM;
+                                        *last_inst(c) |= QPU_SET_FIELD(qinst->dst.pack,
+                                                                       QPU_PACK);
+                                }
                         } else {
                                 queue(c, qpu_a_alu2(translate[qinst->op].op,
                                                     dst,