From 06970b2ccb6add0696710f01a07ebf9ec3922c80 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 6 Jan 2010 18:12:42 -0700 Subject: 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 --- src/mesa/drivers/common/meta.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index cd9075b393..adc986402c 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); } -- cgit v1.2.3