Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorPatrick Mours <pmours@nvidia.com>2020-01-14 19:47:41 +0300
committerPatrick Mours <pmours@nvidia.com>2020-01-14 19:48:16 +0300
commitff430dea663521f742ff2f8f79b5d7f4978ecc04 (patch)
tree254dbe60866d25c495f82ca8f18a0843744df2a1 /intern
parent4c1fb6412384b73c8900ce89462ee33a9609ad88 (diff)
Fix rendering motion blur scenes with OptiX failing with CUDA_ERROR_INVALID_CONTEXT
Commit baeb11826b9fe5525db6dd05ba5271949079fc1e switched memory allocation for the motion transform to use CUDA directly, instead of going through abstractions. But no CUDA context was set active before those were called, so the calls failed. This fixes that by binding a context beforehand.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/device/device_optix.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp
index 979ea7dba23..a510e538031 100644
--- a/intern/cycles/device/device_optix.cpp
+++ b/intern/cycles/device/device_optix.cpp
@@ -1432,6 +1432,8 @@ class OptiXDevice : public Device {
size_t motion_transform_size = sizeof(OptixSRTMotionTransform) +
motion_keys * sizeof(OptixSRTData);
+ const CUDAContextScope scope(cuda_context);
+
CUdeviceptr motion_transform_gpu = 0;
check_result_cuda_ret(cuMemAlloc(&motion_transform_gpu, motion_transform_size));
as_mem.push_back(motion_transform_gpu);