[Mesa-dev] [PATCH 1/3] gallium/radeon: remove separate BE path in r600_translate_colorswap

Marek Olšák maraeo at gmail.com
Fri Feb 26 11:45:00 UTC 2016


On Fri, Feb 26, 2016 at 12:38 PM, Oded Gabbay <oded.gabbay at gmail.com> wrote:
> On Fri, Feb 26, 2016 at 12:51 PM, Marek Olšák <maraeo at gmail.com> wrote:
>> On Thu, Feb 25, 2016 at 10:09 PM, Oded Gabbay <oded.gabbay at gmail.com> wrote:
>>> After further testing, it appears there is no need for
>>> separate BE path in r600_translate_colorswap()
>>>
>>> The only fix remaining is the change of the last if statement, in the 4
>>> channels case. Originally, it contained an invalid swizzle configuration
>>> that never got hit, in LE or BE. So the fix is relevant for both systems.
>>>
>>> This patch adds an additional 120 available visuals for LE and BE,
>>> as seen in glxinfo
>>
>> Really? I don't see how this patch can add anything.
>>
>> Marek
>
> Look harder :)
> What I meant to say is that the patch I sent a couple of days ago
> fixed a certain swizzle that didn't exist anymore:
> else if (HAS_SWIZZLE(1,X) && HAS_SWIZZLE(2,Y))
>
> If you look at util/u_format_table.c (autogenerated file), you will
> see there isn't such as combination, when the number of channels is 4
> (there are such combinations with less than 4 channels).
>
> So existing 4-channel formats didn't get caught here, while this if
> looked for a non-existing swizzle configuration.
>
> I changed it to:
> else if (HAS_SWIZZLE(1,Z) && HAS_SWIZZLE(2,W))
> to capture those 4-channel formats that weren't caught
>
> And in the patch i just sent, I removed the #ifdef
> PIPE_ARCH_LITTLE_ENDIAN, so now this new check is also relevant for
> x86.
>
> Once you get additional formats recognized and supported, the number
> of visuals increases. It was 360 before this patch, and 480 after it,
> in x86.

Sounds good.

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek


More information about the mesa-dev mailing list