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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]<

 



Bug ID 109371
Summary Textures seem to be byteswapped on big endian architectures
Product Mesa
Version 18.3
Hardware PowerPC
OS Linux (All)
Status NEW
Severity normal
Priority medium
Component Drivers/DRI/nouveau
Assignee nouveau@lists.freedesktop.org
Reporter kungfujesus06@gmail.com
QA Contact nouveau@lists.freedesktop.org

When using an NV43 based GPU on a PPC64 kernel with a 64 bit userspace, it
seems applications will have byte swapped textures when specified with GL_RGBA
and GL_UNSIGNED_BYTE.  Matplotlib will do this when blit=True for the plot
routines, and several games will have this issue.  In particular, for Legacy
Doom, I've found that if I swap the textures so that they are A,B,G,R just
before the textures are mapped, everything is correct.  

I also found that doing glPixelStorei(GL_UNPACK_BYTES, GL_TRUE) and choosing
GL_UNSIGNED_INT_8_8_8_8 as the representation seemed to also remedy this.  I
found that the _REV variant didn't byte swap the textures back to the incorrect
ordering (this is probably a different bug).

Easiest way to demonstrate the bug:
svn co https://svn.code.sf.net/p/doomlegacy/svn/legacy_one/trunk doomlegacy
cd doomlegacy
make OS=LINUX
make
cd bin
Grab this archive:
https://sourceforge.net/projects/doomlegacy/files/1.47.2/doomlegacy_1.47.2_common.zip/download,
unzip it, extract legacy.wad into the bin directory
Grab this archive:
https://github.com/freedoom/freedoom/releases/download/v0.11.3/freedoom-0.11.3.zip,
extract, move freedoom1.wad into the bin directory.
Then do:
./doomlegacy -iwad freedoom1.wad -opengl


You are receiving this mail because:
_______________________________________________
Nouveau mailing list
Nouveau@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/nouveau

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux