Commit: b1a7fc2c51f7c05babce6b99a1c47572906e253c
Author: Lukas Stockner
Date:   Fri Jan 1 23:52:37 2016 +0100
Branches: master
https://developer.blender.org/rBb1a7fc2c51f7c05babce6b99a1c47572906e253c

Cycles: Force bottom-to-top tile order for viewport rendering

This commit overrides the user's choice of tile order in the case of viewport 
rendering and always uses bottom-to-top instead.
This was already done until the TileManager redesign, but since it removed the 
distinction between viewport and regular rendering
in the manager, the viewport was now also using the selected order. Since this 
requires sorting of the generated tiles,
it slows down rendering a bit. With the forced bottom-to-top order, this 
sorting step can now be avoided again.

Since the tile order is invisible anyways for viewport rendering, this commit 
won't have any impact on users (apart from a slight speedup).

===================================================================

M       intern/cycles/blender/blender_sync.cpp
M       intern/cycles/render/tile.cpp

===================================================================

diff --git a/intern/cycles/blender/blender_sync.cpp 
b/intern/cycles/blender/blender_sync.cpp
index 4b2fa61..8180aa0 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 14fd89e..37b9647 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++;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to