On Fri, 2008-06-20 at 14:27 -0700, Jesse Barnes wrote:
> On Friday, June 20, 2008 2:09 pm Jesse Barnes wrote:
> > Michel, can you take a look at this?  vblank wait is working really well
> > for me with the latest bits, but I found what I think is a page flip
> > related bug on 965.  

No this isn't correct, it also needs to wait for scheduled non-flip
buffer swaps.

Isn't this just a workaround for the lack of the 2D driver patch and not
necessary with it?

> > I've been testing with the attached pre- & post-modeset ioctl patch to the 
> > 2D driver.

That one looks good; if anything, maybe slightly too careful about
omitting redundant ioctl calls, but better safe than sorry I guess. :)


> Oops, I've also been testing with this.

Yeah, that driver workaround should definitely no longer be necessary.


> And looking again at c7ee6cc269c26d8e7ed98a16a272eca63daab201 (the "in
> vblank" handling).  I think my 965 test machine is fast enough that I
> haven't seen much tearing on it yet, but I think for slower machines
> we'll definitely need a real fix.
> 
> My current thinking is that the only non-racy way to handle the "in
> vblank" case is to only use the frame counter to keep the vblank count
> accurate across interrupt disabled periods.  While the interrupt is
> enabled, however, the driver should internally keep a counter going
> based on the vblank interrupt and use that to return a value to the
> core.
> 
> If the radeon driver has to do something similar, we could probably
> just update the core drm_handle_vblank() function to use the atomic
> counter instead, which would save a bunch of duplicated driver code...
> Any thoughts there?

I've been thinking about this as well, should be worth a try.


Something else I think we need to do before merging vblank-rework into
the kernel is to keep the vblank interrupts enabled and use an atomic
counter until the 2D driver calls the modeset ioctl (or a kernel
modesetting driver does the corresponding thing to indicate it handles
this correctly).


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to