From: Brian Paul Date: Thu, 7 Jan 2010 01:12:42 +0000 (-0700) Subject: meta: set viewport and projection matrix in _mesa_meta_GenerateMipmap X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=06970b2ccb6add0696710f01a07ebf9ec3922c80;p=mesa.git meta: set viewport and projection matrix in _mesa_meta_GenerateMipmap This fixes mipmap levels being clipped to the last viewport. Based on a patch submitted by Pierre Willenbrock --- diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index cd9075b3936..adc986402c1 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -2408,6 +2408,15 @@ _mesa_meta_GenerateMipmap(GLcontext *ctx, GLenum target, break; } + assert(dstWidth == ctx->DrawBuffer->Width); + assert(dstHeight == ctx->DrawBuffer->Height); + + /* setup viewport and matching projection matrix */ + _mesa_set_viewport(ctx, 0, 0, dstWidth, dstHeight); + _mesa_MatrixMode(GL_PROJECTION); + _mesa_LoadIdentity(); + _mesa_Ortho(0.0F, dstWidth, 0.0F, dstHeight, -1.0F, 1.0F); + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); }