<p dir="ltr"><br>
On Aug 14, 2014 7:13 PM, "Dieter Nützel" <<a href="mailto:Dieter@nuetzel-hh.de">Dieter@nuetzel-hh.de</a>> wrote:<br>
><br>
> Am 15.08.2014 02:36, schrieb Dave Airlie:<br>
><br>
>>>> On 08/02/2014 02:11 PM, Jason Ekstrand wrote:<br>
>>>>><br>
>>>>><br>
>>>>> Most format conversion operations required by GL can be performed by<br>
>>>>> converting one channel at a time, shuffling the channels around, and<br>
>>>>> optionally filling missing channels with zeros and ones.  This adds a<br>
>>>>> function to do just that in a general, yet efficient, way.<br>
>>>>><br>
>>>>> v2:<br>
>>>>>   * Add better comments including full docs for functions<br>
>>>>>   * Don't use __typeof__<br>
>>>>>   * Use inline helpers instead of writing out conversions by hand,<br>
>>>>>   * Force full loop unrolling for better performance<br>
>>>>><br>
>><br>
>><br>
>> This file seems to anger gcc a lot.<br>
>><br>
>> It seems to take upwards of a minute or two to compile here.<br>
>><br>
>> gcc 4.8.3 on 32-bit x86.<br>
>><br>
>> Dave.<br>
><br>
><br>
> For me (on our poor little Duron 1800/2 GB) it ran ~5 minutes...<br>
><br>
> gcc 4.8.1 on 32-bit x86.</p>
<p dir="ltr">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.<br>

--Jason Ekstrand<br>
</p>