exaCopyNtoN calls driver Prepare/Done Copy with no Copy in between
Michel Dänzer
michel at tungstengraphics.com
Sat Nov 15 04:09:17 PST 2008
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.
--
Earthling Michel Dänzer | http://tungstengraphics.com
Libre software enthusiast | Debian, X and DRI developer
More information about the xorg
mailing list