- auto i = lower_bound_member(uniform_blocks, binding, &BoundUniformBlock::binding);
- if(i==uniform_blocks.end() || i->binding!=binding)
- i = uniform_blocks.insert(i, BoundUniformBlock(binding));
- if(block!=i->block || binding<0)
+ auto i = lower_bound_member(resources, binding, &BoundResource::binding);
+ if(i==resources.end() || i->binding!=binding)
+ i = resources.insert(i, BoundResource(binding));
+
+ ResourceType type = (block ? UNIFORM_BLOCK : NO_RESOURCE);
+ const Buffer *buffer = (block ? block->get_buffer() : 0);
+ if(i->type!=type || block!=i->block || buffer!=i->buffer || binding<0)