[Mesa-dev] [PATCH 05/40] mesa: Eliminate parameters to dd_function_table::Scissor
Ian Romanick
idr at freedesktop.org
Fri Jan 10 17:40:06 PST 2014
From: Ian Romanick <ian.d.romanick at intel.com>
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 <ian.d.romanick at intel.com>
---
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 f185688..e8dcb24 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 cf85058..a69c7ea 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 f8749a5..4a9ea56 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 f867f12..9a25b9e 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 755d322..d9675c1 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 a5d363f..690e486 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 69a1727..c925ad9 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 c8537b7..3ec2d0e 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -524,7 +524,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 0eddaa6..ac86bd5 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);
}
--
1.8.1.4
More information about the mesa-dev
mailing list