r600g: remove a Hyper-Z workaround that's likely not needed anymore
FORCE_OFF == 0, no need to set that Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user