diff --git a/gst-libs/gst/gl/gstglshader.c b/gst-libs/gst/gl/gstglshader.c index e7800b705a..9d96784aef 100644 --- a/gst-libs/gst/gl/gstglshader.c +++ b/gst-libs/gst/gl/gstglshader.c @@ -458,9 +458,11 @@ gst_gl_shader_detach_unlocked (GstGLShader * shader, GstGLSLStage * stage) return; } - g_assert (shader->context->gl_vtable->IsProgram (shader->priv-> - program_handle)); - g_assert (shader->context->gl_vtable->IsShader (stage_handle)); + if (shader->context->gl_vtable->IsProgram) + g_assert (shader->context->gl_vtable->IsProgram (shader-> + priv->program_handle)); + if (shader->context->gl_vtable->IsShader) + g_assert (shader->context->gl_vtable->IsShader (stage_handle)); GST_LOG_OBJECT (shader, "detaching shader %i from program %i", stage_handle, (int) shader->priv->program_handle); @@ -533,9 +535,11 @@ gst_gl_shader_attach_unlocked (GstGLShader * shader, GstGLSLStage * stage) return FALSE; } - g_assert (shader->context->gl_vtable->IsProgram (shader->priv-> - program_handle)); - g_assert (shader->context->gl_vtable->IsShader (stage_handle)); + if (shader->context->gl_vtable->IsProgram) + g_assert (shader->context->gl_vtable->IsProgram (shader-> + priv->program_handle)); + if (shader->context->gl_vtable->IsShader) + g_assert (shader->context->gl_vtable->IsShader (stage_handle)); shader->priv->stages = g_list_prepend (shader->priv->stages, gst_object_ref_sink (stage)); diff --git a/gst-libs/gst/gl/gstglslstage.c b/gst-libs/gst/gl/gstglslstage.c index caa5860bfc..770b1d0123 100644 --- a/gst-libs/gst/gl/gstglslstage.c +++ b/gst-libs/gst/gl/gstglslstage.c @@ -471,7 +471,7 @@ _compile_shader (GstGLContext * context, struct compile *data) /* FIXME: supported threaded GLSL compilers and don't destroy compilation * performance by getting the compilation result directly after compilation */ status = GL_FALSE; - gl->GetShaderiv (priv->handle, GL_COMPILE_STATUS, &status); + vtable->GetShaderiv (priv->handle, GL_COMPILE_STATUS, &status); len = 0; vtable->GetShaderInfoLog (priv->handle, sizeof (info_buffer) - 1, &len,