summaryrefslogtreecommitdiff
path: root/src/mesa
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2006-11-24 19:21:42 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2006-11-24 19:21:42 +0000
commit16e7ca9d72f7d1c24a12014ac482948e17be8d3f (patch)
treee93e063ab2d7e2c9725f1d4c1dac8873206ce45f /src/mesa
parente49d06e61955208b9cd3e18469034e7447394b95 (diff)
call slang_variable_construct() inside slang_variable_scope_grow()
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/shader/slang/slang_compile.c6
-rw-r--r--src/mesa/shader/slang/slang_compile_variable.c7
2 files changed, 6 insertions, 7 deletions
diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c
index 93c7fb0cdbf..c49ab4a68dc 100644
--- a/src/mesa/shader/slang/slang_compile.c
+++ b/src/mesa/shader/slang/slang_compile.c
@@ -439,8 +439,6 @@ parse_struct_field(slang_parse_ctx * C, slang_output_ctx * O,
slang_info_log_memory(C->L);
return 0;
}
- if (!slang_variable_construct(var))
- return 0;
if (!parse_struct_field_var(C, &o, var, sp))
return 0;
}
@@ -1478,8 +1476,6 @@ parse_function_prototype(slang_parse_ctx * C, slang_output_ctx * O,
slang_info_log_memory(C->L);
return 0;
}
- if (!slang_variable_construct(p))
- return 0;
if (!parse_parameter_declaration(C, O, p))
return 0;
}
@@ -1654,8 +1650,6 @@ parse_init_declarator(slang_parse_ctx * C, slang_output_ctx * O,
slang_info_log_memory(C->L);
return 0;
}
- if (!slang_variable_construct(var))
- return 0;
/* copy the declarator qualifier type, parse the identifier */
var->global = C->global_scope;
diff --git a/src/mesa/shader/slang/slang_compile_variable.c b/src/mesa/shader/slang/slang_compile_variable.c
index a37deddff10..a8a2d6aa6a0 100644
--- a/src/mesa/shader/slang/slang_compile_variable.c
+++ b/src/mesa/shader/slang/slang_compile_variable.c
@@ -184,7 +184,7 @@ slang_variable_scope_copy(slang_variable_scope * x,
/**
* Grow the variable list by one.
- * \return pointer to space for the new variable.
+ * \return pointer to space for the new variable (will be initialized)
*/
slang_variable *
slang_variable_scope_grow(slang_variable_scope *scope)
@@ -196,7 +196,12 @@ slang_variable_scope_grow(slang_variable_scope *scope)
(n + 1) * sizeof(slang_variable));
if (!scope->variables)
return NULL;
+
scope->num_variables++;
+
+ if (!slang_variable_construct(scope->variables + n))
+ return NULL;
+
return scope->variables + n;
}