set(shprog, p, SHPROG);
}
-void PipelineState::set_vertex_setup(const VertexSetup *s)
-{
- set(vertex_setup, s, VERTEX_SETUP);
-}
-
-void PipelineState::set_front_face(FaceWinding w)
-{
- set(front_face, w, FACE_CULL);
-}
-
-void PipelineState::set_face_cull(CullMode c)
+void PipelineState::set_uniform_block(int binding, const UniformBlock *block)
{
- set(face_cull, c, FACE_CULL);
+ 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)
+ {
+ i->block = block;
+ i->changed = true;
+ changes |= UNIFORMS;
+ }
}
void PipelineState::set_texture(unsigned binding, const Texture *tex, const Sampler *samp)
}
}
-void PipelineState::set_uniform_block(int binding, const UniformBlock *block)
+void PipelineState::set_vertex_setup(const VertexSetup *s)
{
- 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)
- {
- i->block = block;
- i->changed = true;
- changes |= UNIFORMS;
- }
+ 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);
+}
+
+void PipelineState::set_face_cull(CullMode c)
+{
+ set(face_cull, c, FACE_CULL);
}
void PipelineState::set_depth_test(const DepthTest *dt)