implement window surface

Adam Jackson ajax at nwnk.net
Wed May 18 10:10:52 PDT 2005


On Tuesday 17 May 2005 17:44, Brian Paul wrote:
> Jon Smirl wrote:
> > Don't I need to implement window surfaces in the fbdev EGL driver? In
> > other words the ability to create a surface that will draw to a
> > clipped rectangle on an existing screen surface.  Without clipped
> > surfaces how can you implement a non-composed Xserver?
>
> The eglCreateWindowSurface() function is designed to be used in
> conjunction with the native window system's windows (X window or Win32
> window, etc).  It takes a <NativeWindowType> parameter.  So you'd use
> the native window system API to manage the window (XMoveWindow,
> XResizeWindow, XMapWindow, etc).
>
> So in our X-less EGL environment we'd probably need to add all those
> sorts of functions.

Either that, or don't.  My mental model of Xegl was that all X rendering 
surfaces would be textures internally, and the server's default composition 
code (equivalent to X without xcompmgr) would apply them to quads that you 
draw into the screen surface.  That's exactly the existing model that Xglx 
uses, where offscreen buffers are composed into a GLX window as textured 
quads.

There's not really any native window type to do eglCreateWindowSurface on.  
You'd have to get that handle from somewhere, right?  If you're the server, 
who do you ask for that handle?

So no, I don't think we need to, or can, support EGL windows in the standalone 
case.  Or pixmaps for that matter.  In both cases you need to pass in a 
native handle, and if you're running standalone there's no native window 
system.  I think in our world everything is a pbuffer or a screen for now.

> Another option I've been considering is to develop a new OpenGL/Mesa
> extension that extends the glScissor feature to allow clipping against
> a list of rectangles, not just one.  This would be used to implement
> cliprects for window regions.  The DRI drivers already support this
> internally for window clipping so it shouldn't be too hard to implement.
>
> What do the XGL people think of that?

Sounds good to me.

Some Wine people have also expressed a desire for greater control over 
cliprects to get windowed Direct3D working right.  I think they were wanting 
the ability to read the active clip list out of the driver though, which may 
be orthogonal to extending glScissor.

- 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/20050518/5e748ee9/attachment.pgp


More information about the dri-egl mailing list