Open GL and Open VG rendering on the same EGL surface

Hi group

  1. Is it possible for OpenGLES and OpenVG to render on the same EGL(EGL 1.1) surface that is without using the eglBindApi () which is used in the EGL 1.2 versions onwards.

2)Are there any software implementation’s for an OpenGLES and OpenVG using a common EGL implementation between them ?

Thanks in advance



No one here to answer this? i also came across the same problem recently, so it would be very nice if some one can at least give some hints.

For question #1, no. EGL 1.1 has no way to create an OpenVG context or bind it to a surface.

I don’t know about question #2 - someone may have but I’m not aware of it if so. Khronos is talking about doing a sample implementation of EGL and several client APIs working together, as a testbed and example, but we haven’t committed to that project yet.

Hi jon,

Yes, i know that EGL 1.1 does not support this, but i believe Egl 1.3 or greater version support this through eglbindAPI().So, to rephrase the question

“is it possible to render both OpenGL & OpenVG on the same surface without using eglBindAPI() in EGL >1.3”?

Still no. To render to a surface you have to make a context current to that surface. To make both a VG and an ES context current to a surface, you’ll have to call eglBindAPI between the two eglMakeCurrent calls.

Had we expected EGL to have to support multiple client APIs when we originally specified it, it’s unlikely we would have done it this way - instead, commands would have added an API selector argument. But when OpenVG support came up, not breaking the existing API meant using the eglBindAPI approach.