Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Nov 1999 20:00:06 +0100 (CET)
From:      Soren Schmidt <sos@freebsd.dk>
To:        hasty@rah.star-gate.com (Amancio Hasty)
Cc:        yokota@zodiac.mech.utsunomiya-u.ac.jp (Kazutaka YOKOTA), current@FreeBSD.ORG
Subject:   Re: vga driver and signal
Message-ID:  <199911041900.UAA77394@freebsd.dk>
In-Reply-To: <199911041801.KAA46924@rah.star-gate.com> from Amancio Hasty at "Nov 4, 1999 10:01:37 am"

next in thread | previous in thread | raw e-mail | index | archive | help
It seems Amancio Hasty wrote:
> > It seems Kazutaka YOKOTA wrote:
> > > 
> > > AFAIK, not all video cards generate the vertical retrace interrupt.
> > > Even worse, some BIOSes have a configuration option which instract the
> > > BIOS NOT to assign an IRQ to the PCI video card.
> > > 
> > > I fully agree that the vertical retrace interrupt will be of great
> > > value, but I wonder if it is really worth the trouble, because it might
> > > be available in only few cards and systems at the end of the day...
> > > 
> > > Well, I may be wrong :-)
> > 
> > Well, sortof :)
> > 
> > The delay caused by the system to process the interrupt and deliver
> > the signal etc is unpredictable (well sortof) and is almost certainly
> > too long so the window of opportunity will be missed ...
> > 
> > This has been discussed to death many times in the past for the
> > mouse pointer updates etc etc...
> > 
> 
> Let me ask a different question: How does Microsoft's DirectX handle delivery
> of vertical retrace interrupt?

I dont know (and dont care) if/how they do, but they would have to do some
pretty nasty hacks to get that to work, maybe thats why directx is lacking
behind on NT their top notch OS??  We care about multitasking, wintendo dont.

The problem is that in say 1024*768@75Hz you have about 800us in the 
vertical blank period, then try messure our interrupt latency (or
better ask PHK he's done lots in that direction), then take a look at
the signal code. What else did I forget, oh well you probably wont 
have 800us, the videochip's requirements will probably cut that down
significantly, you will probably need to do a couble of inb/outb's
that has to finish within the window to make this usefull as well..
Oh and yes, you have to make damn sure no other interrupts occur
when you have gotten control, or your timing will get skewed too..

Now take some serious resolutions like 1280*1024@80Hz and this
rapidly becomes a nightmare.

Belive me, I did spend alot of time with this for the mousepointer
stuff, and the best way I could come up with was busypolling for
the event to happen, and that is a nono ...

-Søren


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911041900.UAA77394>