Native surface creation

Jon Smirl jonsmirl at gmail.com
Fri Mar 11 13:28:15 PST 2005


> Finally, there'd be a function, such as eglShowSurfaceXXX(), that
> would would display the named surface on the CRT/LCD.  Note that the
> surface width/height wouldn't have to match the display's resolution-
> it could be larger.  There'd be another function to specify the
> translation/origin of the surface on the display.  This would be like
> the conventional X "virtual resolution" and would allow scrolling.
> 
> One could allocate a bunch of screen surfaces and display any one of
> them at a time with eglShowSurfaceXXX().

Framebuffer should be able to support this. I'm just allocating each
screen right now at each end of memory just because framebuffer
doesn't have a memory manager. Once the basic framebuffer support is
working I'll start integrating it into DRM. DRM can tie closely into
framebuffer and move the start/stride around where ever DRM/mesa wants
it to be. With XGL we will probably not be able to run DRM without
having the corresponding fbdev driver loaded. eglShowSurface would
ioctl into DRM and then DRM will mess with fbdev to get the pointers
in the right place.

I do think it is important to be able to have as many scanout buffers
as we want and then be able to switch among them. For instance VT's
could be in scanout buffers, when you switch to them they are full
screen, but the window manager could also display them. Or full screen
video, etc.

-- 
Jon Smirl
jonsmirl at gmail.com


More information about the dri-egl mailing list