exaCopyNtoN calls driver Prepare/Done Copy with no Copy in between

Dave Airlie airlied at gmail.com
Sun Nov 16 16:31:20 PST 2008


On Sat, Nov 15, 2008 at 10:09 PM, Michel Dänzer
<michel at tungstengraphics.com> wrote:
> On Sat, 2008-11-15 at 12:22 +1000, Dave Airlie wrote:
>> I'm not quite sure what causes it,
>>
>> TRACE: RADEONPrepareCopyCP
>> TRACE: RADEONDoneCopyCP
>> copy without emission
>>
>> Backtrace:
>> 0: /usr/bin/Xorg(xorg_backtrace+0x3b) [0x812b9ab]
>> 1: /usr/lib/xorg/modules/drivers//radeon_drv.so [0xb7c45353]
>> 2: /usr/lib/xorg/modules//libexa.so(exaCopyNtoN+0x835) [0xb7ba03c5]
>> 3: /usr/lib/xorg/modules//libfb.so(fbCopyRegion+0x161) [0xb7bbb6c1]
>> 4: /usr/lib/xorg/modules//libexa.so(exaCopyWindow+0xe0) [0xb7b9fa60]
>> 5: /usr/bin/Xorg [0x816f680]
>> 6: /usr/bin/Xorg [0x811b244]
>> 7: /usr/bin/Xorg(compCopyWindow+0xb4) [0x813ccd4]
>> 8: /usr/bin/Xorg(miSlideAndSizeWindow+0x743) [0x8123043]
>> 9: /usr/bin/Xorg(compResizeWindow+0xb8) [0x813d1d8]
>> 10: /usr/bin/Xorg(ConfigureWindow+0xa91) [0x8072251]
>> 11: /usr/bin/Xorg(ProcConfigureWindow+0x92) [0x8085412]
>> 12: /usr/bin/Xorg(Dispatch+0x34f) [0x8085e6f]
>> 13: /usr/bin/Xorg(main+0x47d) [0x806b6ed]
>> 14: /lib/libc.so.6(__libc_start_main+0xe5) [0xb7d286d5]
>> 15: /usr/bin/Xorg [0x806aad1]
>> TRACE: RADEONMarkSyncCP
>>
>>
>> I hacked up my exa driver to report these and I get a fair few of them
>> at startup
>>
>> miClearToBackground and miSlideAndSizeWindow seems to be main entry
>> points into the issue
>>
>> I also see some from exaFillRegionTiled
>
> Sounds like maybe exaCopyNtoN and exaFillRegionTiled should bail early
> if nbox == 0. Or maybe that should really be done higher up, e.g. the
> damage layer could not call down unless really necessary.

Okay one of them was from CopyNtoN getting nbox == 0, so I just made
it bail, simple patch so I checked it in.

The other is from the tiled code doing the second pass for leftover areas.

Initial patch is attached it just prechecks if the copies will be
needed and avoids them if they aren't, this one I thought
might need some review.

Dave.

>
>
> --
> Earthling Michel Dänzer           |          http://tungstengraphics.com
> Libre software enthusiast         |          Debian, X and DRI developer
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-exa-avoid-doing-prepare-done-without-intervening-co.patch
Type: text/x-patch
Size: 2829 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20081117/afff2b0c/attachment.bin>


More information about the xorg mailing list