|Summary:||fallback intel: Moblin startup is hitting a composite fallback, costing a ton of performance|
|Product:||xorg||Reporter:||Arjan van de Ven <arjan>|
|Component:||Driver/intel||Assignee:||Carl Worth <cworth>|
|Status:||RESOLVED FIXED||QA Contact:||Xorg Project Team <xorg-team>|
|i915 platform:||i915 features:|
Description Arjan van de Ven 2010-01-23 17:06:11 UTC
From the fallback log: UXA fallback at uxa_check_composite: from picts <hex>/<hex> to pict <hex> Composite fallback: op Over. src <hex>:s fmt XRGB8888 (1024x600), mask <hex>:s fmt A8 (1x1 R), dst <hex>:s fmt XRGB8888 (1024x600) this fallback results in getting an sse2 pixman function called rather than this being done by the gpu driver version 2.10.0 hardware: 945 GME
Comment 1 Arjan van de Ven 2010-01-23 17:11:08 UTC
Created attachment 32789 [details] Xorg.log with fallback debugging enabled
Comment 2 Chris Wilson 2010-01-24 01:12:30 UTC
Arjan, the fallback log doesn't actually state the reason why we fallback in this case - which implies that check_composite either succeeded or was never called. I've pushed a patch to master that includes a few extra details on other reasons why we would need to fallback. Though these are quite rare, it would be good if you could grab an updated log. commit 326fe00df4160fbc3513ddbedfec90bdb2d7101b Author: Chris Wilson <firstname.lastname@example.org> Date: Sun Jan 24 09:02:05 2010 +0000 uxa: Increase amount of composite fallback verbage
Comment 3 Arjan van de Ven 2010-01-24 09:32:10 UTC
funny; I made my own patch to add more verbose fallback debugging on top of current git (since current git also does not have enough). With this I've found the cause and made a patch; turns out that the intel uxa compositing code cannot deal with an alpha-only mask (A8 format). Fix is relatively simple, since A8 format is a simple format; see the attachment I'm about to attach.
Comment 4 Arjan van de Ven 2010-01-24 09:32:43 UTC
Created attachment 32796 [details] [review] Patch to fix the fallback
Comment 5 Arjan van de Ven 2010-01-24 15:03:17 UTC
Created attachment 32799 [details] [review] updated patch
Comment 6 Chris Wilson 2010-01-25 07:54:52 UTC
Pushed a slightly more generic version, though the likelihood of ever seeing the other alpha formats is low. commit 197cb08a2d54cabbfe97454d7db85cfe1f5f27ba Author: Chris Wilson <email@example.com> Date: Mon Jan 25 15:15:04 2010 +0000 Extract pixel value for all formats to avoid hitting fallbacks. On failing to extract the pixel value for an alpha-only solid we actually triggered a fallback. Since this path is commonly hitting whilst fading in images, for example cairo_paint_with_alpha(), the fallback was detected during the Moblin boot sequence where it was adding a second to the overall boot time. See fallback intel: Moblin startup is hitting a composite fallback, costing a ton of performance https://bugs.freedesktop.org/show_bug.cgi?id=26189 Based on the initial patch by Arjan van de Ven. Signed-off-by: Chris Wilson <firstname.lastname@example.org>
on Feb 25, 2017 at 13:30:11.
(provided by the Example extension).