meson: use a feature option for gles2

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20409>
This commit is contained in:
Dylan Baker 2022-12-20 15:19:00 -08:00 committed by Marge Bot
parent ca615a4f16
commit 6b334a8416
3 changed files with 9 additions and 39 deletions

View File

@ -10,14 +10,14 @@ OpenGL ES depends on a working EGL implementation. Please refer to
Build the Libraries
-------------------
#. Run ``meson configure`` with ``-D gles1=enabled -D gles2=true`` and
#. Run ``meson configure`` with ``-D gles1=enabled -D gles2=enabled`` and
enable the Gallium driver for your hardware.
#. Build and install Mesa as usual.
Alternatively, if XCB-DRI2 is installed on the system, one can use
``egl_dri2`` EGL driver with OpenGL|ES-enabled DRI drivers
#. Run ``meson configure`` with ``-D gles1=enabled -D gles2=true``.
#. Run ``meson configure`` with ``-D gles1=enabled -D gles2=enabled``.
#. Build and install Mesa as usual.
Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or

View File

@ -107,51 +107,23 @@ if gbm_backends_path == ''
gbm_backends_path = join_paths(get_option('prefix'), get_option('libdir'), 'gbm')
endif
with_gles2 = get_option('gles2')
if with_gles2 == 'true'
with_gles2 = 'enabled'
warning('gles2 option "true" deprecated, please use "enabled" instead.')
elif with_gles2 == 'false'
with_gles2 = 'disabled'
warning('gles2 option "false" deprecated, please use "disabled" instead.')
endif
if host_machine.system() == 'windows'
if with_gles1 == 'auto'
with_gles1 = 'disabled'
endif
if with_gles2 == 'auto'
with_gles2 = 'disabled'
endif
endif
with_opengl = get_option('opengl')
# Default shared glapi off for windows, on elsewhere.
with_shared_glapi = get_option('shared-glapi') \
.disable_auto_if(host_machine.system() == 'windows') \
.allowed()
with_opengl = get_option('opengl')
with_gles1 = get_option('gles1') \
.require(with_shared_glapi, error_message : 'OpengGL ES 1.x requires shared-glapi') \
.require(with_opengl, error_message : 'building OpenGL ES 1.x without OpenGL is not supported.') \
.allowed()
# shared-glapi is required if at least two OpenGL APIs are being built
if not with_shared_glapi
if with_gles2 == 'enabled' and not with_opengl
error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x')
endif
with_gles2 = 'disabled'
endif
with_gles2 = get_option('gles2') \
.require(with_shared_glapi, error_message : 'OpengGL ES 2.x requires shared-glapi') \
.require(with_opengl, error_message : 'building OpenGL ES 2.x without OpenGL is not supported.') \
.allowed()
# We require OpenGL for OpenGL ES
if not with_opengl
if with_gles2 == 'enabled' and not with_opengl
error('building OpenGL ES without OpenGL is not supported.')
endif
with_gles2 = 'disabled'
endif
with_gles2 = with_gles2 != 'disabled'
with_any_opengl = with_opengl or with_gles1 or with_gles2
# Only build shared_glapi if at least one OpenGL API is enabled
with_shared_glapi = with_shared_glapi and with_any_opengl

View File

@ -251,9 +251,7 @@ option(
)
option(
'gles2',
type : 'combo',
value : 'auto',
choices : ['auto', 'true', 'false', 'enabled', 'disabled'],
type : 'feature',
description : 'Build support for OpenGL ES 2.x and 3.x'
)
option(