Fix T84496: Cycles: Tile stealing does not work with NLM
Reviewed By: brecht Maniphest Tasks: T84496 Differential Revision: https://developer.blender.org/D10066
This commit is contained in:
parent
d5c59913de
commit
b70f4a265a
Notes:
blender-bot
2023-02-13 19:57:55 +01:00
Referenced by issue #84496, Tile stealing does not work with NLM
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue