diff options
-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]. */ } |