diff options
Diffstat (limited to 'src/mesa/drivers/dri/i915/i915_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i915/i915_state.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/i915/i915_state.c b/src/mesa/drivers/dri/i915/i915_state.c index f867f12ed69..9a25b9e6a06 100644 --- a/src/mesa/drivers/dri/i915/i915_state.c +++ b/src/mesa/drivers/dri/i915/i915_state.c @@ -501,7 +501,7 @@ i915PolygonStipple(struct gl_context * ctx, const GLubyte * mask) * Hardware clipping */ static void -i915Scissor(struct gl_context * ctx, GLint x, GLint y, GLsizei w, GLsizei h) +i915Scissor(struct gl_context * ctx) { struct i915_context *i915 = I915_CONTEXT(ctx); int x1, y1, x2, y2; @@ -509,22 +509,24 @@ i915Scissor(struct gl_context * ctx, GLint x, GLint y, GLsizei w, GLsizei h) if (!ctx->DrawBuffer) return; - DBG("%s %d,%d %dx%d\n", __FUNCTION__, x, y, w, h); + DBG("%s %d,%d %dx%d\n", __FUNCTION__, + ctx->Scissor.X, ctx->Scissor.Y, + ctx->Scissor.Width, ctx->Scissor.Height); if (_mesa_is_winsys_fbo(ctx->DrawBuffer)) { - x1 = x; - y1 = ctx->DrawBuffer->Height - (y + h); - x2 = x + w - 1; - y2 = y1 + h - 1; + x1 = ctx->Scissor.X; + y1 = ctx->DrawBuffer->Height - (ctx->Scissor.Y + ctx->Scissor.Height); + x2 = ctx->Scissor.X + ctx->Scissor.Width - 1; + y2 = y1 + ctx->Scissor.Height - 1; DBG("%s %d..%d,%d..%d (inverted)\n", __FUNCTION__, x1, x2, y1, y2); } else { /* FBO - not inverted */ - x1 = x; - y1 = y; - x2 = x + w - 1; - y2 = y + h - 1; + x1 = ctx->Scissor.X; + y1 = ctx->Scissor.Y; + x2 = ctx->Scissor.X + ctx->Scissor.Width - 1; + y2 = ctx->Scissor.Y + ctx->Scissor.Height - 1; DBG("%s %d..%d,%d..%d (not inverted)\n", __FUNCTION__, x1, x2, y1, y2); } |