[Mesa-dev] [PATCH] r300g: fix big endian support

Michel Dänzer michel at daenzer.net
Sun May 1 23:29:33 UTC 2016


On 02.05.2016 00:12, Marek Olšák wrote:
> On Sun, May 1, 2016 at 4:34 PM, Michel Dänzer <michel at daenzer.net> wrote:
>> On 01.05.2016 23:11, Marek Olšák wrote:
>>> From: Marek Olšák <marek.olsak at amd.com>
>>>
>>> The problem was that A8R8G8B8 was not supported, which is required
>>> for DRI2 window framebuffers on BE.
>>
>> I don't have time to look at the patch in detail right now (will try to
>> ASAP), but FWIW: The xf86-video-ati EXA code actually programs the
>> hardware to B8G8R8A8 for the same buffers for which st/dri sets the
>> format to A8R8G8B8. The EXA code always swaps bytes with the CPU for
>> CPU<->GPU transfers. Is this patch consistent with that?
> 
> On BE, st/dri uses the A8R8G8B8 array format. There is no other
> choice, because DRI doesn't support any other component ordering. The
> patch simply adds support for that array format. It's probably
> equivalent to some packed format in the DDX, but that's irrelevant
> from the gallium driver point of view.

Surely r300g and the EXA code (and the radeon kernel driver display
code) have to use the same hardware format for the same buffers,
otherwise they'll be displayed with wrong colours.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list