X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=accelerator%2Faccelerator.cpp;h=315ad97a345a4d5c8d36ed4c24859dbdf209761f;hb=e48212a5d56ef6dbff39fbcf44956360fe1576e3;hp=a632315d41493048cbf20ad4093f3ffed20af0f2;hpb=1fdacf14239f8333553213a684eb43bf1f6331f0;p=casparcg diff --git a/accelerator/accelerator.cpp b/accelerator/accelerator.cpp index a632315d4..315ad97a3 100644 --- a/accelerator/accelerator.cpp +++ b/accelerator/accelerator.cpp @@ -6,11 +6,12 @@ #include "cpu/image/image_mixer.h" #endif #include "ogl/image/image_mixer.h" - #include "ogl/util/device.h" #include +#include + #include namespace caspar { namespace accelerator { @@ -26,7 +27,7 @@ struct accelerator::impl { } - std::unique_ptr create_image_mixer() + std::unique_ptr create_image_mixer(int channel_id) { try { @@ -40,7 +41,8 @@ struct accelerator::impl return std::unique_ptr(new ogl::image_mixer( spl::make_shared_ptr(ogl_device_), env::properties().get(L"configuration.mixer.blend-modes", false), - env::properties().get(L"configuration.mixer.straight-alpha", false))); + env::properties().get(L"configuration.mixer.straight-alpha", false), + channel_id)); } } catch(...) @@ -49,7 +51,7 @@ struct accelerator::impl CASPAR_LOG_CURRENT_EXCEPTION(); } #ifdef _MSC_VER - return std::unique_ptr(new cpu::image_mixer()); + return std::unique_ptr(new cpu::image_mixer(channel_id)); #else CASPAR_THROW_EXCEPTION(not_supported()); #endif @@ -65,9 +67,14 @@ accelerator::~accelerator() { } -std::unique_ptr accelerator::create_image_mixer() +std::unique_ptr accelerator::create_image_mixer(int channel_id) +{ + return impl_->create_image_mixer(channel_id); +} + +std::shared_ptr accelerator::get_ogl_device() const { - return impl_->create_image_mixer(); + return impl_->ogl_device_; } }}