radeonsi: workaround for tesselation on SI
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 6 May 2016 16:52:17 +0000 (11:52 -0500)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Mon, 9 May 2016 16:52:46 +0000 (11:52 -0500)
commitfe102f7677547a48e2985b78ff6671a2ac9da9c4
tree10886e839dad78a674a70fca0fd1ef02babc7190
parentd8f3e8e6263214caa9daf914487595e6bd5aa0df
radeonsi: workaround for tesselation on SI

We request more than 32KB of LDS here, which SI doesn't have. Since LLVM
recently started checking the size of declared LDS allocations, all shaders
involved in tesselation fail to compile on SI.

Note that the entire calculation here seems wrong, given how we calculate
indices for generic attributes, so the number ends up wrong on CI+ as well.
A proper solution is clearly needed, but this patch should serve as a band-aid
for SI in the meantime.

Also note that the real size of the LDS allocation in hardware is independent
from what we tell LLVM, so this is really more of a "cosmetic" change.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95198
Cc: "11.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_shader.c