From: David Reveman <davidr@novell.com>
To: Allen Akin <akin@pobox.com>
Cc: Discuss issues related to the xorg tree
<xorg@lists.freedesktop.org>, Jon Smirl <jonsmirl@gmail.com>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: State of Linux graphics
Date: Wed, 31 Aug 2005 13:20:09 -0400 [thread overview]
Message-ID: <1125508809.8716.76.camel@localhost> (raw)
In-Reply-To: <20050831063355.GE27940@tuolumne.arden.org>
On Tue, 2005-08-30 at 23:33 -0700, Allen Akin wrote:
> On Tue, Aug 30, 2005 at 01:26:53PM -0400, David Reveman wrote:
> | On Tue, 2005-08-30 at 12:03 -0400, Jon Smirl wrote:
> | > In general, the whole concept of programmable graphics hardware is
> | > not addressed in APIs like xlib and Cairo. This is a very important
> | > point. A major new GPU feature, programmability is simply not
> | > accessible from the current X APIs. OpenGL exposes this
> | > programmability via its shader language.
> |
> | ... I don't
> | see why this can't be exposed through the Render extension. ...
>
> What has always concerned me about this approach is that when you add
> enough functionality to Render or some new X extensions to fully exploit
> previous (much less current and in-development!) generations of GPUs,
> you've essentially duplicated OpenGL 2.0. You need to identify the
> resources to be managed (framebuffer objects, vertex objects, textures,
> programs of several kinds, etc.); explain how they're specified and how
> they interact and how they're owned/shared; define a vocabulary of
> commands that operate upon them; think about how those commands are
> translated and executed on various pieces of hardware; examine the
> impact of things like graphics context switching on the system
> architecture; and deal with a dozen other matters that have already been
> addressed fully or partly in the OpenGL world.
>
> I think it makes a lot of sense to leverage the work that's already been
> done: Take OpenGL as a given, and add extensions for what's missing.
> Don't create a parallel API that in the long run must develop into
> something at least as rich as OpenGL was to start with. That costs time
> and effort, and likely won't be supported by the hardware vendors to the
> same extent that OpenGL is (thanks to the commercial forces already at
> work). Let OpenGL do 80% of the job, then work to provide the last 20%,
> rather than trying to do 100% from scratch.
Sounds sane. This is actually what I've done in Xgl to make it possible
to write some more interesting compositing managers. I implemented
GLX_MESA_render_texture so that a compositing manager can bind
redirected windows to textures and draw the screen using OpenGL.
Using OpenGL instead of X Render might very well be the way we end up
doing things. The current X Render API is sufficient for even more
complex cairo applications and that's good as they can then be
accelerated on servers without GL support. But you're probably right,
the next time we think of extending X Render we might want to reconsider
if that's such a good idea. If it's not likely that anything but a
OpenGL based server will accelerate it, then it might be a bad idea to
add it to X Render.
-David
next prev parent reply other threads:[~2005-08-31 17:23 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-30 16:03 State of Linux graphics Jon Smirl
2005-08-30 17:26 ` David Reveman
2005-08-30 18:13 ` Jon Smirl
2005-08-30 22:38 ` Dave Airlie
2005-08-31 6:33 ` Allen Akin
2005-08-31 8:11 ` Anshuman Gholap
2005-08-31 17:20 ` David Reveman [this message]
2005-08-31 17:48 ` Jim Gettys
2005-08-31 18:23 ` Jon Smirl
2005-08-31 19:06 ` Allen Akin
2005-08-31 19:14 ` Jim Gettys
2005-08-31 18:29 ` Keith Packard
2005-08-31 20:06 ` Allen Akin
2005-08-31 20:20 ` Ian Romanick
2005-09-01 1:04 ` James Cloos
2005-08-31 21:06 ` Keith Packard
2005-09-01 1:58 ` Allen Akin
2005-09-01 3:11 ` Ian Romanick
2005-09-01 6:00 ` Antonio Vargas
2005-09-01 10:20 ` Alan Cox
2005-09-01 13:57 ` Antonio Vargas
2005-09-01 6:11 ` Allen Akin
2005-09-01 3:59 ` Keith Packard
2005-09-01 15:24 ` Brian Paul
2005-09-01 15:59 ` Jim Gettys
2005-09-01 16:39 ` Andreas Hauser
2005-09-01 20:18 ` Jim Gettys
2005-09-01 20:38 ` Jon Smirl
2005-09-01 21:29 ` Sean
2005-09-01 16:09 ` Alan Cox
2005-09-01 16:04 ` Brian Paul
2005-09-01 17:21 ` Ian Romanick
2005-09-01 17:26 ` Keith Whitwell
2005-09-01 20:03 ` Allen Akin
2005-08-31 3:11 ` Daniel Stone
2005-08-31 4:29 ` Jon Smirl
2005-08-31 4:50 ` Jon Smirl
[not found] ` <1125464500.8730.68.camel@localhost.localdomain>
2005-08-31 5:17 ` Jon Smirl
2005-08-31 5:23 ` Jon Smirl
2005-08-31 5:40 ` Jon Smirl
2005-08-31 6:15 ` Eric Anholt
2005-08-31 13:38 ` Jon Smirl
-- strict thread matches above, loose matches on Subject: below --
2005-09-02 2:44 rep stsb
2005-09-03 4:00 mcartoaje
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1125508809.8716.76.camel@localhost \
--to=davidr@novell.com \
--cc=akin@pobox.com \
--cc=jonsmirl@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=xorg@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox