Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Commit 0ccc255

Browse files
committed
[linux] mesa 13.0.3
1 parent ea36c51 commit 0ccc255

File tree

6 files changed

+94
-28
lines changed

6 files changed

+94
-28
lines changed

.travis.yml

+8-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ addons:
1010
- &common_packages [ 'libllvm3.8v4', 'cmake', 'cmake-data' ]
1111
- &clang38_packages [ 'clang-3.8', 'libstdc++-5-dev', 'libstdc++6' ]
1212
- &gcc5_packages [ 'gcc-5', 'g++-5' ]
13-
- &egl_packages [ 'libgles2-mesa-dev', 'libgbm-dev' ]
1413
- &glfw_packages [ 'libxrandr-dev', 'libxcursor-dev', 'libxinerama-dev' ]
1514

1615
addons_shortcuts:
@@ -20,15 +19,13 @@ addons_shortcuts:
2019
packages:
2120
- *common_packages
2221
- *clang38_packages
23-
- *egl_packages
2422
- *glfw_packages
2523
addons_gcc5: &gcc5
2624
apt:
2725
sources: *common_sources
2826
packages:
2927
- *common_packages
3028
- *gcc5_packages
31-
- *egl_packages
3229
- *glfw_packages
3330
addons_qt4: &qt4
3431
apt:
@@ -94,6 +91,7 @@ matrix:
9491
addons: *clang38
9592
before_script:
9693
- mapbox_start_xvfb
94+
- mapbox_export_mesa_library_path
9795
script:
9896
- nvm install 4
9997
- nvm use 4
@@ -112,9 +110,12 @@ matrix:
112110
env: BUILDTYPE=Release _CXX=clang++-3.8 _CC=clang-3.8 WITH_EGL=1
113111
addons: *clang38
114112
before_script:
113+
# fglrx causes the GLX extension to be unavailable
114+
- sudo apt-get purge -qq fglrx
115115
- export PACKAGE_JSON_VERSION=$(node -e "console.log(require('./package.json').version)")
116116
- export PUBLISH=$([[ "${TRAVIS_TAG:-}" == "node-v${PACKAGE_JSON_VERSION}" ]] && echo true)
117117
- mapbox_start_xvfb
118+
- mapbox_export_mesa_library_path
118119
script:
119120
- nvm install 4
120121
- nvm use 4
@@ -136,6 +137,7 @@ matrix:
136137
addons: *gcc5
137138
before_script:
138139
- mapbox_start_xvfb
140+
- mapbox_export_mesa_library_path
139141
after_script:
140142
- ccache --show-stats
141143
- ./platform/linux/scripts/coveralls.sh
@@ -150,6 +152,7 @@ matrix:
150152
addons: *gcc5
151153
before_script:
152154
- mapbox_start_xvfb
155+
- mapbox_export_mesa_library_path
153156

154157
# EGL - Clang 3.8 - Debug
155158
- os: linux
@@ -161,6 +164,7 @@ matrix:
161164
addons: *clang38
162165
before_script:
163166
- mapbox_start_xvfb
167+
- mapbox_export_mesa_library_path
164168

165169
# EGL - Clang 3.8 - Release
166170
- os: linux
@@ -172,6 +176,7 @@ matrix:
172176
addons: *clang38
173177
before_script:
174178
- mapbox_start_xvfb
179+
- mapbox_export_mesa_library_path
175180

176181
# Qt 4 - GCC 5 - Release
177182
- os: linux

CMakeLists.txt

+1-7
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,8 @@ if(WITH_OSMESA AND WITH_EGL)
1919
message(FATAL_ERROR "WITH_OSMESA and WITH_EGL are mutually exclusive.")
2020
endif()
2121

22-
if(WITH_OSMESA)
23-
# Default mesa mason binary is OSMesa.
24-
set(MASON_MESA_SUFFIX "")
25-
elseif(WITH_EGL)
22+
if(WITH_EGL)
2623
add_definitions(-DMBGL_USE_GLES2=1)
27-
set(MASON_MESA_SUFFIX "-egl")
28-
else()
29-
set(MASON_MESA_SUFFIX "-glx")
3024
endif()
3125

3226
if(IS_CI_BUILD)

platform/linux/config.cmake

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
mason_use(glfw VERSION 3.2.1)
2-
if(IS_CI_BUILD AND NOT WITH_EGL)
3-
mason_use(mesa VERSION 13.0.0${MASON_MESA_SUFFIX})
4-
endif()
2+
mason_use(mesa VERSION 13.0.3)
53
mason_use(boost_libprogram_options VERSION 1.62.0${MASON_CXXABI_SUFFIX})
64
mason_use(sqlite VERSION 3.14.2)
75
mason_use(libuv VERSION 1.9.1)
@@ -16,19 +14,21 @@ mason_use(icu VERSION 58.1)
1614
include(cmake/loop-uv.cmake)
1715

1816
macro(mbgl_platform_core)
17+
target_add_mason_package(mbgl-core PUBLIC mesa)
18+
1919
if(WITH_OSMESA)
2020
target_sources(mbgl-core
2121
PRIVATE platform/default/headless_backend_osmesa.cpp
2222
PRIVATE platform/default/mbgl/gl/headless_display.cpp
2323
)
24-
target_add_mason_package(mbgl-core PUBLIC mesa)
24+
target_link_libraries(mbgl-core
25+
PUBLIC -lOSMesa
26+
)
2527
elseif(WITH_EGL)
2628
target_sources(mbgl-core
2729
PRIVATE platform/linux/src/headless_backend_egl.cpp
2830
PRIVATE platform/linux/src/headless_display_egl.cpp
2931
)
30-
# TODO: Provide surface-less EGL mesa for CI builds.
31-
# https://github.com/mapbox/mapbox-gl-native/issues/7020
3232
target_link_libraries(mbgl-core
3333
PUBLIC -lGLESv2
3434
PUBLIC -lEGL
@@ -39,15 +39,10 @@ macro(mbgl_platform_core)
3939
PRIVATE platform/linux/src/headless_backend_glx.cpp
4040
PRIVATE platform/linux/src/headless_display_glx.cpp
4141
)
42-
if (IS_CI_BUILD)
43-
target_add_mason_package(mbgl-core PUBLIC mesa)
44-
target_link_libraries(mbgl-core PUBLIC -lX11)
45-
else()
46-
target_link_libraries(mbgl-core
47-
PUBLIC -lGL
48-
PUBLIC -lX11
49-
)
50-
endif()
42+
target_link_libraries(mbgl-core
43+
PUBLIC -lGL
44+
PUBLIC -lX11
45+
)
5146
endif()
5247

5348
target_sources(mbgl-core

scripts/travis_setup.sh

+3-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ export -f mapbox_start_xvfb
5858
function mapbox_export_mesa_library_path {
5959
# Install and set up to load a more recent version of mesa
6060
mapbox_time "install_mesa" \
61-
mason install mesa 13.0.0-glx
62-
export LD_LIBRARY_PATH="`mason prefix mesa 13.0.0-glx`/lib:${LD_LIBRARY_PATH:-}"
61+
mason install mesa 13.0.3
62+
export LD_LIBRARY_PATH="`mason prefix mesa 13.0.3`/lib:${LD_LIBRARY_PATH:-}"
63+
export LIBGL_DRIVERS_PATH="`mason prefix mesa 13.0.3`/lib/dri"
6364
}
6465

6566
export -f mapbox_export_mesa_library_path

scripts/valgrind.sup

+71
Original file line numberDiff line numberDiff line change
@@ -266,3 +266,74 @@
266266
fun:_ZN4mbgl4util10write_fileERKSsS2_
267267
...
268268
}
269+
{
270+
Ubuntu 14.04 - Travis + mesa 13.0.3
271+
Memcheck:Cond
272+
fun:_ZN12_GLOBAL__N_117PeepholeOptimizer20runOnMachineFunctionERN4llvm15MachineFunctionE
273+
fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE
274+
fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE
275+
fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE
276+
fun:_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE
277+
fun:_ZN4llvm5MCJIT10emitObjectEPNS_6ModuleE
278+
fun:_ZN4llvm5MCJIT21generateCodeForModuleEPNS_6ModuleE
279+
fun:_ZN4llvm5MCJIT14finalizeObjectEv
280+
fun:LLVMGetPointerToGlobal
281+
fun:gallivm_jit_function
282+
fun:generate_variant
283+
fun:llvmpipe_update_fs
284+
}
285+
{
286+
Ubuntu 14.04 - Travis + mesa 13.0.3
287+
Memcheck:Cond
288+
fun:_ZNK4llvm12X86InstrInfo13reMaterializeERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjjPKS4_RKNS_18TargetRegisterInfoE
289+
fun:_ZN12_GLOBAL__N_117RegisterCoalescer23reMaterializeTrivialDefERKN4llvm13CoalescerPairEPNS1_12MachineInstrERb
290+
fun:_ZN12_GLOBAL__N_117RegisterCoalescer8joinCopyEPN4llvm12MachineInstrERb
291+
fun:_ZN12_GLOBAL__N_117RegisterCoalescer20runOnMachineFunctionERN4llvm15MachineFunctionE
292+
fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE
293+
fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE
294+
fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE
295+
fun:_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE
296+
fun:_ZN4llvm5MCJIT10emitObjectEPNS_6ModuleE
297+
fun:_ZN4llvm5MCJIT21generateCodeForModuleEPNS_6ModuleE
298+
fun:_ZN4llvm5MCJIT14finalizeObjectEv
299+
fun:LLVMGetPointerToGlobal
300+
}
301+
{
302+
Ubuntu 14.04 - Travis + mesa 13.0.3
303+
Memcheck:Cond
304+
fun:_ZNK4llvm12X86InstrInfo13reMaterializeERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjjPKS4_RKNS_18TargetRegisterInfoE
305+
fun:_ZN4llvm13LiveRangeEdit15rematerializeAtERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjRKNS0_5RematERKNS_18TargetRegisterInfoEb
306+
fun:_ZN12_GLOBAL__N_113InlineSpiller5spillERN4llvm13LiveRangeEditE
307+
fun:_ZN12_GLOBAL__N_18RAGreedy17selectOrSplitImplERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEERNS1_8SmallSetIjLj16ESt4lessIjEEEj
308+
fun:_ZN12_GLOBAL__N_18RAGreedy13selectOrSplitERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEE
309+
fun:_ZN4llvm12RegAllocBase16allocatePhysRegsEv
310+
fun:_ZN12_GLOBAL__N_18RAGreedy20runOnMachineFunctionERN4llvm15MachineFunctionE
311+
fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE
312+
fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE
313+
fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE
314+
fun:_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE
315+
fun:_ZN4llvm5MCJIT10emitObjectEPNS_6ModuleE
316+
}
317+
{
318+
Ubuntu 14.04 - Travis + mesa 13.0.3
319+
Memcheck:Cond
320+
fun:_ZNK4llvm12X86InstrInfo13reMaterializeERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjjPKS4_RKNS_18TargetRegisterInfoE
321+
fun:_ZN4llvm13LiveRangeEdit15rematerializeAtERNS_17MachineBasicBlockENS1_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS4_EEEEjRKNS0_5RematERKNS_18TargetRegisterInfoEb
322+
fun:_ZN4llvm11SplitEditor13defFromParentEjPNS_6VNInfoENS_9SlotIndexERNS_17MachineBasicBlockENS4_15bundle_iteratorINS_12MachineInstrENS_14ilist_iteratorIS7_EEEE
323+
fun:_ZN4llvm11SplitEditor16splitRegOutBlockERKNS_13SplitAnalysis9BlockInfoEjNS_9SlotIndexE
324+
fun:_ZN12_GLOBAL__N_18RAGreedy13doRegionSplitERN4llvm12LiveIntervalEjbRNS1_15SmallVectorImplIjEE
325+
fun:_ZN12_GLOBAL__N_18RAGreedy17selectOrSplitImplERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEERNS1_8SmallSetIjLj16ESt4lessIjEEEj
326+
fun:_ZN12_GLOBAL__N_18RAGreedy13selectOrSplitERN4llvm12LiveIntervalERNS1_15SmallVectorImplIjEE
327+
fun:_ZN4llvm12RegAllocBase16allocatePhysRegsEv
328+
fun:_ZN12_GLOBAL__N_18RAGreedy20runOnMachineFunctionERN4llvm15MachineFunctionE
329+
fun:_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE
330+
fun:_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE
331+
fun:_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE
332+
}
333+
{
334+
Ubuntu 14.04 - Travis + mesa 13.0.3
335+
Memcheck:Leak
336+
match-leak-kinds: definite
337+
fun:_Znwm
338+
...
339+
}

0 commit comments

Comments
 (0)