Mesa (master): mesa: Add a builtin uniform for the ATI_envmap_bumpmap rotation matrix.

Eric Anholt anholt at kemper.freedesktop.org
Fri Mar 11 20:57:03 UTC 2011


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

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Nov 12 12:04:09 2010 -0800

mesa: Add a builtin uniform for the ATI_envmap_bumpmap rotation matrix.

For fixed function fragment processing in GLSL IR, we want to be able
to reference this state value.  gl_* not explicitly permitted is
reserved, so using this variable name internally shouldn't be any
issue.

---

 src/glsl/builtin_variables.h |    4 ++++
 src/mesa/main/uniforms.c     |   11 +++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/src/glsl/builtin_variables.h b/src/glsl/builtin_variables.h
index a34c67e..dfc93f3 100644
--- a/src/glsl/builtin_variables.h
+++ b/src/glsl/builtin_variables.h
@@ -101,5 +101,9 @@ static const builtin_variable builtin_110_deprecated_uniforms[] = {
    { ir_var_uniform, -1, "mat4", "gl_ModelViewProjectionMatrixInverseTranspose" },
    { ir_var_uniform, -1, "float", "gl_NormalScale" },
    { ir_var_uniform, -1, "gl_LightModelParameters", "gl_LightModel"},
+
+   /* Mesa-internal ATI_envmap_bumpmap state. */
+   { ir_var_uniform, -1, "vec2", "gl_MESABumpRotMatrix0"},
+   { ir_var_uniform, -1, "vec2", "gl_MESABumpRotMatrix1"},
 };
 
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index eb28972..c31c075 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -209,6 +209,14 @@ static struct gl_builtin_uniform_element gl_NormalScale_elements[] = {
    {NULL, {STATE_NORMAL_SCALE}, SWIZZLE_XXXX},
 };
 
+static struct gl_builtin_uniform_element gl_MESABumpRotMatrix0_elements[] = {
+   {NULL, {STATE_INTERNAL, STATE_ROT_MATRIX_0}, SWIZZLE_XYZW},
+};
+
+static struct gl_builtin_uniform_element gl_MESABumpRotMatrix1_elements[] = {
+   {NULL, {STATE_INTERNAL, STATE_ROT_MATRIX_1}, SWIZZLE_XYZW},
+};
+
 #define MATRIX(name, statevar, modifier)				\
    static struct gl_builtin_uniform_element name ## _elements[] = {	\
       { NULL, { statevar, 0, 0, 0, modifier}, SWIZZLE_XYZW },		\
@@ -312,6 +320,9 @@ const struct gl_builtin_uniform_desc _mesa_builtin_uniform_desc[] = {
    STATEVAR(gl_NormalMatrix),
    STATEVAR(gl_NormalScale),
 
+   STATEVAR(gl_MESABumpRotMatrix0),
+   STATEVAR(gl_MESABumpRotMatrix1),
+
    {NULL, NULL, 0}
 };
 




More information about the mesa-commit mailing list