[Mesa-dev] [PATCH 5/9] mesa: Add gl_MESAFogParamsOptimized for our special pre-computed fog params.

Eric Anholt eric at anholt.net
Wed Jan 12 14:04:55 PST 2011


It would be nice if we handled optimized uniform math like this in
some generic way, since people often end up doing uniform expressions
in shaders, but for now keep this hard-coded like it was in the
texenvprogram code.
---
 src/glsl/builtin_variables.h |    1 +
 src/mesa/main/uniforms.c     |    5 +++++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/glsl/builtin_variables.h b/src/glsl/builtin_variables.h
index dfc93f3..9b4f5d9 100644
--- a/src/glsl/builtin_variables.h
+++ b/src/glsl/builtin_variables.h
@@ -105,5 +105,6 @@ static const builtin_variable builtin_110_deprecated_uniforms[] = {
    /* Mesa-internal ATI_envmap_bumpmap state. */
    { ir_var_uniform, -1, "vec2", "gl_MESABumpRotMatrix0"},
    { ir_var_uniform, -1, "vec2", "gl_MESABumpRotMatrix1"},
+   { ir_var_uniform, -1, "vec4", "gl_MESAFogParamsOptimized"},
 };
 
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index 43157c3..e6325c1 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -217,6 +217,10 @@ static struct gl_builtin_uniform_element gl_MESABumpRotMatrix1_elements[] = {
    {NULL, {STATE_INTERNAL, STATE_ROT_MATRIX_1}, SWIZZLE_XYZW},
 };
 
+static struct gl_builtin_uniform_element gl_MESAFogParamsOptimized_elements[] = {
+   {NULL, {STATE_INTERNAL, STATE_FOG_PARAMS_OPTIMIZED}, SWIZZLE_XYZW},
+};
+
 #define MATRIX(name, statevar, modifier)				\
    static struct gl_builtin_uniform_element name ## _elements[] = {	\
       { NULL, { statevar, 0, 0, 0, modifier}, SWIZZLE_XYZW },		\
@@ -322,6 +326,7 @@ const struct gl_builtin_uniform_desc _mesa_builtin_uniform_desc[] = {
 
    STATEVAR(gl_MESABumpRotMatrix0),
    STATEVAR(gl_MESABumpRotMatrix1),
+   STATEVAR(gl_MESAFogParamsOptimized),
 
    {NULL, NULL, 0}
 };
-- 
1.7.2.3



More information about the mesa-dev mailing list