Merge lp:~andreas-pokorny/mir/nbs-resize-first-stream-of-surface into lp:mir
Status: | Rejected |
---|---|
Rejected by: | Andreas Pokorny |
Proposed branch: | lp:~andreas-pokorny/mir/nbs-resize-first-stream-of-surface |
Merge into: | lp:mir |
Prerequisite: | lp:~andreas-pokorny/mir/avoid-static-library-ordering-problems |
Diff against target: |
277 lines (+98/-7) 9 files modified
src/client/connection_surface_map.h (+1/-0) src/client/mir_connection.cpp (+10/-0) src/client/mir_connection.h (+1/-0) src/client/mir_surface.cpp (+12/-0) src/client/mir_surface.h (+2/-1) src/client/surface_map.cpp (+14/-0) src/client/surface_map.h (+2/-0) tests/unit-tests/client/test_client_mir_surface.cpp (+50/-6) tests/unit-tests/client/test_protobuf_rpc_channel.cpp (+6/-0) |
To merge this branch: | bzr merge lp:~andreas-pokorny/mir/nbs-resize-first-stream-of-surface |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel van Vugt | Abstain | ||
Alan Griffiths | Abstain | ||
Mir CI Bot | continuous-integration | Approve | |
Mir development team | Pending | ||
Review via email: mp+301277@code.launchpad.net |
Commit message
Make NBS behave like OBS - resize the first buffer stream
With OBS mir::scene:
Since we deprecate using mir_surface_
Description of the change
With presentation chains the client handles resizes by submitting buffers in an adjusted size. With BufferStream there is no way a client can resize an existing stream. With OBS the server made sure that upcoming allocations adapt to the window size. Since the BufferStreams functionality moved to mirclient with NBS, the resize is forwarded to the 'default' BufferStream.
This change makes sure that even when the caller uses mir_surface_
Unmerged revisions
- 3617. By Andreas Pokorny
-
rename new method
- 3616. By Andreas Pokorny
-
spell out the actual expectation: no exception when attempting to resize a presentation chain
- 3615. By Andreas Pokorny
-
Tests and additional changes to handle the PresentationChain case
- 3614. By Andreas Pokorny
-
Make NBS behave like OBS - resize the first buffer stream
With OBS mir::scene:
:BasicSurface would pull out the first stream as the 'default' stream and forward all resizes to that stream. With NBS this is done by the client library. So if no buffer stream is configured via the mir_surface_ spec_add_ buffer_ stream or mir_surface_ spec_set_ streams API the client side surface will forward the content of resize events to the 'default' stream. Since we deprecate using mir_surface_
get_buffer_ stream users are forces to specify the streams or presentation queues they want for display. But streams buffers lack a resize functionality so switching to the new function would not be a viable option.
FAILED: Continuous integration, rev:3615 /mir-jenkins. ubuntu. com/job/ mir-ci/ 1357/ /mir-jenkins. ubuntu. com/job/ build-mir/ 1617/console /mir-jenkins. ubuntu. com/job/ build-0- fetch/1670 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 1661 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial+ overlay/ 1661 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= yakkety/ 1661 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= vivid+overlay/ 1632 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= vivid+overlay/ 1632/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial+ overlay/ 1632/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 1632/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= android, release= vivid+overlay/ 1632/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 1632 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= android, release= vivid+overlay/ 1632/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial+ overlay/ 1632 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial+ overlay/ 1632/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
FAILURE: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 1357/rebuild
https:/