From: "J.A. Magallon" <jamagallon@able.es>
To: Timothy Miller <miller@techsource.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: HARDWARE: Open-Source-Friendly Graphics Cards -- Viable?
Date: Thu, 21 Oct 2004 21:57:13 +0000 [thread overview]
Message-ID: <1098395833l.27352l.0l@werewolf.able.es> (raw)
In-Reply-To: <4177DF15.8010007@techsource.com> (from miller@techsource.com on Thu Oct 21 18:08:53 2004)
On 2004.10.21, Timothy Miller wrote:
>
...
> > antialiasing (related to alpha blending)
>
> Antialiasing implies oversampling or supersampling, unless you're
> thinking about something else. Sometimes, "antialiasing" is nothing
> more than a fuzzy texture. For instance, the way the X11 font server
> handles antialiased text... it just spits out a grayscale bitmap which
> can be used as texture.
>
> > bitblt
> > fast primitive drawing
>
> No problem.
>
> > accelerated offscreen operations
>
> It's funny that people mention that. Every DDX module I have ever
> produced has had sophistocated off-screen memory management so that
> pixmaps could be accelerated. I never even considered NOT supporting
> accelerated off-screen surfaces.
>
> There was one chip I had to support a number of years ago which didn't
> have separate registers for the base pointers to source and destination
> surfaces. That meant that you couldn't use "bitblt" to copy an image
> from off-screen to on-screen. What I ended up having to do was
> implement bitblt as a texture-mapping operation. (It wound up being
> slightly faster than the regular bitblt, even if the source and dest
> were the same surface.)
>
> Anyhow, in my world, accelerated off-screen surfaces are a given.
>
Following with this, and looking at the new features that user interfaces
show, I think everything should be off-screen. Look.
Taking OSX as the best example, all the rendering is done offscreen, and
then the result is blittted and alpha merged to the screen. They use
OpenGL to draw each window offscreen, take the image and paste it as texture
onto a rectangular polygon, and then alpha-blend it with the others on the
screen. This is overkill, but allows to do things like put a movie onto
an spinning rectangle...
Without entering to 3D, I would design a card that always renders offscreen.
Each window has its own offscreen buffer, and redraws blit/blend the
pixmap onto the screen. With a good and fast scaler, you can get some
fancy things for free:
- antialiasing: just make the back buffer 2x2 or 4x4 the screen space of
the window, and resample/filter it. Font rendering just needs to be
monochrome, but at higher resolution. The rescaler will give you the
antialiasing. Good work for a DSP.
- real multilayer transparency and shadows
- real time zooming, for things like expocity (metacity version of Exposé):
no redrawing of contents, just rescaling.
- with some projective math in 2D, you can easily do things like rotations
over the axis of the screen...simulated.
In short, you need:
- A ton of memory for offscreen buffer. Note: this depends on how much windows
you want to handle, not on screen res...:)
- Fast (very high res) but simple (no algorthimic antialiasing for lines nor
fonts) 2D renderer
- An _ultra fast_ scaler/blitter/blender. Scaling can be just 2D, and even
power-of-2 based with good filtering.
Really simple things, the problem is that they need to be lightning fast.
No 3D needed, the stacking order can be stored in soft and just determines
the order for blending. OSX runs on my iBook, so if a G3 with an ATI 7200
can do, a modern FPGA sure can beat it.
I hope all this cr*k sm*king ends up in something useful for you...
Ah, and you can add later the 3D part as a daughterboard....;)
--
J.A. Magallon <jamagallon()able!es> \ Software is like sex:
werewolf!able!es \ It's better when it's free
Mandrakelinux release 10.1 (Community) for i586
Linux 2.6.9-rc4-mm1 (gcc 3.4.1 (Mandrakelinux 10.1 3.4.1-4mdk)) #4
next prev parent reply other threads:[~2004-10-21 22:22 UTC|newest]
Thread overview: 165+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-20 22:02 Timothy Miller
2004-10-20 22:17 ` Andre Eisenbach
2004-10-21 1:31 ` Jon Valvatne
2004-10-21 16:09 ` Timothy Miller
2004-10-24 19:47 ` Pavel Machek
2004-10-20 22:19 ` HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? [u] Martin Schlemmer [c]
2004-10-24 8:24 ` Tonnerre
2004-10-24 14:26 ` Martin Schlemmer [c]
2004-10-20 22:26 ` HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? David Lang
2004-10-21 14:46 ` Timothy Miller
2004-10-21 17:25 ` David Lang
2004-10-21 18:15 ` Timothy Miller
2004-10-21 18:32 ` Antonio Vargas
2004-10-22 9:53 ` Raphael Jacquot
2004-10-24 9:03 ` Tonnerre
2004-10-25 1:33 ` Stephen Wille Padnos
2004-10-25 1:48 ` Stephen Wille Padnos
2004-10-25 2:29 ` Gene Heskett
2004-10-22 10:16 ` Christian Leber
2004-10-22 17:31 ` Timothy Miller
2004-10-21 19:30 ` Kendall Bennett
2004-10-22 17:05 ` Tobias Diedrich
2004-10-22 17:12 ` Timothy Miller
2004-10-26 2:36 ` Dave Airlie
2004-10-26 3:55 ` Jon Smirl
2004-10-20 22:28 ` Jim Nelson
2004-10-21 14:51 ` Timothy Miller
2004-10-21 22:03 ` Jim Nelson
2004-10-20 22:29 ` Kasper Sandberg
2004-10-21 14:53 ` Timothy Miller
2004-10-21 15:06 ` Simon Braunschmidt
2004-10-21 18:00 ` Timothy Miller
2004-10-20 23:10 ` Alan Cox
2004-10-21 15:10 ` Timothy Miller
2004-10-21 15:25 ` Jon Smirl
2004-10-21 18:03 ` Timothy Miller
2004-10-21 15:32 ` Alan Cox
2004-10-21 19:30 ` Kendall Bennett
2004-10-22 17:15 ` Timothy Miller
2004-10-21 1:08 ` Jon Smirl
2004-10-21 1:11 ` Jon Smirl
2004-10-21 2:00 ` Stephen Wille Padnos
2004-10-21 16:08 ` Timothy Miller
2004-10-21 16:34 ` Stephen Wille Padnos
2004-10-21 23:38 ` Jan Knutar
2004-10-22 4:30 ` Jan Rychter
2004-10-22 17:00 ` Timothy Miller
2004-10-22 17:00 ` Chris Friesen
2004-10-22 18:47 ` Jeff Garzik
2004-10-22 19:22 ` Timothy Miller
2004-10-22 19:33 ` Jeff Garzik
2004-10-22 19:56 ` Timothy Miller
2004-10-22 20:43 ` Jeff Garzik
2004-10-22 20:27 ` Alan Cox
2004-10-23 17:20 ` Francois Romieu
2004-10-23 21:17 ` Alan Cox
2004-10-24 0:06 ` Francois Romieu
2004-10-22 20:51 ` Jeff Garzik
2004-10-22 19:32 ` Roland Dreier
2004-10-24 10:40 ` Helge Hafting
2004-10-25 15:39 ` Timothy Miller
2004-10-21 21:57 ` J.A. Magallon [this message]
2004-10-22 9:48 ` Raphael Jacquot
2004-10-21 20:23 ` "Fernando O. Korndörfer"
2004-10-22 9:02 ` Raphael Jacquot
2004-10-21 15:13 ` Timothy Miller
2004-10-21 15:36 ` Shaun Kruger
2004-10-21 18:05 ` Timothy Miller
2004-10-21 19:30 ` Kendall Bennett
2004-10-22 8:49 ` Adrian Cox
2004-10-22 20:10 ` Geert Uytterhoeven
2004-10-23 13:17 ` Adrian Cox
2004-10-22 20:10 ` Geert Uytterhoeven
2004-10-22 22:07 ` Timothy Miller
2004-10-24 10:45 ` Helge Hafting
2004-10-25 15:47 ` Timothy Miller
2004-10-28 9:07 ` Helge Hafting
2004-10-29 16:00 ` Timothy Miller
2004-10-21 1:48 ` HARDWARE:Graphics Cards or TOE? Nuno Silva
2004-10-26 20:50 ` Timothy Miller
2004-10-21 2:29 ` HARDWARE: Open-Source-Friendly Graphics Cards -- Viable? Kurt Wall
2004-10-21 16:10 ` Timothy Miller
2004-10-21 16:22 ` Pascal Patry
2004-10-21 12:20 ` Adrian Bunk
2004-10-21 13:14 ` Simon Braunschmidt
2004-10-21 17:34 ` Jurriaan
2004-10-21 16:26 ` Timothy Miller
2004-10-21 17:42 ` Alan Cox
2004-10-21 19:09 ` Timothy Miller
2004-10-21 17:53 ` Tobias Diedrich
2004-10-21 23:02 ` Florian Schmidt
2004-10-24 1:04 ` Lee Revell
2004-10-22 1:08 ` Rene Herman
2004-10-23 5:40 ` Kevin Puetz
2004-10-23 17:02 ` Rene Herman
2004-10-23 22:19 ` Lee Revell
2004-10-24 11:10 ` Rene Herman
2004-10-22 10:57 ` Helge Hafting
2004-10-22 19:47 ` Giuseppe Bilotta
2004-10-22 20:15 ` Giuseppe Bilotta
2004-10-25 15:29 ` Tonnerre
2004-10-25 15:53 ` Timothy Miller
2004-10-25 16:32 ` Giuliano Pochini
2004-10-28 9:37 ` Helge Hafting
2004-10-28 11:40 ` Geert Uytterhoeven
2004-10-28 12:21 ` David Greaves
2004-10-29 16:04 ` Timothy Miller
2004-10-22 22:27 ` Clemens Schwaighofer
2004-10-23 14:36 ` Markus Törnqvist
2004-10-24 8:18 ` Tonnerre
2004-10-25 11:54 ` Stuart Longland
2004-10-25 16:38 ` Lars Roland
2004-10-25 17:08 ` Timothy Miller
2004-10-26 21:02 ` Helge Hafting
2004-10-26 21:38 ` Timothy Miller
2004-10-25 22:52 ` Tonnerre
2004-10-20 23:48 Timothy Miller
2004-10-21 0:30 ` J.A. Magallon
2004-10-21 0:47 ` Timothy Miller
2004-10-22 20:09 ` Geert Uytterhoeven
2004-10-21 1:25 ` Zan Lynx
2004-10-21 15:52 ` Timothy Miller
2004-10-21 4:48 Albert Cahalan
2004-10-21 16:19 ` Timothy Miller
2004-10-21 15:54 John Ripley
2004-10-21 18:09 ` Timothy Miller
2004-10-21 21:32 ` Baruch Even
2004-10-25 23:30 ` Werner Almesberger
2004-10-21 17:08 Greg Buchholz
2004-10-22 2:18 ` Tim Connors
2004-10-21 17:44 John Ripley
2004-10-21 18:26 ` Timothy Miller
2004-10-21 21:36 ` Greg Buchholz
2004-10-21 22:40 ` Timothy Miller
2004-10-21 23:25 ` Jon Smirl
2004-10-21 23:40 ` Greg Buchholz
2004-10-22 16:48 ` Timothy Miller
2004-10-22 16:50 ` Chris Friesen
2004-10-22 17:41 ` Timothy Miller
2004-10-25 23:10 ` Tonnerre
2004-10-26 0:32 ` Werner Almesberger
2004-10-22 15:59 ` Troy Benjegerdes
2004-10-22 3:47 Roy Butler
2004-10-22 17:04 ` Timothy Miller
2004-10-24 18:17 ` Mail Lists
2004-10-25 12:17 ` Bernd Eckenfels
2004-10-22 10:31 John Ripley
2004-10-22 12:58 ` Moritz Muehlenhoff
2004-10-22 17:33 ` Timothy Miller
2004-10-22 17:15 Stephen Lewis
2004-10-23 4:45 ` Gene Heskett
2004-10-23 7:06 ` Stephen Lewis
2004-10-23 19:06 Bodo Eggert
2004-10-25 1:44 ` Stephen Wille Padnos
2004-10-25 8:23 ` Vojtech Pavlik
[not found] <6.1.2.0.1.20041026082223.0231edd8@mail.javagear.com>
2004-10-26 15:44 ` Timothy Miller
2004-10-26 16:35 ` Jesper Juhl
2004-10-26 16:57 ` Jeff Garzik
2004-10-26 21:14 ` Helge Hafting
2004-10-26 21:41 ` Timothy Miller
2004-11-17 14:35 Sid Boyce
2004-11-17 14:46 ` Chris Wedgwood
2004-11-23 13:47 ` Karel Kulhavy
2004-11-23 22:48 ` Timothy Miller
2004-11-24 1:22 ` Sid Boyce
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=1098395833l.27352l.0l@werewolf.able.es \
--to=jamagallon@able.es \
--cc=linux-kernel@vger.kernel.org \
--cc=miller@techsource.com \
/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
all inboxes | Powered by JetHome®