diff --git a/ext/gl/effects/gstgleffectssources.h b/ext/gl/effects/gstgleffectssources.h index 68a6f571b5..76f0b5e971 100644 --- a/ext/gl/effects/gstgleffectssources.h +++ b/ext/gl/effects/gstgleffectssources.h @@ -25,10 +25,10 @@ extern const gchar *mirror_fragment_source_opengl; extern const gchar *squeeze_fragment_source_opengl; #endif -#if GST_GL_HAVE_GLES2 + extern const gchar *mirror_fragment_source_gles2; extern const gchar *squeeze_fragment_source_gles2; -#endif + extern const gchar *stretch_fragment_source; extern const gchar *tunnel_fragment_source; extern const gchar *fisheye_fragment_source; diff --git a/ext/gl/gstglcolorscale.c b/ext/gl/gstglcolorscale.c index 929de55501..c9a2dc06c8 100644 --- a/ext/gl/gstglcolorscale.c +++ b/ext/gl/gstglcolorscale.c @@ -210,12 +210,14 @@ gst_gl_colorscale_callback (gint width, gint height, guint texture, { GstGLFilter *filter = GST_GL_FILTER (stuff); +#if GST_GL_API_HAVE_OPENGL if (gst_gl_context_get_gl_api (filter->context) & GST_GL_API_OPENGL) { const GstGLFuncs *gl = filter->context->gl_vtable; gl->MatrixMode (GL_PROJECTION); gl->LoadIdentity (); } +#endif gst_gl_filter_draw_texture (filter, texture, width, height); } diff --git a/ext/gl/gstgleffects.c b/ext/gl/gstgleffects.c index 8c56457277..21ebb996fc 100644 --- a/ext/gl/gstgleffects.c +++ b/ext/gl/gstgleffects.c @@ -216,10 +216,10 @@ gst_gl_effects_set_effect (GstGLEffects * effects, gint effect_type) effects->effect = (GstGLEffectProcessFunc) gst_gl_effects_glow; filter_class->supported_gl_api = GST_GL_API_OPENGL; break; -#endif default: g_assert_not_reached (); } +#endif effects->current_effect = effect_type; } diff --git a/gst-libs/gst/gl/gstglsyncmeta.c b/gst-libs/gst/gl/gstglsyncmeta.c index c1219b1a5a..3205b2b15d 100644 --- a/gst-libs/gst/gl/gstglsyncmeta.c +++ b/gst-libs/gst/gl/gstglsyncmeta.c @@ -49,11 +49,13 @@ _set_sync_point (GstGLContext * context, GstGLSyncMeta * sync_meta) { const GstGLFuncs *gl = context->gl_vtable; - if (gl->FenceSync) { + if (gl->FenceSync && gst_gl_context_get_gl_api (context) & GST_GL_API_OPENGL3) { if (sync_meta->glsync) gl->DeleteSync (sync_meta->glsync); +#if GST_GL_HAVE_OPENGL sync_meta->glsync = gl->FenceSync (GL_SYNC_GPU_COMMANDS_COMPLETE, 0); GST_LOG_OBJECT (sync_meta, "setting sync object %p", sync_meta->glsync); +#endif } else { gl->Flush (); } @@ -67,6 +69,7 @@ gst_gl_sync_meta_set_sync_point (GstGLSyncMeta * sync_meta, (GstGLContextThreadFunc) _set_sync_point, sync_meta); } +#if GST_GL_HAVE_OPENGL static void _wait (GstGLContext * context, GstGLSyncMeta * sync_meta) { @@ -83,14 +86,18 @@ _wait (GstGLContext * context, GstGLSyncMeta * sync_meta) } while (res == GL_TIMEOUT_EXPIRED); } } +#endif void gst_gl_sync_meta_wait (GstGLSyncMeta * sync_meta) { - if (sync_meta->glsync) { +#if GST_GL_HAVE_OPENGL + if (sync_meta->glsync + && gst_gl_context_get_gl_api (context) & GST_GL_API_OPENGL3) { gst_gl_context_thread_add (sync_meta->context, (GstGLContextThreadFunc) _wait, sync_meta); } +#endif } static gboolean