st/mesa: fix GL_FEEDBACK mode inverted Y coordinate bug

We need to check the drawbuffer's orientation before inverting Y
coordinates.  Fixes piglit feedback tests when running with the
-fbo option.

Cc: "9.2" "10.0" <mesa-stable@lists.freedesktop.org>

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Brian Paul 2013-11-19 13:09:57 -07:00
parent e7a5905d8a
commit 15d8e05e1e
1 changed files with 4 additions and 2 deletions

View File

@ -85,9 +85,11 @@ feedback_vertex(struct gl_context *ctx, const struct draw_context *draw,
const GLfloat *color, *texcoord;
GLuint slot;
/* Recall that Y=0=Top of window for Gallium wincoords */
win[0] = v->data[0][0];
win[1] = ctx->DrawBuffer->Height - v->data[0][1];
if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP)
win[1] = ctx->DrawBuffer->Height - v->data[0][1];
else
win[1] = v->data[0][1];
win[2] = v->data[0][2];
win[3] = 1.0F / v->data[0][3];