Merge lp:~kdub/mir/multiple-bufferstream-api into lp:mir
| Status: | Merged |
|---|---|
| Approved by: | Kevin DuBois on 2015-06-16 |
| Approved revision: | 2479 |
| Merged at revision: | 2670 |
| Proposed branch: | lp:~kdub/mir/multiple-bufferstream-api |
| Merge into: | lp:mir |
| Prerequisite: | lp:~kdub/mir/add-streams-to-surface |
| Diff against target: |
644 lines (+402/-15) 18 files modified
include/client/mir_toolkit/client_types.h (+10/-0) include/client/mir_toolkit/mir_surface.h (+22/-0) include/server/mir/scene/session.h (+3/-0) src/client/mir_surface.cpp (+13/-0) src/client/mir_surface.h (+1/-0) src/client/mir_surface_api.cpp (+20/-0) src/client/symbols.map (+1/-0) src/server/frontend/session_mediator.cpp (+10/-7) src/server/scene/application_session.cpp (+9/-0) src/server/scene/application_session.h (+1/-0) src/server/scene/basic_surface.cpp (+10/-7) src/server/shell/canonical_window_manager.cpp (+8/-1) tests/acceptance-tests/CMakeLists.txt (+1/-0) tests/acceptance-tests/test_buffer_stream_arrangement.cpp (+239/-0) tests/include/mir_test_doubles/mock_scene_session.h (+2/-0) tests/include/mir_test_doubles/mock_surface.h (+1/-0) tests/include/mir_test_doubles/stub_scene_session.h (+4/-0) tests/unit-tests/scene/test_application_session.cpp (+47/-0) |
| To merge this branch: | bzr merge lp:~kdub/mir/multiple-bufferstream-api |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Alberto Aguirre | Approve on 2015-06-16 | ||
| PS Jenkins bot | continuous-integration | Approve on 2015-06-16 | |
| Alexandros Frantzis (community) | 2015-06-04 | Approve on 2015-06-10 | |
|
Review via email:
|
|||
Commit Message
Add the client api to associate multiple streams together. Connect bits throughout the system to get the acceptance test for this feature to pass.
Description of the Change
Add the client api to associate multiple streams together. Connect bits throughout the system to get the acceptance test for this feature to pass.
notes:
The acceptance test here is about the same as the one from the forerunner mp:
https:/
The only difference is that it only adds one spec-modifying function though... the other client api functions there don't seem useful.
This is the multibufferstream with-async-streams plumbed all the way through. It gets the other bufferstreams onscreen. Currently working on renovating scroll.cpp to have a demo.
- 2460. By Kevin DuBois on 2015-06-08
-
merge in mir
- 2461. By Kevin DuBois on 2015-06-08
-
fix up clang
| Alexandros Frantzis (afrantzis) wrote : | # |
10+ MirBufferStream * stream;
'*' with type
26+/** Set the streams associated with the spec.
27+ * streams[0] is the bottom-most stream, and streams[size-1] is the topmost.
Space before this line.
28+ * On application of the spec, A stream that is present in the surface,
Space before this line (different topic started).
'a stream'
30+ * On application of the spec, A stream that is not present in the surface,
31+ * but is in the list will be associated with the surface.
'<some other connecting phrase>, a stream that is not present' ...
32+ * Streams set a displacement from the top-left corner of the surface.
Space before this line (change of topic), or perhaps move this information to the documentation of the MirBufferStreamInfo structure?
57+#include <list>
69+ virtual void configure_
Somewhat pre-existing: Is a vector<> not sufficient for this use case? I see that Surface:
91+ for(auto
110+ for(auto
... and elsewhere
'for ('
517+ primary_stream = std::unique_
525+ streams.
make_unique
517+ primary_stream = std::unique_
549+ infos[i++] = MirBufferStream
I doesn't seem that we need to treat the primary stream specially. Treating it as yet another stream simplifies the code.
553+ for(auto &stream
'auto const&'
442+ bool ensure_
444+ {
... return arrangment == displacement;
Or even better, change:
574+ EXPECT_
to EXPECT_
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2461
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2462. By Kevin DuBois on 2015-06-08
-
fix comments
- 2463. By Kevin DuBois on 2015-06-08
-
whitespace
- 2464. By Kevin DuBois on 2015-06-08
-
store all streams without having a primary one
- 2465. By Kevin DuBois on 2015-06-08
-
less homespun container checking
- 2466. By Kevin DuBois on 2015-06-08
-
easy to change to a list
- 2467. By Kevin DuBois on 2015-06-08
-
merge mir again
| Kevin DuBois (kdub) wrote : | # |
Issues should be fixed.
With:
'for(' vs 'for ('
I obviously don't find this to affect readability... maybe will suggest a change to style.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2467
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2467
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Alberto Aguirre (albaguirre) wrote : | # |
===
45 + * \param [in] size The size of streams.
49 + unsigned int size);
===
Maybe change size to num_elements?
"The number of elements in the streams array" to avoid confusion?
===
148 +void mir_surface_
===
The implementation should validate its preconditions with mir::require(
===
172 +MIR_CLIENT_9.1 { # New in Mir 0.14
173 + global:
174 + mir_surface_
175 +} MIR_CLIENT_9;
===
No need for a 9.1 stanza as we haven't released anything with MIR_CLIENT_9 yet.
- 2468. By Kevin DuBois on 2015-06-09
-
do not introduce stanza 9.1. check that every stream is valid before dispatching call, and change name in the public header file to num_elements
- 2469. By Kevin DuBois on 2015-06-09
-
merge in mir
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2469
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Alberto Aguirre (albaguirre) wrote : | # |
===
45 + * \param [in] size The number of elements in the streams array.
===
doxygen comment still refers to size instead of num_streams.
"[0;32m[ RUN ] [mBufferStream
/tmp/buildd/
Value of: ordering-
Actual: false
Expected: true
timed out waiting for another post"
===
561 + EXPECT_
===
I guess running with Valgrind in CI needs more than 1s.
Looks good otherwise.
| Alexandros Frantzis (afrantzis) wrote : | # |
Looks good (besides what others have already mentioned, of course)
Typo:
34+ * On application of the spec, A stream that is not present in the surface,
'a stream'
- 2470. By Kevin DuBois on 2015-06-10
-
merge in mir, resolve 3 conflicts
- 2471. By Kevin DuBois on 2015-06-10
-
another capitalization fix
- 2472. By Kevin DuBois on 2015-06-10
-
increase timeout for valgrind
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2472
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Kevin DuBois (kdub) wrote : | # |
gl2mark error?
| Kevin DuBois (kdub) wrote : | # |
I wonder if this is https:/
- 2473. By Kevin DuBois on 2015-06-10
-
bump protobuf soname abi number
| Kevin DuBois (kdub) wrote : | # |
If you take the 'artifacts' zip and install it on the device (along with the glmark debian package, like the script does), the glmark error is reproducible. It seems that there was some abi-incompatible mixing and matching of (mirclient8, mirclient9) and libmirprotobuf0. Seems appropriate to bump the protobuf versioning so that the right libraries get picked up.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2472
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2474. By Kevin DuBois on 2015-06-10
-
remove printf
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2473
http://
Executed test runs:
SUCCESS: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2475. By Kevin DuBois on 2015-06-10
-
merge in mir, fix a conflict
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2474
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2475
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:2475
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 2476. By Kevin DuBois on 2015-06-16
-
reverse protobuf bump
- 2477. By Kevin DuBois on 2015-06-16
-
merge in miri
- 2478. By Kevin DuBois on 2015-06-16
-
remove the protobuf changes, they were added just for creation, and were interested in only modifying the surfaces
- 2479. By Kevin DuBois on 2015-06-16
-
move back file
| Kevin DuBois (kdub) wrote : | # |
side-stepped protobuf problem by not adding new field. The SurfaceParameter changes broke it, but the test in this MP only needed already existing protobuf fields.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2479
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

FAILED: Continuous integration, rev:2459 jenkins. qa.ubuntu. com/job/ mir-ci/ 4016/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/2723 jenkins. qa.ubuntu. com/job/ mir-clang- wily-amd64- build/236/ console jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/2671/ console jenkins. qa.ubuntu. com/job/ mir-wily- amd64-ci/ 172 jenkins. qa.ubuntu. com/job/ mir-wily- amd64-ci/ 172/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 2671 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 2671/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/5515/ console s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 20976
http://
Executed test runs:
SUCCESS: http://
FAILURE: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/4016/ rebuild
http://