summaryrefslogtreecommitdiff
path: root/builtin_function.cpp
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-05-19 13:57:01 -0700
committerEric Anholt <eric@anholt.net>2010-06-01 15:15:05 -0700
commitda46e5f5345ed2fa9c74d135267f3d5729c04ed1 (patch)
tree414a1c55e7712196a285a1f906d93e5098ade712 /builtin_function.cpp
parent0ca171908d04732176cbcaf2625fed8208a93dc9 (diff)
builtins: Add ftransform().
Fixes glsl-orangebook-ch06-bump.vert.
Diffstat (limited to 'builtin_function.cpp')
-rw-r--r--builtin_function.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/builtin_function.cpp b/builtin_function.cpp
index b7719ab474..4203502e45 100644
--- a/builtin_function.cpp
+++ b/builtin_function.cpp
@@ -1778,6 +1778,22 @@ static const char *functions_for_110 [] = {
builtins_110_tan,
};
+/* Version 110_vs builtins */
+
+static const char *builtins_110_vs_ftransform = {
+ "((function ftransform\n"
+ " (signature vec4\n"
+ " (parameters)\n"
+ " ((return (expression vec4 *\n"
+ " (var_ref gl_ModelViewProjectionMatrix)\n"
+ " (var_ref gl_Vertex)))))\n"
+ "))\n"
+};
+
+static const char *functions_for_110_vs [] = {
+ builtins_110_vs_ftransform,
+};
+
/* Version 130 builtins */
static const char *builtins_130_equal = {
@@ -2039,6 +2055,10 @@ _mesa_glsl_initialize_functions(exec_list *instructions,
read_builtins(state, instructions, functions_for_110,
sizeof(functions_for_110) / sizeof(const char *));
+ if (state->language_version >= 110 && state->target == vertex_shader)
+ read_builtins(state, instructions, functions_for_110_vs,
+ sizeof(functions_for_110_vs) / sizeof(const char *));
+
if (state->language_version >= 130)
read_builtins(state, instructions, functions_for_130,
sizeof(functions_for_130) / sizeof(const char *));