summaryrefslogtreecommitdiffstats
path: root/src/glsl/glsl_symbol_table.h
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-12-06 10:54:21 -0800
committerKenneth Graunke <kenneth@whitecape.org>2010-12-06 13:43:22 -0800
commitc17c7903871b031162e41d6495a1bef64844e19b (patch)
treed3a89af48859453542f8e44f2fcc8c78a19c248e /src/glsl/glsl_symbol_table.h
parenta8f52647b045b5400ebcfc58ba235599a6e9ad87 (diff)
downloadexternal_mesa3d-c17c7903871b031162e41d6495a1bef64844e19b.zip
external_mesa3d-c17c7903871b031162e41d6495a1bef64844e19b.tar.gz
external_mesa3d-c17c7903871b031162e41d6495a1bef64844e19b.tar.bz2
glsl: Properly add functions during lazy built-in prototype importing.
The original lazy built-in importing patch did not add the newly created function to the symbol table, nor actually emit it into the IR stream. Adding it to the symbol table is non-trivial since importing occurs when generating some ir_call in a nested scope. A new add_global_function method, backed by new symbol_table code in the previous patch, handles this. Fixes bug #32030.
Diffstat (limited to 'src/glsl/glsl_symbol_table.h')
-rw-r--r--src/glsl/glsl_symbol_table.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/glsl/glsl_symbol_table.h b/src/glsl/glsl_symbol_table.h
index 329cd10..28a44eb 100644
--- a/src/glsl/glsl_symbol_table.h
+++ b/src/glsl/glsl_symbol_table.h
@@ -103,6 +103,11 @@ public:
/*@}*/
/**
+ * Add an function at global scope without checking for scoping conflicts.
+ */
+ void add_global_function(ir_function *f);
+
+ /**
* \name Methods to get symbols from the table
*/
/*@{*/