From 8cd59857a99c534c560f58c931f5c2466d4c1f9b Mon Sep 17 00:00:00 2001 From: marha Date: Sun, 23 Jan 2011 16:30:09 +0000 Subject: mesalib git update 23/1/2011 --- mesalib/src/mesa/state_tracker/st_atom_viewport.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mesalib/src/mesa/state_tracker/st_atom_viewport.c') diff --git a/mesalib/src/mesa/state_tracker/st_atom_viewport.c b/mesalib/src/mesa/state_tracker/st_atom_viewport.c index 0cde4d0ec..df26fb4a6 100644 --- a/mesalib/src/mesa/state_tracker/st_atom_viewport.c +++ b/mesalib/src/mesa/state_tracker/st_atom_viewport.c @@ -47,10 +47,14 @@ update_viewport( struct st_context *st ) /* _NEW_BUFFERS */ if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP) { + /* Drawing to a window. The corresponding gallium surface uses + * Y=0=TOP but OpenGL is Y=0=BOTTOM. So we need to invert the viewport. + */ yScale = -1; yBias = (GLfloat)ctx->DrawBuffer->Height; } else { + /* Drawing to an FBO where Y=0=BOTTOM, like OpenGL - don't invert */ yScale = 1.0; yBias = 0.0; } -- cgit v1.2.3