radeonsi: fix interpolateAt opcodes for .zw components
authorMarek Olšák <marek.olsak@amd.com>
Tue, 4 Oct 2016 20:33:03 +0000 (22:33 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 5 Oct 2016 19:03:23 +0000 (21:03 +0200)
Not returning garbage in .zw seems pretty important.

This fixes:
GL45-CTS.shader_multisample_interpolation.render.interpolate_at_*_check.*

Cc: 11.2 12.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_shader.c

index bb9131b9baf7671a3009ab959ccf89b56137ec0e..ff51c8bd799521272c783e27680ab2bf5841828e 100644 (file)
@@ -5208,7 +5208,7 @@ static void build_interp_intrinsic(const struct lp_build_tgsi_action *action,
        }
 
        intr_name = interp_param ? "llvm.SI.fs.interp" : "llvm.SI.fs.constant";
-       for (chan = 0; chan < 2; chan++) {
+       for (chan = 0; chan < 4; chan++) {
                LLVMValueRef args[4];
                LLVMValueRef llvm_chan;
                unsigned schan;