Summary: | [DRI3/Present: VB/HSW/BYT/BDW Bisected] Screen flicker when running low (<60) FPS tests | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | zhoujian <jianx.zhou> | ||||||
Component: | Server/General | Assignee: | Chris Wilson <chris> | ||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | major | ||||||||
Priority: | high | CC: | christophe.prigent, eero.t.tamminen, lilix.cheng, wendy.wang, zhipengx.zheng | ||||||
Version: | git | ||||||||
Hardware: | All | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
zhoujian
2014-07-11 04:00:39 UTC
Created attachment 102589 [details]
dmesg.log
Created attachment 102590 [details]
Xorg.0.log
This happens also in other tests (e.g. FillPixel and FillTexSingle), at least on BDW. Still seeing frame "ping pong" with DRI3 on BYT & HSW. There's no such issue with DRI2. I'm not anymore seeing it in TexMem tests, but in FillPixel & FillTexSingle, GfxBench 3 fill test and Unigine Heaven, very clearly in last one. I think it happens also in GLB 2.7 tests which are windowed, so it doesn't seem to be screen flip related. Tests where it happens are memory bandwidth bound. Not sure whether them running <60FPS is a factor, maybe it just makes the issue more visible. Can't say whether it still happens also on BDW, at least there's no clear frame ping-poing there. -> A separate tester is in progress to investigate frame updates better (one with increasing number on each frame). Kevin wrote the tester for this utilizing his earlier Wrath framework: https://github.com/nomovok-opensource/wrath After building Wrath sdl-counter, one can run it with something like this: LD_LIBRARY_PATH=release ./sdl-counter fullscreen on width 1920 height 1080 layer_count 100 Test blends many layers to make itself GPU memory bandwidth bound. Despite being memory bandwidth bound and with low enough FPS to simulate those aspects of the tests where this issue happens, I haven't see this issue with the test. All frames come in order and all are shown on Linux. I.e. triggering condition is something else than just "slow & mem BW limited". Btw. Testing on Windows 8.1 reveals that while at fullscreen every frame ends on screen, in windowed/composited mode some frames may get skipped even although test is running <60 FPS (they of course all still come in right order). (In reply to Eero Tamminen from comment #4) > I'm not anymore seeing it in TexMem tests, but in FillPixel & FillTexSingle, > GfxBench 3 fill test and Unigine Heaven, very clearly in last one. I think > it happens also in GLB 2.7 tests which are windowed, so it doesn't seem to > be screen flip related. Current FillPixel & FillTexSingle tests expect backbuffer contents to be valid, but this is not correct assumption, so update issues with those tests can be ignored. Other tests don't seem to have this invalid expectation, so issues with them should be real. I run through all the tests mentioned here and several others on BDW & SKL with latest gfx stack and I don't see the issue anymore (in tests that aren't itself buggy). So, I think it's now fixed, re-open if you still see it. Btw: with latest Mesa, one can use this to verify whether DRI3 is actually used by the application: LIBGL_DEBUG=verbose glxinfo 2>&1 | grep DRI (I.e. whether X, DDX and Mesa all support DRI3 and whether it's enabled.) |
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.