pmaports/temp/mesa/meson-add-toggle-for-TLS-support-in-GLX.patch
Clayton Craft 6dd3ef2fcb mesa: Add new package tracking newer Mesa version (!256)
This adds a Mesa package overriding Mesa in Alpine, and:

1) builds a much newer version of Mesa than what is found in Alpine (by
*not* building amd/radeonsi support, so no dependency on llvm).

2) builds Mesa with tegra and etnaviv drivers (note, as of now, the
librem5 devkit gpu is not supported in the etnaviv driver here)

This breaks "pmbootstrap qemu" for some people, use --host-qemu as
workaround for now (a fix will be available soon):
https://wiki.postmarketos.org/wiki/Troubleshooting:QEMU#Using_QEMU_from_the_host_system

Since this also fixes the blackscreen bug on lg-hammerhead, the
trade-off with the qemu bug is worth it.

[ci:skip-build]: already built successfully in CI
2019-03-07 10:00:10 +01:00

71 lines
2.3 KiB
Diff

From patchwork Thu Jan 24 18:47:58 2019
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: meson: add toggle for TLS support in GLX
From: Patrick Steinhardt <ps@pks.im>
X-Patchwork-Id: 280319
Message-Id: <225b2b2d4a43c43f035a55dd8e9c2217482f8fee.1548355622.git.ps@pks.im>
To: mesa-dev@lists.freedesktop.org
Cc: Patrick Steinhardt <ps@pks.im>
Date: Thu, 24 Jan 2019 19:47:58 +0100
The musl libc library does not have any support for the
"initial-exec" TLS model and is unlikely to ever implement it.
Thus, TLS support in GLX has been turned off in musl-based
distributions to work around problems when dlopen'ing drivers.
While this is easily possible using the autoconf build system by
passing `--disable-glx-tls`, meson does not yet have such an
option.
Add a new toggle "glx-tls" that defaults to `true` to gain parity
with autoconf. If disabled, `GLX_USE_TLS` will not be defined and
thus mesa will be built without TLS support.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
meson.build | 6 +++++-
meson_options.txt | 6 ++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 34e2a03254..3981bf1a67 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,7 @@ with_tests = get_option('build-tests')
with_valgrind = get_option('valgrind')
with_libunwind = get_option('libunwind')
with_asm = get_option('asm')
+with_glx_tls = get_option('glx-tls')
with_glx_read_only_text = get_option('glx-read-only-text')
with_glx_direct = get_option('glx-direct')
with_osmesa = get_option('osmesa')
@@ -332,7 +333,10 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless)
endif
endif
-pre_args += '-DGLX_USE_TLS'
+if with_glx_tls
+ pre_args += '-DGLX_USE_TLS'
+endif
+
if with_glx != 'disabled'
if not (with_platform_x11 and with_any_opengl)
error('Cannot build GLX support without X11 platform support and at least one OpenGL API')
diff --git a/meson_options.txt b/meson_options.txt
index bfb06c4dd4..8ff63f20b4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -224,6 +224,12 @@ option(
value : true,
description : 'Build assembly code if possible'
)
+option(
+ 'glx-tls',
+ type : 'boolean',
+ value : true,
+ description : 'Enable TLS support in GLX'
+)
option(
'glx-read-only-text',
type : 'boolean',