X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fpipelinestate.h;h=68983d11c1d7f3d00ef3d3656bf487c396c6f6ce;hb=052b85720688900bc36f8844a94269cb1c0cdd52;hp=9f6795f16ec176d0cb4204354dcd7b4b7a4ad53e;hpb=ce3658993ce2f6b7527a04a36a5e1af349c6f2e9;p=libs%2Fgl.git diff --git a/source/core/pipelinestate.h b/source/core/pipelinestate.h index 9f6795f1..68983d11 100644 --- a/source/core/pipelinestate.h +++ b/source/core/pipelinestate.h @@ -1,5 +1,5 @@ -#ifndef PIPELINESTATE_H_ -#define PIPELINESTATE_H_ +#ifndef MSP_GL_PIPELINESTATE_H_ +#define MSP_GL_PIPELINESTATE_H_ #include #include @@ -9,8 +9,6 @@ namespace Msp { namespace GL { class Blend; -class BufferBackedUniformBlock; -class DefaultUniformBlock; class DepthTest; class Framebuffer; class Program; @@ -20,7 +18,6 @@ class StencilTest; class Texture; class UniformBlock; class VertexSetup; -class WindingTest; class PipelineState: public NonCopyable { @@ -77,6 +74,8 @@ private: static const PipelineState *last_applied; static std::vector bound_tex_targets; + static std::vector bound_uniform_blocks; + static unsigned restart_index; public: PipelineState(); @@ -95,15 +94,12 @@ public: void set_face_cull(CullMode); void set_enabled_clip_planes(unsigned); void set_texture(unsigned, const Texture *, const Sampler *); - void set_uniforms(const DefaultUniformBlock *); - void set_uniform_block(unsigned, const BufferBackedUniformBlock *); -private: - void set_uniform_block_(int, const UniformBlock *); -public: + void set_uniform_block(int, const UniformBlock *); void set_depth_test(const DepthTest *); void set_stencil_test(const StencilTest *); void set_blend(const Blend *); + const Framebuffer *get_framebuffer() const { return framebuffer; } const Program *get_shader_program() const { return shprog; } const VertexSetup *get_vertex_setup() const { return vertex_setup; } FaceWinding get_front_face() const { return front_face; }