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/1204>
This commit is contained in:
Jan Beich 2023-04-22 12:36:06 +00:00 committed by Sebastian Dröge
parent e31fd2dcc5
commit fc5ff9503d
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

@ -592,11 +592,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" => (),
@ -618,11 +618,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),
@ -672,7 +672,7 @@ impl PaintableSink {
};
}
#[cfg(all(target_os = "linux", feature = "x11egl"))]
#[cfg(feature = "x11egl")]
fn initialize_x11egl(
&self,
display: gdk::Display,
@ -722,7 +722,7 @@ impl PaintableSink {
}
}
#[cfg(all(target_os = "linux", feature = "x11glx"))]
#[cfg(feature = "x11glx")]
fn initialize_x11glx(
&self,
display: gdk::Display,
@ -771,7 +771,7 @@ impl PaintableSink {
}
}
#[cfg(all(target_os = "linux", feature = "wayland"))]
#[cfg(feature = "wayland")]
fn initialize_waylandegl(
&self,
display: gdk::Display,