From 9dc8bce88e84322171e16be190f2e430dee986ac Mon Sep 17 00:00:00 2001 From: Michal Krol Date: Mon, 30 Jan 2006 14:48:42 +0000 Subject: Split slang_compile.c into several smaller files - it was just too big. Minor fixes and cosmetic changes. --- src/mesa/shader/slang/slang_storage.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/mesa/shader/slang/slang_storage.c') diff --git a/src/mesa/shader/slang/slang_storage.c b/src/mesa/shader/slang/slang_storage.c index 3b2fda415b..8a608c4902 100644 --- a/src/mesa/shader/slang/slang_storage.c +++ b/src/mesa/shader/slang/slang_storage.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.3 + * Version: 6.5 * - * Copyright (C) 2005 Brian Paul All Rights Reserved. + * Copyright (C) 2005-2006 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -112,19 +112,20 @@ static int aggregate_matrix (slang_storage_aggregate *agg, slang_storage_type ba return 1; } -static int aggregate_variables (slang_storage_aggregate *agg, const slang_variable_scope *vars, - slang_function_scope *funcs, slang_struct_scope *structs) +static int aggregate_variables (slang_storage_aggregate *agg, slang_variable_scope *vars, + slang_function_scope *funcs, slang_struct_scope *structs, slang_variable_scope *globals) { unsigned int i; for (i = 0; i < vars->num_variables; i++) if (!_slang_aggregate_variable (agg, &vars->variables[i].type.specifier, - vars->variables[i].array_size, funcs, structs)) + vars->variables[i].array_size, funcs, structs, globals)) return 0; return 1; } int _slang_aggregate_variable (slang_storage_aggregate *agg, slang_type_specifier *spec, - slang_operation *array_size, slang_function_scope *funcs, slang_struct_scope *structs) + slang_operation *array_size, slang_function_scope *funcs, slang_struct_scope *structs, + slang_variable_scope *vars) { switch (spec->type) { @@ -166,7 +167,7 @@ int _slang_aggregate_variable (slang_storage_aggregate *agg, slang_type_specifie case slang_spec_sampler2DShadow: return aggregate_vector (agg, slang_stor_int, 1); case slang_spec_struct: - return aggregate_variables (agg, spec->_struct->fields, funcs, structs); + return aggregate_variables (agg, spec->_struct->fields, funcs, structs, vars); case slang_spec_array: { slang_storage_array *arr; @@ -185,13 +186,12 @@ int _slang_aggregate_variable (slang_storage_aggregate *agg, slang_type_specifie if (arr->aggregate == NULL) return 0; slang_storage_aggregate_construct (arr->aggregate); - if (!_slang_aggregate_variable (arr->aggregate, spec->_array, NULL, funcs, structs)) + if (!_slang_aggregate_variable (arr->aggregate, spec->_array, NULL, funcs, structs, vars)) return 0; slang_assembly_file_construct (&file); space.funcs = funcs; space.structs = structs; - /* XXX: vars! */ - space.vars = NULL; + space.vars = vars; if (!_slang_assemble_operation (&file, array_size, 0, &flow, &space, &info, &stk)) { slang_assembly_file_destruct (&file); -- cgit v1.2.3