Module: Mesa Branch: master Commit: 8baed872126b331aa8d789b78986c0100c6d853a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8baed872126b331aa8d789b78986c0100c6d853a
Author: Ilia Mirkin <[email protected]> Date: Sat May 10 17:51:21 2014 -0400 nv50,nvc0: fix blit 3d path for 1d array textures Need to adjust coordinates since the shader receives the array index as depth in z, but the TEX instruction expects it to be the second coordinate for a 1D array texture. This fixes fbo-generatemipmap-array. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Ben Skeggs <[email protected]> Cc: "10.2" <[email protected]> --- src/gallium/drivers/nouveau/nv50/nv50_surface.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/nouveau/nv50/nv50_surface.c b/src/gallium/drivers/nouveau/nv50/nv50_surface.c index df3bc86..d02f5fe 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_surface.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c @@ -698,6 +698,12 @@ nv50_blitter_make_fp(struct pipe_context *pipe, tc = ureg_DECL_fs_input( ureg, TGSI_SEMANTIC_GENERIC, 0, TGSI_INTERPOLATE_LINEAR); + if (ptarg == PIPE_TEXTURE_1D_ARRAY) { + /* Adjust coordinates. Depth is in z, but TEX expects it to be in y. */ + tc = ureg_swizzle(tc, TGSI_SWIZZLE_X, TGSI_SWIZZLE_Z, + TGSI_SWIZZLE_Z, TGSI_SWIZZLE_Z); + } + data = ureg_DECL_temporary(ureg); if (tex_s) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
