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));
+ i->used = block;
if(block!=i->block || binding<0)
{
i->block = block;
auto i = lower_bound_member(textures, binding, &BoundTexture::binding);
if(i==textures.end() || i->binding!=binding)
i = textures.insert(i, BoundTexture(binding));
+ i->used = (tex && samp);
if(tex!=i->texture || samp!=i->sampler)
{
i->texture = tex;
set(vertex_setup, s, VERTEX_SETUP);
}
+void PipelineState::set_primitive_type(PrimitiveType t)
+{
+ set(primitive_type, t, PRIMITIVE_TYPE);
+}
+
void PipelineState::set_front_face(FaceWinding w)
{
set(front_face, w, FACE_CULL);
set(blend, b, BLEND);
}
-
-PipelineState::BoundTexture::BoundTexture(unsigned b):
- binding(b),
- changed(false),
- texture(0),
- sampler(0)
-{ }
-
-
-PipelineState::BoundUniformBlock::BoundUniformBlock(int b):
- binding(b),
- changed(false),
- block(0)
-{ }
-
} // namespace GL
} // namespace Msp