xserver: Branch 'master'

Dave Airlie airlied at gmail.com
Sun Jun 20 22:17:09 PDT 2010


2010/6/10 Robert Hooker <sarvatt at ubuntu.com>:
> 2010/6/9 Michel Dänzer <michel at daenzer.net>:
>> On Die, 2010-06-08 at 12:57 -0700, Keith Packard wrote:
>>> On Tue, 08 Jun 2010 09:57:44 +0200, Michel Dänzer <michel at daenzer.net> wrote:
>>>
>>> > FWIW, I would have proposed the patch below instead.
>>>
>>> That looks better to me; I was after 'not crashing' while your patch
>>> eliminates the DRI2 overhead for input-only windows. I'd like to see
>>> this reviewed and tested with compiz (which shows the crash nicely) and
>>> then I'll replace my hack with your fix.
>>
>> I've tested it with compiz, kwin and gnome-shell.

I've just fixed up -ati for running against master in theory, and I'm
hitting something this patch seems to be concerned with.

in the -ati radeon_dri2.c:radeon_dri2_copy_region we have throttling
code, when I start gnome-shell (or maybe when gnome-shell crashes on
startup), I'm seeing a lookup of a Window drawable's EXA private which
doesn't exist of course.

Any ideas?

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6ec7a41 in radeon_dri2_copy_region (drawable=0xb17f20,
    region=0x7fffffffe2f0, dest_buffer=<value optimized out>,
    src_buffer=<value optimized out>) at radeon_dri2.c:309
309			if (exa_priv && exa_priv->bo)
(gdb) bt
#0  0x00007ffff6ec7a41 in radeon_dri2_copy_region (drawable=0xb17f20,
    region=0x7fffffffe2f0, dest_buffer=<value optimized out>,
    src_buffer=<value optimized out>) at radeon_dri2.c:309
#1  0x00007ffff72ff0f0 in DRI2SwapBuffers (client=0xa1ac30, pDraw=0xb17f20,
    target_msc=0, divisor=0, remainder=<value optimized out>,
    swap_target=0x7fffffffe3a0, func=0x7ffff72ffa40 <DRI2SwapEvent>,
    data=0xb17f20) at dri2.c:796
#2  0x00007ffff7300169 in ProcDRI2SwapBuffers (client=0xa1ac30)
    at dri2ext.c:404
#3  ProcDRI2Dispatch (client=0xa1ac30) at dri2ext.c:570
#4  0x000000000044efa1 in Dispatch () at dispatch.c:432
#5  0x000000000042129b in main (argc=2, argv=<value optimized out>,
    envp=<value optimized out>) at main.c:289
(gdb) print *drawable
$23 = {type = 0 '\000', class = 1 '\001', depth = 24 '\030',
  bitsPerPixel = 32 ' ', id = 62914608, x = 0, y = 0, width = 1680,
  height = 1050, pScreen = 0x84cbb0, serialNumber = 8511}
(gdb)

Dave.


More information about the xorg-devel mailing list