From: Jerome Glisse Date: Fri, 23 Apr 2010 10:08:36 +0000 (+0200) Subject: Merge remote branch 'origin/7.8' X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=ccd13da0fc1f1813b55fc0d2181a6cb0d3b42b0d;hp=-c Merge remote branch 'origin/7.8' --- ccd13da0fc1f1813b55fc0d2181a6cb0d3b42b0d diff --combined src/mesa/drivers/dri/r600/r700_state.c index 1da31e7b2b4,0d7cb8ecfe5..ac64bbf874f --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@@ -39,7 -39,6 +39,7 @@@ #include "swrast_setup/swrast_setup.h" #include "main/api_arrayelt.h" #include "main/framebuffer.h" +#include "drivers/common/meta.h" #include "shader/prog_parameter.h" #include "shader/prog_statevars.h" @@@ -253,12 -252,15 +253,15 @@@ void r700UpdateShaderStates(GLcontext 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) @@@ -1817,7 -1819,7 +1820,7 @@@ void r700InitState(GLcontext * ctx) //- } -void r700InitStateFuncs(struct dd_function_table *functions) //----------------- +void r700InitStateFuncs(radeonContextPtr radeon, struct dd_function_table *functions) { functions->UpdateState = r700InvalidateState; functions->AlphaFunc = r700AlphaFunc; @@@ -1858,12 -1860,8 +1861,12 @@@ functions->Scissor = radeonScissor; - functions->DrawBuffer = radeonDrawBuffer; - functions->ReadBuffer = radeonReadBuffer; + functions->DrawBuffer = radeonDrawBuffer; + functions->ReadBuffer = radeonReadBuffer; + functions->CopyPixels = _mesa_meta_CopyPixels; + functions->DrawPixels = _mesa_meta_DrawPixels; + if (radeon->radeonScreen->kernel_mm) + functions->ReadPixels = radeonReadPixels; }