mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 20:51:13 +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);
|
||||
GstGLContextEaglPrivate *priv = context_eagl->priv;
|
||||
EAGLSharegroup *share_group;
|
||||
|
||||
if (other_context) {
|
||||
EAGLContext *external_gl_context = (EAGLContext *)
|
||||
gst_gl_context_get_gl_context (other_context);
|
||||
EAGLSharegroup *share_group = [external_gl_context sharegroup];
|
||||
|
||||
priv->eagl_context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES2 sharegroup:share_group];
|
||||
[share_group release];
|
||||
share_group = [external_gl_context sharegroup];
|
||||
} 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->framebuffer = 0;
|
||||
priv->color_renderbuffer = 0;
|
||||
|
|
Loading…
Reference in a new issue