v3d: Fix configuration setup of mixed f32 and f16 render targets.
authorEric Anholt <eric@anholt.net>
Wed, 13 Jun 2018 20:38:33 +0000 (13:38 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 14 Jun 2018 23:52:25 +0000 (16:52 -0700)
Fixes dEQP-GLES3.functional.fragment_out.random.26 and 6 others.

src/broadcom/compiler/nir_to_vir.c

index 23b5975a3344b085c48918712400f2529e0fdd23..51b4fd6848dfc24a4b8241b8e99ed9e33109a06d 100644 (file)
@@ -1000,7 +1000,7 @@ emit_frag_end(struct v3d_compile *c)
                         struct qreg b = color[2];
                         struct qreg a = color[3];
 
-                        if (c->fs_key->f32_color_rb) {
+                        if (c->fs_key->f32_color_rb & (1 << rt)) {
                                 conf |= TLB_TYPE_F32_COLOR;
                                 conf |= ((num_components - 1) <<
                                          TLB_VEC_SIZE_MINUS_1_SHIFT);