Mesa (master): mesa: Don' t reference a W component in setting up a vec3 uniform component.

Eric Anholt anholt at kemper.freedesktop.org
Thu Sep 30 20:47:22 UTC 2010


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

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Sep 30 13:40:22 2010 -0700

mesa: Don't reference a W component in setting up a vec3 uniform component.

The 965 driver would try to set up storage for the W component, and
the offsets would get mixed up.

---

 src/mesa/main/uniforms.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index 29a9be8..87ce6e4 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -122,7 +122,11 @@ static struct gl_builtin_uniform_element gl_LightSource_elements[] = {
    {"specular", {STATE_LIGHT, 0, STATE_SPECULAR}, SWIZZLE_XYZW},
    {"position", {STATE_LIGHT, 0, STATE_POSITION}, SWIZZLE_XYZW},
    {"halfVector", {STATE_LIGHT, 0, STATE_HALF_VECTOR}, SWIZZLE_XYZW},
-   {"spotDirection", {STATE_LIGHT, 0, STATE_SPOT_DIRECTION}, SWIZZLE_XYZW},
+   {"spotDirection", {STATE_LIGHT, 0, STATE_SPOT_DIRECTION},
+    MAKE_SWIZZLE4(SWIZZLE_X,
+		  SWIZZLE_Y,
+		  SWIZZLE_Z,
+		  SWIZZLE_Z)},
    {"spotCosCutoff", {STATE_LIGHT, 0, STATE_SPOT_DIRECTION}, SWIZZLE_WWWW},
    {"spotCutoff", {STATE_LIGHT, 0, STATE_SPOT_CUTOFF}, SWIZZLE_XXXX},
    {"spotExponent", {STATE_LIGHT, 0, STATE_ATTENUATION}, SWIZZLE_WWWW},




More information about the mesa-commit mailing list