From a05c596a00916ce6a9c9d35ff36cd1e401fddd43 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 5 Nov 2013 14:22:30 -0800 Subject: [PATCH] mesa: Eliminate parameters to dd_function_table::Scissor The i830 and i915 drivers used them, but they didn't really need to. They will just be annoying in future patches. Signed-off-by: Ian Romanick Reviewed-by: Kenneth Graunke --- src/mesa/drivers/common/driverfuncs.c | 3 +-- src/mesa/drivers/dri/i915/i830_state.c | 22 +++++++++++---------- src/mesa/drivers/dri/i915/i830_vtbl.c | 3 +-- src/mesa/drivers/dri/i915/i915_state.c | 22 +++++++++++---------- src/mesa/drivers/dri/i915/i915_vtbl.c | 3 +-- src/mesa/drivers/dri/radeon/radeon_common.c | 2 +- src/mesa/drivers/dri/radeon/radeon_common.h | 2 +- src/mesa/main/dd.h | 2 +- src/mesa/main/scissor.c | 2 +- 9 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/mesa/drivers/common/driverfuncs.c b/src/mesa/drivers/common/driverfuncs.c index f18568827b0..e8dcb2476f0 100644 --- a/src/mesa/drivers/common/driverfuncs.c +++ b/src/mesa/drivers/common/driverfuncs.c @@ -302,8 +302,7 @@ _mesa_init_driver_state(struct gl_context *ctx) ctx->Driver.LogicOpcode(ctx, ctx->Color.LogicOp); ctx->Driver.PointSize(ctx, ctx->Point.Size); ctx->Driver.PolygonStipple(ctx, (const GLubyte *) ctx->PolygonStipple); - ctx->Driver.Scissor(ctx, ctx->Scissor.X, ctx->Scissor.Y, - ctx->Scissor.Width, ctx->Scissor.Height); + ctx->Driver.Scissor(ctx); ctx->Driver.ShadeModel(ctx, ctx->Light.ShadeModel); ctx->Driver.StencilFuncSeparate(ctx, GL_FRONT, ctx->Stencil.Function[0], diff --git a/src/mesa/drivers/dri/i915/i830_state.c b/src/mesa/drivers/dri/i915/i830_state.c index cf850588aad..a69c7ea5807 100644 --- a/src/mesa/drivers/dri/i915/i830_state.c +++ b/src/mesa/drivers/dri/i915/i830_state.c @@ -527,7 +527,7 @@ i830PolygonStipple(struct gl_context * ctx, const GLubyte * mask) * Hardware clipping */ static void -i830Scissor(struct gl_context * ctx, GLint x, GLint y, GLsizei w, GLsizei h) +i830Scissor(struct gl_context * ctx) { struct i830_context *i830 = i830_context(ctx); int x1, y1, x2, y2; @@ -535,22 +535,24 @@ i830Scissor(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); } diff --git a/src/mesa/drivers/dri/i915/i830_vtbl.c b/src/mesa/drivers/dri/i915/i830_vtbl.c index f8749a53f9a..4a9ea5666b1 100644 --- a/src/mesa/drivers/dri/i915/i830_vtbl.c +++ b/src/mesa/drivers/dri/i915/i830_vtbl.c @@ -835,8 +835,7 @@ i830_update_draw_buffer(struct intel_context *intel) /* Set state we know depends on drawable parameters: */ intelCalcViewport(ctx); - ctx->Driver.Scissor(ctx, ctx->Scissor.X, ctx->Scissor.Y, - ctx->Scissor.Width, ctx->Scissor.Height); + ctx->Driver.Scissor(ctx); /* Update culling direction which changes depending on the * orientation of the buffer: 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); } diff --git a/src/mesa/drivers/dri/i915/i915_vtbl.c b/src/mesa/drivers/dri/i915/i915_vtbl.c index 755d32291ea..d9675c13f5f 100644 --- a/src/mesa/drivers/dri/i915/i915_vtbl.c +++ b/src/mesa/drivers/dri/i915/i915_vtbl.c @@ -809,8 +809,7 @@ i915_update_draw_buffer(struct intel_context *intel) /* Set state we know depends on drawable parameters: */ intelCalcViewport(ctx); - ctx->Driver.Scissor(ctx, ctx->Scissor.X, ctx->Scissor.Y, - ctx->Scissor.Width, ctx->Scissor.Height); + ctx->Driver.Scissor(ctx); /* Update culling direction which changes depending on the * orientation of the buffer: diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index a5d363fc71b..690e486097c 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -142,7 +142,7 @@ void radeonUpdateScissor( struct gl_context *ctx ) * Scissoring */ -void radeonScissor(struct gl_context* ctx, GLint x, GLint y, GLsizei w, GLsizei h) +void radeonScissor(struct gl_context *ctx) { radeonContextPtr radeon = RADEON_CONTEXT(ctx); if (ctx->Scissor.Enabled) { diff --git a/src/mesa/drivers/dri/radeon/radeon_common.h b/src/mesa/drivers/dri/radeon/radeon_common.h index 69a17278abf..c925ad9eaca 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.h +++ b/src/mesa/drivers/dri/radeon/radeon_common.h @@ -8,7 +8,7 @@ void radeonUserClear(struct gl_context *ctx, GLuint mask); void radeonSetCliprects(radeonContextPtr radeon); void radeonUpdateScissor( struct gl_context *ctx ); -void radeonScissor(struct gl_context* ctx, GLint x, GLint y, GLsizei w, GLsizei h); +void radeonScissor(struct gl_context *ctx); extern uint32_t radeonGetAge(radeonContextPtr radeon); diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index e1e6e144340..6c084afa3be 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -525,7 +525,7 @@ struct dd_function_table { /** Set rasterization mode */ void (*RenderMode)(struct gl_context *ctx, GLenum mode ); /** Define the scissor box */ - void (*Scissor)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h); + void (*Scissor)(struct gl_context *ctx); /** Select flat or smooth shading */ void (*ShadeModel)(struct gl_context *ctx, GLenum mode); /** OpenGL 2.0 two-sided StencilFunc */ diff --git a/src/mesa/main/scissor.c b/src/mesa/main/scissor.c index 0eddaa6c15c..ac86bd59138 100644 --- a/src/mesa/main/scissor.c +++ b/src/mesa/main/scissor.c @@ -79,7 +79,7 @@ _mesa_set_scissor(struct gl_context *ctx, ctx->Scissor.Height = height; if (ctx->Driver.Scissor) - ctx->Driver.Scissor( ctx, x, y, width, height ); + ctx->Driver.Scissor(ctx); } -- 2.30.2