mesa: fix incorrect viewport position when GL_CLIP_ORIGIN = GL_LOWER_LEFT
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>
This commit is contained in:
@@ -456,11 +456,11 @@ _mesa_get_viewport_xform(struct gl_context *ctx, unsigned i,
|
|||||||
translate[0] = half_width + x;
|
translate[0] = half_width + x;
|
||||||
if (ctx->Transform.ClipOrigin == GL_UPPER_LEFT) {
|
if (ctx->Transform.ClipOrigin == GL_UPPER_LEFT) {
|
||||||
scale[1] = -half_height;
|
scale[1] = -half_height;
|
||||||
translate[1] = half_height - y;
|
|
||||||
} else {
|
} else {
|
||||||
scale[1] = half_height;
|
scale[1] = half_height;
|
||||||
translate[1] = half_height + y;
|
|
||||||
}
|
}
|
||||||
|
translate[1] = half_height + y;
|
||||||
|
|
||||||
if (ctx->Transform.ClipDepthMode == GL_NEGATIVE_ONE_TO_ONE) {
|
if (ctx->Transform.ClipDepthMode == GL_NEGATIVE_ONE_TO_ONE) {
|
||||||
scale[2] = 0.5 * (f - n);
|
scale[2] = 0.5 * (f - n);
|
||||||
translate[2] = 0.5 * (n + f);
|
translate[2] = 0.5 * (n + f);
|
||||||
|
Reference in New Issue
Block a user