]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/renderer.cpp
Store simpler states by value in PipelineState
[libs/gl.git] / source / render / renderer.cpp
index a235a42b416e3b6a20429062e44b0aadf7135226..0c5bf77454ed25c32151f2a44ed189723234a192 100644 (file)
@@ -363,9 +363,12 @@ void Renderer::apply_state()
                                pipeline_state.set_texture(t.binding, t.texture, t.level, t.sampler);
                }
 
-       pipeline_state.set_depth_test(state.depth_test);
-       pipeline_state.set_stencil_test(state.stencil_test);
-       pipeline_state.set_blend(state.blend);
+       static const DepthTest default_depth_test;
+       pipeline_state.set_depth_test(state.depth_test ? *state.depth_test : default_depth_test);
+       static const StencilTest default_stencil_test;
+       pipeline_state.set_stencil_test(state.stencil_test ? *state.stencil_test : default_stencil_test);
+       static const Blend default_blend;
+       pipeline_state.set_blend(state.blend ? *state.blend : default_blend);
 }