diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 4b2fa61e01c..8180aa0c948 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -554,7 +554,7 @@ SessionParams BlenderSync::get_session_params(BL::RenderEngine b_engine, params.tile_size = make_int2(tile_x, tile_y); } - if(BlenderSession::headless == false) { + if((BlenderSession::headless == false) && background) { params.tile_order = (TileOrder)RNA_enum_get(&cscene, "tile_order"); } else { diff --git a/intern/cycles/render/tile.cpp b/intern/cycles/render/tile.cpp index 14fd89e1a39..37b9647f84a 100644 --- a/intern/cycles/render/tile.cpp +++ b/intern/cycles/render/tile.cpp @@ -155,7 +155,10 @@ int TileManager::gen_tiles(bool sliced) cur_tiles++; if(cur_tiles == tiles_per_device) { - tile_list->sort(TileComparator(tile_order, center)); + /* Tiles are already generated in Bottom-to-Top order, so no sort is necessary in that case. */ + if(tile_order != TILE_BOTTOM_TO_TOP) { + tile_list->sort(TileComparator(tile_order, center)); + } tile_list++; cur_tiles = 0; cur_device++;