From 136f375f010cd3047d3aa17ecab19ba15ce5ef29 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Fri, 4 Sep 2015 16:02:32 +1000 Subject: [PATCH] glshader: port to using GstGLSLStage objects for string management A GstGLShader is now simply a collection of stages that are compiled and linked together into a program. The uniform/attribute interface has remained the same. --- ext/gtk/gtkgstglwidget.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ext/gtk/gtkgstglwidget.c b/ext/gtk/gtkgstglwidget.c index 3020f1919f..3e427a8d35 100644 --- a/ext/gtk/gtkgstglwidget.c +++ b/ext/gtk/gtkgstglwidget.c @@ -118,12 +118,18 @@ gtk_gst_gl_widget_init_redisplay (GtkGstGLWidget * gst_widget) { GtkGstGLWidgetPrivate *priv = gst_widget->priv; const GstGLFuncs *gl = priv->context->gl_vtable; + GError *error = NULL; - priv->shader = gst_gl_shader_new (priv->context); gst_gl_insert_debug_marker (priv->other_context, "initializing redisplay"); + if (!(priv->shader = gst_gl_shader_new_default (priv->context, &error))) { + GST_ERROR ("Failed to initialize shader: %s", error->message); + return; + } - gst_gl_shader_compile_with_default_vf_and_check (priv->shader, - &priv->attr_position, &priv->attr_texture); + priv->attr_position = + gst_gl_shader_get_attribute_location (priv->shader, "a_position"); + priv->attr_texture = + gst_gl_shader_get_attribute_location (priv->shader, "a_texcoord"); if (gl->GenVertexArrays) { gl->GenVertexArrays (1, &priv->vao);