OSDN Git Service

gallium: fix inverted raster pos when drawing into FBO
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 25 Nov 2008 01:37:18 +0000 (18:37 -0700)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 25 Nov 2008 01:37:36 +0000 (18:37 -0700)
src/mesa/state_tracker/st_cb_rasterpos.c

index 3b30c2a..3eaccb7 100644 (file)
@@ -146,7 +146,10 @@ rastpos_point(struct draw_stage *stage, struct prim_header *prim)
    /* update raster pos */
    pos = prim->v[0]->data[0];
    ctx->Current.RasterPos[0] = pos[0];
-   ctx->Current.RasterPos[1] = height - pos[1]; /* invert Y */
+   if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP)
+      ctx->Current.RasterPos[1] = height - pos[1]; /* invert Y */
+   else
+      ctx->Current.RasterPos[1] = pos[1];
    ctx->Current.RasterPos[2] = pos[2];
    ctx->Current.RasterPos[3] = pos[3];