gallivm: allow to pass two swizzles into fetches.
authorDave Airlie <airlied@redhat.com>
Mon, 27 Aug 2018 01:03:41 +0000 (02:03 +0100)
committerDave Airlie <airlied@redhat.com>
Wed, 29 Aug 2018 23:15:40 +0000 (00:15 +0100)
commitbb17ae49ee2591a4a35479ed6e48cb3c18422e2a
tree967e58d081a09538156b4f6a67d46fa2bd97c36c
parent3bcec6cf1c4a535ce00efa6a1754a7dc668f8f51
gallivm: allow to pass two swizzles into fetches.

This hijacks the top 16-bits of swizzle, to pass in the swizzle
for the second channel.

This fixes handling .yx swizzles of 64-bit values.

This should fixup radeonsi and llvmpipe.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107524
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/auxiliary/gallivm/lp_bld_tgsi.c
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
src/gallium/drivers/radeonsi/si_shader.c
src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c