i965/meta_util: Only modify the input parameters in get_fast_clear_rect
authorJason Ekstrand <jason.ekstrand@intel.com>
Sun, 24 Jul 2016 08:13:49 +0000 (01:13 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 17 Aug 2016 21:46:22 +0000 (14:46 -0700)
We had another inline copy of brw_meta_get_buffer_rect embedded in
get_fast_clear_rect for no good reason.  This lets us get rid of the
gl_frameuffer parameter to get_fast_clear_rect.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
src/mesa/drivers/dri/i965/brw_meta_util.c
src/mesa/drivers/dri/i965/brw_meta_util.h

index 26daa3d..617cf4b 100644 (file)
@@ -172,7 +172,7 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb,
       memset(&params.wm_inputs, 0xff, 4*sizeof(float));
       params.fast_clear_op = GEN7_PS_RENDER_TARGET_FAST_CLEAR_ENABLE;
 
-      brw_get_fast_clear_rect(brw, fb, irb->mt, &params.x0, &params.y0,
+      brw_get_fast_clear_rect(brw, irb->mt, &params.x0, &params.y0,
                               &params.x1, &params.y1);
    }
 
index 59c9af8..d280375 100644 (file)
@@ -441,9 +441,11 @@ brw_meta_set_fast_clear_color(struct brw_context *brw,
    return updated;
 }
 
+/* The x0, y0, x1, and y1 parameters must already be populated with the render
+ * area of the framebuffer to be cleared.
+ */
 void
 brw_get_fast_clear_rect(const struct brw_context *brw,
-                        const struct gl_framebuffer *fb,
                         const struct intel_mipmap_tree* mt,
                         unsigned *x0, unsigned *y0,
                         unsigned *x1, unsigned *y1)
@@ -552,16 +554,6 @@ brw_get_fast_clear_rect(const struct brw_context *brw,
       y_align = y_scaledown * 2;
    }
 
-   *x0 = fb->_Xmin;
-   *x1 = fb->_Xmax;
-   if (fb->Name != 0) {
-      *y0 = fb->_Ymin;
-      *y1 = fb->_Ymax;
-   } else {
-      *y0 = fb->Height - fb->_Ymax;
-      *y1 = fb->Height - fb->_Ymin;
-   }
-
    *x0 = ROUND_DOWN_TO(*x0,  x_align) / x_scaledown;
    *y0 = ROUND_DOWN_TO(*y0, y_align) / y_scaledown;
    *x1 = ALIGN(*x1, x_align) / x_scaledown;
index 198ffe5..35c06a8 100644 (file)
@@ -44,7 +44,6 @@ brw_meta_mirror_clip_and_scissor(const struct gl_context *ctx,
 
 void
 brw_get_fast_clear_rect(const struct brw_context *brw,
-                        const struct gl_framebuffer *fb,
                         const struct intel_mipmap_tree* mt,
                         unsigned *x0, unsigned *y0,
                         unsigned *x1, unsigned *y1);