On Mon, 2013-02-11 at 18:45 -0500, [email protected] wrote: > From: Jerome Glisse <[email protected]> > > Seems that alpha test being enabled confuse the GPU on the order in > which it should perform the Z testing. So force the order programmed > throught db shader control. > > v2: Only force z order when alpha test is enabled > > Signed-off-by: Jerome Glisse <[email protected]> > Reviewed-by: Marek Olšák <[email protected]> > --- > src/gallium/drivers/r600/evergreen_state.c | 25 +++++++++++++++++++++++-- > src/gallium/drivers/r600/r600_state.c | 22 +++++++++++++++++++++- > 2 files changed, 44 insertions(+), 3 deletions(-) > > diff --git a/src/gallium/drivers/r600/evergreen_state.c > b/src/gallium/drivers/r600/evergreen_state.c > index 211c218..b710131 100644 > --- a/src/gallium/drivers/r600/evergreen_state.c > +++ b/src/gallium/drivers/r600/evergreen_state.c > @@ -2251,6 +2251,13 @@ static void evergreen_emit_db_misc_state(struct > r600_context *rctx, struct r600_ > if (rctx->db_state.rsurf && rctx->db_state.rsurf->htile_enabled) { > /* 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 some how GPU get confuse on which order to > pick for
Spelling: 'somehow the GPU gets confused' > @@ -3484,6 +3490,21 @@ void evergreen_update_db_shader_control(struct > r600_context * rctx) > > V_02880C_EXPORT_DB_FULL) | > > S_02880C_ALPHA_TO_MASK_DISABLE(rctx->framebuffer.cb0_is_integer); > > + /* When alpha test is enabled we can't antrust the hw to make the proper The correct spelling would be 'intrust' or 'entrust', but I think the proper verb here is simply 'trust'. Same comments apply to r600_state.c. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Debian, X and DRI developer _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
