Summary: | [i965+] [2.12 regression] gtkperf->circles rendering speed is low | ||
---|---|---|---|
Product: | xorg | Reporter: | Artem S. Tashkinov <aros> |
Component: | Driver/intel | Assignee: | Chris Wilson <chris> |
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | normal | ||
Priority: | medium | CC: | fdziarmagowski |
Version: | git | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Description
Artem S. Tashkinov
2010-06-26 05:44:59 UTC
It's all part of the greater plan. Just in case anybody else reads bug reports, the issue here is that compositing on in i965_render.c is absymally slow. I am trying to rectify that, at which point everything will be faster than before. :) Intel Driver 2.13 RC1: GtkPerf 0.40 - Starting testing: Thu Sep 30 14:03:10 2010 GtkEntry - time: 0.02 GtkComboBox - time: 0.47 GtkComboBoxEntry - time: 0.36 GtkSpinButton - time: 0.14 GtkProgressBar - time: 0.13 GtkToggleButton - time: 0.12 GtkCheckButton - time: 0.07 GtkRadioButton - time: 0.09 GtkTextView - Add text - time: 0.23 GtkTextView - Scroll - time: 0.12 GtkDrawingArea - Lines - time: 0.97 GtkDrawingArea - Circles - time: 9.77 GtkDrawingArea - Text - time: 0.88 GtkDrawingArea - Pixbufs - time: 0.12 --- Total time: 13.51 You may have noticed that I've not had much time to do ddx work this Q. :( I believe I've made progress for Ironlake+ by removing the gratuitous flushing and fixing the vertex batching, gen4 is fubar however. That will have to wait for the second stage of the grand and glorious plan. I've finally landed the first step on my grandiose plan: --enable-sna. This fixes the major performance regression for circles on gen4 and all of the wine rendering errors... Created attachment 47527 [details]
i915_error_state triggered by gtkperf
This is great news! Thanks for your hard work. Unfortunately, running xf86-video-intel master with sna enabled causes lockups on my gen4 GPU. Running gtkperf, 3D applications (like Trine) or even scrolling in a terminal causes a lockup (not a hard one, I can switch to linux tty and dump contents of i915_error_state - see attachment). Do I need special xorg, Mesa and versions to be able to run git master on my setup? Created attachment 47530 [details] [review] Flush the magic CA rectangle I missed one. Don't look too closely, or the gen4 backend will make you cry and in your horror you will understand why the RENDER engine is so much slower... I wish, I can say your patch changes something, but it still got same lockup. Created attachment 47532 [details]
i915_error_state triggered by gtkperf with Flush the magic CA rectangle applied
Created attachment 47533 [details] [review] Flush the rectangle before the magic CA rectangle Ah, that's because I flushed too late and ended up with two flushes afterwards and nothing between the two rectangles... Hopefully this makes things work again. It's working now! And it is pretty fast: GtkPerf 0.40 - Starting testing: Sat Jun 4 20:27:02 2011 GtkEntry - time: 0,02 GtkComboBox - time: 0,54 GtkComboBoxEntry - time: 0,38 GtkSpinButton - time: 0,07 GtkProgressBar - time: 0,03 GtkToggleButton - time: 0,08 GtkCheckButton - time: 0,08 GtkRadioButton - time: 0,15 GtkTextView - Add text - time: 0,28 GtkTextView - Scroll - time: 0,09 GtkDrawingArea - Lines - time: 0,38 GtkDrawingArea - Circles - time: 1,36 GtkDrawingArea - Text - time: 0,52 GtkDrawingArea - Pixbufs - time: 0,22 --- Total time: 4,22 There are some other issues (I still got urxvt lockup), I will open a new ticket shortly. Many thanks Chris! And the nuisance code in uxa is gone: commit 855ced5a4eb67e287001ae22cb6489639c548cfa Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Jun 16 13:24:14 2011 +0100 uxa: Remove the attempt to use the 3D pipeline for core rendering The attempt was still ridden with bugs, such as http://bugs.freedesktop.org/show_bug.cgi?id=28768 http://bugs.freedesktop.org/show_bug.cgi?id=28798 http://bugs.freedesktop.org/show_bug.cgi?id=28908 http://bugs.freedesktop.org/show_bug.cgi?id=29401 A fresh approach was taken with SNA, but in the mean time before that can be enabled downstream, restore correct behaviour. 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.