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
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2021-01-10 21:16:07 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2021-01-11 23:04:49 +0300
commitb70f4a265a22ceb2c31dd54002a318d0f949e294 (patch)
treec749b886b58c3cb5fb5ecae7435e2621916c0b86 /intern/cycles/render/session.cpp
parentd5c59913de95b6b6952088f175a8393bef376d27 (diff)
Fix T84496: Cycles: Tile stealing does not work with NLM
Reviewed By: brecht Maniphest Tasks: T84496 Differential Revision: https://developer.blender.org/D10066
Diffstat (limited to 'intern/cycles/render/session.cpp')
-rw-r--r--intern/cycles/render/session.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 524a0e3b9d4..a00f8154148 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -459,13 +459,17 @@ bool Session::acquire_tile(RenderTile &rtile, Device *tile_device, uint tile_typ
int device_num = device->device_number(tile_device);
while (!tile_manager.next_tile(tile, device_num, tile_types)) {
+ if (steal_tile(rtile, tile_device, tile_lock)) {
+ return true;
+ }
+
/* Wait for denoising tiles to become available */
if ((tile_types & RenderTile::DENOISE) && !progress.get_cancel() && tile_manager.has_tiles()) {
denoising_cond.wait(tile_lock);
continue;
}
- return steal_tile(rtile, tile_device, tile_lock);
+ return false;
}
/* fill render tile */
@@ -477,6 +481,7 @@ bool Session::acquire_tile(RenderTile &rtile, Device *tile_device, uint tile_typ
rtile.num_samples = tile_manager.state.num_samples;
rtile.resolution = tile_manager.state.resolution_divider;
rtile.tile_index = tile->index;
+ rtile.stealing_state = RenderTile::NO_STEALING;
if (tile->state == Tile::DENOISE) {
rtile.task = RenderTile::DENOISE;