From 15d8e05e1e98a9bfd5a365d0fda222668f24261f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 19 Nov 2013 13:09:57 -0700 Subject: [PATCH] st/mesa: fix GL_FEEDBACK mode inverted Y coordinate bug MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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" Reviewed-by: Marek Olšák --- src/mesa/state_tracker/st_cb_feedback.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_feedback.c b/src/mesa/state_tracker/st_cb_feedback.c index d2e4346b7ea..34a16ccf938 100644 --- a/src/mesa/state_tracker/st_cb_feedback.c +++ b/src/mesa/state_tracker/st_cb_feedback.c @@ -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]; -- 2.30.2