radeonsi: load fmask ptr relative to the resources array
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 19 Sep 2015 20:19:26 +0000 (16:19 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Mon, 21 Sep 2015 12:30:51 +0000 (08:30 -0400)
res_ptr already contains the resource values. fmask_ptr needs to be
looked up relative to the start of the resource params.

Note that this only affects indirect loads of MS sampler arrays.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Cc: "11.0" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/radeonsi/si_shader.c

index b108664f808dd8580870270f746336bf0b128b5a..e92a3d2a2ec0a1620bbb6edb182ce9213ad9cc78 100644 (file)
@@ -2350,7 +2350,7 @@ static void tex_fetch_args(
                                                 lp_build_const_int32(gallivm,
                                                                      SI_FMASK_TEX_OFFSET), "");
                        fmask_ptr = LLVMGetParam(si_shader_ctx->radeon_bld.main_fn, SI_PARAM_RESOURCE);
-                       fmask_ptr = build_indexed_load_const(si_shader_ctx, res_ptr, ind_index);
+                       fmask_ptr = build_indexed_load_const(si_shader_ctx, fmask_ptr, ind_index);
                }
        } else {
                res_ptr = si_shader_ctx->resources[sampler_index];