AnsweredAssumed Answered

Shared OpenGL ES Context between screens

Question asked by Richard Thompson on Feb 8, 2016
Latest reply on Feb 9, 2016 by Richard Thompson

We have an IMX6 Quad, and there is some OpenGLES content we wish to share between applications.

 

According to several posts on this forum, we could use the Virtual Framebuffer driver to do this.

 

However, I have been unable to create a shared OpenGLES/EGL context that covers two screens - whether two physical and or a physical and a virtual.

 

I start by creating the initial context on the 'physical' screen.

 

I then create a context on the 'virtual' screen that should share this first context.

virt_display = fbGetDisplayByIndex(virtdispIndex);
eglvdisplay  = eglGetDisplay (virt_display);
eglInitialize (eglvdisplay, NULL, NULL);
eglChooseConfig (eglvdisplay, m_configAttribs, &eglconfig, 1, &numconfigs);

EGLNativeWindowType  native_window = fbCreateWindow(virt_display, x, y, width, height);
eglsurface = eglCreateWindowSurface (eglvdisplay, eglconfig, native_window, NULL);
glcontext = eglCreateContext (eglvdisplay, eglconfig, shared_context, ContextAttribList);

This always throws the error "EGL_BAD_CONTEXT"

 

Is this actually possible to do, or is the previous suggestion actually bogus?

 

Outcomes