panfrost/midgard: Fix blend constant scheduling bug
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Mon, 1 Jul 2019 23:44:49 +0000 (16:44 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 10 Jul 2019 13:12:04 +0000 (06:12 -0700)
Blend constant conflicts run in two directions.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/gallium/drivers/panfrost/midgard/midgard_schedule.c

index 7059f7bbe2abdfe9787a2f2a4eef3b3fae61d982..c0dd5764595c78bb754b989ddd790e68532e89f2 100644 (file)
@@ -257,6 +257,10 @@ schedule_bundle(compiler_context *ctx, midgard_block *block, midgard_instruction
                          * the swizzle */
 
                         if (ains->has_blend_constant) {
+                                /* Everything conflicts with the blend constant */
+                                if (bundle.has_embedded_constants)
+                                        break;
+
                                 bundle.has_blend_constant = 1;
                                 bundle.has_embedded_constants = 1;
                         } else if (ains->has_constants) {