]> git.tdb.fi Git - libs/gl.git/blobdiff - source/builders/sequencebuilder.cpp
Redesign depth and stencil test and blend state management
[libs/gl.git] / source / builders / sequencebuilder.cpp
index 6cf34c0ee1b38307654699c43969e78b082cb59f..12e7bdf3df96ea43c415e3674c5ffdf19d7cf764 100644 (file)
@@ -1,6 +1,7 @@
 #include <msp/core/algorithm.h>
 #include <msp/core/maputils.h>
 #include <msp/strings/format.h>
+#include "deviceinfo.h"
 #include "error.h"
 #include "renderbuffer.h"
 #include "sequence.h"
@@ -52,7 +53,7 @@ void SequenceBuilder::build(Sequence &sequence) const
 
        sequence.set_hdr(tmpl.get_hdr());
        sequence.set_alpha(tmpl.get_alpha());
-       unsigned samples = min(tmpl.get_maximum_multisample(), Renderbuffer::get_max_samples());
+       unsigned samples = min(tmpl.get_maximum_multisample(), Limits::get_global().max_samples);
        if(samples<tmpl.get_required_multisample())
                throw invalid_operation("SequenceBuilder::build");
 
@@ -66,8 +67,9 @@ void SequenceBuilder::build(Sequence &sequence) const
                        continue;
 
                Sequence::Step &step = sequence.add_step(i->tag, *renderable);
-               step.set_blend(i->blend.get());
-               step.set_depth_test(i->depth_test.get());
+               step.set_blend(i->blend);
+               step.set_depth_test(i->depth_test);
+               step.set_stencil_test(i->stencil_test);
                step.set_lighting(i->lighting);
        }