llvmpipe: lp_build_gather_elem_vec BE fix for 3x16 load
authorBen Crocker <bcrocker@redhat.com>
Wed, 23 Aug 2017 20:32:43 +0000 (16:32 -0400)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 31 Aug 2017 23:20:07 +0000 (01:20 +0200)
commit57c8ead0cd08e6aaf88a389f7ce528c4f0face65
tree8a5ba98fafa63f619d9ce74fe877e575f0afe524
parent75cb6e36178b9474bbb59b76cbbcce2a67bf88d2
llvmpipe: lp_build_gather_elem_vec BE fix for 3x16 load

Fix loading of a 3x16 vector as a single 48-bit load
on big-endian systems (PPC64, S390).

Roland Scheidegger's commit e827d9175675aaa6cfc0b981e2a80685fb7b3a74
plus Ray Strode's patch reduce pre-Roland Piglit failures from ~4000 to ~2000.  This patch fixes
three of the four regressions observed by Ray:

- draw-vertices
- draw-vertices-half-float
- draw-vertices-half-float_gles2

One regression remains:
- draw-vertices-2101010

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100613
Cc: "17.2" "17.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Ben Crocker <bcrocker@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_gather.c