diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-01-19 13:13:06 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-01-23 11:13:42 -0600 |
commit | 0ccc255f0e097b823537c37495b39de554f600fb (patch) | |
tree | 0d68fb62f3255415af383cbf05871aae91b38069 | |
parent | ea36c519689ddd327cb70311d484af593bc8883f (diff) | |
download | qtlocation-mapboxgl-0ccc255f0e097b823537c37495b39de554f600fb.tar.gz |
[linux] mesa 13.0.3
m--------- | .mason | 0 | ||||
-rw-r--r-- | .travis.yml | 11 | ||||
-rw-r--r-- | CMakeLists.txt | 8 | ||||
-rw-r--r-- | platform/linux/config.cmake | 25 | ||||
-rwxr-xr-x | scripts/travis_setup.sh | 5 | ||||
-rw-r--r-- | scripts/valgrind.sup | 71 |
6 files changed, 93 insertions, 27 deletions
diff --git a/.mason b/.mason -Subproject 0742f24ad5c49b8806abb0023f4a4f531bb18db +Subproject 25fa17ac8f09315f92047116f37242d6d05f904 diff --git a/.travis.yml b/.travis.yml index eb93734d10..17aa83e5db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,6 @@ addons: - &common_packages [ 'libllvm3.8v4', 'cmake', 'cmake-data' ] - &clang38_packages [ 'clang-3.8', 'libstdc++-5-dev', 'libstdc++6' ] - &gcc5_packages [ 'gcc-5', 'g++-5' ] - - &egl_packages [ 'libgles2-mesa-dev', 'libgbm-dev' ] - &glfw_packages [ 'libxrandr-dev', 'libxcursor-dev', 'libxinerama-dev' ] addons_shortcuts: @@ -20,7 +19,6 @@ addons_shortcuts: packages: - *common_packages - *clang38_packages - - *egl_packages - *glfw_packages addons_gcc5: &gcc5 apt: @@ -28,7 +26,6 @@ addons_shortcuts: packages: - *common_packages - *gcc5_packages - - *egl_packages - *glfw_packages addons_qt4: &qt4 apt: @@ -94,6 +91,7 @@ matrix: addons: *clang38 before_script: - mapbox_start_xvfb + - mapbox_export_mesa_library_path script: - nvm install 4 - nvm use 4 @@ -112,9 +110,12 @@ matrix: env: BUILDTYPE=Release _CXX=clang++-3.8 _CC=clang-3.8 WITH_EGL=1 addons: *clang38 before_script: + # fglrx causes the GLX extension to be unavailable + - sudo apt-get purge -qq fglrx - export PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)") - export PUBLISH=$([[ "${TRAVIS_TAG:-}" == "node-v${PACKAGE_JSON_VERSION}" ]] && echo true) - mapbox_start_xvfb + - mapbox_export_mesa_library_path script: - nvm install 4 - nvm use 4 @@ -136,6 +137,7 @@ matrix: addons: *gcc5 before_script: - mapbox_start_xvfb + - mapbox_export_mesa_library_path after_script: - ccache --show-stats - ./platform/linux/scripts/coveralls.sh @@ -150,6 +152,7 @@ matrix: addons: *gcc5 before_script: - mapbox_start_xvfb + - mapbox_export_mesa_library_path # EGL - Clang 3.8 - Debug - os: linux @@ -161,6 +164,7 @@ matrix: addons: *clang38 before_script: - mapbox_start_xvfb + - mapbox_export_mesa_library_path # EGL - Clang 3.8 - Release - os: linux @@ -172,6 +176,7 @@ matrix: addons: *clang38 before_script: - mapbox_start_xvfb + - mapbox_export_mesa_library_path # Qt 4 - GCC 5 - Release - os: linux diff --git a/CMakeLists.txt b/CMakeLists.txt index 92b0715b5e..6265c05069 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,14 +19,8 @@ if(WITH_OSMESA AND WITH_EGL) message(FATAL_ERROR "WITH_OSMESA and WITH_EGL are mutually exclusive.") endif() -if(WITH_OSMESA) - # Default mesa mason binary is OSMesa. - set(MASON_MESA_SUFFIX "") -elseif(WITH_EGL) +if(WITH_EGL) add_definitions(-DMBGL_USE_GLES2=1) - set(MASON_MESA_SUFFIX "-egl") -else() - set(MASON_MESA_SUFFIX "-glx") endif() if(IS_CI_BUILD) diff --git a/platform/linux/config.cmake b/platform/linux/config.cmake index dcd4692a18..13f3edb96f 100644 --- a/platform/linux/config.cmake +++ b/platform/linux/config.cmake @@ -1,7 +1,5 @@ mason_use(glfw VERSION 3.2.1) -if(IS_CI_BUILD AND NOT WITH_EGL) - mason_use(mesa VERSION 13.0.0${MASON_MESA_SUFFIX}) -endif() +mason_use(mesa VERSION 13.0.3) mason_use(boost_libprogram_options VERSION 1.62.0${MASON_CXXABI_SUFFIX}) mason_use(sqlite VERSION 3.14.2) mason_use(libuv VERSION 1.9.1) @@ -16,19 +14,21 @@ mason_use(icu VERSION 58.1) include(cmake/loop-uv.cmake) macro(mbgl_platform_core) + target_add_mason_package(mbgl-core PUBLIC mesa) + if(WITH_OSMESA) target_sources(mbgl-core PRIVATE platform/default/headless_backend_osmesa.cpp PRIVATE platform/default/mbgl/gl/headless_display.cpp ) - target_add_mason_package(mbgl-core PUBLIC mesa) + target_link_libraries(mbgl-core + PUBLIC -lOSMesa + ) elseif(WITH_EGL) target_sources(mbgl-core PRIVATE platform/linux/src/headless_backend_egl.cpp PRIVATE platform/linux/src/headless_display_egl.cpp ) - # TODO: Provide surface-less EGL mesa for CI builds. - # https://github.com/mapbox/mapbox-gl-native/issues/7020 target_link_libraries(mbgl-core PUBLIC -lGLESv2 PUBLIC -lEGL @@ -39,15 +39,10 @@ macro(mbgl_platform_core) PRIVATE platform/linux/src/headless_backend_glx.cpp PRIVATE platform/linux/src/headless_display_glx.cpp ) - if (IS_CI_BUILD) - target_add_mason_package(mbgl-core PUBLIC mesa) - target_link_libraries(mbgl-core PUBLIC -lX11) - else() - target_link_libraries(mbgl-core - PUBLIC -lGL - PUBLIC -lX11 - ) - endif() + target_link_libraries(mbgl-core + PUBLIC -lGL + PUBLIC -lX11 + ) endif() target_sources(mbgl-core diff --git a/scripts/travis_setup.sh b/scripts/travis_setup.sh index 65a2945fdc..cdf36be363 100755 --- a/scripts/travis_setup.sh +++ b/scripts/travis_setup.sh @@ -58,8 +58,9 @@ export -f mapbox_start_xvfb function mapbox_export_mesa_library_path { # Install and set up to load a more recent version of mesa mapbox_time "install_mesa" \ - mason install mesa 13.0.0-glx - export LD_LIBRARY_PATH="`mason prefix mesa 13.0.0-glx`/lib:${LD_LIBRARY_PATH:-}" + mason install mesa 13.0.3 + export LD_LIBRARY_PATH="`mason prefix mesa 13.0.3`/lib:${LD_LIBRARY_PATH:-}" + export LIBGL_DRIVERS_PATH="`mason prefix mesa 13.0.3`/lib/dri" } export -f mapbox_export_mesa_library_path diff --git a/scripts/valgrind.sup b/scripts/valgrind.sup index ea3e3d635a..fc6bfaac58 100644 --- a/scripts/valgrind.sup +++ b/scripts/valgrind.sup @@ -266,3 +266,74 @@ fun:_ZN4mbgl4util10write_fileERKSsS2_ ... } +{ + Ubuntu 14.04 - Travis + mesa 13.0.3 + Memcheck:Cond + fun:_ZN12_GLOBAL__N_117PeepholeOptimizer20runOnMachineFunctionERN4llvm15MachineFunctionE + fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE + fun:_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE + fun:_ZN4llvm5MCJIT10emitObjectEPNS_6ModuleE + fun:_ZN4llvm5MCJIT21generateCodeForModuleEPNS_6ModuleE + fun:_ZN4llvm5MCJIT14finalizeObjectEv + fun:LLVMGetPointerToGlobal + fun:gallivm_jit_function + fun:generate_variant + fun:llvmpipe_update_fs +} +{ + Ubuntu 14.04 - Travis + mesa 13.0.3 + Memcheck:Cond + fun:_ZNK4llvm12X86InstrInfo13reMaterializeERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjjPKS4_RKNS_18TargetRegisterInfoE + fun:_ZN12_GLOBAL__N_117RegisterCoalescer23reMaterializeTrivialDefERKN4llvm13CoalescerPairEPNS1_12MachineInstrERb + fun:_ZN12_GLOBAL__N_117RegisterCoalescer8joinCopyEPN4llvm12MachineInstrERb + fun:_ZN12_GLOBAL__N_117RegisterCoalescer20runOnMachineFunctionERN4llvm15MachineFunctionE + fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE + fun:_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE + fun:_ZN4llvm5MCJIT10emitObjectEPNS_6ModuleE + fun:_ZN4llvm5MCJIT21generateCodeForModuleEPNS_6ModuleE + fun:_ZN4llvm5MCJIT14finalizeObjectEv + fun:LLVMGetPointerToGlobal +} +{ + Ubuntu 14.04 - Travis + mesa 13.0.3 + Memcheck:Cond + fun:_ZNK4llvm12X86InstrInfo13reMaterializeERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjjPKS4_RKNS_18TargetRegisterInfoE + fun:_ZN4llvm13LiveRangeEdit15rematerializeAtERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjRKNS0_5RematERKNS_18TargetRegisterInfoEb + fun:_ZN12_GLOBAL__N_113InlineSpiller5spillERN4llvm13LiveRangeEditE + fun:_ZN12_GLOBAL__N_18RAGreedy17selectOrSplitImplERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEERNS1_8SmallSetIjLj16ESt4lessIjEEEj + fun:_ZN12_GLOBAL__N_18RAGreedy13selectOrSplitERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEE + fun:_ZN4llvm12RegAllocBase16allocatePhysRegsEv + fun:_ZN12_GLOBAL__N_18RAGreedy20runOnMachineFunctionERN4llvm15MachineFunctionE + fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE + fun:_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE + fun:_ZN4llvm5MCJIT10emitObjectEPNS_6ModuleE +} +{ + Ubuntu 14.04 - Travis + mesa 13.0.3 + Memcheck:Cond + fun:_ZNK4llvm12X86InstrInfo13reMaterializeERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjjPKS4_RKNS_18TargetRegisterInfoE + fun:_ZN4llvm13LiveRangeEdit15rematerializeAtERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjRKNS0_5RematERKNS_18TargetRegisterInfoEb + fun:_ZN4llvm11SplitEditor13defFromParentEjPNS_6VNInfoENS_9SlotIndexERNS_17MachineBasicBlockENS4_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS7_EEEE + fun:_ZN4llvm11SplitEditor16splitRegOutBlockERKNS_13SplitAnalysis9BlockInfoEjNS_9SlotIndexE + fun:_ZN12_GLOBAL__N_18RAGreedy13doRegionSplitERN4llvm12LiveIntervalEjbRNS1_15SmallVectorImplIjEE + fun:_ZN12_GLOBAL__N_18RAGreedy17selectOrSplitImplERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEERNS1_8SmallSetIjLj16ESt4lessIjEEEj + fun:_ZN12_GLOBAL__N_18RAGreedy13selectOrSplitERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEE + fun:_ZN4llvm12RegAllocBase16allocatePhysRegsEv + fun:_ZN12_GLOBAL__N_18RAGreedy20runOnMachineFunctionERN4llvm15MachineFunctionE + fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE + fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE +} +{ + Ubuntu 14.04 - Travis + mesa 13.0.3 + Memcheck:Leak + match-leak-kinds: definite + fun:_Znwm + ... +} |