On Tue, Feb 16, 2016 at 3:49 PM, Marc-André Lureau <marcandre.lureau@xxxxxxxxx> wrote: > 3.16 is the minimal version for GtkGLArea widget, used in following > patches. > > Drop conditionnal epoxy, as it is now also required by gtk+. Not exactly sure about bumping the Gtk mininal version dep to 3.16 to be honest. It will make spice-gtk not buildable on any major distro but Fedora. :-\ > > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> > --- > configure.ac | 29 ++--------------------------- > src/Makefile.am | 9 +-------- > src/spice-widget-priv.h | 4 ---- > src/spice-widget.c | 28 ++++------------------------ > 4 files changed, 7 insertions(+), 63 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 7fb984f..6376532 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -124,7 +124,7 @@ AC_ARG_WITH([gtk], > [with_gtk=3.0]) > > case "$with_gtk" in > - 3.0) GTK_REQUIRED=2.91.3 > + 3.0) GTK_REQUIRED=3.16 > ;; > no) > AS_IF([test x$enable_gtk_doc = xyes], > @@ -138,7 +138,7 @@ AS_IF([test "x$with_gtk" != "xno"], > [PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED)]) > AC_SUBST(GTK_CFLAGS) > AC_SUBST(GTK_LIBS) > -SPICE_GTK_REQUIRES="${SPICE_GTK_REQUIRES} gtk+-3.0 >= $GTK_REQUIRED" > +SPICE_GTK_REQUIRES="${SPICE_GTK_REQUIRES} gtk+-3.0 >= $GTK_REQUIRED epoxy" > > PKG_CHECK_EXISTS([gtk+-quartz-$with_gtk], [have_quartz=yes], [have_quartz=no]) > AS_IF([test "x$have_quartz" = "xyes"], [AC_DEFINE([HAVE_QUARTZ], 1, [Have Quartz?])]) > @@ -209,31 +209,6 @@ AS_IF([test "x$have_phodav" = "xyes"], > > AM_CONDITIONAL([WITH_PHODAV], [test "x$have_phodav" = "xyes"]) > > -# FIXME: remove with gtk2 > -AC_ARG_ENABLE([epoxy], > - AS_HELP_STRING([--enable-epoxy=@<:@auto/yes/no@:>@], > - [Enable egl/epoxy support @<:@default=auto@:>@]), > - [], > - [enable_epoxy="auto"]) > - > -if test "x$enable_epoxy" = "xno"; then > - have_epoxy="no" > -else > - PKG_CHECK_MODULES(EPOXY, [epoxy], [have_epoxy=yes], [have_epoxy=no]) > - AC_SUBST(EPOXY_CFLAGS) > - AC_SUBST(EPOXY_LIBS) > - if test "x$have_epoxy" = "xyes"; then > - AC_CHECK_HEADER([epoxy/egl.h],,have_epoxy=no) > - fi > - if test "x$have_epoxy" = "xno" && test "x$enable_epoxy" = "xyes"; then > - AC_MSG_ERROR([epoxy support explicitly requested, but required package is not available]) > - fi > -fi > -AS_IF([test "x$have_epoxy" = "xyes"], > - AC_DEFINE(USE_EPOXY, [1], [Define if supporting epoxy])) > - > -AM_CONDITIONAL([WITH_EPOXY], [test "x$have_epoxy" = "xyes"]) > - > AC_ARG_WITH([audio], > AS_HELP_STRING([--with-audio=@<:@gstreamer/pulse/auto/no@:>@], [For legacy compatibility only]), > [SPICE_WARNING([--with-audio is deprecated. Use --enable-pulse and/or --enable-gstaudio instead]) > diff --git a/src/Makefile.am b/src/Makefile.am > index ffc98b9..2e7aa3b 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -118,7 +118,6 @@ SPICE_GTK_LIBADD_COMMON = \ > libspice-client-glib-2.0.la \ > $(GTK_LIBS) \ > $(CAIRO_LIBS) \ > - $(EPOXY_LIBS) \ > $(LIBM) \ > $(NULL) > > @@ -149,20 +148,14 @@ nodist_SPICE_GTK_SOURCES_COMMON = \ > > SPICE_GTK_SOURCES_COMMON += \ > spice-widget-cairo.c \ > - $(NULL) > - > -if WITH_GTK > -if WITH_EPOXY > -SPICE_GTK_SOURCES_COMMON += \ > spice-widget-egl.c \ > $(NULL) > -endif > > +if WITH_GTK > libspice_client_gtk_3_0_la_DEPEDENCIES = $(GTK_SYMBOLS_FILE) > libspice_client_gtk_3_0_la_LDFLAGS = $(SPICE_GTK_LDFLAGS_COMMON) > libspice_client_gtk_3_0_la_LIBADD = $(SPICE_GTK_LIBADD_COMMON) > libspice_client_gtk_3_0_la_SOURCES = $(SPICE_GTK_SOURCES_COMMON) > -libspice_client_gtk_3_0_la_CFLAGS = $(EPOXY_CFLAGS) > nodist_libspice_client_gtk_3_0_la_SOURCES = $(nodist_SPICE_GTK_SOURCES_COMMON) > > libspice_client_gtkincludedir = $(includedir)/spice-client-gtk-3.0 > diff --git a/src/spice-widget-priv.h b/src/spice-widget-priv.h > index d28328d..cbedfc7 100644 > --- a/src/spice-widget-priv.h > +++ b/src/spice-widget-priv.h > @@ -24,9 +24,7 @@ > #include <windows.h> > #endif > > -#ifdef USE_EPOXY > #include <epoxy/egl.h> > -#endif > > #include "spice-widget.h" > #include "spice-common.h" > @@ -127,7 +125,6 @@ struct _SpiceDisplayPrivate { > int x11_accel_denominator; > int x11_threshold; > #endif > -#ifdef USE_EPOXY > struct { > gboolean enabled; > EGLSurface surface; > @@ -142,7 +139,6 @@ struct _SpiceDisplayPrivate { > EGLImageKHR image; > SpiceGlScanout scanout; > } egl; > -#endif > }; > > int spicex_image_create (SpiceDisplay *display); > diff --git a/src/spice-widget.c b/src/spice-widget.c > index 1225f5f..74060ed 100644 > --- a/src/spice-widget.c > +++ b/src/spice-widget.c > @@ -543,7 +543,7 @@ static void spice_display_init(SpiceDisplay *display) > GtkWidget *widget = GTK_WIDGET(display); > SpiceDisplayPrivate *d; > GtkTargetEntry targets = { "text/uri-list", 0, 0 }; > - G_GNUC_UNUSED GError *err = NULL; > + GError *err = NULL; > > d = display->priv = SPICE_DISPLAY_GET_PRIVATE(display); > > @@ -571,12 +571,10 @@ static void spice_display_init(SpiceDisplay *display) > > d->mouse_cursor = get_blank_cursor(); > > -#ifdef USE_EPOXY > if (!spice_egl_init(display, &err)) { > g_critical("egl init failed: %s", err->message); > g_clear_error(&err); > } > -#endif > } > > static GObject * > @@ -1128,7 +1126,6 @@ static gboolean do_color_convert(SpiceDisplay *display, GdkRectangle *r) > > static void set_egl_enabled(SpiceDisplay *display, bool enabled) > { > -#ifdef USE_EPOXY > SpiceDisplayPrivate *d = display->priv; > > if (d->egl.enabled != enabled) { > @@ -1138,7 +1135,6 @@ static void set_egl_enabled(SpiceDisplay *display, bool enabled) > * resized. */ > gtk_widget_set_double_buffered(GTK_WIDGET(display), !enabled); > } > -#endif > } > > static gboolean draw_event(GtkWidget *widget, cairo_t *cr) > @@ -1147,12 +1143,10 @@ static gboolean draw_event(GtkWidget *widget, cairo_t *cr) > SpiceDisplayPrivate *d = display->priv; > g_return_val_if_fail(d != NULL, false); > > -#ifdef USE_EPOXY > if (d->egl.enabled) { > spice_egl_update_display(display); > return false; > } > -#endif > > if (d->mark == 0 || d->data == NULL || > d->area.width == 0 || d->area.height == 0) > @@ -1756,10 +1750,8 @@ static void size_allocate(GtkWidget *widget, GtkAllocation *conf, gpointer data) > d->ww = conf->width; > d->wh = conf->height; > recalc_geometry(widget); > -#ifdef USE_EPOXY > if (d->egl.enabled) > spice_egl_resize_display(display, conf->width, conf->height); > -#endif > } > > d->mx = conf->x; > @@ -1786,7 +1778,7 @@ static void realize(GtkWidget *widget) > { > SpiceDisplay *display = SPICE_DISPLAY(widget); > SpiceDisplayPrivate *d = display->priv; > - G_GNUC_UNUSED GError *err = NULL; > + GError *err = NULL; > > GTK_WIDGET_CLASS(spice_display_parent_class)->realize(widget); > > @@ -1794,21 +1786,18 @@ static void realize(GtkWidget *widget) > vnc_display_keymap_gdk2xtkbd_table(gtk_widget_get_window(widget), > &d->keycode_maplen); > > -#ifdef USE_EPOXY > if (!spice_egl_realize_display(display, gtk_widget_get_window(GTK_WIDGET(display)), &err)) { > g_critical("egl realize failed: %s", err->message); > g_clear_error(&err); > } > -#endif > + > update_image(display); > } > > static void unrealize(GtkWidget *widget) > { > spicex_image_destroy(SPICE_DISPLAY(widget)); > -#ifdef USE_EPOXY > spice_egl_unrealize_display(SPICE_DISPLAY(widget)); > -#endif > > GTK_WIDGET_CLASS(spice_display_parent_class)->unrealize(widget); > } > @@ -2257,9 +2246,7 @@ static void cursor_set(SpiceCursorChannel *channel, > } else > g_warn_if_reached(); > > -#ifdef USE_EPOXY > spice_egl_cursor_set(display); > -#endif > if (d->show_cursor) { > /* unhide */ > gdk_cursor_unref(d->show_cursor); > @@ -2407,7 +2394,6 @@ static void cursor_reset(SpiceCursorChannel *channel, gpointer data) > gdk_window_set_cursor(window, NULL); > } > > -#ifdef USE_EPOXY > static void gl_scanout(SpiceDisplay *display) > { > SpiceDisplayPrivate *d = display->priv; > @@ -2437,7 +2423,6 @@ static void gl_draw(SpiceDisplay *display, > spice_egl_update_display(display); > spice_display_gl_draw_done(SPICE_DISPLAY_CHANNEL(d->display)); > } > -#endif > > static void channel_new(SpiceSession *s, SpiceChannel *channel, gpointer data) > { > @@ -2474,12 +2459,10 @@ static void channel_new(SpiceSession *s, SpiceChannel *channel, gpointer data) > primary.stride, primary.shmid, primary.data, display); > mark(display, primary.marked); > } > -#ifdef USE_EPOXY > spice_g_signal_connect_object(channel, "notify::gl-scanout", > G_CALLBACK(gl_scanout), display, G_CONNECT_SWAPPED); > spice_g_signal_connect_object(channel, "gl-draw", > G_CALLBACK(gl_draw), display, G_CONNECT_SWAPPED); > -#endif > > spice_channel_connect(channel); > return; > @@ -2631,7 +2614,6 @@ GdkPixbuf *spice_display_get_pixbuf(SpiceDisplay *display) > g_return_val_if_fail(d != NULL, NULL); > g_return_val_if_fail(d->display != NULL, NULL); > > -#ifdef USE_EPOXY > if (d->egl.enabled) { > GdkPixbuf *tmp; > > @@ -2646,9 +2628,7 @@ GdkPixbuf *spice_display_get_pixbuf(SpiceDisplay *display) > (GdkPixbufDestroyNotify)g_free, NULL); > pixbuf = gdk_pixbuf_flip(tmp, false); > g_object_unref(tmp); > - } else > -#endif > - { > + } else { > guchar *src, *dest; > int x, y; > > -- > 2.5.0 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel