mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-26 06:35:58 +01:00
render/egl: include EGL/eglmesaext.h only if present
This patch will make the EGL renderer work on any EGL/GLESv2 driver providing the EGL_WL_bind_wayland_display extensions. Mesa used to declare provisional EGL_WL_bind_wayland_display directly in <EGL/eglext.h>. Then, all unofficial extensions were moved to <EGL/eglmesaext.h>, to have a cleaner implementation. See:ab7bb10a2a
The extension was then approved at Khronos Group, and reached the official <EGL/eglext.h>. See: https://www.khronos.org/registry/EGL/extensions/WL/EGL_WL_bind_wayland_display.txtaa9b63f3ab
In order to make sure the renderer will work on any version of any implementation providing the extension, only include the mesa-specific header if it's present. Signed-off-by: Julien Olivain <juju@cotds.org>
This commit is contained in:
parent
1139234117
commit
c2288a7b88
3 changed files with 11 additions and 0 deletions
|
@ -1,6 +1,8 @@
|
||||||
#ifndef WLR_CONFIG_H
|
#ifndef WLR_CONFIG_H
|
||||||
#define WLR_CONFIG_H
|
#define WLR_CONFIG_H
|
||||||
|
|
||||||
|
#mesondefine WLR_HAS_EGLMESAEXT_H
|
||||||
|
|
||||||
#mesondefine WLR_HAS_LIBCAP
|
#mesondefine WLR_HAS_LIBCAP
|
||||||
|
|
||||||
#mesondefine WLR_HAS_SYSTEMD
|
#mesondefine WLR_HAS_SYSTEMD
|
||||||
|
|
|
@ -16,10 +16,14 @@
|
||||||
#define EGL_NO_X11
|
#define EGL_NO_X11
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <wlr/config.h>
|
||||||
|
|
||||||
#include <EGL/egl.h>
|
#include <EGL/egl.h>
|
||||||
#include <EGL/eglext.h>
|
#include <EGL/eglext.h>
|
||||||
|
#if WLR_HAS_EGLMESAEXT_H
|
||||||
// TODO: remove eglmesaext.h
|
// TODO: remove eglmesaext.h
|
||||||
#include <EGL/eglmesaext.h>
|
#include <EGL/eglmesaext.h>
|
||||||
|
#endif
|
||||||
#include <pixman.h>
|
#include <pixman.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <wayland-server-core.h>
|
#include <wayland-server-core.h>
|
||||||
|
|
|
@ -86,6 +86,7 @@ conf_data.set10('WLR_HAS_X11_BACKEND', false)
|
||||||
conf_data.set10('WLR_HAS_XWAYLAND', false)
|
conf_data.set10('WLR_HAS_XWAYLAND', false)
|
||||||
conf_data.set10('WLR_HAS_XCB_ERRORS', false)
|
conf_data.set10('WLR_HAS_XCB_ERRORS', false)
|
||||||
conf_data.set10('WLR_HAS_XCB_ICCCM', false)
|
conf_data.set10('WLR_HAS_XCB_ICCCM', false)
|
||||||
|
conf_data.set10('WLR_HAS_EGLMESAEXT_H', false)
|
||||||
|
|
||||||
# Clang complains about some zeroed initializer lists (= {0}), even though they
|
# Clang complains about some zeroed initializer lists (= {0}), even though they
|
||||||
# are valid
|
# are valid
|
||||||
|
@ -109,6 +110,10 @@ pixman = dependency('pixman-1')
|
||||||
math = cc.find_library('m')
|
math = cc.find_library('m')
|
||||||
rt = cc.find_library('rt')
|
rt = cc.find_library('rt')
|
||||||
|
|
||||||
|
if cc.has_header('EGL/eglmesaext.h', dependencies: egl)
|
||||||
|
conf_data.set10('WLR_HAS_EGLMESAEXT_H', true)
|
||||||
|
endif
|
||||||
|
|
||||||
wlr_files = []
|
wlr_files = []
|
||||||
wlr_deps = [
|
wlr_deps = [
|
||||||
wayland_server,
|
wayland_server,
|
||||||
|
|
Loading…
Reference in a new issue