summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2017-06-10 02:28:05 +0200
committerAndres Gomez <agomez@igalia.com>2017-06-28 20:15:04 +0300
commit365c326861f40689a745a51af54dda4cad4b5b94 (patch)
tree3c2d9078a4913455e7f3afdd1bf206065de7f787
parent6af4b0fdf3b061c0a3ff5231f4d97975f48c283d (diff)
mesa: flush vertices before changing viewports
Cc: 17.1 <mesa-stable@lists.freedesktop.org> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> (cherry picked from commit c8363eb0276c863100a457b18fee5ef900cf6f74)
-rw-r--r--src/mesa/main/viewport.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index bd580446f76..6d3e57654cc 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -40,6 +40,8 @@ set_viewport_no_notify(struct gl_context *ctx, unsigned idx,
GLfloat x, GLfloat y,
GLfloat width, GLfloat height)
{
+ FLUSH_VERTICES(ctx, _NEW_VIEWPORT);
+
/* clamp width and height to the implementation dependent range */
width = MIN2(width, (GLfloat) ctx->Const.MaxViewportWidth);
height = MIN2(height, (GLfloat) ctx->Const.MaxViewportHeight);
@@ -71,7 +73,6 @@ set_viewport_no_notify(struct gl_context *ctx, unsigned idx,
ctx->ViewportArray[idx].Width = width;
ctx->ViewportArray[idx].Y = y;
ctx->ViewportArray[idx].Height = height;
- ctx->NewState |= _NEW_VIEWPORT;
}
struct gl_viewport_inputs {
@@ -240,9 +241,10 @@ set_depth_range_no_notify(struct gl_context *ctx, unsigned idx,
ctx->ViewportArray[idx].Far == farval)
return;
+ FLUSH_VERTICES(ctx, _NEW_VIEWPORT);
+
ctx->ViewportArray[idx].Near = CLAMP(nearval, 0.0, 1.0);
ctx->ViewportArray[idx].Far = CLAMP(farval, 0.0, 1.0);
- ctx->NewState |= _NEW_VIEWPORT;
}
void