So, we have two issues in this bug.

1) The majority of the xmir corruption was caused by calling
mir_buffer_stream_get_graphics_region() when xmir wanted to know the
buffer size. On android, this would call down into gralloc, and
invalidate/flush the cache when called. Its reasonable to just call into
gralloc on once per swapbuffers.

2) The mir_demo_client_flicker corruption was caused by releasing the
buffer resource a bit too early on the server side. This could occur in
xmir as well, but seems to be rare for xmir's use case. This issue is
corrected by using eglSyncFenceKHR extensions to ensure that the texture
is uploaded to the gpu before releasing the buffer back to the server.
(This is the more extensive

A quick fix for both issues is in here: lp:~kdub/mir/0.17.1-fix-1406725.
I'll repropose tests+fixes to lp:mir, but this should get xmir going in
the meantime.

2) is the more extensive fix, so I'll split that bug out into a
different report

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xorg-server in Ubuntu.
https://bugs.launchpad.net/bugs/1406725

Title:
  Severe graphical corruption (mostly horizontal streaks/lines) running
  software clients (including Xmir) on android

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-pocket-desktop/+bug/1406725/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to