diff options
Diffstat (limited to 'intern/cycles/session/tile.cpp')
-rw-r--r-- | intern/cycles/session/tile.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/intern/cycles/session/tile.cpp b/intern/cycles/session/tile.cpp index 3b8482fa16f..afd1f334120 100644 --- a/intern/cycles/session/tile.cpp +++ b/intern/cycles/session/tile.cpp @@ -341,8 +341,10 @@ int TileManager::compute_render_tile_size(const int suggested_tile_size) const /* Must be a multiple of IMAGE_TILE_SIZE so that we can write render tiles into the image file * aligned on image tile boundaries. We can't set IMAGE_TILE_SIZE equal to the render tile size * because too big tile size leads to integer overflow inside OpenEXR. */ - return (suggested_tile_size <= IMAGE_TILE_SIZE) ? suggested_tile_size : - align_up(suggested_tile_size, IMAGE_TILE_SIZE); + const int computed_tile_size = (suggested_tile_size <= IMAGE_TILE_SIZE) ? + suggested_tile_size : + align_up(suggested_tile_size, IMAGE_TILE_SIZE); + return min(computed_tile_size, MAX_TILE_SIZE); } void TileManager::reset_scheduling(const BufferParams ¶ms, int2 tile_size) |