]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorRonag <Ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 7 Aug 2011 20:37:39 +0000 (20:37 +0000)
committerRonag <Ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 7 Aug 2011 20:37:39 +0000 (20:37 +0000)
core/mixer/image/image_kernel.h
core/mixer/image/image_mixer.cpp

index 377dd6d10cece94efeb4823cb313116b7ee52d41..a612fc01b95b9fa028b50dabbb2c049f1f2414ed 100644 (file)
@@ -37,6 +37,19 @@ struct render_item
        image_transform                                                 transform;\r
        video_mode::type                                                mode;\r
        const void*                                                             tag;\r
+       \r
+       render_item(const pixel_format_desc& pix_desc, const std::vector<safe_ptr<device_buffer>>& textures, const image_transform& transform, video_mode::type mode, const void* tag)\r
+               : pix_desc(pix_desc)\r
+               , textures(textures)\r
+               , transform(transform)\r
+               , mode(mode)\r
+               , tag(tag){}\r
+       render_item(render_item&& other)\r
+               : pix_desc(other.pix_desc)\r
+               , textures(std::move(other.textures))\r
+               , transform(other.transform)\r
+               , mode(other.mode)\r
+               , tag(other.tag){}\r
 };\r
 \r
 bool operator==(const render_item& lhs, const render_item& rhs);\r
index 137fcf840a129b56978f5e0b7ce6bcbbcd00032a..506941957d3aea67c17bd745283303022135dfa5 100644 (file)
@@ -104,7 +104,7 @@ public:
                if(boost::range::find(mode_stack_, video_mode::upper) != mode_stack_.end() && boost::range::find(mode_stack_, video_mode::lower) != mode_stack_.end())\r
                        return;\r
                \r
-               core::render_item item = {frame.get_pixel_format_desc(), frame.get_textures(), transform_stack_.back(), mode_stack_.back(), frame.tag()};       \r
+               core::render_item item(frame.get_pixel_format_desc(), frame.get_textures(), transform_stack_.back(), mode_stack_.back(), frame.tag());  \r
 \r
                auto& layer = layers_.back();\r
 \r
@@ -201,7 +201,6 @@ public:
                targets[1]->attach();\r
                        \r
                kernel_.draw(item, make_safe(targets[0]), local_key, layer_key);\r
-               item.textures.clear();\r
                \r
                targets[0]->bind();\r
 \r