[Nouveau] [Bug 109371] Textures seem to be byteswapped on big endian architectures

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jan 19 20:31:58 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=109371

--- Comment #3 from Ilia Mirkin <imirkin at alum.mit.edu> ---
Unfortunately it appears that my G5 is dead. It half-booted once (died right
around nfsroot load time). Then for a bit it would turn on, with fans going but
no light and no chime. Now the fans don't even turn on. So I think that's the
end.

The things I would have done:

1. Check whether the textures look OK in qapitrace's inspector
2. Look at the transfer methods being used (in nv30_transfer.c). Try commenting
some out, although that can also lead to failures.
3. Try to create a simple program based on the apitrace which reproduces the
issue, and debug it step by step, to figure out where the byteswap might be
happening.

A few bits of info:

The GPUs are LE deep down inside. However they have BE modes which byteswap
"some stuff". So like MMIO accesses, FIFO commands, etc. So they can still be
packed like integers as usual, without an extra byteswap, and the GPU will
"take care of it". I don't have a clean idea of whether and how byteswapping
happens between GART and VRAM, as well as in various "blit"/copy methods, where
the byteswap would be different depending on whether it's u8, u16, or u32
datatype. This is most relevant to index buffers though, not textures. [Like
let's say you're feeding the data via FIFO commands, there's an implicit
byteswap there, etc.]

Have a look at nv30_format.c for the supported texture formats/etc.

As always, feel free to ask stuff in #nouveau.

It should be noted that with a patch to apitrace
(https://github.com/apitrace/apitrace/issues/601#issuecomment-455019551), the
attached trace replays fine on both nv42 and nv34 on x86.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20190119/04f2a0f8/attachment.html>


More information about the Nouveau mailing list