Subject: Re: radeon driver design (was Re: generic virtual consoles)
To: Kurt J. Lidl <lidl@pix.net>
From: Michael Lorenz <macallan@netbsd.org>
List: tech-kern
Date: 12/29/2005 13:08:26
--Signature_Thu__29_Dec_2005_13_08_26_-0500_gichFcDfU6zyi=Z_
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Gello,

> All this arguing about "just gimme a flat frame buffer and I'll
> twiddle the bits myself" fly in the face of modern high-performance
> graphics hardware.  While it certainly was fashionable to whack
> directly on framebuffers in 1988, it is just not a sane way of
> extracting good performance.  Anytime one can exploit the a graphics
> accelerator that has more-or-less direct access to the framebuffer
> memory, it is almost certainly going to be a performance win.  The
> problem arises in a cross-platform system like NetBSD that wants
> to support the full range of hardware that crosses multiple
> generational boundaries -- older hardware may just be a a dumb
> framebuffer (e.g. cg3) and requires a full software implementation
> to do anything.  Newer hardware (e.g. cg6) might support some
> accelation features (line drawing, polygon fill, etc) and that
> helps a lot.  Semi-modern hardware (e.g. FFB) can do all that and
> much, much more.

Actually, our cg6, machfb and pnozz drivers don't access any video
memory anymore, at least when used with wscons. FFB is different, it
doesn't use the colour expansion hardware (yet), probably for lack of
documentation but the XFree driver should be good enough to figure it
out. I guess nobody bothered because - thanks to UPA - there's plenty of
bandwidth and drawing characters by hand isn't really slow.
Maybe I'll add it at some point, I'll have to hack it anyway.

> NetBSD's various hardware drivers have a graphics model that is
> far, far below the functionality of even Quickdraw.

Yes, it's intended for terminal emulation, nothing else.

have fun
Michael

--Signature_Thu__29_Dec_2005_13_08_26_-0500_gichFcDfU6zyi=Z_
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (NetBSD)

iQEVAwUBQ7QmHspnzkX8Yg2nAQIMpggAs7a7k76TcXa7GHYyJGcHXneij37TxFRh
scQe6vyMYLC7WqGu/Eg0zAbUx/vDgcSCXg7sizkIIpqKXH7l5m2WFObAgWcQ9GAy
BavpBomyPqiO8ipZi5Vyx5RTCmoO9vNALboDIPJfAdQLo2hfK/eRrxwsbZGg1o82
2YR8pbKn0kokD2L0XpVfJ+hEG9HsSdpv4BGdr9lcucXIy7NwArlnPOpog1LAQTSx
R8EXjcBX1/yuro1ngXkv/IDAymUq7HdTx1qXSs8FYnS4uNJj+W9hScBPWqdwtEdg
BKzr0iu1VaNepFLkbC1H9MvluyPoEEiwL03uSf8ujv8G9bzXmqhjdg==
=CWxL
-----END PGP SIGNATURE-----

--Signature_Thu__29_Dec_2005_13_08_26_-0500_gichFcDfU6zyi=Z_--