Mir

Comment 24 for bug 1406725

Revision history for this message
Kevin DuBois (kdub) wrote :

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