Mesa (master): tgsi: pass zero vector to texture sampler for 1D case instead of NULL

Brian Paul brianp at kemper.freedesktop.org
Thu Mar 26 14:40:48 UTC 2009


Module: Mesa
Branch: master
Commit: 3673189326e348eb91e354017703fdfd9d6d8184
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3673189326e348eb91e354017703fdfd9d6d8184

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Mar 26 08:40:07 2009 -0600

tgsi: pass zero vector to texture sampler for 1D case instead of NULL

Fixes segfault when sampling 1D textures.

---

 src/gallium/auxiliary/tgsi/tgsi_exec.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index ba807e4..259877b 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -123,6 +123,10 @@
 #define UPDATE_EXEC_MASK(MACH) \
       MACH->ExecMask = MACH->CondMask & MACH->LoopMask & MACH->ContMask & MACH->FuncMask
 
+
+static const union tgsi_exec_channel ZeroVec =
+   { { 0.0, 0.0, 0.0, 0.0 } };
+
 /**
  * Initialize machine state by expanding tokens to full instructions,
  * allocating temporary storage, setting up constants, etc.
@@ -1643,7 +1647,7 @@ exec_tex(struct tgsi_exec_machine *mach,
          lodBias = 0.0;
 
       fetch_texel(mach->Samplers[unit],
-                  &r[0], NULL, NULL, lodBias,  /* S, T, P, BIAS */
+                  &r[0], &ZeroVec, &ZeroVec, lodBias,  /* S, T, P, BIAS */
                   &r[0], &r[1], &r[2], &r[3]); /* R, G, B, A */
       break;
 




More information about the mesa-commit mailing list