diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2014-04-17 14:18:49 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2014-04-17 14:18:49 +0400 |
commit | 39bfde674cfe4f6a9140b6d4c48a348de04d715a (patch) | |
tree | 1b78f1fee39fcdfb4bcc55afbf0736e86bc0c2de /intern | |
parent | 18da79f471f4aa15df895d253b03c9c3600411cf (diff) |
Cycles CUDA: don't use cuLaunchGridAsync at all for display devices.
As suggested by Martijn, this is slower than cuLaunchGrid.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/device/device_cuda.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
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(); |