mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 03:01:03 +00:00
Revert "Revert "gl/eagl: try getting a gles3 context""
This reverts commit eb14273631
.
vtdec now successfully outputs textures that can be converted by
glcolorconvert in GLES3 contexts.
This commit is contained in:
parent
1153684a94
commit
9554725cc2
1 changed files with 17 additions and 5 deletions
|
@ -219,18 +219,30 @@ gst_gl_context_eagl_create_context (GstGLContext * context, GstGLAPI gl_api,
|
||||||
{
|
{
|
||||||
GstGLContextEagl *context_eagl = GST_GL_CONTEXT_EAGL (context);
|
GstGLContextEagl *context_eagl = GST_GL_CONTEXT_EAGL (context);
|
||||||
GstGLContextEaglPrivate *priv = context_eagl->priv;
|
GstGLContextEaglPrivate *priv = context_eagl->priv;
|
||||||
|
EAGLSharegroup *share_group;
|
||||||
|
|
||||||
if (other_context) {
|
if (other_context) {
|
||||||
EAGLContext *external_gl_context = (EAGLContext *)
|
EAGLContext *external_gl_context = (EAGLContext *)
|
||||||
gst_gl_context_get_gl_context (other_context);
|
gst_gl_context_get_gl_context (other_context);
|
||||||
EAGLSharegroup *share_group = [external_gl_context sharegroup];
|
share_group = [external_gl_context sharegroup];
|
||||||
|
|
||||||
priv->eagl_context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES2 sharegroup:share_group];
|
|
||||||
[share_group release];
|
|
||||||
} else {
|
} else {
|
||||||
priv->eagl_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
|
share_group = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->eagl_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3 sharegroup:share_group];
|
||||||
|
if (!priv->eagl_context) {
|
||||||
|
priv->eagl_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2 sharegroup:share_group];
|
||||||
|
}
|
||||||
|
if (!priv->eagl_context) {
|
||||||
|
g_set_error_literal (error, GST_GL_CONTEXT_ERROR,
|
||||||
|
GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
|
||||||
|
"Failed to create OpenGL ES context");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (share_group)
|
||||||
|
[share_group release];
|
||||||
|
|
||||||
priv->eagl_layer = NULL;
|
priv->eagl_layer = NULL;
|
||||||
priv->framebuffer = 0;
|
priv->framebuffer = 0;
|
||||||
priv->color_renderbuffer = 0;
|
priv->color_renderbuffer = 0;
|
||||||
|
|
Loading…
Reference in a new issue