Upgrade to Mesa 18.3.3

This seems to resolve the leak in libxcb, but introduces a new leak in
VkTestUtils.

Bug: skia:8710
Change-Id: I71482d8f1c5eebfffd211a4124bd2db01283741b
Reviewed-on: https://skia-review.googlesource.com/c/186862
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
This commit is contained in:
Ben Wagner 2019-02-12 11:14:47 -05:00 committed by Skia Commit-Bot
parent 249b40e9de
commit 7ad9b96d7c
7 changed files with 71 additions and 100 deletions

View File

@ -13,9 +13,13 @@
import argparse
import subprocess
DOCKER_IMAGE='gcr.io/skia-public/mesa-driver-builder:v1'
BUILD_SCRIPT='/opt/build_mesa.sh'
MESA_VERSION='18.1.7'
# TODO(dogben): In the future, it might be simpler to build the docker image as
# part of this script so that we don't need to push it to the container repo.
# Doing so would make this script more repeatable, since someone could
# accidentally change the Docker image that "v2" points to.
DOCKER_IMAGE = 'gcr.io/skia-public/mesa-driver-builder:v2'
BUILD_SCRIPT = '/opt/build_mesa.sh'
MESA_VERSION = '18.3.3'
def create_asset(target_dir):

View File

@ -1,6 +1,9 @@
FROM debian:9.4
FROM debian:9.6
# Enabling backports gives us access to clang-6 and new versions of libdrm2 package.
ENV DEBIAN_FRONTEND noninteractive
# Enabling backports gives us access to clang-6 and makes it more likely that
# 'apt-get build-dep' will install the correct dependencies.
# Mesa builds newer than 17.0.4 or so require libdrm > 2.4.75, but the
# default one in stretch is 2.4.74.
# Note that the hosts that use these drivers will also need the newer version of libdrm2
@ -8,61 +11,19 @@ FROM debian:9.4
# symbol lookup error: ./mesa_intel_driver/libGL.so.1: undefined symbol: drmGetDevice2
#
# Hosts can install this by adding the stretch-backports debian source (see next RUN)
# and the performing `sudo apt-get update && sudo apt-get install libdrm2=2.4.91-2~bpo9+1`
RUN echo "deb http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list
RUN apt-get update && apt-get upgrade -y
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get install -y \
autoconf \
bison \
build-essential \
clang-6.0 \
flex \
libdrm-amdgpu1=2.4.91-2~bpo9+1 \
libdrm-dev=2.4.91-2~bpo9+1 \
libdrm-intel1=2.4.91-2~bpo9+1 \
libdrm-nouveau2=2.4.91-2~bpo9+1 \
libdrm-radeon1=2.4.91-2~bpo9+1 \
libdrm2=2.4.91-2~bpo9+1 \
libomxil-bellagio-dev \
libpthread-stubs0-dev \
libtool \
libva-dev \
libx11-xcb-dev \
libxcb-dri2-0-dev \
libxcb-dri3-dev \
libxcb-glx0-dev \
libxcb-present-dev \
libxcb1-dev \
libxdamage-dev \
libxext-dev \
libxshmfence-dev \
llvm-dev \
pkg-config \
python-pip \
python2.7 \
scons \
software-properties-common \
wget \
x11proto-dri2-dev \
x11proto-dri3-dev \
x11proto-gl-dev \
x11proto-present-dev \
x11proto-xext-dev \
xserver-xorg-core \
xserver-xorg-dev
RUN pip install mako
# and then performing `sudo apt-get update && sudo apt-get install libdrm2=2.4.95-1~bpo9+1`
RUN echo "deb http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list && \
echo "deb-src http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list && \
apt-get update && apt-get upgrade -y && \
apt-get install -y wget clang-6.0 && \
apt-get -t stretch-backports build-dep -y mesa && \
rm -rf /var/lib/apt/lists/*
ENV CC="/usr/lib/llvm-6.0/bin/clang" \
CXX="/usr/lib/llvm-6.0/bin/clang++" \
PATH=/usr/lib/llvm-6.0/bin:$PATH
PATH=/usr/lib/llvm-6.0/bin:$PATH \
# Default to this version of MESA, but it can be overridden with
# -e MESA_VERSION=X.Y.Z when running the docker container
MESA_VERSION=18.3.2
# Default to this version of MESA, but it can be overridden with
# -e MESA_VERSION=X.Y.Z when running the docker container
ENV MESA_VERSION=18.1.7
COPY ./build_mesa.sh /opt/build_mesa.sh
COPY ./build_mesa.sh /opt/build_mesa.sh

View File

@ -13,16 +13,13 @@ set -ex
pushd /tmp
wget ftp://ftp.freedesktop.org/pub/mesa/mesa-$MESA_VERSION.tar.gz
wget https://mesa.freedesktop.org/archive/mesa-$MESA_VERSION.tar.gz
tar --gunzip --extract --file mesa-$MESA_VERSION.tar.gz
cd mesa-$MESA_VERSION/
./configure --with-dri-drivers=i965 --with-gallium-drivers= --with-vulkan-drivers=intel
make -j 50
rm -rf lib/gallium
rm -f lib/nouveau_vieux_dri.so lib/r200_dri.so lib/radeon_dri.so
cp lib/* /OUT
cp src/intel/vulkan/intel_icd.x86_64.json /OUT

View File

@ -29724,7 +29724,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -29845,7 +29845,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -29961,7 +29961,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -30082,7 +30082,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -30198,7 +30198,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -30319,7 +30319,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -30435,7 +30435,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -30551,7 +30551,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -30667,7 +30667,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -30783,7 +30783,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -54634,7 +54634,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -54755,7 +54755,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -54871,7 +54871,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -54992,7 +54992,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -55221,7 +55221,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -55337,7 +55337,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -55458,7 +55458,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -55574,7 +55574,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -55695,7 +55695,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -55821,7 +55821,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -55942,7 +55942,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -56058,7 +56058,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
},
{
"name": "skia/bots/opencl_ocl_icd_linux",
@ -56189,7 +56189,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -56305,7 +56305,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -56426,7 +56426,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -56552,7 +56552,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -56673,7 +56673,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -56799,7 +56799,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -56920,7 +56920,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -57041,7 +57041,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -57157,7 +57157,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -57273,7 +57273,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -57389,7 +57389,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [
@ -57505,7 +57505,7 @@
{
"name": "skia/bots/mesa_intel_driver_linux",
"path": "mesa_intel_driver_linux",
"version": "version:0"
"version": "version:5"
}
],
"command": [

View File

@ -21,7 +21,6 @@ extern "C" {
"leak:libGLX_nvidia.so\n" // For NVidia driver.
"leak:libnvidia-glcore.so\n" // For NVidia driver.
"leak:libnvidia-tls.so\n" // For NVidia driver.
"leak:libxcb.so\n" // For Mesa Intel driver. skia:8710
;
}

View File

@ -14,6 +14,10 @@
#include "vk/GrVkExtensions.h"
#include "../ports/SkOSLibrary.h"
#if defined(SK_ENABLE_SCOPED_LSAN_SUPPRESSIONS)
#include <sanitizer/lsan_interface.h>
#endif
namespace sk_gpu_test {
bool LoadVkLibraryAndGetProcAddrFuncs(PFN_vkGetInstanceProcAddr* instProc,
@ -661,7 +665,13 @@ bool CreateVkBackendContext(GrVkGetProc getProc,
pointerToFeatures ? nullptr : deviceFeatures // ppEnabledFeatures
};
err = grVkCreateDevice(physDev, &deviceInfo, nullptr, &device);
{
#if defined(SK_ENABLE_SCOPED_LSAN_SUPPRESSIONS)
// skia:8712
__lsan::ScopedDisabler lsanDisabler;
#endif
err = grVkCreateDevice(physDev, &deviceInfo, nullptr, &device);
}
if (err) {
SkDebugf("CreateDevice failed: %d\n", err);
destroy_instance(getProc, inst, debugCallback, hasDebugExtension);