[Mesa-dev] [PATCH 2/2] mesa: _mesa_format_convert should be endian agnostic

Emil Velikov emil.l.velikov at gmail.com
Mon Aug 3 08:40:46 PDT 2015


Hi Oded,

On 2 August 2015 at 11:37, Oded Gabbay <oded.gabbay at gmail.com> wrote:
> This patch fixes a bug that is manifested in the read path of mesa when
> running on big-endian machines. The effects can be seen when running
> piglit sanity test and/or taking a screen capture.
>
> The bug is caused when _mesa_format_convert receives src_format as
> mesa_format, which it thens changes to mesa_array_format. During this
> change, it checks for endianness and swaps the bytes accordingly.
> However, because the bytes are _already_ swapped in the memory itself
> (being written there by llvmpipe), and src_format value matches the
> _actual_ contents of the memory, the result of the read is wrong.
>
I'm assuming that you're looked at swrast + softpipe as well - do they
use the same approach or is llvmpipe the odd one out ?

Curious if your work has any effect on the big endian + r600 issue
[1]. I believe Christian Zigotzky (Cc'ed) was very passionate about
getting his r600 working - perhaps he can give your patches a test ?
... just to make sure that things don't go even worse :)


Cheers,
Emil

[1] https://bugs.freedesktop.org/show_bug.cgi?id=72877


More information about the mesa-dev mailing list