Index: [thread] [date] [subject] [author]
  From: Jon M. Taylor <taylorj@gaia.ecs.csus.edu>
  To  : ggi-develop@eskimo.com
  Date: Thu, 12 Aug 1999 14:35:19 -0700 (PDT)

Re: GGI and XFree86 and stuff

On Thu, 12 Aug 1999, Jeff Garzik wrote:

> (copied to linux-s3 list)
> 
> "Jon M. Taylor" wrote:
> >         Once you get Trio, ViRGE and Savage will be easy.  I wish I could
> > help with Savage - I have a 2D/3D accelerated Savage4 KGI driver with
> > STREAMS up and running - but I am still under NDA.
> 
> Can you describe (avoiding NDA-specific details) the advantages and best
> uses of STREAMS?  

	Sure, since Trio and Virge also have STREAMS.  The STREAMS is
Savage4 is mostly the same.  STREAMS basically gives you another hardware
viewport which can address its own linear framebuffer region and can be
sized and positioned independently of the primary framebuffer stream.  It
was originally designed for TV-in-a-window, but can be used generically. 
The window can be scaled to any dimensions and the hardware will do
scandoubling and/or linear interpolation.  One nice use of this is to
display a VGA ModeX mode without having to use ModeX.  I plan to use
STREAMS on Savage4 to implement GLX-in-a-window at some point....

> I see them mentioned in my databooks but have not yet
> looked closely at the potential applications.  I will be very interested
> in seeing your 3D work when it is available.

	Actually I have permission to release binaries now, but I haven't
run across anyone besides myself who uses KGI and has a Savage4.  Also 
the 3D accel performance is atrocious right now - since ping-pong buffers 
are not up and running in KGIcon yet, I still have to use ioctl-per-accel 
which requires a context switch for every accel.  Fine for testing but it 
won't run Quake3 too well....
 
> >         Hm.  Well, an SUIDKGI-XFree86 4.0 wrapper layer will instantly
> > give XFree86 4.0 full accelerated support for pretty much all S3 chipsets
> > ever made, including Savage4 (my driver), so I basically consider this a
> > nonproblem.  You would be much better served by writing that wrapper layer
> > instead of S3lib, IMHO.  Much less work for much more gain.
> 
> I think the Trio driver may need work too, I haven't tested it.  

	Well, I wrote it and unless someone has improved it a lot since
then it does indeed need work.  Backporting fixes from Jos' ViRGE driver
would probably take care of the bulk of it.

> But I
> don't think the GGI drivers support all the chipsets that the XFree
> driver does.

	No, but all the major _families_ are supported, and IIRC all the
Pre-Trio chipsets and ramdacs are fully supported.  The Trio64V2,
Aurora64, etc are special cases of the existing drivers and would be easy
to add support for. 
 
> In any case, I see S3lib as being useful for applications such as
> interfacing with video support, so its usefulness should extend beyond
> the realm of CRT drivers.

	Fair enough.
 
> On a related note -- is there any way to get monitor specs out of S3
> cards without using BIOS calls?  

	VESA DDC.  I have specs as part of the Savage4 docs, but I don't
recall if they are otherwise publically accessible.

> Do all those extended BIOS flag
> registers hold interesting but undocumented information?  

	They are mostly scratch space.

> I am dying to
> know a nice way to get monitor info, without resorting to an external
> database.

	DDC is it.

Jon

---
'Cloning and the reprogramming of DNA is the first serious step in 
becoming one with God.'
	- Scientist G. Richard Seed

Index: [thread] [date] [subject] [author]