llvmpipe: wrong color on big endian, with 16bits framebuffer.
On a s390x machine, using 16bits depth VNC server, the colors are inverted, like in this screenshot:
System information
- OS: Red Hat Enterprise Linux 8.5 (Ootpa)
- CPU: IBM/S390
- GPU: Software rendering, no GPU on this machine.
- Kernel version: 4.18.0-348.12.2.el8_5.s390x
- Mesa version: 3.1 Mesa 21.1.8 (git-384cf14955)
- Xserver version (if applicable): tigerVNC
- Desktop manager and compositor: gnome
I've already found the root cause, in convert_to_blend_type() and convert_from_blend_type() in lp_state_fs.c