[Mesa-dev] [PATCH 5/8] i965: Simplify intel_miptree_updownsample.

Kenneth Graunke kenneth at whitecape.org
Fri Feb 14 17:20:00 PST 2014


On 02/14/2014 03:00 PM, Eric Anholt wrote:
> Pretty silly to pass in values dereferenced out of one of the arguments.
> ---
>  src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 35 +++++++++------------------
>  1 file changed, 11 insertions(+), 24 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index 08b8475..86a3887 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -1619,32 +1619,25 @@ intel_offset_S8(uint32_t stride, uint32_t x, uint32_t y, bool swizzled)
>  static void
>  intel_miptree_updownsample(struct brw_context *brw,
>                             struct intel_mipmap_tree *src,
> -                           struct intel_mipmap_tree *dst,
> -                           unsigned width,
> -                           unsigned height)
> +                           struct intel_mipmap_tree *dst)
>  {
> -   int src_x0 = 0;
> -   int src_y0 = 0;
> -   int dst_x0 = 0;
> -   int dst_y0 = 0;
> -

It would be great to add a comment here stating that the use of src's
logical dimensions in both cases is intentional.  Otherwise, it looks
like a cut and paste bug to the casual observer.

>     brw_blorp_blit_miptrees(brw,
>                             src, 0 /* level */, 0 /* layer */,
>                             dst, 0 /* level */, 0 /* layer */,
> -                           src_x0, src_y0,
> -                           width, height,
> -                           dst_x0, dst_y0,
> -                           width, height,
> +                           0, 0,
> +                           src->logical_width0, src->logical_height0,
> +                           0, 0,
> +                           src->logical_width0, src->logical_height0,
>                             GL_NEAREST, false, false /*mirror x, y*/);
>  
>     if (src->stencil_mt) {
>        brw_blorp_blit_miptrees(brw,
>                                src->stencil_mt, 0 /* level */, 0 /* layer */,
>                                dst->stencil_mt, 0 /* level */, 0 /* layer */,
> -                              src_x0, src_y0,
> -                              width, height,
> -                              dst_x0, dst_y0,
> -                              width, height,
> +                              0, 0,
> +                              src->logical_width0, src->logical_height0,
> +                              0, 0,
> +                              src->logical_width0, src->logical_height0,
>                                GL_NEAREST, false, false /*mirror x, y*/);
>     }
>  }
> @@ -1672,10 +1665,7 @@ intel_miptree_downsample(struct brw_context *brw,
>  
>     if (!mt->need_downsample)
>        return;
> -   intel_miptree_updownsample(brw,
> -                              mt, mt->singlesample_mt,
> -                              mt->logical_width0,
> -                              mt->logical_height0);
> +   intel_miptree_updownsample(brw, mt, mt->singlesample_mt);
>     mt->need_downsample = false;
>  }
>  
> @@ -1692,10 +1682,7 @@ intel_miptree_upsample(struct brw_context *brw,
>     assert_is_flat(mt);
>     assert(!mt->need_downsample);
>  
> -   intel_miptree_updownsample(brw,
> -                              mt->singlesample_mt, mt,
> -                              mt->logical_width0,
> -                              mt->logical_height0);
> +   intel_miptree_updownsample(brw, mt->singlesample_mt, mt);
>  }
>  
>  void *
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140214/bc2977fe/attachment.pgp>


More information about the mesa-dev mailing list