[Mesa-dev] [PATCH] i965: Tell intel_get_memcpy() which direction the memcpy() is going.

Jason Ekstrand jason at jlekstrand.net
Wed Mar 4 17:29:51 PST 2015


On Wed, Mar 4, 2015 at 5:28 PM, Matt Turner <mattst88 at gmail.com> wrote:

> On Wed, Mar 4, 2015 at 5:07 PM, Jason Ekstrand <jason at jlekstrand.net>
> wrote:
> > On Wed, Mar 4, 2015 at 4:56 PM, Matt Turner <mattst88 at gmail.com> wrote:
> >> @@ -357,16 +394,22 @@ linear_to_xtiled_faster(uint32_t x0, uint32_t x1,
> >> uint32_t x2, uint32_t x3,
> >>        if (mem_copy == memcpy)
> >>           return linear_to_xtiled(0, 0, xtile_width, xtile_width, 0,
> >> xtile_height,
> >>                                   dst, src, src_pitch, swizzle_bit,
> >> memcpy);
> >> -      else if (mem_copy == rgba8_copy)
> >> +      else if (mem_copy == rgba8_copy_aligned_dst)
> >>           return linear_to_xtiled(0, 0, xtile_width, xtile_width, 0,
> >> xtile_height,
> >> -                                 dst, src, src_pitch, swizzle_bit,
> >> rgba8_copy);
> >> +                                 dst, src, src_pitch, swizzle_bit,
> >> +                                 rgba8_copy_aligned_dst);
> >> +      else
> >> +         unreachable("not reached");
> >
> >
> > I'm not sure what I think about the unreachable here.  The original
> versions
> > of the *_faster functions would work regardless of what memcpy you passed
> > in.
>
> Well, yeah, but there were only two. :)
>
> > The *_faster was only to force the compiler to inline the universe in
> > the case where we knew some parameters.  Adding unreachable changes that.
>
> Oh, I didn't know what you meant, until I realized that the if-elseif
> is supposed to fall through to another function call in the case that
> mem_copy wasn't matched.
>
> At the very least I should split that out into a separate patch. Using
> unreachable(), if it's safe, cuts more than 1k of text:
>
>    text   data    bss    dec    hex filename
>    9663      0      0   9663   25bf .libs/intel_tiled_memcpy.o
>    8215      0      0   8215   2017 .libs/intel_tiled_memcpy.o
>
> I'll drop the unreachable()s from this patch.
>

Fine with me.  In any case, my R-B still applies.
--Jason


>
> > That said, we never call them with anything other than memcpy or
> > rgba8_copy_aligned_* so it's probably ok.  I think I'm ok with it with or
> > without the unreachable()'s.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150304/e1bbf887/attachment.html>


More information about the mesa-dev mailing list