From 78fe3c9150c0c5f77a20a790ee7441f8a9d1de5f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 28 Mar 2010 01:46:48 -0700 Subject: [PATCH] Add definitions for 1.10 built-in uniforms for ff state. --- builtin_variables.h | 18 ++++++++++++++++++ ir_variable.cpp | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/builtin_variables.h b/builtin_variables.h index a742a1562d2..902ff22e8ae 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 df8e4c3ba82..1b4b742ac4c 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]. */ } -- 2.30.2