xf86-video-intel: 2 commits - src/i830_dri.c src/i830.h src/i830_uxa.c src/i915_render.c

Chris Wilson ickle at kemper.freedesktop.org
Sat May 29 05:47:05 PDT 2010


On Sat, 29 May 2010 13:03:40 +0200, Michel Dänzer <michel at daenzer.net> wrote:
> On Sam, 2010-05-29 at 11:47 +0100, Chris Wilson wrote: 
> > On Sat, 29 May 2010 12:20:30 +0200, Michel Dänzer <michel at daenzer.net> wrote:
> > > On Sam, 2010-05-29 at 02:42 -0700, Chris Wilson wrote: 
> > > > 
> > > > commit 44d45d3fa56f121ce89ffe5b28beb48be01a95df
> > > > Author: Chris Wilson <chris at chris-wilson.co.uk>
> > > > Date:   Sat May 29 10:39:28 2010 +0100
> > > > 
> > > >     dri: Use size from backing pixmap when creating buffers.
> > > >     
> > > >     This avoid using the garbage values stored in the Screen drawable,
> > > 
> > > What 'screen drawable' is this referring to, and why does it have
> > > 'garbage' dimensions? Sounds like this works around a problem that
> > > should rather be fixed.
> > 
> > The drawable associated with the Screen.
> 
> That makes me think of the screen pixmap or the root window. Or, as you
> mentioned a compositing window manager, maybe the Composite Overlay
> Window. Which one is it?

I couldn't find a way to inspect whether the drawable was the screen
Composite Overlay Window from within the driver, but going back to the
beginning and adding some debugging:

creating buffer[0] for drawable 0x8beaa58 [100x100x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
creating buffer[7] for drawable 0x8beaa58 [100x100x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
creating buffer[1] for drawable 0x8d42588 [1x1x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
creating buffer[9] for drawable 0x8d42588 [1x1x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
creating buffer[0] for drawable 0x8d42588 [1x1x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
creating buffer[1] for drawable 0x8d80448 [1x1x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
creating buffer[9] for drawable 0x8d80448 [1x1x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
creating buffer[0] for drawable 0x8d80448 [1x1x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 0
swap buffers for drawable 0x8d80448 [1025x600x24], front [1024x600x24], back [1x1x32], CanFlip? 1
(EE) intel(0): [DRI2] DRI2SwapBuffers: driver failed to schedule swap
creating buffer[1] for drawable 0x8d80448 [1025x600x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 1
creating buffer[9] for drawable 0x8d80448 [1025x600x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 1
creating buffer[0] for drawable 0x8d80448 [1025x600x24/1024x600x24]: isRootWindow? 0, isScreenPixmap? 1, canFlip? 1
swap buffers for drawable 0x8d80448 [1025x600x24], front [1024x600x24], back [1025x600x32], CanFlip? 1
(EE) intel(0): [DRI2] DRI2SwapBuffers: driver failed to schedule swap
swap buffers for drawable 0x8d80448 [1025x600x24], front [1024x600x24], back [1025x600x32], CanFlip? 1
(EE) intel(0): [DRI2] DRI2SwapBuffers: driver failed to schedule swap
swap buffers for drawable 0x8d80448 [1025x600x24], front [1024x600x24], back [1025x600x32], CanFlip? 0
(EE) intel(0): [DRI2] DRI2SwapBuffers: driver failed to schedule swap
... last swap repeats ...

So as you pointed out my reasoning was completely wrong, and I just
happened upon a hack to make it work.

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the xorg-devel mailing list