[Mesa-dev] [PATCH] nv50, nvc0: fix blit 3d path for 1d array textures

Ben Skeggs skeggsb at gmail.com
Sun May 11 16:21:30 PDT 2014


On Sun, May 11, 2014 at 7:53 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> 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 <imirkin at alum.mit.edu>
> Cc: "10.2" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ben Skeggs <bskeggs at redhat.com>

> ---
>  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 8addefe..23613d8 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) {
> --
> 1.8.5.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list