From 39bfde674cfe4f6a9140b6d4c48a348de04d715a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 17 Apr 2014 12:18:49 +0200 Subject: Cycles CUDA: don't use cuLaunchGridAsync at all for display devices. As suggested by Martijn, this is slower than cuLaunchGrid. --- intern/cycles/device/device_cuda.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'intern') diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 9739717df0f..0d2f6cdfe19 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -664,11 +664,14 @@ public: cuda_assert(cuFuncSetCacheConfig(cuPathTrace, CU_FUNC_CACHE_PREFER_L1)) cuda_assert(cuFuncSetBlockShape(cuPathTrace, xthreads, ythreads, 1)) - cuda_assert(cuLaunchGridAsync(cuPathTrace, xblocks, yblocks, cuStream)) if(info.display_device) { /* don't use async for device used for display, locks up UI too much */ - cuda_assert(cuStreamSynchronize(cuStream)) + cuda_assert(cuLaunchGrid(cuPathTrace, xblocks, yblocks)) + cuda_assert(cuCtxSynchronize()) + } + else { + cuda_assert(cuLaunchGridAsync(cuPathTrace, xblocks, yblocks, cuStream)) } cuda_pop_context(); -- cgit v1.2.3