From 149552fc1baeb375695690d85f999dcb5007a78c Mon Sep 17 00:00:00 2001 From: Helge Norberg Date: Fri, 8 Jan 2016 17:06:44 +0100 Subject: [PATCH] Clarified logic around memcpy or not in Linux decklink consumer. --- modules/decklink/consumer/decklink_consumer.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/decklink/consumer/decklink_consumer.cpp b/modules/decklink/consumer/decklink_consumer.cpp index c8492e653..e453e3338 100644 --- a/modules/decklink/consumer/decklink_consumer.cpp +++ b/modules/decklink/consumer/decklink_consumer.cpp @@ -185,13 +185,17 @@ public: { ref_count_ = 0; + bool dma_transfer_from_gl_buffer_impossible; + #if !defined(_MSC_VER) - // On Linux Decklink cannot DMA transfer from memory returned by glMapBuffer - needs_to_copy_ = will_attempt_dma; + // On Linux Decklink cannot DMA transfer from memory returned by glMapBuffer (at least on nvidia) + dma_transfer_from_gl_buffer_impossible = true; #else - // On Windows it does - needs_to_copy_ = false; + // On Windows it is possible. + dma_transfer_from_gl_buffer_impossible = false; #endif + + needs_to_copy_ = will_attempt_dma && dma_transfer_from_gl_buffer_impossible; } // IUnknown -- 2.39.2