Summary: | [HSW xf86-video-intel] 2D acceleration slows to a crawl from 4.4.6 -> 4.5 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Rafael Ristovski <rafael.ristovski> | ||||||||
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||
Severity: | major | ||||||||||
Priority: | medium | CC: | intel-gfx-bugs | ||||||||
Version: | DRI git | ||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | HSW | i915 features: | |||||||||
Attachments: |
|
Created attachment 123012 [details] [review] Block SIGIO when we are trying to flip Compile tested only. Created attachment 123015 [details] [review] Don't block cursor updates for pending flips Suggestion by Maarten: diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 36e7e29ea266..385095f725a8 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13160,6 +13160,9 @@ static int intel_atomic_prepare_commit(struct drm_device *dev, } for_each_crtc_in_state(state, crtc, crtc_state, i) { + if (state->legacy_cursor_update) + continue; + ret = intel_crtc_wait_for_pending_flips(crtc); if (ret) return ret; (In reply to Chris Wilson from comment #4) > Suggestion by Maarten: > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index 36e7e29ea266..385095f725a8 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -13160,6 +13160,9 @@ static int intel_atomic_prepare_commit(struct > drm_device *dev, > } > > for_each_crtc_in_state(state, crtc, crtc_state, i) { > + if (state->legacy_cursor_update) > + continue; > + > ret = intel_crtc_wait_for_pending_flips(crtc); > if (ret) > return ret; Can confirm this fixes the issue. commit acf4e84d6167317ff21be5c03e1ea76ea5783701 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sun Apr 17 20:42:46 2016 +0100 drm/i915: Avoid stalling on pending flips for legacy cursor updates |
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.
Created attachment 123011 [details] Xorg.0.log - full debug When switching from 4.4.6 to 4.5 2D acceleration becomes slow when TearFree is enabled. Disabling TearFree fixes this at the expense of having tearing. 3D acceleration is unaffected. Randomly when moving terminal windows at high speed, small parts of other windows get "stuck" to the terminal window (might be caused by weird slow refresh?) Details: Whole Xorg stack from git xf86-video-intel from git HW: i7-4500U with HD 4400 Graphics Running Gentoo