[Mesa-dev] [PATCH v2 08/13] mesa/format_utils: Add a general format conversion function

Jason Ekstrand jason at jlekstrand.net
Thu Sep 11 15:46:57 PDT 2014


On Thu, Sep 11, 2014 at 3:31 PM, Jason Ekstrand <jason at jlekstrand.net>
wrote:

>
>
> On Thu, Sep 11, 2014 at 2:55 PM, Dieter Nützel <Dieter at nuetzel-hh.de>
> wrote:
>
>> Am 15.08.2014 04:50, schrieb Jason Ekstrand:
>>
>>  On Aug 14, 2014 7:13 PM, "Dieter Nützel" <Dieter at nuetzel-hh.de>
>>> wrote:
>>>  >
>>>  > Am 15.08.2014 02:36, schrieb Dave Airlie:
>>>  >
>>>  >>>> On 08/02/2014 02:11 PM, Jason Ekstrand wrote:
>>>  >>>>>
>>>  >>>>>
>>>  >>>>> Most format conversion operations required by GL can be
>>> performed by
>>>  >>>>> converting one channel at a time, shuffling the channels
>>> around, and
>>>  >>>>> optionally filling missing channels with zeros and ones.  This
>>> adds a
>>>  >>>>> function to do just that in a general, yet efficient, way.
>>>  >>>>>
>>>  >>>>> v2:
>>>  >>>>>   * Add better comments including full docs for functions
>>>  >>>>>   * Don't use __typeof__
>>>  >>>>>   * Use inline helpers instead of writing out conversions by
>>> hand,
>>>  >>>>>   * Force full loop unrolling for better performance
>>>  >>>>>
>>>  >>
>>>  >>
>>>  >> This file seems to anger gcc a lot.
>>>  >>
>>>  >> It seems to take upwards of a minute or two to compile here.
>>>  >>
>>>  >> gcc 4.8.3 on 32-bit x86.
>>>  >>
>>>  >> Dave.
>>>  >
>>>  >
>>>  > For me (on our poor little Duron 1800/2 GB) it ran ~5 minutes...
>>>  >
>>>  > gcc 4.8.1 on 32-bit x86.
>>>
>>> If we'd like, the way the macros are set up, it would be easy to
>>> change it so that we do less unrolling in the cases where we are
>>> actually doing substantial format conversion and wouldn't notice the
>>> extra logic quite as much.  I'll play with it a bit tomorrow or next
>>> week and see how how much of a hit we would actually take if we
>>> unrolled a little less in places.
>>>  --Jason Ekstrand
>>>
>>
>> Ping.
>>
>> In a second it took 11+ minutes , here...
>>
>
> 11 minutes! What system are you running?  and are you using -03 or
> something?  Yes, we can do something to cut it down, but it will probably
> require a configure flag; the question is what flag.
> --Jason
>

I'm also open to re-factoring it in some way that's a little easier on
compilers.  That said, it's very sensitive to performance, so whatever
refactor gets done will have to be done carefully.
--Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140911/5e8936e3/attachment.html>


More information about the mesa-dev mailing list