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

Dieter Nützel Dieter at nuetzel-hh.de
Thu Sep 11 15:53:28 PDT 2014


Am 12.09.2014 00:31, schrieb Jason Ekstrand:
> 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

See above, the old children's system... ;-)
-O2 -m32 -march=athlon-mp -mtune=athlon-mp -m3dnow -msse -mmmx 
-mfpmath=sse,387 -pipe

Bad? - Worked for ages on AthlonMP....8-)
Maybe it is bad on Duron (the MP thing, much smaller cache and better 
GCC), now.

Dieter


More information about the mesa-dev mailing list