Mir

Merge lp://qastaging/~alan-griffiths/mir/workaround-1441553 into lp://qastaging/mir

Proposed by Alan Griffiths
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 2882
Proposed branch: lp://qastaging/~alan-griffiths/mir/workaround-1441553
Merge into: lp://qastaging/mir
Diff against target: 15 lines (+4/-1)
1 file modified
src/include/common/mir/frontend/client_constants.h (+4/-1)
To merge this branch: bzr merge lp://qastaging/~alan-griffiths/mir/workaround-1441553
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Alan Griffiths Abstain
Daniel van Vugt Approve
Kevin DuBois (community) Approve
Review via email: mp+269008@code.qastaging.launchpad.net

Commit message

kdub's workaround for LP: #1441553 and probably LP: #1391261 too.

To post a comment you must log in.
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Actually, that makes sense now.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Approved: Tested on arale and bug 1441553 appears to be fixed!
Needs Information: I think this branch might also fix bug 1391261. Needs testing.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Crap. And then bug 1441553 started happening again. Not fixed at all.

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Rebuilt again to be sure. This branch is definitely not solving the problem...

# glmark2-es2-mir --fullscreen
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR: Imagination Technologies
    GL_RENDERER: PowerVR Rogue G6200
    GL_VERSION: OpenGL ES 3.0 build 1.3@3304414
=======================================================
[build] use-vbo=false:[1440496067.577266] <ERROR> MirBufferStream: Error processing incoming buffer error registering graphics buffer for client use

[1440496067.601469] <ERROR> MirBufferStream: Error processing incoming buffer error registering graphics buffer for client use

[1440496067.624367] <ERROR> MirBufferStream: Error processing incoming buffer error registering graphics buffer for client use

...

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Although I feel we're on the right track. There might be a "3" constant in the Android code somewhere that should be "4".

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Double crap. Those failures might just be because glmark2 is using the older libmirclient.

review: Needs Information
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, this might be the final solution after all. Out of time to retest today.

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

+1, although this has the side effect of having lingering resources around on the client side. Seems a better side effect than flickering problems though. With client-initiated buffer allocations and frees, there is better agreement between the client and server about the buffer count; which is the side effect free solution.

review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I need to retest on more devices, and check both bugs.

review: Needs Information
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Nice. Confirmed again everything is fixed. LP: #1441553 and LP: #1391261, where the latter was just the pre-BufferStream form of the same bug. It also has a historical workaround we can now revert (once glmark2 in CI is correctly loading the fixed libmirclient).

review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Although the comment is possibly wrong:
   "TODO this ought to be 3"

As we do sometimes legitimately need 4 buffers (framedropping + bypass/overlays simultaneously). I'm not sure why we'd say the limit ought to be 3.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Nothing failed. That's just because I set it to "Needs review" again, due to my previous comment.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I'd be happy to drop the comment, but the explanation I had from Kevin was that the need for 4 buffers was, while real, not legitimate.

Is this a misunderstanding or a meaningful disagreement about the correct behaviour?

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

I think just a misunderstanding, the correct value for this number is "how ever many buffers are in this stream". This is between 2-4 right now, depending on overallocation and buffer scaling. Server and client don't have good agreement on this number right now.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Thanks Kevin

review: Abstain
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches