gallivm: use pmulhrsw to make aos sampling more accurate.
authorDave Airlie <airlied@redhat.com>
Tue, 28 Sep 2021 04:39:37 +0000 (14:39 +1000)
committerMarge Bot <eric+marge@anholt.net>
Wed, 29 Sep 2021 21:55:23 +0000 (21:55 +0000)
commitb9aee98912b7ae47023fa2c5a2627ebff33aaafd
tree033f3a994adf16c807d7e9f1283786e2d98c43b4
parent2f0a0079760b6e15e4aaa276ce862c52a703342d
gallivm: use pmulhrsw to make aos sampling more accurate.

This uses pmulhrsw avx2 and ssse3 variants. It fixes the
precision of texture filtering calculations.

However it does leave these paths inaccurate on platforms
that don't support it.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13075>
src/gallium/auxiliary/gallivm/lp_bld_arit.c
src/gallium/drivers/llvmpipe/ci/llvmpipe-quick_gl.txt
src/gallium/drivers/llvmpipe/ci/traces-llvmpipe.yml
src/gallium/drivers/virgl/ci/traces-virgl.yml
src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt
src/gallium/frontends/lavapipe/ci/deqp-lvp-fails.txt