Re: SVGA kernel chipset drivers.

Jon M. Taylor (taylorj@gaia.ecs.csus.edu)
Thu, 6 Jun 1996 01:09:58 -0700 (PDT)


On Thu, 6 Jun 1996, Theodore Y. Ts'o wrote:

> Date: Wed, 5 Jun 1996 17:31:53 -0700 (PDT)
> From: "Jon M. Taylor" <taylorj@gaia.ecs.csus.edu>
>
> >This is where it differs from disks and
> > networking and most of the rest. A disk is a disk is a disk - they
> > look more-or-less the same to the end user, and you can virtualize
> > them behind a driver pretty well.
>
> The end user only sees the filesystem, usually. As far as the
> disk itself, you have block mode switching, cyl/trk/sec addressing,
> controller configuration (which *do* have a bunch of peculiarities and
> *do* have individual kernel drivers), etc. Video stuff is a LOT less
> complex.
>
> The point is that all of this complexity in the disk driver can be
> hidden inside the disk driver. In the case of the video driver, you
> *have* to expose it to the outside world, since that's where your
> performance comes from....

OK, I see what he was getting at. Well, there's really no way to
avoid this in any case - the app has to know about the features *somehow*
in order to utilize them. Also, let my flog the soundcard issue once
again - those cannot hide the functionality inside the drivers, because
they have the same problem as we are discussing WRT video cards.

> > The problem is really that while you can say that "yes, we can virtualize
> > bitmap caching" etc, the stuff just keeps coming and coming, and in the
> > end you have a list of hundreds of things that the driver needs to know
> > about, and you have a rather complex API to it all, including a "get
> > features" request that tells the user exactly which things are available.
>
> On what grounds do you assume this to be true? I see no evidence
> of it.
>
> Well, my reading suggests that OpenGL has roughly 130 3-D primitives all
> by itself.... and you've agreed that we'll probably be seeing lots of
> boards using the OpenGL primitives. And that's not included any sort of
> proprietary acceleration techniques that other board manufacturers might
> come up with.
>
> So it would appear that Linus's fear of "hundreds of things" which the
> driver has to do, and which has to be exposed to the kernel<->user API,
> is quite justified. OpenGL alone should take us over the 100 primitive
> mark.

Yes, butI think Linus was referring to lots of wildly disparate
things that each would need their own unique interface to the world. The
130 OpenGL primitives (or any other primitive drawing operations) don't
count, because they are all accessed through the ioctl set in the same
fashion.

Jon Taylor = <taylorj@gaia.ecs.csus.edu> | <http://gaia.ecs.csus.edu/~taylorj>
------------------------------------------------------------------------------
"Everything in excess! To enjoy the flavor of life, take big bites.
Moderation is for monks." - Lazarus Long