]> git.sesse.net Git - casparcg/blobdiff - common/memory/memcpy.h
2.0.2: ogl_device life-time fixed.
[casparcg] / common / memory / memcpy.h
index 82040c02c5f3b0df5fb5b7c6e7c7c7625f99fa18..40504be35dc95d149f2387c21cbcbeea0f4d9479 100644 (file)
@@ -150,10 +150,11 @@ static void* fast_memcpy_aligned(void* dest, const void* source, size_t count)
        size_t rest = count & 2047;\r
        count &= ~2047;\r
                \r
+       tbb::affinity_partitioner ap;\r
        tbb::parallel_for(tbb::blocked_range<size_t>(0, count/128), [&](const tbb::blocked_range<size_t>& r)\r
        {       \r
                fast_memcpy_aligned_impl(reinterpret_cast<char*>(dest) + r.begin()*128, reinterpret_cast<const char*>(source) + r.begin()*128, r.size()*128);   \r
-       });\r
+       }, ap);\r
        \r
        return fast_memcpy_small_aligned(dest8+count, source8+count, rest);\r
 }\r
@@ -166,10 +167,11 @@ static void* fast_memcpy_unaligned(void* dest, const void* source, size_t count)
        size_t rest = count & 2047;\r
        count &= ~2047;\r
                \r
+       tbb::affinity_partitioner ap;\r
        tbb::parallel_for(tbb::blocked_range<size_t>(0, count/128), [&](const tbb::blocked_range<size_t>& r)\r
        {       \r
                fast_memcpy_unaligned_impl(reinterpret_cast<char*>(dest) + r.begin()*128, reinterpret_cast<const char*>(source) + r.begin()*128, r.size()*128);   \r
-       });\r
+       }, ap);\r
        \r
        return fast_memcpy_small_unaligned(dest8+count, source8+count, rest);\r
 }\r