iris: initialize "don't suck" bits, as Ben likes to call them
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 18 Sep 2018 18:07:16 +0000 (11:07 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:08 +0000 (10:26 -0800)
src/gallium/drivers/iris/iris_state.c

index 07bae4a3cd082f9ac2cc4cdf9e64f972bafe5c20..0217007d83f19dd3c30ae4ebc1110a27c16f99e0 100644 (file)
@@ -547,6 +547,16 @@ iris_init_render_context(struct iris_screen *screen,
    }
    iris_emit_lri(batch, CS_DEBUG_MODE2, reg_val);
 
+#if GEN_GEN == 9
+   iris_pack_state(GENX(CACHE_MODE_1), &reg_val, reg) {
+      reg.FloatBlendOptimizationEnable = true;
+      reg.FloatBlendOptimizationEnableMask = true;
+      reg.PartialResolveDisableInVC = true;
+      reg.PartialResolveDisableInVCMask = true;
+   }
+   iris_emit_lri(batch, CACHE_MODE_1, reg_val);
+#endif
+
    /* 3DSTATE_DRAWING_RECTANGLE is non-pipelined, so we want to avoid
     * changing it dynamically.  We set it to the maximum size here, and
     * instead include the render target dimensions in the viewport, so