diff options
-rw-r--r-- | intern/cycles/render/session.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 0debc08d911..f3cdae77d47 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -540,6 +540,10 @@ bool Session::acquire_tile(RenderTile &rtile, Device *tile_device, uint tile_typ tile->buffers = new RenderBuffers(tile_device); tile->buffers->reset(buffer_params); } + else if (tile->buffers->buffer.device != tile_device) { + /* Move buffer to current tile device again in case it was stolen before. */ + tile->buffers->buffer.move_device(tile_device); + } tile->buffers->map_neighbor_copied = false; |