[Bf-blender-cvs] [96793b7] depsgraph_refactor: Merge branch 'master' into depsgraph_refactor

Sergey Sharybin noreply at git.blender.org
Fri Oct 10 16:52:56 CEST 2014


Commit: 96793b7fe55c418b83e5a835284f693a4dd72675
Author: Sergey Sharybin
Date:   Fri Oct 10 16:52:31 2014 +0200
Branches: depsgraph_refactor
https://developer.blender.org/rB96793b7fe55c418b83e5a835284f693a4dd72675

Merge branch 'master' into depsgraph_refactor

Also made sure it compiles here.

Conflicts:
	source/blender/blenkernel/intern/scene.c
	source/blender/blenlib/BLI_utildefines.h
	source/blender/editors/space_info/CMakeLists.txt
	source/creator/CMakeLists.txt

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



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

diff --cc build_files/cmake/macros.cmake
index bdd3883,b42e62e..b7df30f
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@@ -411,6 -413,251 +413,252 @@@ macro(setup_liblink
  	endif()
  
  	target_link_libraries(${target} ${PLATFORM_LINKLIBS} ${CMAKE_DL_LIBS})
+ 
+ 	# We put CLEW and CUEW here because OPENSUBDIV_LIBRARIES dpeends on them..
+ 	if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV)
+ 		target_link_libraries(${target} "extern_clew")
+ 		target_link_libraries(${target} "extern_cuew")
+ 	endif()
+ endmacro()
+ 
+ macro(SETUP_BLENDER_SORTED_LIBS)
+ 	get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
+ 
+ 	list(APPEND BLENDER_LINK_LIBS
+ 		bf_windowmanager
+ 		bf_render
+ 	)
+ 
+ 	if(WITH_MOD_FLUID)
+ 		list(APPEND BLENDER_LINK_LIBS bf_intern_elbeem)
+ 	endif()
+ 
+ 	if(WITH_CYCLES)
+ 		list(APPEND BLENDER_LINK_LIBS
+ 			cycles_render
+ 			cycles_bvh
+ 			cycles_device
+ 			cycles_kernel
+ 			cycles_util
+ 			cycles_subd)
+ 		if(WITH_CYCLES_OSL)
+ 			list(APPEND BLENDER_LINK_LIBS cycles_kernel_osl)
+ 		endif()
+ 	endif()
+ 
+ 	# Sort libraries
+ 	set(BLENDER_SORTED_LIBS
+ 		bf_windowmanager
+ 
+ 		bf_editor_space_api
+ 		bf_editor_space_action
+ 		bf_editor_space_buttons
+ 		bf_editor_space_console
+ 		bf_editor_space_file
+ 		bf_editor_space_graph
+ 		bf_editor_space_image
+ 		bf_editor_space_info
+ 		bf_editor_space_logic
+ 		bf_editor_space_nla
+ 		bf_editor_space_node
+ 		bf_editor_space_outliner
+ 		bf_editor_space_script
+ 		bf_editor_space_sequencer
+ 		bf_editor_space_text
+ 		bf_editor_space_time
+ 		bf_editor_space_userpref
+ 		bf_editor_space_view3d
+ 		bf_editor_space_clip
+ 
+ 		bf_editor_transform
+ 		bf_editor_util
+ 		bf_editor_uvedit
+ 		bf_editor_curve
+ 		bf_editor_gpencil
+ 		bf_editor_interface
+ 		bf_editor_mesh
+ 		bf_editor_metaball
+ 		bf_editor_object
+ 		bf_editor_armature
+ 		bf_editor_physics
+ 		bf_editor_render
+ 		bf_editor_screen
+ 		bf_editor_sculpt_paint
+ 		bf_editor_sound
+ 		bf_editor_animation
+ 		bf_editor_datafiles
+ 		bf_editor_mask
+ 		bf_editor_io
+ 
+ 		bf_render
+ 		bf_python
+ 		bf_python_ext
+ 		bf_python_mathutils
+ 		bf_python_bmesh
+ 		bf_freestyle
+ 		bf_ikplugin
+ 		bf_modifiers
+ 		bf_bmesh
+ 		bf_blenkernel
+ 		bf_nodes
+ 		bf_rna
+ 		bf_gpu
+ 		bf_blenloader
+ 		bf_imbuf
+ 		bf_blenlib
++		bf_depsgraph
+ 		bf_intern_ghost
+ 		bf_intern_string
+ 		bf_avi
+ 		bf_imbuf_cineon
+ 		bf_imbuf_openexr
+ 		bf_imbuf_openimageio
+ 		bf_imbuf_dds
+ 		bf_collada
+ 		bf_intern_elbeem
+ 		bf_intern_memutil
+ 		bf_intern_guardedalloc
+ 		bf_intern_ctr
+ 		bf_intern_utfconv
+ 		ge_blen_routines
+ 		ge_converter
+ 		ge_phys_dummy
+ 		ge_phys_bullet
+ 		bf_intern_smoke
+ 		extern_minilzo
+ 		extern_lzma
+ 		extern_colamd
+ 		ge_logic_ketsji
+ 		extern_recastnavigation
+ 		ge_logic
+ 		ge_rasterizer
+ 		ge_oglrasterizer
+ 		ge_logic_expressions
+ 		ge_scenegraph
+ 		ge_logic_network
+ 		ge_logic_ngnetwork
+ 		ge_logic_loopbacknetwork
+ 		bf_intern_moto
+ 		extern_openjpeg
+ 		extern_redcode
+ 		ge_videotex
+ 		bf_dna
+ 		bf_blenfont
+ 		bf_intern_audaspace
+ 		bf_intern_mikktspace
+ 		bf_intern_dualcon
+ 		bf_intern_cycles
+ 		cycles_render
+ 		cycles_bvh
+ 		cycles_device
+ 		cycles_kernel
+ 		cycles_util
+ 		cycles_subd
+ 		bf_intern_raskter
+ 		bf_intern_opencolorio
+ 		extern_rangetree
+ 		extern_wcwidth
+ 		extern_libmv
+ 		extern_glog
+ 
+ 		bf_intern_glew_mx
+ 	)
+ 
+ 	if(WITH_COMPOSITOR)
+ 		# added for opencl compositor
+ 		list_insert_before(BLENDER_SORTED_LIBS "bf_blenkernel" "bf_compositor")
+ 		list_insert_after(BLENDER_SORTED_LIBS "bf_compositor" "bf_intern_opencl")
+ 	endif()
+ 
+ 	if(WITH_LIBMV)
+ 		list(APPEND BLENDER_SORTED_LIBS extern_ceres)
+ 	endif()
+ 
+ 	if(WITH_MOD_CLOTH_ELTOPO)
+ 		list(APPEND BLENDER_SORTED_LIBS extern_eltopo)
+ 	endif()
+ 
+ 	if(NOT WITH_SYSTEM_GLEW)
+ 		list(APPEND BLENDER_SORTED_LIBS ${BLENDER_GLEW_LIBRARIES})
+ 	endif()
+ 
+ 	if(WITH_BINRELOC)
+ 		list(APPEND BLENDER_SORTED_LIBS extern_binreloc)
+ 	endif()
+ 
+ 	if(WITH_CXX_GUARDEDALLOC)
+ 		list(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp)
+ 	endif()
+ 
+ 	if(WITH_IK_SOLVER)
+ 		list_insert_after(BLENDER_SORTED_LIBS "bf_intern_elbeem" "bf_intern_iksolver")
+ 	endif()
+ 
+ 	if(WITH_IK_ITASC)
+ 		list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc)
+ 	endif()
+ 
+ 	if(WITH_CODEC_QUICKTIME)
+ 		list(APPEND BLENDER_SORTED_LIBS bf_quicktime)
+ 	endif()
+ 
+ 	if(WITH_INPUT_NDOF)
+ 		list(APPEND BLENDER_SORTED_LIBS bf_intern_ghostndof3dconnexion)
+ 	endif()
+ 	
+ 	if(WITH_MOD_BOOLEAN)
+ 		list(APPEND BLENDER_SORTED_LIBS extern_carve)
+ 	endif()
+ 
+ 	if(WITH_GHOST_XDND)
+ 		list(APPEND BLENDER_SORTED_LIBS extern_xdnd)
+ 	endif()
+ 
+ 	if(WITH_CYCLES_OSL)
+ 		list_insert_after(BLENDER_SORTED_LIBS "cycles_kernel" "cycles_kernel_osl")
+ 	endif()
+ 
+ 	if(WITH_INTERNATIONAL)
+ 		list(APPEND BLENDER_SORTED_LIBS bf_intern_locale)
+ 	endif()
+ 
+ 	if(WITH_OPENNL)
+ 		list_insert_after(BLENDER_SORTED_LIBS "bf_render" "bf_intern_opennl")
+ 	endif()
+ 
+ 	if(WITH_BULLET)
+ 		list_insert_after(BLENDER_SORTED_LIBS "bf_blenkernel" "bf_intern_rigidbody")
+ 	endif()
+ 
+ 	if(WITH_BULLET AND NOT WITH_SYSTEM_BULLET)
+ 		list_insert_after(BLENDER_SORTED_LIBS "ge_logic_ngnetwork" "extern_bullet")
+ 	endif()
+ 
+ 	foreach(SORTLIB ${BLENDER_SORTED_LIBS})
+ 		set(REMLIB ${SORTLIB})
+ 		foreach(SEARCHLIB ${BLENDER_LINK_LIBS})
+ 			if(${SEARCHLIB} STREQUAL ${SORTLIB})
+ 				set(REMLIB "")
+ 			endif()
+ 		endforeach()
+ 		if(REMLIB)
+ 			# message(STATUS "Removing library ${REMLIB} from blender linking because: not configured")
+ 			list(APPEND REM_MSG ${REMLIB})
+ 			list(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
+ 		endif()
+ 	endforeach()
+ 	if(REM_MSG)
+ 		list(SORT REM_MSG)
+ 		message(STATUS "Blender Skipping: (${REM_MSG})")
+ 	endif()
+ 
+ 	unset(SEARCHLIB)
+ 	unset(SORTLIB)
+ 	unset(REMLIB)
+ 	unset(REM_MSG)
+ 
+ 	# for top-level tests
+ 	set_property(GLOBAL PROPERTY BLENDER_SORTED_LIBS_PROP ${BLENDER_SORTED_LIBS})
  endmacro()
  
  macro(TEST_SSE_SUPPORT
diff --cc build_files/scons/tools/Blender.py
index a20769d,b5853b2..462bc48
mode 100644,100755..100755
--- a/build_files/scons/tools/Blender.py
+++ b/build_files/scons/tools/Blender.py
diff --cc extern/libmv/third_party/gflags/gflags.cc
index 4ba2b6f,4ba2b6f..3b8136a
--- a/extern/libmv/third_party/gflags/gflags.cc
+++ b/extern/libmv/third_party/gflags/gflags.cc
@@@ -348,13 -348,13 +348,13 @@@ string FlagValue::ToString() const 
      case FV_BOOL:
        return VALUE_AS(bool) ? "true" : "false";
      case FV_INT32:
--      snprintf(intbuf, sizeof(intbuf), "%"PRId32, VALUE_AS(int32));
++      snprintf(intbuf, sizeof(intbuf), "%" PRId32, VALUE_AS(int32));
        return intbuf;
      case FV_INT64:
--      snprintf(intbuf, sizeof(intbuf), "%"PRId64, VALUE_AS(int64));
++      snprintf(intbuf, sizeof(intbuf), "%" PRId64, VALUE_AS(int64));
        return intbuf;
      case FV_UINT64:
--      snprintf(intbuf, sizeof(intbuf), "%"PRIu64, VALUE_AS(uint64));
++      snprintf(intbuf, sizeof(intbuf), "%" PRIu64, VALUE_AS(uint64));
        return intbuf;
      case FV_DOUBLE:
        snprintf(intbuf, sizeof(intbuf), "%.17g", VALUE_AS(double));
diff --cc intern/cycles/util/util_types.h
index 98d7078,2a199e5..1694e7d
--- a/intern/cycles/util/util_types.h
+++ b/intern/cycles/util/util_types.h
@@@ -472,16 -479,16 +479,16 @@@ enum InterpolationType 
  /* Causes warning:
   * incompatible types when assigning to type 'Foo' from type 'Bar'
   * ... the compiler optimizes away the temp var */
--#ifdef __GNUC__
++#if defined(__GNUC__)
  #define CHECK_TYPE(var, type)  {  \
- 	__typeof(var) *__tmp;         \
 -	typeof(var) *__tmp;         \
++	decltype(var) *__tmp;         \
  	__tmp = (type *)NULL;         \
  	(void)__tmp;                  \
  } (void)0
  
  #define CHECK_TYPE_PAIR(var_a, var_b)  {  \
- 	__typeof(var_a) *__tmp;               \
- 	__tmp = (__typeof(var_b) *)NULL;      \
 -	typeof(var_a) *__tmp;                 \
++	decltype(var_a) *__tmp;               \
+ 	__tmp = (typeof(var_b) *)NULL;        \
  	(void)__tmp;                          \
  } (void)0
  #else
diff --cc source/blender/blenkernel/intern/blender.c
index 8756e82,adfe43c..16eea1c
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@@ -79,9 -79,8 +79,10 @@@
  #include "BKE_sequencer.h"
  #include "BKE_sound.h"
  
 +#include "DEG_depsgraph.h"
 +
  #include "RE_pipeline.h"
+ #include "RE_render_ext.h"
  
  #include "BLF_api.h"
  
@@@ -119,10 -118,9 +120,11 @@@ void free_blender(void
  	IMB_exit();
  	BKE_images_exit();
  	DAG_exit();
 +	DEG_threaded_exit();
 +	DEG_free_node_types();
  
  	BKE_brush_system_exit();
+ 	RE_exit_texture_rng();	
  
  	BLI_callback_global_finalize();
  
diff --cc source/blender/blenkernel/intern/scene.c
index 8c6ce43,5bfd6e8..4aed360
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@@ -78,10 -82,9 +82,11 @@@
  #include "BKE_scene.h"
  #include "BKE_sequencer.h"
  #include "BKE_sound.h"
+ #include "BKE_unit.h"
  #include "BKE_world.h"
  
 +#include "DEG_depsgraph.h"
 +
  #include "RE_engine.h"
  
  #include "PIL_time.h"
@@@ -1546,91 -1559,134 +1564,141 @@@ static void scene_update_tagged_recursi
  	
  }
  
+ static bool check_rendered_viewport_visible(Main *bmain)
+ {
+ 	wmWindowManager *wm = bmain->wm.first;
+ 	wmWindow *window;
+ 	for (window = wm->windows.first; window != NULL; window = window->next) {
+ 		bScreen *screen = window->screen;
+ 		ScrArea *area;
+ 		for (area = screen->areabase.first; area != NULL; area = area->next) {
+ 			View3D *v3d = area->spacedata.first;
+ 			if (area->spacetype != SPACE_VIEW3D) {
+ 				continue;
+ 			}
+ 			if (v3d->drawtype == OB_RENDER) {
+ 				return true;
+ 			}
+ 		}
+ 	}
+ 	return false;
+ }
+ 
+ static void prepare_mesh_for_viewport_render(Main *bmain, Scene *scene)
+ {
+ 	/* This is needed to prepare mesh to be used by the render
+ 	 * engine from the viewport rendering. We do loading here
+ 	 * so all the objects which shares the same mesh datablock
+ 	 * are nicely tagged for update and updated.
+ 	 *
+ 	 * This makes it so viewport render engine doesn't need to
+ 	 * call loading of the edit data for the me

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list