X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.cpp;fp=source%2Fglsl%2Fgenerate.cpp;h=3387667283b425c4f9fdb74245b1da577c2b9d5b;hb=dfde6f3568c1a840232cf860f4a260a987a1433b;hp=92d172c586469f78cd17c5d338700fc68e503c00;hpb=a3637962f082182d72998a35ea86e48d51e520c3;p=libs%2Fgl.git diff --git a/source/glsl/generate.cpp b/source/glsl/generate.cpp index 92d172c5..33876672 100644 --- a/source/glsl/generate.cpp +++ b/source/glsl/generate.cpp @@ -13,12 +13,11 @@ void ConstantIdAssigner::apply(Module &module, const Features &features) for(list::iterator i=module.stages.begin(); i!=module.stages.end(); ++i) i->content.visit(*this); - unsigned max_id = features.max_constant_id; for(vector::iterator i=auto_constants.begin(); i!=auto_constants.end(); ++i) { - unsigned id = hash32((*i)->name)%(max_id+1); + unsigned id = hash32((*i)->name)%features.constant_id_range; while(used_ids.count(id)) - ++id; + id = (id+1)%features.constant_id_range; vector &qualifiers = (*i)->layout->qualifiers; for(vector::iterator j=qualifiers.begin(); j!=qualifiers.end(); ++j)