graphics glitch with high resolution clients on SGX android

Bug #1118680 reported by Kevin DuBois on 2013-02-07
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released
Kevin DuBois

Bug Description

some sort of timing issue present on android with large resolution clients, causes a jittery feel during animations. Present on sgx with large (720p) clients. Jitter can be very slight, or more noticable

Related branches

Kevin DuBois (kdub) wrote :

I explored the possiblity of us having our swapper algorithm or resource possesions wrong. This does not seem to be the case.
The other thing that can cause jitters like this is vsync issues, this is looking to be the more likely culprit.

We don't have HWC vsync support (yet!) in mir. I am exploring how to add this supprot

Kevin DuBois (kdub) on 2013-02-08
Changed in mir:
status: New → In Progress
Kevin DuBois (kdub) wrote :

I've figured out roughly how to get the vsync events from the hal today. Making fake vsync events (at the display's refresh rate) stabilizes the glitches (not to a perfect fluidity though)

Kevin DuBois (kdub) wrote :

bit of a tricky timing bug. findings so far:

from timing eglSwapuffers, the driver sgx driver seems to ignore swap interval 1 (obviously causing problems)
however if I wait on the fb wait ioctl, OR use the HWC vsync mechanism, the glitches are reduced, but not eliminated. (if i wait on 2 vsyncs after posting, it looks ok, but that's unacceptable for performance)

Kevin DuBois (kdub) wrote :

beginning to think this is a double headed bug, vsync wasn't being synced to is one, and i'm targeting in on the frontend and its timings as the other culprit....

Kevin DuBois (kdub) wrote :

I just got nexus 7 working with the demo, it does not seem to have this problem. looks local to SGX at the moment

summary: - graphics glitch with high resolution clients on android
+ graphics glitch with high resolution clients on SGX android
Kevin DuBois (kdub) wrote :

activating EGL_CONTEXT_PRIORITY_HIGH_IMG and waiting for vsync results in reduced jitter, but vertical tearing.
I observed that surfaceflinger, when running without HWC has the same vertical tear. Mir is running without hwc so it looks like this is the same problem.
It's looking like is something down in the SGX/omapfb/omapdss drivers (the display chain).
We will discuss HWC support plans at the sprint, it will need a blueprint

information type: Proprietary → Public
Changed in mir:
milestone: none → 0.0.3
Kevin DuBois (kdub) on 2013-04-15
tags: added: android
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.0.3

Changed in mir:
status: In Progress → Fix Committed
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers