X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Frenderer.cpp;h=5262d09a90ee2862e6c0db07dcd02e71044241fd;hp=aab37b6796bece1dc7d2b58e1018fc51f1666a78;hb=HEAD;hpb=29fe33d3dde1df0e11c741b0c02af2f33b685571 diff --git a/source/render/renderer.cpp b/source/render/renderer.cpp index aab37b67..7e010b3f 100644 --- a/source/render/renderer.cpp +++ b/source/render/renderer.cpp @@ -71,7 +71,7 @@ void Renderer::push_state() void Renderer::pop_state() { - if(state_stack.size()==1) + if(state_stack.size()<=1) throw stack_underflow("Renderer::pop_state"); uintptr_t old_pipeline = current_state->pipeline_key; @@ -295,6 +295,8 @@ void Renderer::apply_batch(const Batch &batch) batch.refresh(frame_index); PipelineState &ps = get_pipeline_state(); ps.set_primitive_type(batch.get_type()); + if(batch.get_type()==PATCHES) + ps.set_patch_size(batch.get_patch_size()); commands.use_pipeline(&ps); }