if(i>=0)
{
uniforms[i].replace_value(uni);
-
- if(static_cast<unsigned>(i)<MASK_BITS)
- dirty |= 1<<i;
- else // Force a full update if the mask isn't wide enough
- dirty = ALL_ONES;
-
+ dirty |= 1<<i;
return;
}
+ if(uniforms.size()>=MASK_BITS)
+ {
+ delete uni;
+ throw too_many_uniforms(name);
+ }
+
vector<NamedUniform>::iterator j = lower_bound(uniforms.begin(), uniforms.end(), name, uniform_name_compare);
NamedUniform nu;