gtk4: unbreak wayland, x11egl, x11glx features on non-Linux

As the features are non-default leave the responsibility to filter by
platform to consumers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1203>
This commit is contained in:
Jan Beich 2023-04-22 12:36:06 +00:00 committed by Sebastian Dröge
parent 91fe56468a
commit 9dc92da832
2 changed files with 17 additions and 19 deletions

View file

@ -252,17 +252,15 @@ if get_option('gtk4').allowed()
gtk4_features = []
gl_winsys = gst_gl_dep.get_variable('gl_winsys').split()
gl_platforms = gst_gl_dep.get_variable('gl_platforms').split()
if host_system == 'linux'
if 'wayland' in gl_winsys
gtk4_features += 'wayland'
if 'wayland' in gl_winsys
gtk4_features += 'wayland'
endif
if 'x11' in gl_winsys
if 'egl' in gl_platforms
gtk4_features += 'x11egl'
endif
if 'x11' in gl_winsys
if 'egl' in gl_platforms
gtk4_features += 'x11egl'
endif
if 'glx' in gl_platforms
gtk4_features += 'x11glx'
endif
if 'glx' in gl_platforms
gtk4_features += 'x11glx'
endif
endif
plugins += {'gtk4': {

View file

@ -595,11 +595,11 @@ impl PaintableSink {
};
match gdk_context.type_().name() {
#[cfg(all(target_os = "linux", feature = "x11egl"))]
#[cfg(feature = "x11egl")]
"GdkX11GLContextEGL" => (),
#[cfg(all(target_os = "linux", feature = "x11glx"))]
#[cfg(feature = "x11glx")]
"GdkX11GLContextGLX" => (),
#[cfg(all(target_os = "linux", feature = "wayland"))]
#[cfg(feature = "wayland")]
"GdkWaylandGLContext" => (),
#[cfg(target_os = "macos")]
"GdkMacosGLContext" => (),
@ -621,11 +621,11 @@ impl PaintableSink {
gdk_context.make_current();
let res = match gdk_context.type_().name() {
#[cfg(all(target_os = "linux", feature = "x11egl"))]
#[cfg(feature = "x11egl")]
"GdkX11GLContextEGL" => self.initialize_x11egl(gdk_display),
#[cfg(all(target_os = "linux", feature = "x11glx"))]
#[cfg(feature = "x11glx")]
"GdkX11GLContextGLX" => self.initialize_x11glx(gdk_display),
#[cfg(all(target_os = "linux", feature = "wayland"))]
#[cfg(feature = "wayland")]
"GdkWaylandGLContext" => self.initialize_waylandegl(gdk_display),
#[cfg(target_os = "macos")]
"GdkMacosGLContext" => self.initialize_macosgl(gdk_display),
@ -675,7 +675,7 @@ impl PaintableSink {
};
}
#[cfg(all(target_os = "linux", feature = "x11egl"))]
#[cfg(feature = "x11egl")]
fn initialize_x11egl(
&self,
display: gdk::Display,
@ -725,7 +725,7 @@ impl PaintableSink {
}
}
#[cfg(all(target_os = "linux", feature = "x11glx"))]
#[cfg(feature = "x11glx")]
fn initialize_x11glx(
&self,
display: gdk::Display,
@ -774,7 +774,7 @@ impl PaintableSink {
}
}
#[cfg(all(target_os = "linux", feature = "wayland"))]
#[cfg(feature = "wayland")]
fn initialize_waylandegl(
&self,
display: gdk::Display,