mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
[378/906] gldisplay: avoid to request gl thread when deleting a texture
A texture is not destroyed when when we are done with it. This texture is just added to the texture pool in order to be re-used. In this case no OpenGL code is executed so we do not need to request gl thread.
This commit is contained in:
parent
fa41020ee4
commit
95dbe51fef
2 changed files with 1 additions and 20 deletions
|
@ -59,7 +59,6 @@ gpointer gst_gl_display_thread_create_context (GstGLDisplay * display);
|
||||||
void gst_gl_display_thread_destroy_context (GstGLDisplay * display);
|
void gst_gl_display_thread_destroy_context (GstGLDisplay * display);
|
||||||
void gst_gl_display_thread_run_generic (GstGLDisplay * display);
|
void gst_gl_display_thread_run_generic (GstGLDisplay * display);
|
||||||
void gst_gl_display_thread_gen_texture (GstGLDisplay * display);
|
void gst_gl_display_thread_gen_texture (GstGLDisplay * display);
|
||||||
void gst_gl_display_thread_del_texture (GstGLDisplay * display);
|
|
||||||
#ifdef OPENGL_ES2
|
#ifdef OPENGL_ES2
|
||||||
void gst_gl_display_thread_init_redisplay (GstGLDisplay * display);
|
void gst_gl_display_thread_init_redisplay (GstGLDisplay * display);
|
||||||
#endif
|
#endif
|
||||||
|
@ -145,9 +144,6 @@ gst_gl_display_init (GstGLDisplay * display, GstGLDisplayClass * klass)
|
||||||
display->gen_texture = 0;
|
display->gen_texture = 0;
|
||||||
display->gen_texture_width = 0;
|
display->gen_texture_width = 0;
|
||||||
display->gen_texture_height = 0;
|
display->gen_texture_height = 0;
|
||||||
display->del_texture = 0;
|
|
||||||
display->del_texture_width = 0;
|
|
||||||
display->del_texture_height = 0;
|
|
||||||
|
|
||||||
//client callbacks
|
//client callbacks
|
||||||
display->clientReshapeCallback = NULL;
|
display->clientReshapeCallback = NULL;
|
||||||
|
@ -764,14 +760,6 @@ gst_gl_display_thread_gen_texture (GstGLDisplay * display)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Called in the gl thread */
|
|
||||||
void
|
|
||||||
gst_gl_display_thread_del_texture (GstGLDisplay * display)
|
|
||||||
{
|
|
||||||
gst_gl_display_gldel_texture (display, &display->del_texture,
|
|
||||||
display->del_texture_width, display->del_texture_height);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef OPENGL_ES2
|
#ifdef OPENGL_ES2
|
||||||
/* Called in the gl thread */
|
/* Called in the gl thread */
|
||||||
void
|
void
|
||||||
|
@ -2187,11 +2175,7 @@ gst_gl_display_del_texture (GstGLDisplay * display, GLuint texture, GLint width,
|
||||||
{
|
{
|
||||||
gst_gl_display_lock (display);
|
gst_gl_display_lock (display);
|
||||||
if (texture) {
|
if (texture) {
|
||||||
display->del_texture = texture;
|
gst_gl_display_gldel_texture (display, &texture, width, height);
|
||||||
display->del_texture_width = width;
|
|
||||||
display->del_texture_height = height;
|
|
||||||
gst_gl_window_send_message (display->gl_window,
|
|
||||||
GST_GL_WINDOW_CB (gst_gl_display_thread_del_texture), display);
|
|
||||||
}
|
}
|
||||||
gst_gl_display_unlock (display);
|
gst_gl_display_unlock (display);
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,9 +113,6 @@ struct _GstGLDisplay
|
||||||
GLuint gen_texture;
|
GLuint gen_texture;
|
||||||
GLuint gen_texture_width;
|
GLuint gen_texture_width;
|
||||||
GLuint gen_texture_height;
|
GLuint gen_texture_height;
|
||||||
GLuint del_texture;
|
|
||||||
GLuint del_texture_width;
|
|
||||||
GLuint del_texture_height;
|
|
||||||
|
|
||||||
//client callbacks
|
//client callbacks
|
||||||
CRCB clientReshapeCallback;
|
CRCB clientReshapeCallback;
|
||||||
|
|
Loading…
Reference in a new issue