Mir

Merge lp://qastaging/~kdub/mir/fix-1626503 into lp://qastaging/mir

Proposed by Kevin DuBois
Status: Merged
Approved by: Daniel van Vugt
Approved revision: no longer in the source branch.
Merged at revision: 3719
Proposed branch: lp://qastaging/~kdub/mir/fix-1626503
Merge into: lp://qastaging/mir
Diff against target: 383 lines (+111/-9)
12 files modified
src/client/buffer_vault.cpp (+9/-0)
src/client/mir_connection.cpp (+1/-1)
src/client/surface_map.cpp (+7/-7)
src/server/compositor/multi_monitor_arbiter.cpp (+11/-0)
src/server/compositor/multi_monitor_arbiter.h (+1/-0)
src/server/compositor/stream.cpp (+6/-0)
src/server/compositor/stream.h (+1/-0)
tests/acceptance-tests/throwback/test_presentation_chain.cpp (+51/-0)
tests/integration-tests/test_buffer_scheduling.cpp (+4/-0)
tests/unit-tests/client/test_mir_connection.cpp (+1/-1)
tests/unit-tests/compositor/test_multi_monitor_arbiter.cpp (+13/-0)
tests/unit-tests/compositor/test_stream.cpp (+6/-0)
To merge this branch: bzr merge lp://qastaging/~kdub/mir/fix-1626503
Reviewer Review Type Date Requested Status
Alexandros Frantzis (community) Approve
Brandon Schaefer (community) Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+306480@code.qastaging.launchpad.net

Commit message

mir_presentation_chain api:
fix situation where where the server would not notify a client of a buffers return, following the destruction of the MirPresentationChain that the buffer was associated with.

fixes: LP: #1626503

Description of the change

mir_presentation_chain api:
fix situation where where the server would not notify a client of a buffers return, following the destruction of the MirPresentationChain that the buffer was associated with.

fixes: LP: #1626503

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3718
https://mir-jenkins.ubuntu.com/job/mir-ci/1784/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/2234/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2297
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2288
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2288
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2288
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2262/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2262
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2262/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2262
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2262/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2262
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2262/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2262/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/1784/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3720
https://mir-jenkins.ubuntu.com/job/mir-ci/1789/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/2239
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/2302
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2293
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2293
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2293
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2267
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=yakkety/2267/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2267
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/2267/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2267
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/2267/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2267
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/2267/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2267
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/2267/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/1789/rebuild

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

It's worth noting MultiMonitorArbiter will get deprecated and possibly removed soon enough (hopefully). As swap interval 1 throttling moves out of libmirserver and into libmirclient (using high-precision frame sync timing), it won't be needed any more.

Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

Im not super familiar with the context but the code looks good to me.

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

> It's worth noting MultiMonitorArbiter will get deprecated and possibly removed
> soon enough (hopefully). As swap interval 1 throttling moves out of
> libmirserver and into libmirclient (using high-precision frame sync timing),
> it won't be needed any more.

Hmm, news to me. I suppose some logic in there won't be needed, but some system of handing the buffers out will still be present, we might to need to sync on the plans.

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

Looks good.

Nit:
+ for(auto it = onscreen_buffers.begin(); it != onscreen_buffers.end(); it++)
+ {
+ if (it->use_count == 0)
+ map->send_buffer(it->buffer->id());
+ }

Why not use a range-based for loop?

review: Approve

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