From da46e5f5345ed2fa9c74d135267f3d5729c04ed1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 19 May 2010 13:57:01 -0700 Subject: builtins: Add ftransform(). Fixes glsl-orangebook-ch06-bump.vert. --- builtins/110_vs/ftransform | 7 +++++++ builtins/tools/generate_builtins.pl | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 builtins/110_vs/ftransform (limited to 'builtins') diff --git a/builtins/110_vs/ftransform b/builtins/110_vs/ftransform new file mode 100644 index 0000000000..3a5e8ccecf --- /dev/null +++ b/builtins/110_vs/ftransform @@ -0,0 +1,7 @@ +((function ftransform + (signature vec4 + (parameters) + ((return (expression vec4 * + (var_ref gl_ModelViewProjectionMatrix) + (var_ref gl_Vertex))))) +)) diff --git a/builtins/tools/generate_builtins.pl b/builtins/tools/generate_builtins.pl index e7ec8ef56f..9ce0ce3a60 100755 --- a/builtins/tools/generate_builtins.pl +++ b/builtins/tools/generate_builtins.pl @@ -85,7 +85,7 @@ read_builtins(_mesa_glsl_parse_state *st, exec_list *instructions, EOF -@versions = sort(); +@versions = sort(); foreach $version (@versions) { $version =~ s!builtins/!!g; process_version($version); @@ -99,7 +99,14 @@ _mesa_glsl_initialize_functions(exec_list *instructions, EOF foreach $version (@versions) { - print " if (state->language_version >= $version)\n"; + $version_number = $version; + if ($version =~ m/_vs/) { + $version_check = " && state->target == vertex_shader"; + $version_number =~ s/_vs//; + } else { + $version_check = ""; + } + print " if (state->language_version >= $version_number$version_check)\n"; print " read_builtins(state, instructions, functions_for_$version,\n"; print " sizeof(functions_for_$version) / "; print "sizeof(const char *));\n\n" -- cgit v1.2.3