r600g: remove a Hyper-Z workaround that's likely not needed anymore
authorMarek Olšák <marek.olsak@amd.com>
Thu, 10 Dec 2015 00:46:17 +0000 (01:46 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 11 Dec 2015 14:25:12 +0000 (15:25 +0100)
FORCE_OFF == 0, no need to set that

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
src/gallium/drivers/r600/evergreen_state.c

index 0f628ee513c5ca9232c346ea0c59076541d294e6..02d0c7f6c1101a06027bfd7aa05817faf3af69dc 100644 (file)
@@ -1842,26 +1842,14 @@ static void evergreen_emit_db_misc_state(struct r600_context *rctx, struct r600_
                }
                db_render_override |= S_02800C_NOOP_CULL_DISABLE(1);
        }
-       /* FIXME we should be able to use hyperz even if we are not writing to
-        * zbuffer but somehow this trigger GPU lockup. See :
-        *
-        * https://bugs.freedesktop.org/show_bug.cgi?id=60848
-        *
-        * Disable hyperz for now if not writing to zbuffer.
+
+       /* This is to fix a lockup when hyperz and alpha test are enabled at
+        * the same time somehow GPU get confuse on which order to pick for
+        * z test
         */
-       if (rctx->db_state.rsurf && rctx->db_state.rsurf->db_htile_surface && rctx->zwritemask) {
-               /* FORCE_OFF means HiZ/HiS are determined by DB_SHADER_CONTROL */
-               db_render_override |= S_02800C_FORCE_HIZ_ENABLE(V_02800C_FORCE_OFF);
-               /* This is to fix a lockup when hyperz and alpha test are enabled at
-                * the same time somehow GPU get confuse on which order to pick for
-                * z test
-                */
-               if (rctx->alphatest_state.sx_alpha_test_control) {
-                       db_render_override |= S_02800C_FORCE_SHADER_Z_ORDER(1);
-               }
-       } else {
-               db_render_override |= S_02800C_FORCE_HIZ_ENABLE(V_02800C_FORCE_DISABLE);
-       }
+       if (rctx->alphatest_state.sx_alpha_test_control)
+               db_render_override |= S_02800C_FORCE_SHADER_Z_ORDER(1);
+
        if (a->flush_depthstencil_through_cb) {
                assert(a->copy_depth || a->copy_stencil);