OSDN Git Service

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)
committerAndres Gomez <agomez@igalia.com>
Wed, 6 Sep 2017 15:05:10 +0000 (18:05 +0300)
commite529fd4e116da284aa3340dc5427fa602a588163
tree6d6f5af2af9e7693d5908734a28dcf105ad82121
parenta1bdc43dd203396647a03a50e64d67707d8322b5
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>
(cherry picked from commit 57c8ead0cd08e6aaf88a389f7ce528c4f0face65)
src/gallium/auxiliary/gallivm/lp_bld_gather.c