Mesa (master): glsl2: Don't generate constructor functions for structures
Kenneth Graunke
kwg at kemper.freedesktop.org
Thu Sep 2 03:40:07 UTC 2010
Module: Mesa
Branch: master
Commit: a789ca649cb143c0c5bf3209ff1bde398fbd777e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a789ca649cb143c0c5bf3209ff1bde398fbd777e
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Sep 1 14:08:08 2010 -0700
glsl2: Don't generate constructor functions for structures
---
src/glsl/ast_to_hir.cpp | 3 +--
src/glsl/glsl_symbol_table.cpp | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 84aa650..970ac08 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2730,8 +2730,7 @@ ast_struct_specifier::hir(exec_list *instructions,
glsl_type::get_record_instance(fields, decl_count, name);
YYLTYPE loc = this->get_location();
- ir_function *ctor = t->generate_constructor();
- if (!state->symbols->add_type(name, t, ctor)) {
+ if (!state->symbols->add_type(name, t)) {
_mesa_glsl_error(& loc, state, "struct `%s' previously defined", name);
} else {
diff --git a/src/glsl/glsl_symbol_table.cpp b/src/glsl/glsl_symbol_table.cpp
index ed71244..c71f3f8 100644
--- a/src/glsl/glsl_symbol_table.cpp
+++ b/src/glsl/glsl_symbol_table.cpp
@@ -127,7 +127,7 @@ bool glsl_symbol_table::add_function(const char *name, ir_function *f)
if (this->language_version == 110 && name_declared_this_scope(name)) {
/* In 1.10, functions and variables have separate namespaces. */
symbol_table_entry *existing = get_entry(name);
- if (existing->f == NULL) {
+ if ((existing->f == NULL) && (existing->t == NULL)) {
existing->f = f;
return true;
}
More information about the mesa-commit
mailing list