From: Marek Olšák Date: Sat, 14 Sep 2019 03:58:52 +0000 (-0400) Subject: radeonsi: set the sample index for shader images correctly X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1881b35bf6a13905ccbf8b232921677c888eda35;p=mesa.git radeonsi: set the sample index for shader images correctly Acked-by: Pierre-Eric Pelloux-Prayer --- diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c index a0f66d38c7c..243286cc629 100644 --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c @@ -276,18 +276,19 @@ static void image_fetch_coords( LLVMValueRef tmp; int chan; - if (target == TGSI_TEXTURE_2D_MSAA || - target == TGSI_TEXTURE_2D_ARRAY_MSAA) { - /* Need the sample index as well. */ - num_coords++; - } - for (chan = 0; chan < num_coords; ++chan) { tmp = lp_build_emit_fetch(bld_base, inst, src, chan); tmp = ac_to_integer(&ctx->ac, tmp); coords[chan] = tmp; } + if (target == TGSI_TEXTURE_2D_MSAA || + target == TGSI_TEXTURE_2D_ARRAY_MSAA) { + /* Need the sample index as well. */ + tmp = lp_build_emit_fetch(bld_base, inst, src, TGSI_SWIZZLE_W); + coords[chan] = ac_to_integer(&ctx->ac, tmp); + } + if (ctx->screen->info.chip_class == GFX9) { /* 1D textures are allocated and used as 2D on GFX9. */ if (target == TGSI_TEXTURE_1D) {