Revision: 29995 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29995 Author: blendix Date: 2010-07-05 19:35:38 +0200 (Mon, 05 Jul 2010)
Log Message: ----------- Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29923:29994 Modified Paths: -------------- branches/render25/CMake/macros.cmake branches/render25/CMakeLists.txt branches/render25/SConstruct branches/render25/intern/ghost/CMakeLists.txt branches/render25/intern/ghost/GHOST_C-api.h branches/render25/intern/ghost/GHOST_ISystem.h branches/render25/intern/ghost/intern/GHOST_C-api.cpp branches/render25/intern/ghost/intern/GHOST_System.h branches/render25/intern/ghost/intern/GHOST_SystemCarbon.cpp branches/render25/intern/ghost/intern/GHOST_SystemCarbon.h branches/render25/intern/ghost/intern/GHOST_SystemCocoa.h branches/render25/intern/ghost/intern/GHOST_SystemCocoa.mm branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp branches/render25/intern/ghost/intern/GHOST_SystemWin32.h branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp branches/render25/intern/ghost/intern/GHOST_SystemX11.h branches/render25/intern/ghost/intern/Makefile branches/render25/release/scripts/ui/properties_physics_common.py branches/render25/release/scripts/ui/properties_texture.py branches/render25/release/scripts/ui/space_info.py branches/render25/release/scripts/ui/space_sequencer.py branches/render25/source/Makefile branches/render25/source/blender/blenfont/intern/blf_lang.c branches/render25/source/blender/blenkernel/BKE_multires.h branches/render25/source/blender/blenkernel/BKE_scene.h branches/render25/source/blender/blenkernel/SConscript branches/render25/source/blender/blenkernel/intern/blender.c branches/render25/source/blender/blenkernel/intern/depsgraph.c branches/render25/source/blender/blenkernel/intern/exotic.c branches/render25/source/blender/blenkernel/intern/group.c branches/render25/source/blender/blenkernel/intern/ipo.c branches/render25/source/blender/blenkernel/intern/library.c branches/render25/source/blender/blenkernel/intern/multires.c branches/render25/source/blender/blenkernel/intern/object.c branches/render25/source/blender/blenkernel/intern/scene.c branches/render25/source/blender/blenkernel/intern/sequencer.c branches/render25/source/blender/blenkernel/intern/texture.c branches/render25/source/blender/blenlib/BLI_path_util.h branches/render25/source/blender/blenlib/intern/BLI_bfile.c branches/render25/source/blender/blenlib/intern/path_util.c branches/render25/source/blender/blenloader/intern/readfile.c branches/render25/source/blender/blenloader/intern/writefile.c branches/render25/source/blender/editors/animation/anim_channels_defines.c branches/render25/source/blender/editors/animation/anim_deps.c branches/render25/source/blender/editors/animation/anim_filter.c branches/render25/source/blender/editors/animation/keyframes_draw.c branches/render25/source/blender/editors/animation/keyingsets.c branches/render25/source/blender/editors/include/ED_anim_api.h branches/render25/source/blender/editors/include/ED_render.h branches/render25/source/blender/editors/include/UI_interface.h branches/render25/source/blender/editors/interface/interface_handlers.c branches/render25/source/blender/editors/interface/interface_icons.c branches/render25/source/blender/editors/interface/interface_intern.h branches/render25/source/blender/editors/interface/interface_templates.c branches/render25/source/blender/editors/interface/interface_widgets.c branches/render25/source/blender/editors/metaball/mball_edit.c branches/render25/source/blender/editors/object/object_add.c branches/render25/source/blender/editors/object/object_edit.c branches/render25/source/blender/editors/object/object_modifier.c branches/render25/source/blender/editors/object/object_relations.c branches/render25/source/blender/editors/render/render_internal.c branches/render25/source/blender/editors/render/render_preview.c branches/render25/source/blender/editors/screen/area.c branches/render25/source/blender/editors/space_file/file_ops.c branches/render25/source/blender/editors/space_file/filelist.c branches/render25/source/blender/editors/space_file/fsmenu.c branches/render25/source/blender/editors/space_file/fsmenu.h branches/render25/source/blender/editors/space_file/space_file.c branches/render25/source/blender/editors/space_image/SConscript branches/render25/source/blender/editors/space_info/space_info.c branches/render25/source/blender/editors/space_node/drawnode.c branches/render25/source/blender/editors/space_node/node_edit.c branches/render25/source/blender/editors/space_sequencer/sequencer_edit.c branches/render25/source/blender/editors/space_view3d/drawobject.c branches/render25/source/blender/editors/space_view3d/view3d_draw.c branches/render25/source/blender/editors/space_view3d/view3d_edit.c branches/render25/source/blender/editors/transform/transform_conversions.c branches/render25/source/blender/editors/transform/transform_generics.c branches/render25/source/blender/editors/util/ed_util.c branches/render25/source/blender/gpu/GPU_extensions.h branches/render25/source/blender/gpu/intern/gpu_extensions.c branches/render25/source/blender/makesdna/DNA_action_types.h branches/render25/source/blender/makesdna/DNA_node_types.h branches/render25/source/blender/makesdna/DNA_object_types.h branches/render25/source/blender/makesdna/DNA_sequence_types.h branches/render25/source/blender/makesdna/DNA_texture_types.h branches/render25/source/blender/makesrna/SConscript branches/render25/source/blender/makesrna/intern/rna_access.c branches/render25/source/blender/makesrna/intern/rna_action.c branches/render25/source/blender/makesrna/intern/rna_curve.c branches/render25/source/blender/makesrna/intern/rna_object_force.c branches/render25/source/blender/makesrna/intern/rna_scene.c branches/render25/source/blender/makesrna/intern/rna_texture.c branches/render25/source/blender/makesrna/intern/rna_ui_api.c branches/render25/source/blender/modifiers/intern/MOD_meshdeform.c branches/render25/source/blender/nodes/intern/CMP_nodes/CMP_colorbalance.c branches/render25/source/blender/python/intern/bpy.c branches/render25/source/blender/python/intern/bpy_interface.c branches/render25/source/blender/readblenfile/intern/BLO_readblenfile.c branches/render25/source/blender/render/CMakeLists.txt branches/render25/source/blender/render/intern/source/texture.c branches/render25/source/blender/windowmanager/WM_api.h branches/render25/source/blender/windowmanager/WM_types.h branches/render25/source/blender/windowmanager/intern/wm_draw.c branches/render25/source/blender/windowmanager/intern/wm_event_system.c branches/render25/source/blender/windowmanager/intern/wm_files.c branches/render25/source/blender/windowmanager/intern/wm_init_exit.c branches/render25/source/blender/windowmanager/intern/wm_jobs.c branches/render25/source/blender/windowmanager/intern/wm_subwindow.c branches/render25/source/blender/windowmanager/wm_files.h branches/render25/source/creator/CMakeLists.txt branches/render25/source/creator/creator.c branches/render25/tools/Blender.py branches/render25/tools/btools.py Added Paths: ----------- branches/render25/intern/ghost/GHOST_Path-api.h branches/render25/intern/ghost/intern/GHOST_Path-api.cpp Modified: branches/render25/CMake/macros.cmake =================================================================== --- branches/render25/CMake/macros.cmake 2010-07-05 16:42:42 UTC (rev 29994) +++ branches/render25/CMake/macros.cmake 2010-07-05 17:35:38 UTC (rev 29995) @@ -181,3 +181,20 @@ TARGET_LINK_LIBRARIES(${target} ${PTHREADS_LIB}) ENDIF(WIN32) ENDMACRO(SETUP_LIBLINKS) + +MACRO(TEST_SSE_SUPPORT) + INCLUDE(CheckCXXSourceCompiles) + + MESSAGE(STATUS "Detecting SSE support") + IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + SET(CMAKE_REQUIRED_FLAGS "-msse -msse2") + ELSEIF(MSVC) + SET(CMAKE_REQUIRED_FLAGS "/arch:SSE2") + ENDIF() + + CHECK_CXX_SOURCE_COMPILES(" + #include <xmmintrin.h> + int main() { __m128 v = _mm_setzero_ps(); return 0; }" + SUPPORT_SSE_BUILD) +ENDMACRO(TEST_SSE_SUPPORT) + Modified: branches/render25/CMakeLists.txt =================================================================== --- branches/render25/CMakeLists.txt 2010-07-05 16:42:42 UTC (rev 29994) +++ branches/render25/CMakeLists.txt 2010-07-05 17:35:38 UTC (rev 29995) @@ -60,6 +60,10 @@ SET(BLENDER_VERSION 2.5) #----------------------------------------------------------------------------- +# Load some macros. +INCLUDE(CMake/macros.cmake) + +#----------------------------------------------------------------------------- # Set default config options # Blender internal features @@ -114,7 +118,7 @@ OPTION(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking" OFF) OPTION(WITH_INSTALL "Install accompanying scripts and language files needed to run blender" ON) -IF (APPLE) +IF(APPLE) OPTION(WITH_COCOA "Use Cocoa framework instead of deprecated Carbon" ON) OPTION(USE_QTKIT "Use QtKit instead of Carbon quicktime (needed for having partial quicktime for 64bit)" OFF) OPTION(WITH_LIBS10.5 "Use 10.5 libs (needed for 64bit builds)" OFF) @@ -128,6 +132,8 @@ MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE") ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER) +TEST_SSE_SUPPORT() + # disabled for now, not supported # OPTION(WITH_WEBPLUGIN "Enable Web Plugin (Unix only)" OFF) @@ -140,10 +146,6 @@ # When changing any of this remember to update the notes in doc/blender-cmake.txt #----------------------------------------------------------------------------- -# Load some macros. -INCLUDE(CMake/macros.cmake) - -#----------------------------------------------------------------------------- #Platform specifics IF(UNIX AND NOT APPLE) @@ -308,9 +310,11 @@ SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -Wno-char-subscripts") - IF(WITH_RAYOPTIMIZATION) - SET(PLATFORM_CFLAGS " -msse ${PLATFORM_CFLAGS}") - ENDIF(WITH_RAYOPTIMIZATION) + IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) + SET(PLATFORM_CFLAGS " -msse -msse2 ${PLATFORM_CFLAGS}") + ADD_DEFINITIONS(-D__SSE__) + ADD_DEFINITIONS(-D__MMX__) + ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) SET(PLATFORM_LINKFLAGS "-pthread") @@ -396,6 +400,11 @@ SET(QUICKTIME_LIBPATH ${QUICKTIME}/Libraries) ENDIF(WITH_QUICKTIME) + IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) + ADD_DEFINITIONS(-D__SSE__) + ADD_DEFINITIONS(-D__MMX__) + ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) + IF(MSVC) IF(CMAKE_CL_64) SET(LLIBS kernel32 user32 vfw32 winmm ws2_32 ) @@ -797,6 +806,12 @@ SET(TIFF_LIBPATH ${TIFF}/lib) ENDIF(WITH_TIFF) + IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) + SET(PLATFORM_CFLAGS " -msse -msse2 ${PLATFORM_CFLAGS}") + ADD_DEFINITIONS(-D__SSE__) + ADD_DEFINITIONS(-D__MMX__) + ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) + SET(EXETYPE MACOSX_BUNDLE) SET(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g") Modified: branches/render25/SConstruct =================================================================== --- branches/render25/SConstruct 2010-07-05 16:42:42 UTC (rev 29994) +++ branches/render25/SConstruct 2010-07-05 17:35:38 UTC (rev 29995) @@ -56,6 +56,8 @@ btools = tools.btools B = tools.Blender +VERSION = tools.btools.VERSION # This is used in creating the local config directories + ### globals ### platform = sys.platform quickie = None @@ -193,7 +195,7 @@ # NOTE: only do the scripts directory for now, otherwise is too disruptive for developers # TODO: perhaps we need an option (off by default) to not do this altogether... if not env['WITHOUT_BF_INSTALL'] and not env['WITHOUT_BF_OVERWRITE_INSTALL']: - scriptsDir = env['BF_INSTALLDIR'] + os.sep + '.blender' + os.sep + 'scripts' + scriptsDir = os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts') if os.path.isdir(scriptsDir): print B.bc.OKGREEN + "Clearing installation directory%s: %s" % (B.bc.ENDC, os.path.abspath(scriptsDir)) shutil.rmtree(scriptsDir) @@ -434,9 +436,11 @@ blenderinstall = env.Install(dir=dir, source=B.program_list) -#-- .blender -#- dont do .blender and scripts for darwin, it is already in the bundle +#-- local path = config files in install dir: installdir\VERSION +#- dont do config and scripts for darwin, it is already in the bundle dotblendlist = [] +datafileslist = [] +datafilestargetlist = [] dottargetlist = [] scriptinstall = [] @@ -455,20 +459,29 @@ if f.endswith('.ttf'): continue - dotblendlist.append(os.path.join(dp, f)) - if env['WITH_BF_FHS']: dir= os.path.join(*([BLENDERPATH] + dp.split(os.sep)[2:])) # skip bin/.blender - else: dir= os.path.join(*([BLENDERPATH] + dp.split(os.sep)[1:])) # skip bin - - dottargetlist.append(dir + os.sep + f) + if 'locale' in dp: + datafileslist.append(os.path.join(dp,f)) + if env['WITH_BF_FHS']: dir= os.path.join(*([BLENDERPATH] + ['datafiles'] + dp.split(os.sep)[2:])) # skip bin/.blender + else: dir= os.path.join(*([BLENDERPATH] + [VERSION] + ['datafiles'] + dp.split(os.sep)[1:])) # skip bin + datafilestargetlist.append(dir + os.sep + f) + + else: + dotblendlist.append(os.path.join(dp, f)) + if env['WITH_BF_FHS']: dir= os.path.join(*([BLENDERPATH] + ['config'] + dp.split(os.sep)[2:])) # skip bin/.blender + else: dir= os.path.join(*([BLENDERPATH] + [VERSION] + ['config'] + dp.split(os.sep)[1:])) # skip bin - + dottargetlist.append(dir + os.sep + f) + dotblenderinstall = [] for targetdir,srcfile in zip(dottargetlist, dotblendlist): td, tf = os.path.split(targetdir) dotblenderinstall.append(env.Install(dir=td, source=srcfile)) + for targetdir,srcfile in zip(datafilestargetlist, datafileslist): + td, tf = os.path.split(targetdir) + dotblenderinstall.append(env.Install(dir=td, source=srcfile)) if env['WITH_BF_PYTHON']: - #-- .blender/scripts + #-- local/VERSION/scripts scriptpaths=['release/scripts'] for scriptpath in scriptpaths: for dp, dn, df in os.walk(scriptpath): @@ -476,7 +489,7 @@ dn.remove('.svn') if env['WITH_BF_FHS']: dir = BLENDERPATH - else: dir = os.path.join(env['BF_INSTALLDIR'], '.blender') + else: dir = os.path.join(env['BF_INSTALLDIR'], VERSION) dir += os.sep + os.path.basename(scriptpath) + dp[len(scriptpath):] source=[os.path.join(dp, f) for f in df if f[-3:]!='pyc'] Modified: branches/render25/intern/ghost/CMakeLists.txt =================================================================== --- branches/render25/intern/ghost/CMakeLists.txt 2010-07-05 16:42:42 UTC (rev 29994) +++ branches/render25/intern/ghost/CMakeLists.txt 2010-07-05 17:35:38 UTC (rev 29995) @@ -42,6 +42,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_ISystem.cpp ${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_ModifierKeys.cpp ${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_NDOFManager.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_Path-api.cpp ${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_Rect.cpp ${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_System.cpp ${CMAKE_CURRENT_SOURCE_DIR}/intern/GHOST_TimerManager.cpp Modified: branches/render25/intern/ghost/GHOST_C-api.h =================================================================== --- branches/render25/intern/ghost/GHOST_C-api.h 2010-07-05 16:42:42 UTC (rev 29994) +++ branches/render25/intern/ghost/GHOST_C-api.h 2010-07-05 17:35:38 UTC (rev 29995) @@ -836,21 +836,7 @@ */ extern void GHOST_putClipboard(GHOST_TInt8 *buffer, int selection); -/** - * Determine the base dir in which shared resources are located. It will first try to use - * "unpack and run" path, then look for properly installed path, not including versioning. - * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). - */ -extern const GHOST_TUns8* GHOST_getSystemDir(); -/** - * Determine the base dir in which user configuration is stored, not including versioning. - * If needed, it will create the base directory. - * @return Unsigned char string pointing to user dir (eg ~/.blender/). - */ -extern const GHOST_TUns8* GHOST_getUserDir(); - - #ifdef __cplusplus } #endif Modified: branches/render25/intern/ghost/GHOST_ISystem.h =================================================================== --- branches/render25/intern/ghost/GHOST_ISystem.h 2010-07-05 16:42:42 UTC (rev 29994) +++ branches/render25/intern/ghost/GHOST_ISystem.h 2010-07-05 17:35:38 UTC (rev 29995) @@ -370,12 +370,7 @@ */ virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0; - - /*************************************************************************************** - ** Determine special paths. - ***************************************************************************************/ - - /** + /** * Determine the base dir in which shared resources are located. It will first try to use * "unpack and run" path, then look for properly installed path, not including versioning. * @return Unsigned char string pointing to system dir (eg /usr/share/blender/). @@ -389,6 +384,11 @@ */ virtual const GHOST_TUns8* getUserDir() const = 0; + /** + * Determine the directory of the current binary + * @return Unsigned char string pointing to the binary dir + */ + virtual const GHOST_TUns8* getBinaryDir() const = 0; protected: /** * Initialize the system. Copied: branches/render25/intern/ghost/GHOST_Path-api.h (from rev 29983, trunk/blender/intern/ghost/GHOST_Path-api.h) =================================================================== --- branches/render25/intern/ghost/GHOST_Path-api.h (rev 0) @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs