[Mesa-dev] [PATCH 1/2] softpipe: fix texture sampling from 1D texture array
Brian Paul
brian.e.paul at gmail.com
Sun Dec 18 19:15:06 PST 2011
On Sun, Dec 18, 2011 at 2:27 PM, Dave Airlie <airlied at gmail.com> wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> This is the first part of a fix to piglit glsl-fs-shadow1DArray
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
> src/gallium/auxiliary/tgsi/tgsi_exec.c | 13 +++++++++++++
> 1 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
> index 1fb7f8f..060549f 100644
> --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
> +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
> @@ -1794,9 +1794,22 @@ exec_tex(struct tgsi_exec_machine *mach,
> break;
>
> case TGSI_TEXTURE_1D_ARRAY:
> + FETCH(&r[0], 0, CHAN_X);
> + FETCH(&r[1], 0, CHAN_Y);
> +
> + if (modifier == TEX_MODIFIER_PROJECTED) {
> + micro_div(&r[0], &r[0], &r[3]);
> + }
> +
> + fetch_texel(mach->Samplers[unit],
> + &r[0], &r[1], &r[2], lod, /* S, T, P, LOD */
> + control,
> + &r[0], &r[1], &r[2], &r[3]); /* outputs */
Where does r[2] come from? Off hand, I think we want to pass ZeroVec
there instead.
Looks like that was wrong in the original code too.
-Brian
> + break;
> case TGSI_TEXTURE_SHADOW1D_ARRAY:
> FETCH(&r[0], 0, CHAN_X);
> FETCH(&r[1], 0, CHAN_Y);
> + FETCH(&r[2], 0, CHAN_Z);
>
> if (modifier == TEX_MODIFIER_PROJECTED) {
> micro_div(&r[0], &r[0], &r[3]);
> --
> 1.7.7.3
>
> _______________________________________________
> 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