implement window surface

David Reveman davidr at novell.com
Thu May 19 07:03:06 PDT 2005


On Thu, 2005-05-19 at 07:41 -0600, Brian Paul wrote:
> David Reveman wrote:
> > On Tue, 2005-05-17 at 15:44 -0600, 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.
> >>
> >>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?
> > 
> > 
> > That would be nice. There's a clip rects interface in glitz that is
> > currently implemented using glScissor and multiple drawing operations.
> > It'd be very easy to have this utilize an extension like this when
> > available. 
> 
> OK, if you think it would be worthwhile, I'll try to sketch out the 
> spec for it.
> 
> -Brian

Xgl is actually doing pretty well without this as most X11 drawing
operations accelerated by Xgl are efficiently clipped in software.
However, for GLX clients that draw to buffers that are not redirect
offscreen, it'll probably make a big difference but for the composited
desktop the only client that will do this is the compositing manager and
it will be running fullscreen so no clipping is needed here anyway...

So it's not critical but it would be useful, at least if we want to run
a desktop without a compositing manager on Xgl.

-David




More information about the dri-egl mailing list