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