Skip to content

mesa: misc big-endian fixes

As usual big-endian is totally on fire.

Here are some fixes towards keeping the flames down.

There is a major problem with 64-bit vertex fetch since with gallium we alias to 32-bit fetches, but that won't work so well, however the TGSI paths were equally broken so nobody noticed.

This fixes the GLSL const handling to do the right packing using bitshifts instead of memcpy, then it fixes the NIR paths, but breaks 64-bit vertex fetch (which remains broken).

occlusion queries in llvmpipe were also getting the wrong byte from a 32-bit

GLenum16 support was casting in/out of 32-bit things unnecessarily, which broke glGet(GL_READ_BUFFER) which breaks about a 1000 piglits.

Edited by Dave Airlie

Merge request reports