From: Olivier Galibert Date: Tue, 19 Jun 2012 18:51:18 +0000 (+0200) Subject: softpipe: Offset is not to be applied to the layer parameter of array texture fetches. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cfc5b3094163bc5c945594903d90f21873bb5d66;p=mesa.git softpipe: Offset is not to be applied to the layer parameter of array texture fetches. Signed-off-by: Olivier Galibert Reviewed-by: Brian Paul --- diff --git a/src/gallium/drivers/softpipe/sp_tex_sample.c b/src/gallium/drivers/softpipe/sp_tex_sample.c index d4c01759dbe..f29a6c75fe7 100644 --- a/src/gallium/drivers/softpipe/sp_tex_sample.c +++ b/src/gallium/drivers/softpipe/sp_tex_sample.c @@ -2693,7 +2693,7 @@ sample_get_texels(struct tgsi_sampler *tgsi_sampler, case PIPE_TEXTURE_1D_ARRAY: for (j = 0; j < TGSI_QUAD_SIZE; j++) { int x = CLAMP(v_i[j] + offset[0], 0, width - 1); - int y = CLAMP(v_j[j] + offset[1], 0, layers - 1); + int y = CLAMP(v_j[j], 0, layers - 1); tx = get_texel_1d_array(samp, addr, x, y); for (c = 0; c < 4; c++) { rgba[c][j] = tx[c]; @@ -2715,7 +2715,7 @@ sample_get_texels(struct tgsi_sampler *tgsi_sampler, for (j = 0; j < TGSI_QUAD_SIZE; j++) { int x = CLAMP(v_i[j] + offset[0], 0, width - 1); int y = CLAMP(v_j[j] + offset[1], 0, height - 1); - int layer = CLAMP(v_k[j] + offset[2], 0, layers - 1); + int layer = CLAMP(v_k[j], 0, layers - 1); tx = get_texel_2d_array(samp, addr, x, y, layer); for (c = 0; c < 4; c++) { rgba[c][j] = tx[c];