On Mon, 2007-10-22 at 16:00 -0700, Jesse Barnes wrote:
> On Friday, September 28, 2007 1:06 pm Jesse Barnes wrote:
> > On Friday, September 28, 2007 12:51 pm Ian Romanick wrote:
> 
> > > > No, in that case the MSC will change and possibly decrease.  But
> > > > drivers can handle that case by tracking which output a given
> > > > drawable is on (or mostly on), so that the drawable is sync'd to
> > > > the right value.
> > >
> > > That's bad.  The MSC for a drawable should never decrease.  I can
> > > easily envision cases where that would cause problems for apps.
> > >
> > > Drivers will have to make sure that getMSC returns values that only
> > > increase.  We can easily do that by keeping two values in the
> > > drawable private.  One value tracks a base MSC, and the second
> > > value tracks the initial MSC on the current pipe when the base MSC
> > > was set. The driver's getMSC would then return "base +
> > > (pipe_current_MSC - pipe_base_MSC)".
> >
> > Wouldn't we want to increment the base value by the difference
> > between the last pipe value and the current one?
> >
> > But yeah, handling a drawable that moves between outputs with
> > different vblank counters is a little tricky, I think we could handle
> > making it monotonic in driDrwableGetMSC32 by using per-drawable,
> > per-pipe vblSeq values as you suggest.
> 
> Thinking about this more, I think we can make the counter not decrease, 
> but I don't think we can avoid bad behavior.

Why not, with something like the scheme Ian outlined above?


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


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to