[Intel-gfx] FBC fixes for review and testing

Chris Wilson chris at chris-wilson.co.uk
Thu Jul 7 13:48:05 CEST 2011


FBC is currently disabled upstream due a few conflicting requirements
and questionable benefit. It is also buggy...

https://bugs.freedesktop.org/show_bug.cgi?id=33487 is the current open
SNB bug where FBC prevents the screen from being redrawn under a
compositing WM. At last it appears that we have found the cause and a
solution, so please do give these patches some testing - you will need
to pass i915.i915_enable_fbc=1 to override the forced disabling of FBC.

1-2: tidy up some spurious code in the fbc routines. 1 is very confused
indeed.

3: Enables persistent-mode for ILK/SNB which the documentation and
discussion suggests is necessary for correct front-buffer rendering,
such as X. I wonder if this then relates to
https://bugs.freedesktop.org/show_bug.cgi?id=3174

4: Demonstrates the problem encountered with mixed-mode compositors (i.e.
they combine page-flipping with copy-sub-buffer blits). The simple
solution here comes at a cost though - it will halve the vsync'ed update
rate. Note that this problem is universal to our implementation of FBC.

5: Prepares the way for the solution to the performance regression,
this could be done in conjunction with 1/2, and unexports the chipset
specific routines and forces the couple of external callers of disable
FBC through the generic interface which is about to gain some extra
complications...

6: Defers intel_enable_fbc() by 50ms to ensure that page-flipping has
completed before incurring a slow and synchronous restart of FBC.
-Chris




More information about the Intel-gfx mailing list