mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
glcolorscale: fix operation with dual GL, GLES2 libgstgl
This commit is contained in:
parent
598a79a5e2
commit
5681f78362
1 changed files with 16 additions and 12 deletions
|
@ -160,15 +160,17 @@ gst_gl_colorscale_gen_gl_resources (GstGLFilter * filter)
|
||||||
{
|
{
|
||||||
GstGLColorscale *colorscale = GST_GL_COLORSCALE (filter);
|
GstGLColorscale *colorscale = GST_GL_COLORSCALE (filter);
|
||||||
|
|
||||||
gst_gl_context_thread_add (filter->context,
|
if (gst_gl_context_get_gl_api (filter->context) & GST_GL_API_GLES2) {
|
||||||
(GstGLContextThreadFunc) _compile_identity_shader, colorscale);
|
gst_gl_context_thread_add (filter->context,
|
||||||
|
(GstGLContextThreadFunc) _compile_identity_shader, colorscale);
|
||||||
|
|
||||||
if (!colorscale->shader) {
|
if (!colorscale->shader) {
|
||||||
gst_gl_context_set_error (filter->context,
|
gst_gl_context_set_error (filter->context,
|
||||||
"Failed to initialize identity shader");
|
"Failed to initialize identity shader");
|
||||||
GST_ELEMENT_ERROR (colorscale, RESOURCE, NOT_FOUND, ("%s",
|
GST_ELEMENT_ERROR (colorscale, RESOURCE, NOT_FOUND, ("%s",
|
||||||
gst_gl_context_get_error ()), (NULL));
|
gst_gl_context_get_error ()), (NULL));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -195,13 +197,15 @@ gst_gl_colorscale_filter_texture (GstGLFilter * filter, guint in_tex,
|
||||||
colorscale = GST_GL_COLORSCALE (filter);
|
colorscale = GST_GL_COLORSCALE (filter);
|
||||||
|
|
||||||
#if GST_GL_HAVE_GLES2
|
#if GST_GL_HAVE_GLES2
|
||||||
gst_gl_filter_render_to_target_with_shader (filter, TRUE, in_tex, out_tex,
|
if (gst_gl_context_get_gl_api (filter->context) & GST_GL_API_GLES2)
|
||||||
colorscale->shader);
|
gst_gl_filter_render_to_target_with_shader (filter, TRUE, in_tex, out_tex,
|
||||||
|
colorscale->shader);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if GST_GL_HAVE_OPENGL
|
#if GST_GL_HAVE_OPENGL
|
||||||
gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
|
if (gst_gl_context_get_gl_api (filter->context) & GST_GL_API_OPENGL)
|
||||||
gst_gl_colorscale_callback, colorscale);
|
gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
|
||||||
|
gst_gl_colorscale_callback, colorscale);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in a new issue