Re: Why run xserver on the OpenGL API?

Sean Middleditch <[email protected]>
Newsgroups gmane.comp.freedesktop.xserver
Organization AwesomePlay Productions, Inc.
Message-ID <[email protected]>
On Tue, 2003-11-25 at 15:21, Jon Smirl wrote:
> --- Keith Packard <[email protected]> wrote:
> > The latter is a much stronger statement that encourages/forces application
> > developers to migrate to a strange and possibly inappropriate graphics
> > model.  Far better is to provide appropriate glue between the API they want
> > to use and the graphics hardware, let them use GL where appropriate, and
> > also provide support for cairo and xlib.  Cairo is a clean 2D API that can
> > live atop either xlib, Render or GL, and exposes a full PDF 1.4 rendering
> > model which is as close to 'complete' as we've seen in a 2D API.
> 
> My understanding is that Cairo is a retained mode interface and OpenGL is an
> immediate mode one. So we are comparing apples and oranges.  Maybe someone can
> elighten me, why is Cario being designed instead of just using the SVG API? Is
> Cairo going to be integrated with stylesheets like SVG? If not, what good is
> this to the browser developers?

it's good the same way OpenGL is good to 3D programmers, even tho models
aren't stored as a stream of OpenGL commands.  cairo provides a
powerful, flexible rendering API that could potentially allow much
easier and more efficient rendering of web-pages, even if the browser
still has to interpreter SVG/CSS/HTML/etc like they always had to.

i'm also not sure on the retained mode bit - i think it depends on the
backend.  you *could* render to a pixmap then send that to X, or you
have each individual operation work on the final (perhaps hidden)
server-side pixmap, using accelerated architecture.  just like OpenGL.

> 
> > Let the application developer select their API, and just make sure that
> > reasonable APIs map as directly to the hardware as feasible.
> 
> My goal is to ensure that OpenGL is available on every Linux desktop as soon as
> possible. A big reason we don't have Linux games is that the status of OpenGL
> support under Linux is pretty chaotic. A pervasive OpenGL API is the key to
> getting mainstream apps to use it, but it will take years of deployments before
> this happens. This says nothing about using the Cairo API, Cairo is retained
> mode which is a different beast,

This is a bit of a side-discussion, but I'd have to heartily disagree. 
Every problem I've had with Linux gaming has had nothign to do with
graphics drivers, and everything to do with that Linux/UNIX is a pain in
the ass for a non-technical.  Just try to get any recent game installed
without opening a terminal, hacking a shell script, or manually
replacing a .so file.  Good luck.  Probably the only thing most users
*will* have working easily is the graphics driver (assuming their OS
installed it).

-- 
Sean Middleditch <[email protected]>
AwesomePlay Productions, Inc.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.