All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug 109371] New: Textures seem to be byteswapped on big endian architectures
@ 2019-01-16  0:36 bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
       [not found] ` <bug-109371-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
  0 siblings, 1 reply; 5+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2019-01-16  0:36 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW


[-- Attachment #1.1: Type: text/plain, Size: 2040 bytes --]

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

            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-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
          Reporter: kungfujesus06-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
        QA Contact: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.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:
You are the QA Contact for the bug.
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 3614 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug 109371] Textures seem to be byteswapped on big endian architectures
       [not found] ` <bug-109371-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
@ 2019-01-16  0:40   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  2019-01-16  5:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2019-01-16  0:40 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW


[-- Attachment #1.1: Type: text/plain, Size: 522 bytes --]

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

--- Comment #1 from Ilia Mirkin <imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org> ---
You'd save me a bunch of effort by performing these steps yourself, and tracing
using apitrace (https://github.com/apitrace/apitrace). Ideally record an
as-short-as-possible trace, and check that it still looks bad on replay, and
then xz -9 it and attach here.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1368 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug 109371] Textures seem to be byteswapped on big endian architectures
       [not found] ` <bug-109371-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
  2019-01-16  0:40   ` [Bug 109371] " bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2019-01-16  5:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  2019-01-19 20:31   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  2019-09-18 20:47   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2019-01-16  5:41 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW


[-- Attachment #1.1: Type: text/plain, Size: 454 bytes --]

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

--- Comment #2 from Adam Stylinski <kungfujesus06-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ---
Created attachment 143138
  --> https://bugs.freedesktop.org/attachment.cgi?id=143138&action=edit
Trace demoing the issue

Heh, the issue is there by the time I hit the title screen.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1390 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug 109371] Textures seem to be byteswapped on big endian architectures
       [not found] ` <bug-109371-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
  2019-01-16  0:40   ` [Bug 109371] " bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  2019-01-16  5:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2019-01-19 20:31   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  2019-09-18 20:47   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2019-01-19 20:31 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW


[-- Attachment #1.1: Type: text/plain, Size: 1877 bytes --]

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

--- Comment #3 from Ilia Mirkin <imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org> ---
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.

[-- Attachment #1.2: Type: text/html, Size: 2787 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug 109371] Textures seem to be byteswapped on big endian architectures
       [not found] ` <bug-109371-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
                     ` (2 preceding siblings ...)
  2019-01-19 20:31   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2019-09-18 20:47   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
  3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2019-09-18 20:47 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW


[-- Attachment #1.1: Type: text/plain, Size: 935 bytes --]

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

GitLab Migration User <gitlab-migration-wf5LKTHn7b+es5Oj371l6A@public.gmane.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |MOVED
             Status|NEW                         |RESOLVED

--- Comment #4 from GitLab Migration User <gitlab-migration-wf5LKTHn7b+es5Oj371l6A@public.gmane.org> ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1167.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 2531 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-09-18 20:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-16  0:36 [Bug 109371] New: Textures seem to be byteswapped on big endian architectures bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
     [not found] ` <bug-109371-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
2019-01-16  0:40   ` [Bug 109371] " bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2019-01-16  5:41   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2019-01-19 20:31   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2019-09-18 20:47   ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.