On Thu, 30 Apr 2009 17:48:08 +0200
Michel Dänzer <mic...@daenzer.net> wrote:

> On Thu, 2009-04-30 at 08:39 -0700, Jesse Barnes wrote:
> > On Thu, 30 Apr 2009 08:08:36 +0200
> > Michel Dänzer <mic...@daenzer.net> wrote:
> > 
> > > On Wed, 2009-04-29 at 18:02 -0700, Jesse Barnes wrote:
> > > > On Wed, 29 Apr 2009 15:09:33 -0700
> > > > Jesse Barnes <jbar...@virtuousgeek.org> wrote:
> > > > > I'm still working through mutlihead issues on the kernel
> > > > > side; the flip waits should wait for *both* vblank events
> > > > > before completing the flip.  But other than that, I'm pretty
> > > > > happy with things.
> > > > 
> > > > This incremental set fixes up the multihead handling and adds
> > > > swap interval support as a bonus.  It's nice to see flipping &
> > > > no tearing on two heads at once!
> > > 
> > > Is there a mechanism for choosing the CRTC to sync to in ambiguous
> > > cases? E.g. either a driconf option (allowing per application
> > > configuration) or a RandR property (allowing global configuration)
> > > would be nice I think.
> > 
> > The kernel is supposed to handle it and reject flips on disabled
> > CRTCs so I was hoping it wouldn't be necessary.
> 
> That's not an ambiguous case. Ambiguous cases are when parts of the
> window are visible on both CRTCs.

Ah ok, yeah I'd expect that to be up to the 2D driver as well.  The
display manager will get a swapbuffers request for a given drawable,
and it's up to the 2D driver to figure out what to do with it.  If the
buffer spans the whole X screen, this code queues a flip in the kernel
on every CRTC that has that buffer.

If the request is just for a window, the driver could queue blits on
each CRTC separately, or do scanline waits on one or each CRTC during
the copy operation.  But in this code we just punt on anything
non-fullscreen and let CopyRegion handle it (which currently doesn't
sync).  The best solution would probably be to add code to CopyRegion
that looks like what we have in intelWindowMoved, picking the "best"
CRTC to sync on (though maybe with an override option like you suggest).

-- 
Jesse Barnes, Intel Open Source Technology Center

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to