Port-mips archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

xsetbackground - endian mismatch fix



hi!

this isn't QUITE mips specific but whilst figuring out the pixel
format disconnect between xsetbackground and the sgi indy newport
driver, I came across a fun endian conversion issue.

The short version - the image in memory is host endian, the
image->byte_order field needs to reflect the endianness of the image,
not of the xserver.

An alternate solution is to not switch the endianness of the image
from the image conversion and just set image->byte_order to LSBFirst
(ie little endian); that works too.

This allows my amd64 freebsd box run xsetbackground to the indy
newport and have the endianness conversion work right. It also works
correctly on the sgi indy client -> server.

I'm happy to submit a different diff that just leaves the endian
swizzling out of xsetbackground and lets xlib/xserver do the right
thing. Up to y'all. :-)


-adrian

Attachment: 20250113-netbsd-xsetwallpaper-endian-1.diff
Description: Binary data



Home | Main Index | Thread Index | Old Index