From 3f734aafc7870147256800f6cb9e46135ba9d2e6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 21 Sep 2012 13:42:41 +0200 Subject: [PATCH] eglglessink: Use the attrib locations as really used inside the shader --- ext/eglgles/gsteglglessink.c | 10 ++++++---- ext/eglgles/gsteglglessink.h | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ext/eglgles/gsteglglessink.c b/ext/eglgles/gsteglglessink.c index ed5b094..a0015d3 100644 --- a/ext/eglgles/gsteglglessink.c +++ b/ext/eglgles/gsteglglessink.c @@ -1184,11 +1184,11 @@ gst_eglglessink_setup_vbo (GstEglGlesSink * eglglessink, gboolean reset) if (got_gl_error ("glBufferData vdata")) goto HANDLE_ERROR_LOCKED; - glVertexAttribPointer (0, 3, GL_FLOAT, GL_FALSE, 0, 0); + glVertexAttribPointer (eglglessink->coord_pos, 3, GL_FLOAT, GL_FALSE, 0, 0); if (got_gl_error ("glVertexAttribPointer")) goto HANDLE_ERROR_LOCKED; - glEnableVertexAttribArray (0); + glEnableVertexAttribArray (eglglessink->coord_pos); if (got_gl_error ("glEnableVertexAttribArray")) goto HANDLE_ERROR_LOCKED; @@ -1201,11 +1201,11 @@ gst_eglglessink_setup_vbo (GstEglGlesSink * eglglessink, gboolean reset) if (got_gl_error ("glBufferData tdata")) goto HANDLE_ERROR_LOCKED; - glVertexAttribPointer (1, 2, GL_FLOAT, GL_FALSE, 0, 0); + glVertexAttribPointer (eglglessink->tex_pos, 2, GL_FLOAT, GL_FALSE, 0, 0); if (got_gl_error ("glVertexAttribPointer")) goto HANDLE_ERROR_LOCKED; - glEnableVertexAttribArray (1); + glEnableVertexAttribArray (eglglessink->tex_pos); if (got_gl_error ("glEnableVertexAttribArray")) goto HANDLE_ERROR_LOCKED; @@ -1359,6 +1359,8 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink) if (got_gl_error ("glUseProgram")) goto HANDLE_ERROR; + eglglessink->coord_pos = glGetAttribLocation (prog, "position"); + eglglessink->tex_pos = glGetAttribLocation (prog, "texpos"); /* Generate and bind texture */ if (!eglglessink->have_texture) { diff --git a/ext/eglgles/gsteglglessink.h b/ext/eglgles/gsteglglessink.h index 8f02af4..e73063d 100644 --- a/ext/eglgles/gsteglglessink.h +++ b/ext/eglgles/gsteglglessink.h @@ -156,6 +156,7 @@ struct _GstEglGlesSink GstEglGlesSinkRenderingPath rendering_path; /* shader vars */ + GLuint coord_pos, tex_pos; coord3 coordarray[4]; coord2 texarray[4]; unsigned short indexarray[4]; -- 2.7.4