mesa: fix incorrect viewport position when GL_CLIP_ORIGIN = GL_LOWER_LEFT
authorBrian Paul <brianp@vmware.com>
Tue, 9 Feb 2016 16:58:39 +0000 (09:58 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 9 Feb 2016 18:27:48 +0000 (11:27 -0700)
Ilia Mirkin found/fixed the mistake.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93813
Cc: "11.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/mesa/main/viewport.c

index 7d8914291c3a09bd5cf2e3bf59023347425fb937..681e46bfcf71562d82d3cb40d1f5e2030ffdcfbe 100644 (file)
@@ -456,11 +456,11 @@ _mesa_get_viewport_xform(struct gl_context *ctx, unsigned i,
    translate[0] = half_width + x;
    if (ctx->Transform.ClipOrigin == GL_UPPER_LEFT) {
       scale[1] = -half_height;
-      translate[1] = half_height - y;
    } else {
       scale[1] = half_height;
-      translate[1] = half_height + y;
    }
+   translate[1] = half_height + y;
+
    if (ctx->Transform.ClipDepthMode == GL_NEGATIVE_ONE_TO_ONE) {
       scale[2] = 0.5 * (f - n);
       translate[2] = 0.5 * (n + f);