I totally agree with you that *something* needs to be done
to address this defficiency in XFree86. As mentioned in a previous
post a while back I am  trying to write some 2d games for Linux but
require; fullscreen, direct access, vsynching, ability to change
the start of display offset (for page flipping and vertcial scrolling),
8 bit indexed palettes, etc...  We are left using DGAv2 as it satisfies 
all these requirements, but it seems most the XFree developers want it
removed in the future, with no real replacement :(  I am currently 
starting to write a windowed version of the gfx libs, but it will suck 
hugely in speed terms compared to that of DGA. People will say "why not
use OpenGL", but lets face it.. OpenGL sucks for 2d, it is
overcomplicated for this task, when all you want to do simple 2d sprite 
drawing, some palettized effects, and scrolling...



On Thu, 1 Apr 2004 18:03:23 -0800 (PST)
Luchezar Belev <[EMAIL PROTECTED]> wrote:

> hi all,
> I want to toss an idea about the depth switching on the fly.
> 
> The dynamic depth changing is one of the
> few basic things that are impossible in xf86.
> In fact DGA2 has such ability, but it's limited
> for it's own use only. The new randr extension
> in it's full variant can do it but as of now
> it's not implemented and it seems quite unliky
> to be implemented ever because from it's design
> follows that it's implementation would be
> extremely hard thing to do, and naturally noone
> feels motivated enough to take up the task.
> 
> But such functionality is really important if we
> want xf86 to be considered an viable gaming platform.
> For example it would be a great benefit for the Wine
> in it's efforts in emulating windows for games.
> Some argue that the need of depth switching has
> been somewhat outweighted by the fact that these
> days the memory is cheap and noone cares if the
> framebuffer takes twice as much memory. Of course
> the memory usage itself does not matter, but what
> really matters is the speed. For example quake3
> does almost twice as many frames per second if
> run in 16-bit mode than in 32-bit mode. And this
> cannot be outweighted whatever the memory price is.
> Even in nowdays many games prefer low-depth modes
> (sometimes even 8-bit) because of the lower bandwidth
> requirement, which is critical.
> 
> Now my idea. Since the main potential users of such
> functionality are the games, and they are mainly
> full-screen apps it would be relatively easy
> but still very usefull if we have something in between
> the DGA2 and randr - some kind of fullscreen (i.e. only
> single window visible - no need for software depth emulation
> for the rest of the windows, etc.) but using real x window so
> that one can use the standard X11 apis available for the normal
> windows (for example use GLX/OpenGL with it)
> For example the api function could be something like:
> 
> Window X<extension-name>CreateFullscreenWindow(
>       Display *dpy,
>       X<extension-name>ModeDescriptor *vidmode,
>       int depth,
>       Visual *visual,
>       unsigned long valuemask,
>       XSetWindowAttributes *attribs
> );
> 
> The function creates a special fullscreen window.
> When such window get mapped (XMapWindow) it automatically
> switches the video mode to vidmode and changes the
> framebuffer depth to the window's depth (which may differ
> from the root window's depth). Such windows always occupy
> the entire screen and may not be obscured by other windows
> (and probably have their override_redirect attribute always set).
> When the window is unmapped it switches back the video mode
> and the frame buffer depth to their normal states.
> 
> The video mode description could probably be something like
> in the XF86VidMode extension.
> 
> Lucho
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Small Business $15K Web Design Giveaway 
> http://promotions.yahoo.com/design_giveaway/
> _______________________________________________
> Devel mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/devel
> 
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to