eglglessink: Fix missing texture setup bits
authorReynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
Mon, 17 Sep 2012 15:54:05 +0000 (12:54 -0300)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 18 Oct 2012 12:35:11 +0000 (14:35 +0200)
ext/eglgles/gsteglglessink.c

index 062f69c..25b02db 100644 (file)
@@ -1165,7 +1165,7 @@ static gboolean
 gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
 {
   GLint test;
-  GLuint verthandle, fraghandle, prog;
+  GLuint verthandle, fraghandle, prog, texlocation;
   GLboolean ret;
   GLchar *info_log;
 
@@ -1275,6 +1275,7 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
   if (got_gl_error ("glUseProgram"))
     goto HANDLE_ERROR;
 
+
   /* Generate and bind texture */
   if (!eglglessink->have_texture) {
     GST_INFO_OBJECT (eglglessink, "Doing initial texture setup");
@@ -1285,10 +1286,14 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
     if (got_gl_error ("glGenTextures"))
       goto HANDLE_ERROR_LOCKED;
 
+    glActiveTexture (GL_TEXTURE0);
     glBindTexture (GL_TEXTURE_2D, eglglessink->texture[0]);
     if (got_gl_error ("glBindTexture"))
       goto HANDLE_ERROR_LOCKED;
 
+    texlocation = glGetUniformLocation (prog, "tex");
+    glUniform1i (texlocation, 0);
+
     eglglessink->have_texture = TRUE;
     g_mutex_unlock (eglglessink->flow_lock);
   }