src/mesa/drivers/dri/r600/evergreen_chip.c | 19 +++++++------------ 1 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/mesa/drivers/dri/r600/evergreen_chip.c b/src/mesa/drivers/dri/r600/evergreen_chip.c index b591d5f..801dfb0 100644 --- a/src/mesa/drivers/dri/r600/evergreen_chip.c +++ b/src/mesa/drivers/dri/r600/evergreen_chip.c @@ -896,7 +896,6 @@ static void evergreenSendDB(GLcontext *ctx, struct radeon_state_atom *atom) context_t *context = EVERGREEN_CONTEXT(ctx); EVERGREEN_CHIP_CONTEXT *evergreen = GET_EVERGREEN_CHIP(context); struct radeon_renderbuffer *rrb; - unsigned int zheight, zpitch, offtostencil; BATCH_LOCALS(&context->radeon); radeon_print(RADEON_STATE, RADEON_VERBOSE, "%s\n", __func__); @@ -950,16 +949,6 @@ static void evergreenSendDB(GLcontext *ctx, struct radeon_state_atom *atom) END_BATCH(); rrb = radeon_get_depthbuffer(&context->radeon); - - if (context->radeon.radeonScreen->driScreen->dri2.enabled) - { - zheight = rrb->base.Height; - } - else - { - zheight = context->radeon.radeonScreen->driScreen->fbHeight; - } - zpitch = rrb->pitch; if( (rrb != NULL) && (rrb->bo != NULL) ) { @@ -1032,7 +1021,13 @@ static void evergreenSendDB(GLcontext *ctx, struct radeon_state_atom *atom) //10 if((evergreen->DB_DEPTH_CONTROL.u32All & STENCIL_ENABLE_bit) > 0) { - offtostencil = ((zheight * zpitch + 255) >> 8) & 0xffffffff; + unsigned int zheight, offtostencil; + if (context->radeon.radeonScreen->driScreen->dri2.enabled) + zheight = rrb->base.Height; + else + zheight = context->radeon.radeonScreen->driScreen->fbHeight; + + offtostencil = ((zheight * rrb->pitch + 255) >> 8) & 0xffffffff; BEGIN_BATCH_NO_AUTOSTATE(3 + 2); EVERGREEN_OUT_BATCH_REGVAL(EG_DB_STENCIL_READ_BASE, offtostencil);