[Spice-devel] [PATCH spice-gtk] gtk: add spice-widget GL scanout support

Pavel Grunt pgrunt at redhat.com
Tue Feb 16 13:04:34 UTC 2016


On Tue, 2016-02-16 at 07:19 -0500, Marc-André Lureau wrote:
> Hi
> 
> ----- Original Message -----
> > Hi,
> > 
> > with gtk2:
> > spice-widget-egl.c: In function ‘spice_egl_init’:
> > spice-widget-egl.c:203:9: error: implicit declaration of function
> > ‘GDK_IS_X11_DISPLAY’ [-Werror=implicit-function-declaration]
> >      if (GDK_IS_X11_DISPLAY(gdk_dpy)) {
> >          ^
> > spice-widget-egl.c:203:5: error: nested extern declaration of
> > ‘GDK_IS_X11_DISPLAY’ [-Werror=nested-externs]
> >      if (GDK_IS_X11_DISPLAY(gdk_dpy)) {
> >      ^
> > spice-widget-egl.c: In function ‘spice_widget_init_egl_win’:
> > spice-widget-egl.c:272:9: error: implicit declaration of function
> > ‘GDK_IS_X11_WINDOW’ [-Werror=implicit-function-declaration]
> >      if (GDK_IS_X11_WINDOW(win)) {
> >          ^
> > spice-widget-egl.c:272:5: error: nested extern declaration of
> > ‘GDK_IS_X11_WINDOW’ [-Werror=nested-externs]
> >      if (GDK_IS_X11_WINDOW(win)) {
> >      ^
> > spice-widget-egl.c:273:39: error: implicit declaration of function
> > ‘gdk_x11_window_get_xid’ [-Werror=implicit-function-declaration]
> >          native = (EGLNativeWindowType)gdk_x11_window_get_xid(win);
> >                                        ^
> > spice-widget-egl.c:273:9: error: nested extern declaration of
> > ‘gdk_x11_window_get_xid’ [-Werror=nested-externs]
> >          native = (EGLNativeWindowType)gdk_x11_window_get_xid(win);
> > 
> 
> That fixes it:

ack
Pavel
> 
> diff --git a/src/gtk-compat.h b/src/gtk-compat.h
> index be143b2..aac3b55 100644
> --- a/src/gtk-compat.h
> +++ b/src/gtk-compat.h
> @@ -25,6 +25,7 @@
>  #if !GTK_CHECK_VERSION (2, 91, 0)
>  #define GDK_IS_X11_DISPLAY(D) TRUE
>  #define gdk_window_get_display(W)
> gdk_drawable_get_display(GDK_DRAWABLE(W))
> +#define GDK_IS_X11_WINDOW(D) TRUE
>  #endif
>  
>  #if GTK_CHECK_VERSION (2, 91, 0)
> diff --git a/src/spice-widget-egl.c b/src/spice-widget-egl.c
> index d0f9381..4fa2818 100644
> --- a/src/spice-widget-egl.c
> +++ b/src/spice-widget-egl.c
> @@ -22,6 +22,7 @@
>  #define EGL_EGLEXT_PROTOTYPES
>  #define GL_GLEXT_PROTOTYPES
>  
> +#include "gtk-compat.h"
>  #include "spice-widget.h"
>  #include "spice-widget-priv.h"
>  #include "spice-gtk-session-priv.h"
> @@ -270,7 +271,7 @@ static gboolean
> spice_widget_init_egl_win(SpiceDisplay *display, GdkWindow *win,
>  
>  #ifdef GDK_WINDOWING_X11
>      if (GDK_IS_X11_WINDOW(win)) {
> -        native = (EGLNativeWindowType)gdk_x11_window_get_xid(win);
> +        native = (EGLNativeWindowType)GDK_WINDOW_XID(win);
>      }
>  #endif
> 
> > besides that I have done some tests and haven't noticed any issues.
> 
> cool
> 
> > For the future (when all bits are in) would be nice to have some
> > instruction
> > how to make it run in the SPICE manual.
> 
> Good idea. I have been more focused in getting things working with
> virt-install/virt-manager/boxes (I have patches ready, once qemu bits
> land)
> 
> > Pavel
> > 
> > Also copyright should be till 2016?
> 
> ok


More information about the Spice-devel mailing list