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 <imir...@alum.mit.edu>
---

Untested.

 src/gallium/drivers/radeonsi/si_shader.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c 
b/src/gallium/drivers/radeonsi/si_shader.c
index b108664..e92a3d2 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -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];
-- 
2.4.6

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to