radeon/ac: use ds_swizzle for derivs on si/cik.
authorDave Airlie <airlied@redhat.com>
Tue, 1 Aug 2017 04:10:49 +0000 (05:10 +0100)
committerDave Airlie <airlied@redhat.com>
Tue, 1 Aug 2017 23:12:01 +0000 (00:12 +0100)
commitcb6f16dce90b4737f62588f8ea5083ee6544787e
treef950568eda3a9e996d7ef2390048dbf7f32a7de4
parent35338a242bbe72bbd75082917f36ffb991be9a62
radeon/ac: use ds_swizzle for derivs on si/cik.

This looks like it's supported since llvm 3.9 at least,
so switch over radeonsi and radv to using it, -pro also
uses this. We can now drop creating lds for these operations
as the ds_swizzle operation doesn't actually write to lds at all.

Acked-by: Marek Olšák <marek.olsak@amd.com>
(stable requested due to fixing radv CIK conformance tests)
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_llvm_build.c
src/amd/common/ac_llvm_build.h
src/amd/common/ac_nir_to_llvm.c
src/gallium/drivers/radeonsi/si_shader.c