[Bf-blender-cvs] [248faa2] opensubdiv-modifier: Merge branch 'master' into opensubdiv-modifier

Lukas Tönne noreply at git.blender.org
Tue Jun 16 14:12:39 CEST 2015


Commit: 248faa2430e19aaff378219759855fd73422da1e
Author: Lukas Tönne
Date:   Tue Jun 16 14:12:11 2015 +0200
Branches: opensubdiv-modifier
https://developer.blender.org/rB248faa2430e19aaff378219759855fd73422da1e

Merge branch 'master' into opensubdiv-modifier

Conflicts:
	CMakeLists.txt
	SConstruct
	build_files/cmake/macros.cmake
	build_files/scons/tools/Blender.py
	build_files/scons/tools/btools.py
	source/blender/blenkernel/intern/scene.c
	source/blender/blenkernel/intern/subsurf_ccg.c
	source/blender/gpu/CMakeLists.txt
	source/blender/gpu/GPU_extensions.h
	source/blender/gpu/GPU_material.h
	source/blender/gpu/SConscript
	source/blender/gpu/intern/gpu_codegen.c
	source/blender/gpu/intern/gpu_codegen.h
	source/blender/gpu/intern/gpu_draw.c
	source/blender/gpu/intern/gpu_extensions.c
	source/blender/gpu/intern/gpu_material.c
	source/blender/makesdna/DNA_userdef_types.h
	source/blender/makesrna/SConscript
	source/blender/makesrna/intern/CMakeLists.txt
	source/blender/windowmanager/CMakeLists.txt
	source/blender/windowmanager/SConscript

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



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

diff --cc CMakeLists.txt
index 0b84ec6,1f0be6c..acf301f
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@@ -147,11 -217,10 +217,11 @@@ option(WITH_FFTW3         "Enable FFTW
  option(WITH_BULLET        "Enable Bullet (Physics Engine)" ON)
  option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" )
  mark_as_advanced(WITH_SYSTEM_BULLET)
- option(WITH_GAMEENGINE    "Enable Game Engine" ON)
+ option(WITH_GAMEENGINE    "Enable Game Engine" ${_init_GAMEENGINE})
  option(WITH_PLAYER        "Build Player" OFF)
- option(WITH_OPENCOLORIO   "Enable OpenColorIO color management" ON)
+ option(WITH_OPENCOLORIO   "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
  option(WITH_COMPOSITOR    "Enable the tile based nodal compositor" ON)
 +option(WITH_OPENSUBDIV    "Enable OpenSubdiv for surface subdivision" ON)
  
  # GHOST Windowing Library Options
  option(WITH_GHOST_DEBUG   "Enable debugging output for the GHOST library" OFF)
@@@ -807,138 -1063,30 +1064,42 @@@ if(UNIX AND NOT APPLE
  		endif()
  	endif()
  
- 	# XXX Maybe most of this section should go into an llvm module?
  	if(WITH_LLVM)
- 		# Set llvm version if not specified
- 		if(NOT LLVM_VERSION)
- 			set(LLVM_VERSION "3.0")
- 		endif()
- 
- 		if(LLVM_DIRECTORY)
- 			find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION} HINTS ${LLVM_DIRECTORY}/bin NO_CMAKE_PATH)
- 			if(NOT LLVM_CONFIG)
- 				find_program(LLVM_CONFIG llvm-config HINTS ${LLVM_DIRECTORY}/bin NO_CMAKE_PATH)
- 			endif()
- 		else()
- 			find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION})
- 			if(NOT LLVM_CONFIG)
- 				find_program(LLVM_CONFIG llvm-config)
- 			endif()
- 		endif()
- 
- 		if(NOT DEFINED LLVM_VERSION)
- 			execute_process(COMMAND ${LLVM_CONFIG} --version
- 							OUTPUT_VARIABLE LLVM_VERSION
- 							OUTPUT_STRIP_TRAILING_WHITESPACE)
- 			set(LLVM_VERSION ${LLVM_VERSION} CACHE STRING "Version of LLVM to use")
- 		endif()
- 		if(NOT DEFINED LLVM_DIRECTORY)
- 			execute_process(COMMAND ${LLVM_CONFIG} --prefix
- 							OUTPUT_VARIABLE LLVM_DIRECTORY
- 							OUTPUT_STRIP_TRAILING_WHITESPACE)
- 			set(LLVM_DIRECTORY ${LLVM_DIRECTORY} CACHE PATH "Path to the LLVM installation")
- 		endif()
- 		if(NOT DEFINED LLVM_LIBPATH)
- 			execute_process(COMMAND ${LLVM_CONFIG} --libdir
- 							OUTPUT_VARIABLE LLVM_LIBPATH
- 							OUTPUT_STRIP_TRAILING_WHITESPACE)
- 			set(LLVM_LIBPATH ${LLVM_LIBPATH} CACHE PATH "Path to the LLVM library path")
- 			mark_as_advanced(LLVM_LIBPATH)
- 		endif()
+         find_package_wrapper(LLVM)
  
- 		if(LLVM_STATIC)
- 			find_library(LLVM_LIBRARY
- 			             NAMES LLVMAnalysis # first of a whole bunch of libs to get
- 			             PATHS ${LLVM_LIBPATH})
- 		else()
- 			find_library(LLVM_LIBRARY
- 			             NAMES LLVM-${LLVM_VERSION}
- 			             PATHS ${LLVM_LIBPATH})
- 		endif()
- 
- 
- 		if(LLVM_LIBRARY AND LLVM_DIRECTORY AND LLVM_LIBPATH)
- 			if(LLVM_STATIC)
- 				# if static LLVM libraries were requested, use llvm-config to generate
- 				# the list of what libraries we need, and substitute that in the right
- 				# way for LLVM_LIBRARY.
- 				execute_process(COMMAND ${LLVM_CONFIG} --libfiles
- 				                OUTPUT_VARIABLE LLVM_LIBRARY
- 				                OUTPUT_STRIP_TRAILING_WHITESPACE)
- 				string(REPLACE " " ";" LLVM_LIBRARY "${LLVM_LIBRARY}")
- 			endif()
- 		else()
- 			message(FATAL_ERROR "LLVM not found.")
+         if(NOT LLVM_FOUND)
+ 			set(WITH_LLVM OFF)
+ 			message(STATUS "LLVM not found")
  		endif()
- 
- 		# Fix for conflict with Mesa llvmpipe
- 		set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/source/creator/blender.map")
  	endif()
  
- 	if(WITH_CYCLES_OSL)
- 		set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation")
- 	
- 		message(STATUS "CYCLES_OSL = ${CYCLES_OSL}")
- 	
- 		find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib)
- 		find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib)
- 		find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib)
- 		# Note: --whole-archive is needed to force loading of all symbols in liboslexec,
- 		# otherwise LLVM is missing the osl_allocate_closure_component function
- 		list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -Wl,--whole-archive ${OSL_LIB_EXEC} -Wl,--no-whole-archive ${OSL_LIB_QUERY})
- 		find_path(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include)
- 		find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
- 	
- 		if(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER)
- 			set(OSL_FOUND TRUE)
- 			message(STATUS "OSL includes = ${OSL_INCLUDES}")
- 			message(STATUS "OSL library = ${OSL_LIBRARIES}")
- 			message(STATUS "OSL compiler = ${OSL_COMPILER}")
- 		else()
- 			message(STATUS "OSL not found")
- 		endif()
+ 	if(WITH_LLVM OR WITH_SDL_DYNLOAD)
+ 		# Fix for conflict with Mesa llvmpipe
+ 		set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,--version-script='${CMAKE_SOURCE_DIR}/source/creator/blender.map'")
  	endif()
  
 +	if(WITH_OPENSUBDIV)
 +		find_package_wrapper(OpenSubdiv)
 +
 +		set(OPENSUBDIV_LIBRARIES ${OPENSUBDIV_LIBRARIES})
 +		set(OPENSUBDIV_LIBPATH)  # TODO, remove and reference the absolute path everywhere
 +
 +		if(NOT OPENSUBDIV_FOUND)
 +			set(WITH_OPENSUBDIV OFF)
 +			message(STATUS "OpenSundiv not found")
 +		endif()
 +	endif()
 +
  	# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
- 	list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm -lpthread)
- 
- 	if((NOT WITH_HEADLESS) AND (NOT WITH_GHOST_SDL))
- 		find_package(X11 REQUIRED)
- 		find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH})
- 		mark_as_advanced(X11_XF86keysym_INCLUDE_PATH)
+ 	list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm)
  
- 		list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB})
- 
- 		if(WITH_X11_XINPUT)
- 			if(X11_Xinput_LIB)
- 				list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB})
- 			else()
- 				set(WITH_X11_XINPUT OFF)
- 			endif()
- 		endif()
+ 	find_package(Threads REQUIRED)
+ 	list(APPEND PLATFORM_LINKLIBS ${CMAKE_THREAD_LIBS_INIT})
+ 	# used by other platforms
+ 	set(PTHREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
  
- 		if(WITH_X11_XF86VMODE)
- 			# XXX, why dont cmake make this available?
- 			find_library(X11_Xxf86vmode_LIB Xxf86vm   ${X11_LIB_SEARCH_PATH})
- 			mark_as_advanced(X11_Xxf86vmode_LIB)
- 			if(X11_Xxf86vmode_LIB)
- 				list(APPEND PLATFORM_LINKLIBS ${X11_Xxf86vmode_LIB})
- 			else()
- 				set(WITH_X11_XF86VMODE OFF)
- 			endif()
- 		endif()
+ 	if(CMAKE_DL_LIBS)
+ 		list(APPEND PLATFORM_LINKLIBS ${CMAKE_DL_LIBS})
  	endif()
  
  	if(CMAKE_SYSTEM_NAME MATCHES "Linux")
@@@ -1360,13 -1497,13 +1510,20 @@@ elseif(WIN32
  			)
  		endif()
  
 +		if(WITH_OPENSUBDIV)
 +			set(OPENSUBDIV_INCLUDE_DIR ${LIBDIR}/opensubdiv/include)
 +			set(OPENSUBDIV_LIBRARIES "osdutil osdCPU osdGPU")
 +			set(OPENSUBDIV_LIBPATH ${LIBDIR}/opensubdiv/lib)
 +			find_package(OpenSubdiv)
 +		endif()
 +
+ 		if(WITH_SDL)
+ 			set(SDL ${LIBDIR}/sdl)
+ 			set(SDL_INCLUDE_DIR ${SDL}/include)
+ 			set(SDL_LIBRARY SDL2)
+ 			set(SDL_LIBPATH ${SDL}/lib)
+ 		endif()
+ 
  		# used in many places so include globally, like OpenGL
  		blender_include_dirs_sys("${PTHREADS_INCLUDE_DIRS}")
  
diff --cc SConstruct
index 4f2c834,573d4c1..f706645
--- a/SConstruct
+++ b/SConstruct
@@@ -684,7 -766,9 +766,11 @@@ if B.targets != ['cudakernels']
      data_to_c_simple("release/datafiles/preview_cycles.blend")
  
      # --- glsl ---
 +    data_to_c_simple("source/blender/gpu/shaders/gpu_shader_geometry.glsl")
++
+     data_to_c_simple("source/blender/gpu/shaders/gpu_program_smoke_frag.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_program_smoke_color_frag.glsl")
+ 
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_simple_frag.glsl")
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_simple_vert.glsl")
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_material.glsl")
@@@ -692,10 -776,19 +778,20 @@@
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_frag.glsl")
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_sep_gaussian_blur_vert.glsl")
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vertex.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vertex_world.glsl")
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vsm_store_frag.glsl")
      data_to_c_simple("source/blender/gpu/shaders/gpu_shader_vsm_store_vert.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_ssao_frag.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_hq_frag.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_hq_vert.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_dof_hq_geo.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_lib.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_depth_resolve.glsl")
+     data_to_c_simple("source/blender/gpu/shaders/gpu_shader_fx_vert.glsl")
      data_to_c_simple("intern/opencolorio/gpu_shader_display_transform.glsl")
 +    data_to_c_simple("intern/opensubdiv/gpu_shader_opensubd_display.glsl")
  
      # --- blender ---
      data_to_c_simple("release/datafiles/bfont.pfb")
diff --cc build_files/cmake/macros.cmake
index 5432959,7de2b25..a57a955
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@@ -337,16 -357,9 +357,19 @@@ macro(setup_liblink
  	if(WITH_OPENCOLORIO)
  		target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES})
  	endif()
 +	if(WITH_OPENSUBDIV)
 +		if(WIN32 AND NOT UNIX)
 +			file_list_suffix(OPENSUBDIV_LIBRARIES_DEBUG "${OPENSUBDIV_LIBRARIES}" "_d")
 +			target_link_libraries_debug(${target} "${OPENSUBDIV_LIBRARIES_DEBUG}")
 +			target_link_libraries_optimized(${target} "${OPENSUBDIV_LIBRARIES}")
 +			unset(OPENSUBDIV_LIBRARIES_DEBUG)
 +		else()
 +			target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
 +		endif()
 +	endif()
+ 	if(WITH_CYCLES_OSL)
+ 		target_link_librari

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list