[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