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