diff options
author | Eric Anholt <eric@anholt.net> | 2010-03-28 01:46:48 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-03-29 12:48:45 -0700 |
commit | 78fe3c9150c0c5f77a20a790ee7441f8a9d1de5f (patch) | |
tree | 14fe5e1ef8ccbecb078b30a69a954462a86516d5 | |
parent | a9fafc6504ebccdc0fee3d2529c3fe6068cc86b8 (diff) |
Add definitions for 1.10 built-in uniforms for ff state.
-rw-r--r-- | builtin_variables.h | 18 | ||||
-rw-r--r-- | ir_variable.cpp | 33 |
2 files changed, 51 insertions, 0 deletions
diff --git a/builtin_variables.h b/builtin_variables.h index a742a1562d..902ff22e8a 100644 --- a/builtin_variables.h +++ b/builtin_variables.h @@ -70,3 +70,21 @@ static const builtin_variable builtin_110_deprecated_vs_variables[] = { static const builtin_variable builtin_130_vs_variables[] = { { ir_var_in, "int", "gl_VertexID" }, }; + +static const builtin_variable builtin_110_deprecated_uniforms[] = { + { ir_var_uniform, "mat4", "gl_ModelViewMatrix" }, + { ir_var_uniform, "mat4", "gl_ProjectionMatrix" }, + { ir_var_uniform, "mat4", "gl_ModelViewProjectionMatrix" }, + { ir_var_uniform, "mat3", "gl_NormalMatrix" }, + { ir_var_uniform, "mat4", "gl_ModelViewMatrixInverse" }, + { ir_var_uniform, "mat4", "gl_ProjectionMatrixInverse" }, + { ir_var_uniform, "mat4", "gl_ModelViewProjectionMatrixInverse" }, + { ir_var_uniform, "mat4", "gl_ModelViewMatrixTranspose" }, + { ir_var_uniform, "mat4", "gl_ProjectionMatrixTranspose" }, + { ir_var_uniform, "mat4", "gl_ModelViewProjectionMatrixTranspose" }, + { ir_var_uniform, "mat4", "gl_ModelViewMatrixInverseTranspose" }, + { ir_var_uniform, "mat4", "gl_ProjectionMatrixInverseTranspose" }, + { ir_var_uniform, "mat4", "gl_ModelViewProjectionMatrixInverseTranspose" }, + { ir_var_uniform, "float", "gl_NormalScale" }, +}; + diff --git a/ir_variable.cpp b/ir_variable.cpp index df8e4c3ba8..1b4b742ac4 100644 --- a/ir_variable.cpp +++ b/ir_variable.cpp @@ -56,6 +56,37 @@ add_builtin_variable(const builtin_variable *proto, exec_list *instructions, symtab->add_variable(var->name, var); } +static void +generate_110_uniforms(exec_list *instructions, + glsl_symbol_table *symtab) +{ + for (unsigned i = 0 + ; i < Elements(builtin_110_deprecated_uniforms) + ; i++) { + add_builtin_variable(& builtin_110_deprecated_uniforms[i], + instructions, symtab); + } + + /* FINISHME: Add support for gl_TextureMatrix[]. The size of this array is + * FINISHME: implementation dependent based on the value of + * FINISHME: GL_MAX_TEXTURE_COORDS. + */ + + /* FINISHME: Add support for gl_DepthRangeParameters */ + /* FINISHME: Add support for gl_ClipPlane[] */ + /* FINISHME: Add support for gl_PointParameters */ + + /* FINISHME: Add support for gl_MaterialParameters + * FINISHME: (glFrontMaterial, glBackMaterial) + */ + + /* FINISHME: Add support for gl_LightSource[] */ + /* FINISHME: Add support for gl_LightModel */ + /* FINISHME: Add support for gl_FrontLightProduct[], gl_BackLightProduct[] */ + /* FINISHME: Add support for gl_TextureEnvColor[] */ + /* FINISHME: Add support for gl_ObjectPlane*[], gl_EyePlane*[] */ + /* FINISHME: Add support for gl_Fog */ +} static void generate_110_vs_variables(exec_list *instructions, @@ -72,6 +103,7 @@ generate_110_vs_variables(exec_list *instructions, add_builtin_variable(& builtin_110_deprecated_vs_variables[i], instructions, symtab); } + generate_110_uniforms(instructions, symtab); /* FINISHME: Add support fo gl_TexCoord. The size of this array is * FINISHME: implementation dependent based on the value of @@ -143,6 +175,7 @@ generate_110_fs_variables(exec_list *instructions, add_builtin_variable(& builtin_110_deprecated_fs_variables[i], instructions, symtab); } + generate_110_uniforms(instructions, symtab); /* FINISHME: Add support for gl_FragData[GL_MAX_DRAW_BUFFERS]. */ } |