- auto i = lower_bound_member(textures, binding, &BoundTexture::binding);
- if(i==textures.end() || i->binding!=binding)
- i = textures.insert(i, BoundTexture(binding));
- if(tex!=i->texture || samp!=i->sampler)
+ auto i = lower_bound_member(resources, static_cast<int>(binding), &BoundResource::binding);
+ if(i==resources.end() || i->binding!=static_cast<int>(binding))
+ i = resources.insert(i, BoundResource(binding));
+
+ ResourceType type = (tex ? TEXTURE : NO_RESOURCE);
+ if(i->type!=type || tex!=i->texture || level!=i->mip_level || samp!=i->sampler)