X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fpipelinestate.h;h=89cf1cd7261df3c29f20cb769eddc6e6c6c93bb7;hb=d0df3ba82b187705331e2cc55d515c2d44e7f466;hp=0973bfb5ba16a4c7d04f6f54844ea677149c6c25;hpb=f1e31ee641f0cafdfe2015bff206b9ee2ad85abf;p=libs%2Fgl.git diff --git a/source/core/pipelinestate.h b/source/core/pipelinestate.h index 0973bfb5..89cf1cd7 100644 --- a/source/core/pipelinestate.h +++ b/source/core/pipelinestate.h @@ -33,21 +33,23 @@ class PipelineState: public PipelineStateBackend private: struct BoundTexture { - unsigned binding; - mutable bool changed; - const Texture *texture; - const Sampler *sampler; + unsigned binding = 0; + mutable bool changed = false; + mutable bool used = false; + const Texture *texture = 0; + const Sampler *sampler = 0; - BoundTexture(unsigned); + BoundTexture(unsigned b): binding(b) { } }; struct BoundUniformBlock { - int binding; - mutable bool changed; - const UniformBlock *block; + int binding = 0; + mutable bool changed = false; + mutable bool used = false; + const UniformBlock *block = 0; - BoundUniformBlock(int); + BoundUniformBlock(int b): binding(b) { } }; enum ChangeMask @@ -79,7 +81,6 @@ private: const DepthTest *depth_test = 0; const StencilTest *stencil_test = 0; const Blend *blend = 0; - mutable unsigned changes = 0; template void set(T &, T, unsigned); @@ -99,6 +100,7 @@ public: void set_blend(const Blend *); const Framebuffer *get_framebuffer() const { return framebuffer; } + const Rect *get_viewport() const { return viewport; } 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; }