if (type == PROGRAM_UNIFORM || type == PROGRAM_CONSTANT) {
paramList->UniformBytes =
- MAX2(paramList->UniformBytes, paramList->NumParameterValues * 4);
+ MAX2(paramList->UniformBytes,
+ (paramList->Parameters[oldNum].ValueOffset +
+ paramList->Parameters[oldNum].Size) * 4);
} else if (type == PROGRAM_STATE_VAR) {
paramList->FirstStateVarIndex =
MIN2(paramList->FirstStateVarIndex, oldNum);
void
_mesa_recompute_parameter_bounds(struct gl_program_parameter_list *list)
{
+ list->UniformBytes = 0;
list->FirstStateVarIndex = INT_MAX;
list->LastStateVarIndex = 0;
list->FirstStateVarIndex = MIN2(list->FirstStateVarIndex, i);
list->LastStateVarIndex = MAX2(list->LastStateVarIndex, i);
} else {
- list->UniformBytes = MAX2(list->UniformBytes, list->NumParameterValues * 4);
+ list->UniformBytes = MAX2(list->UniformBytes,
+ (list->Parameters[i].ValueOffset +
+ list->Parameters[i].Size) * 4);
}
}
}