Module: Mesa Branch: 7.8 Commit: eb4dc547885994cc7961f7996c33ff484f664964 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb4dc547885994cc7961f7996c33ff484f664964
Author: Jerome Glisse <[email protected]> Date: Fri Apr 23 11:56:06 2010 +0200 r600: don't enable depth test if there is no depth buffer If there is no depth buffer bound to current context don't enable depth test. GL states that if depth test is enabled without depth buffer it's as if depth buffer always pass. Signed-off-by: Jerome Glisse <[email protected]> --- src/mesa/drivers/dri/r600/r700_state.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/r600/r700_state.c b/src/mesa/drivers/dri/r600/r700_state.c index 12eaebb..0d7cb8e 100644 --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@ -252,12 +252,15 @@ void r700UpdateShaderStates(GLcontext * ctx) static void r700SetDepthState(GLcontext * ctx) { + struct radeon_renderbuffer *rrb; context_t *context = R700_CONTEXT(ctx); R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw); R600_STATECHANGE(context, db); - if (ctx->Depth.Test) + rrb = radeon_get_depthbuffer(&context->radeon); + + if (ctx->Depth.Test && rrb && rrb->bo) { SETbit(r700->DB_DEPTH_CONTROL.u32All, Z_ENABLE_bit); if (ctx->Depth.Mask) _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
