From: David Miller <davem@twiddle.net>
To: ultralinux@vger.kernel.org
Subject: Re: [ANNOUNCE] Test release of rewritten Creator/Creator3D/Elite3D support
Date: Thu, 18 Mar 1999 02:40:58 +0000 [thread overview]
Message-ID: <marc-linux-ultrasparc-92173096605223@msgid-missing> (raw)
In-Reply-To: <marc-linux-ultrasparc-92169272206527@msgid-missing>
Date: Wed, 17 Mar 1999 23:59:12 +0000
From: Matthew Hawkins <matt@mail.goldweb.com.au>
Is this a chipset-specific feature, or is it possible for other X
servers to be similarly modified?
Yes and no. It can be done in software, but slowly.
Most modern cards support 8bpp and 32bpp by way of WIDs (Window IDs),
but mostly they do this for the sake of efficient direct rendering in
OpenGL etc. See this magnificant paper by the SGI OpenGL people to
see how this all works:
http://reality.sgi.com/opengl/direct
Essentially the WIDs are there to provide advanced and efficient
clipping facilities. A WID specifies who can write into that window,
and what his depth/colormap setting look like, and on most Sun cards
it also can specify the buffer (when using double buffering) that is
currently displayed for that WID's pixels.
So say window 1 has WID 1 and window 2 has WID 2. The visible pixels
of window 1 are written with the 8-bit WID of 1. So if window 2
partially is behind window 1, when window 2 tries to write pixels into
that hidden area, the graphics card just throws away the written
pixels because it sees the WID 1 pixels there already. So an OpenGL
application doing direct rendering need not check for any clips as it
renders into it's X window.
SGI splits out WIDs into CIDs and DIDs in their architecture. How to
encode the WID or whatever information is a hardware tradeoff
decision, some methods allow you to run-length encode the buffer and
colormap id's for each pixel so that the retrace scan logic can work
with less information as it refreshes the screen.
Anyways, go read the SGI paper, it's cool technology.
Later,
David S. Miller
davem@redhat.com
next prev parent reply other threads:[~1999-03-18 2:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-03-17 10:29 [ANNOUNCE] Test release of rewritten Creator/Creator3D/Elite3D support Jakub Jelinek
1999-03-17 23:59 ` Matthew Hawkins
1999-03-18 2:40 ` David Miller [this message]
1999-03-21 15:17 ` Elliott Hughes
1999-03-22 0:16 ` David Miller
1999-03-22 3:43 ` Ryan Cresawn
1999-03-22 4:06 ` David Miller
1999-03-22 12:38 ` Elliott Hughes
1999-03-22 19:53 ` Ryan Cresawn
1999-03-22 20:05 ` Jakub Jelinek
1999-03-22 20:23 ` Ryan Cresawn
1999-03-22 21:47 ` David Miller
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=marc-linux-ultrasparc-92173096605223@msgid-missing \
--to=davem@twiddle.net \
--cc=ultralinux@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.