Multiple EGL implementations

Adam Jackson ajax at nwnk.net
Sat Jul 2 16:35:48 PDT 2005


On Saturday 02 July 2005 15:13, Jon Smirl wrote:
> On 7/2/05, Adam Jackson <ajax at nwnk.net> wrote:
> I haven't worked through the details of how a remote EGL display would
> work. Xegl is going to want to open the display, get a list of modes
> and set a screen surface. Can all of that be mapped on GLX without
> changes? How about off screen surfaces? Have you paired up the EGL API
> with corresponding GLX calls to make sure that everything is mappable?

Yeah, I pretty much already did it:

http://people.freedesktop.org/~ajax/indiegl-1.0.tar.gz

But I did it before the EGL driver interface really existed, and haven't had 
time to get back to it.  The only major issue, as you pointed out in another 
mail, would be handling window resizes.  The possible solutions include:

- Don't care, resizes change the view clip but not the scene geometry
- Don't, use SetWMNormalHints to prevent resizes
- Generate EGL_MODE_LOST_MESA on next state update to the drawable, invalidate 
the window contents but don't destroy the backing X window yet.

The last one hinges on a token we don't have.  I think it maps exactly to 
resize events in hardware, so the semantics there would be:

  Once MODE_LOST_MESA is issued for a screen surface, the EGLSurface is
  invalidated for state changes and its buffers are undefined.  Either
  destroy it, or select a new mode and re-show the surface using the new mode.

For everything else, the EGL API is almost a strict subset of the GLX API.  
It's pretty straightforward.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dri-egl/attachments/20050702/46b61bce/attachment.pgp


More information about the dri-egl mailing list