meson: allow egl_native_platform to be specified
After commitf8dc22bf61
, it was no longer possible to have explicitly enabled platforms with surfaceless being the EGL native platform. This fixes that by adding -Degl-native-platform. Fixes:f8dc22bf61
("meson: drop deprecated EGL platform build options") Signed-off-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11992>
This commit is contained in:
parent
384181921c
commit
47946855f1
26
meson.build
26
meson.build
|
@ -358,12 +358,6 @@ with_platform_wayland = _platforms.contains('wayland')
|
||||||
with_platform_haiku = _platforms.contains('haiku')
|
with_platform_haiku = _platforms.contains('haiku')
|
||||||
with_platform_windows = _platforms.contains('windows')
|
with_platform_windows = _platforms.contains('windows')
|
||||||
|
|
||||||
if _platforms.length() != 0
|
|
||||||
egl_native_platform = _platforms[0]
|
|
||||||
else
|
|
||||||
egl_native_platform = 'surfaceless'
|
|
||||||
endif
|
|
||||||
|
|
||||||
with_glx = get_option('glx')
|
with_glx = get_option('glx')
|
||||||
if with_glx == 'auto'
|
if with_glx == 'auto'
|
||||||
if with_platform_android
|
if with_platform_android
|
||||||
|
@ -458,6 +452,26 @@ else
|
||||||
with_egl = false
|
with_egl = false
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if with_egl
|
||||||
|
_platforms += 'surfaceless'
|
||||||
|
if with_gbm and not with_platform_android
|
||||||
|
_platforms += 'drm'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
egl_native_platform = get_option('egl-native-platform')
|
||||||
|
if egl_native_platform.contains('auto')
|
||||||
|
if _platforms.length() != 0
|
||||||
|
egl_native_platform = _platforms[0]
|
||||||
|
else
|
||||||
|
egl_native_platform = 'surfaceless'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if with_egl and not _platforms.contains(egl_native_platform)
|
||||||
|
error('-Degl-native-platform does not specify an enabled platform')
|
||||||
|
endif
|
||||||
|
|
||||||
# Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
|
# Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
|
||||||
use_elf_tls = false
|
use_elf_tls = false
|
||||||
if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
|
if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
|
||||||
|
|
|
@ -27,6 +27,16 @@ option(
|
||||||
],
|
],
|
||||||
description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.'
|
description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.'
|
||||||
)
|
)
|
||||||
|
option(
|
||||||
|
'egl-native-platform',
|
||||||
|
type : 'combo',
|
||||||
|
value : 'auto',
|
||||||
|
choices : [
|
||||||
|
'auto', 'x11', 'wayland', 'haiku', 'android', 'windows',
|
||||||
|
'surfaceless', 'drm',
|
||||||
|
],
|
||||||
|
description : 'the window system EGL assumes for EGL_DEFAULT_DISPLAY',
|
||||||
|
)
|
||||||
option(
|
option(
|
||||||
'android-stub',
|
'android-stub',
|
||||||
type : 'boolean',
|
type : 'boolean',
|
||||||
|
|
Loading…
Reference in New Issue