fix cg shader arrays

This commit is contained in:
rdb 2013-07-28 23:18:08 +00:00
parent f23f2a0ea7
commit 230b65c58a

View File

@ -499,18 +499,15 @@ void Shader::cg_recurse_parameters(CGparameter parameter,
switch (cgGetParameterType(parameter)) {
case CG_STRUCT:
cg_recurse_parameters(
cgGetFirstStructParameter(parameter),type,success); break;
cgGetFirstStructParameter(parameter), type, success);
break;
case CG_ARRAY:
arg_type = cg_parameter_type(cgGetFirstStructParameter(parameter));
arg_subclass = cg_parameter_class(cgGetFirstStructParameter(parameter));
arg_type = cg_parameter_type(cgGetArrayParameter(parameter, 0));
arg_subclass = cg_parameter_class(cgGetArrayParameter(parameter, 0));
arg_dim[0] = cgGetArraySize(parameter, 0);
//Uncomment this to parse the array[n] as n separeted elements
//recurse_program_parameters(
// cgGetFirstStructParameter(parameter),type,success); break;
default: {
arg_dim[1] = cgGetParameterRows(parameter);
arg_dim[2] = cgGetParameterColumns(parameter);
@ -1233,7 +1230,6 @@ clear_parameters() {
////////////////////////////////////////////////////////////////////
Shader::ShaderArgType Shader::
cg_parameter_type(CGparameter p) {
switch (cgGetParameterClass(p)) {
case CG_PARAMETERCLASS_SCALAR: return SAT_scalar;
case CG_PARAMETERCLASS_VECTOR: