[Xf86-video-armsoc] n-buffering support causes too many flips on Mali-400

Daniel Drake drake at endlessm.com
Fri Nov 14 09:34:00 PST 2014


Hi,

I am experiencing an issue with the following commit:

commit 1d13da045ced12a123db184fff677b0de41d80e6
Author: Eskil Sund <eskil.sund at arm.com>
Date:   Tue Apr 8 13:11:06 2014 +0000

    Enabling n-buffering support when using page flip events.


For the test below I run armsoc with this commit as HEAD, on
ODROID-X2, Mali-400 driver version r4p0:
VARIANT=mali400-r1p1-gles11-gles20-linux-monolithic-no_profiling-x11-dma_buf

My HDMI display is running at 60Hz vertical refresh.

I start X, then the simple metacity window manager (doesn't use
OpenGL, no compositing) and then I run the following test app:
https://gist.github.com/dsd/6d17d596501a01c4aa0e

This app updates the screen using eglSwapBuffers, which should be
synced to vblank interrupts.
However, on this driver version, the app reports 120 frames per second
(i.e. twice too many), and there is a lot of tearing visible on
screen.

If I go back to the previous commit, before n-buffering, the test case
now runs fine, 60fps and no visual problems.

Is this a known issue, has it been investigated?

Thanks
Daniel


More information about the Xf86-video-armsoc mailing list