On Tue, 08 Sep 2009 10:37:38 +0200
Michel Dänzer <mic...@daenzer.net> wrote:

> On Sun, 2009-09-06 at 09:46 -0700, Jesse Barnes wrote: 
> > On Sun, 06 Sep 2009 12:23:12 +0200
> > Michel Dänzer <mic...@daenzer.net> wrote:
> > 
> > > On Fri, 2009-09-04 at 12:17 -0700, Jesse Barnes wrote: 
> > > > I've been working on coding up the server and client side of
> > > > SGI_video_sync, OML_sync_control and SGI_swap_control.  I came
> > > > up with this set of new protocol (against the dri2-swapbuffers
> > > > branch) to support the new requests.
> > > > 
> > > > We still need to change the DRI2SwapBuffers request to handle
> > > > the various OML bits before it gets merged.
> > > > 
> > > > To summarize:
> > > >   DRI2GetMSCReq - get MSC triple
> > > >   DRI2WaitMSCReq - wait on an MSC count or divisor/remainder
> > > >   DRI2WaitSBCReq - wait on a swap count or all pending swaps
> > > 
> > > Waiting in the X server will make it quite unlikely that the
> > > client will be notified within a reasonable timeframe from when
> > > vertical blank actually occurs. Won't this jeopardize the
> > > usefulness of the functionality?
> > 
> > As they're mainly used for throttling drawing, I don't think so.
> > But I also don't see a way to avoid it.  In the composited case,
> > compositor interaction will be necessary, and even for
> > non-redirected windows, the client doesn't know which CRTC it's on
> > w/o racing with the server.
> 
> Waiting in the server doesn't solve the latter problem, does it? The
> window could move to another CRTC while it's waiting.

It does make it easier to either ask for a new event or block the
cliprect update until we get the event.  If we ended up blocking all
the time we could just move the wait to the client though.

> > > > - compositor interaction; in the compositor case the display
> > > > server will be incrementing frame count based on compositor
> > > > drawing rather than vblank events
> > > 
> > > I think that's a bad idea, as it will confuse apps if the
> > > compositor misses a frame or renders the app window more than
> > > once per frame.
> > 
> > It seems to match what people want though; so far we've heard from
> > Soren and Robert and both want to know when the pixels are actually
> > displayed for various apps.  W/o compositor interaction I don't see
> > how we can do that.
> 
> I'm not arguing there should be no protocol between the compositor and
> clients, but I'm arguing that the frame counter probably isn't
> appropriate for this.

It seemed like a natural fit to me since the compositor really is
determining the application frame rate in the redirected case.  But
you're right that it could end up being a variable frequency counter.
Existing apps may not handle that very well, I'm not sure.

-- 
Jesse Barnes, Intel Open Source Technology Center

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to