mesa: Eliminate parameters to dd_function_table::Scissor
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 5 Nov 2013 22:22:30 +0000 (14:22 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 15 Jan 2014 18:02:48 +0000 (10:02 -0800)
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@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/common/driverfuncs.c
src/mesa/drivers/dri/i915/i830_state.c
src/mesa/drivers/dri/i915/i830_vtbl.c
src/mesa/drivers/dri/i915/i915_state.c
src/mesa/drivers/dri/i915/i915_vtbl.c
src/mesa/drivers/dri/radeon/radeon_common.c
src/mesa/drivers/dri/radeon/radeon_common.h
src/mesa/main/dd.h
src/mesa/main/scissor.c

index f18568827b0499800bab681f99f0903bc232c290..e8dcb2476f0e457c197aef19b3511c55d60c4dfd 100644 (file)
@@ -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],
index cf850588aad9e497133ab56607f9302d61ffc27d..a69c7ea5807b807fc1530847c5790dc84465b927 100644 (file)
@@ -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);
    }
 
index f8749a53f9a0c7c68dd2ab145c27e03acdfb82f7..4a9ea5666b18d38b263741e0fc5862ee5e19bd43 100644 (file)
@@ -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:
index f867f12ed69179df9a9b47f1e72610688b0a150b..9a25b9e6a067f775b3b0da001c76c9e45a372236 100644 (file)
@@ -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);
    }
    
index 755d32291eae4ea30a15b2d3b3ea8210a5d232cd..d9675c13f5f76f3654483e10e1329ca6ed6f2c92 100644 (file)
@@ -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:
index a5d363fc71b54f4a5a54a4a352105d5c47006d23..690e486097c2255a694b897e4d100ebb486696ad 100644 (file)
@@ -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) {
index 69a17278abf220487bd94993fb31c29d0820db4c..c925ad9eaca137900e3aa9279ee6fffa5dcc378a 100644 (file)
@@ -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);
 
index e1e6e14434048453f3ffad15ece01165d8b7299c..6c084afa3be637e130c499aae965248c07b45d7c 100644 (file)
@@ -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 */
index 0eddaa6c15c6bb31d2aa1d4090f71bf650ade271..ac86bd591381bf8a0be5fd84e301088490c7f79b 100644 (file)
@@ -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);
 }