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
Bugs, which is subscribed to 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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to