Mark Vojkovich ([EMAIL PROTECTED]):

> >   But if it double buffered it would still need to flip-on-retrace.
> 
> Most hardware can't not flip on retrace.  I believe the MGA is one of
> the exceptions where you can program it to flip on a particular line
> number, the special case of, which is flipping at the retrace.

  Should that first sentence be 'most hardware can flip on retrace' or
'can't flip on retrace' ? :)

  If the mga is so smart, I'm surprised that the XVideo driver buggers
it up. :(    Is this a bug do you think?

> > So you're saying that my spinning on the client is just making the
> > video not suck by coincidence?
> 
> You're still getting a tear, it's just always happenning at the same
> place so it's not so noticeable.  You've essentially synced your
> software to the retrace, but there's no way the X-server can copy the
> data to the overlay entirely within the retrace.  There's not enough
> time.  The tear is just happening a fixed time after the retrace.

  Um...  According to my tests, the screen redraw only takes 0.064ms.
Since I'm at 85hz, that leaves pretty much the whole 11ms to copy a
single frame to the screen.  That should be plenty of time. :)

  Maybe I wrote the code in wrong, but I'm waiting for the refresh bit
to go to 0 before I draw.

> > So, if I'm running my display at 59.94hz and sending it NTSC video,
> > there's no way for me to get in sync without having some way of
> > querying the refresh, yeah?
> 
> The i810 would stall you if it were displaying a frame and already had
> another queued when you sent the next frame.  I could do that, but I
> chose not to.  You can see the place in the "nv" driver where I had
> code to do that and commented it out.

  Right, so, with the i810 and I'm blitting every 16ms (and the refresh
is at 59.94hz), then the first time when I blit I'll stall and hopefully
force myself into a nice sync point.

  But I don't think that's better, only closer.  Ideally I still think
we need a user API to get immediate refresh status and maybe have some
way to know the buffer status of what's being shown.  Do you not agree
or do you think the current situation is acceptable?

> > > It won't necessarily work on those.  It depends whether or not I/O
> > > access is enabled.  In the case of secondary cards, port access to
> > > legacy VGA registers is typically disabled. 
> > 
> > Ok, what do you mean by this?  Is this a software or hardware
> > setting or what?
> 
> What if you have two VGA cards in the machine?  Who gets 0x3da?  [...]
> The XFree86 RAC code may very well disable access to them.  Actually,
> I thought it did, but I guess since you are finding something there,
> it must not have.

  Thanks that makes sense.

  So this confirms we still need a new API, yeah?

-- 
Billy Biggs
[EMAIL PROTECTED]
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to