From: ronag Date: Tue, 16 Aug 2011 08:56:25 +0000 (+0000) Subject: git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches... X-Git-Tag: 2.0.1~146 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=b82bdf5ed22f860fb62808af8e64d81d31221de3;p=casparcg git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1194 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d --- diff --git a/core/mixer/image/image_mixer.cpp b/core/mixer/image/image_mixer.cpp index a352578fd..2784cc52c 100644 --- a/core/mixer/image/image_mixer.cpp +++ b/core/mixer/image/image_mixer.cpp @@ -62,6 +62,8 @@ struct image_mixer::implementation : boost::noncopyable std::deque> layers_; // layer/stream/items image_kernel kernel_; + + std::shared_ptr active_buffer_; public: implementation(video_channel_context& video_channel) : channel_(video_channel) @@ -129,11 +131,13 @@ public: BOOST_FOREACH(auto& layer, layers) draw(std::move(layer), draw_buffer, layer_key_buffer); - + auto host_buffer = channel_.ogl().create_host_buffer(channel_.get_format_desc().size, host_buffer::read_only); channel_.ogl().attach(*draw_buffer); host_buffer->begin_read(draw_buffer->width(), draw_buffer->height(), format(draw_buffer->stride())); + active_buffer_ = draw_buffer; + GL(glFlush()); return host_buffer;