Created attachment 56646 [details] Backtrace of crash with --enable-debug=full (unpacked: 96MB) When sending a chat message to a contact in amsn (http://www.amsn-project.net/) an assertion is triggered: X: /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna_accel.c:2146: sna_pixmap_move_to_gpu: Assertion `pixmap->devPrivate.ptr != ((void *)0)' failed. using xf86-video-intel with sna, at commit a8ed1a02ada1f8d2f910dfefb150d26c840bf9ea . My hardware is Dell XPS 15 (L502x) with: 00:02.0 VGA compatible controller: Intel Corporation Device 0116 (rev 09) [ 13.803] (II) intel(0): Integrated Graphics Chipset: Intel(R) Sandybridge Mobile (GT2)
commit f009386de87acccadb1803567e4c494e5e80a2a9 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Feb 6 09:50:03 2012 +0000 sna: If we have a CPU bo, do not assert we have shadow pixels When transferring damage to the GPU, on SNB it is not necessarily true that we have a shadow pixmap, we may instead have drawn onto an unmapped CPU bo and now simply need to copy from that bo onto the GPU. Move the assertion onto the path where it truly matters. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45672 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> However, the really interesting stuff is in the lead up to this point and trying to decypher why we chose to render onto the CPU bo rather than create the GPU bo earlier.
Figured out the mystery why we ended up down that path... commit f30be6f74392f5687ffe8bc9dd2c6dc024ae06c8 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Feb 6 15:59:21 2012 +0000 sna/gen2+: Exclude solids from being classed as requiring an upload We treat any pixmap that is not attached to either a CPU or GPU bo as requiring the pixel data to be uploaded to the GPU before we can composite. Normally this is true, except for the solid cache. References: https://bugs.freedesktop.org/show_bug.cgi?id=45672 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.