Merge lp://qastaging/~mir-team/mir/introduce-buffer-stream into lp://qastaging/mir
Status: | Work in progress |
---|---|
Proposed branch: | lp://qastaging/~mir-team/mir/introduce-buffer-stream |
Merge into: | lp://qastaging/mir |
Prerequisite: | lp://qastaging/~mir-team/mir/remove-buffer-writer |
Diff against target: |
5106 lines (+2369/-268) 102 files modified
benchmarks/frame-uniformity/touch_measuring_client.cpp (+1/-1) client-ABI-sha1sums (+6/-5) common-ABI-sha1sums (+1/-1) examples/CMakeLists.txt (+9/-0) examples/animated_cursor_demo_client.c (+82/-0) examples/basic.c (+11/-6) examples/eglapp.c (+1/-1) examples/fingerpaint.c (+3/-2) examples/flicker.c (+3/-2) examples/multiwin.c (+3/-2) examples/progressbar.c (+4/-2) examples/scroll.cpp (+2/-1) include/client/mir_toolkit/mir_buffer_stream.h (+150/-0) include/client/mir_toolkit/mir_client_library.h (+1/-0) include/client/mir_toolkit/mir_cursor_configuration.h (+14/-0) include/client/mir_toolkit/mir_screencast.h (+1/-16) include/client/mir_toolkit/mir_surface.h (+20/-6) include/common/mir_toolkit/client_types.h (+13/-8) include/platform/mir/graphics/buffer.h (+1/-0) include/server/mir/frontend/buffer_stream.h (+65/-0) include/server/mir/frontend/session.h (+6/-0) include/server/mir/frontend/session_mediator_report.h (+4/-0) include/server/mir/frontend/surface.h (+7/-2) include/server/mir/frontend/surface_id.h (+1/-0) platform-ABI-sha1sums (+2/-2) server-ABI-sha1sums (+7/-6) src/client/CMakeLists.txt (+2/-0) src/client/cursor_configuration.h (+6/-0) src/client/mir_buffer_stream.h (+68/-0) src/client/mir_buffer_stream_api.cpp (+178/-0) src/client/mir_cursor_api.cpp (+26/-1) src/client/mir_screencast.cpp (+59/-9) src/client/mir_screencast.h (+26/-12) src/client/mir_screencast_api.cpp (+3/-13) src/client/mir_surface.cpp (+21/-6) src/client/mir_surface.h (+12/-5) src/client/mir_surface_api.cpp (+30/-15) src/client/rpc/mir_protobuf_rpc_channel.cpp (+7/-0) src/client/surfaceless_buffer_stream.cpp (+296/-0) src/client/surfaceless_buffer_stream.h (+120/-0) src/platforms/android/buffer.cpp (+27/-1) src/platforms/android/buffer.h (+3/-0) src/platforms/mesa/gbm_buffer.cpp (+5/-0) src/platforms/mesa/gbm_buffer.h (+1/-0) src/platforms/mesa/shm_buffer.cpp (+5/-0) src/platforms/mesa/shm_buffer.h (+2/-1) src/protobuf/mir_protobuf.proto (+27/-1) src/server/compositor/temporary_buffers.cpp (+5/-0) src/server/compositor/temporary_buffers.h (+1/-0) src/server/frontend/CMakeLists.txt (+1/-1) src/server/frontend/buffer_stream_tracker.cpp (+6/-6) src/server/frontend/buffer_stream_tracker.h (+13/-13) src/server/frontend/protobuf_message_processor.cpp (+17/-0) src/server/frontend/protobuf_message_processor.h (+1/-0) src/server/frontend/session_mediator.cpp (+114/-17) src/server/frontend/session_mediator.h (+14/-4) src/server/graphics/nested/mir_client_host_connection.cpp (+1/-1) src/server/report/logging/session_mediator_report.cpp (+10/-0) src/server/report/logging/session_mediator_report.h (+4/-0) src/server/report/lttng/session_mediator_report.cpp (+2/-0) src/server/report/lttng/session_mediator_report.h (+2/-0) src/server/report/lttng/session_mediator_report_tp.h (+2/-0) src/server/report/null/session_mediator_report.cpp (+8/-0) src/server/report/null/session_mediator_report.h (+4/-0) src/server/scene/application_session.cpp (+109/-8) src/server/scene/application_session.h (+18/-1) src/server/scene/basic_surface.cpp (+134/-4) src/server/scene/basic_surface.h (+8/-0) src/server/scene/default_configuration.cpp (+1/-0) src/server/scene/session_manager.cpp (+6/-4) src/server/scene/session_manager.h (+3/-0) src/utils/screencast.cpp (+3/-3) tests/acceptance-tests/test_client_library.cpp (+23/-22) tests/acceptance-tests/test_client_surface_swap_buffers.cpp (+3/-2) tests/acceptance-tests/test_client_surface_visibility.cpp (+2/-2) tests/acceptance-tests/test_nested_mir.cpp (+2/-0) tests/acceptance-tests/test_server_disconnect.cpp (+1/-1) tests/acceptance-tests/throwback/test_client_cursor_api.cpp (+53/-2) tests/acceptance-tests/throwback/test_client_input.cpp (+2/-1) tests/include/mir_test_doubles/mock_buffer.h (+1/-0) tests/include/mir_test_doubles/mock_frontend_surface.h (+7/-0) tests/include/mir_test_doubles/mock_scene_session.h (+4/-0) tests/include/mir_test_doubles/stub_buffer.h (+2/-0) tests/include/mir_test_doubles/stub_buffer_stream_factory.h (+44/-0) tests/include/mir_test_doubles/stub_scene_session.h (+12/-0) tests/include/mir_test_doubles/stub_scene_surface.h (+3/-0) tests/include/mir_test_doubles/stub_session.h (+11/-0) tests/integration-tests/CMakeLists.txt (+1/-0) tests/integration-tests/frontend/test_session_mediator_report.cpp (+2/-0) tests/integration-tests/test_client_buffer_stream.cpp (+213/-0) tests/integration-tests/test_client_screencast.cpp (+4/-4) tests/integration-tests/test_server_shutdown.cpp (+3/-3) tests/integration-tests/test_session.cpp (+2/-0) tests/integration-tests/test_session_manager.cpp (+5/-0) tests/integration-tests/test_stale_frames.cpp (+6/-6) tests/integration-tests/test_surface_first_frame_sync.cpp (+1/-1) tests/unit-tests/client/test_client_mir_surface.cpp (+9/-5) tests/unit-tests/client/test_mir_screencast.cpp (+18/-3) tests/unit-tests/frontend/test_client_buffer_tracker.cpp (+18/-18) tests/unit-tests/frontend/test_session_mediator.cpp (+6/-1) tests/unit-tests/scene/test_application_session.cpp (+75/-8) tests/unit-tests/scene/test_session_manager.cpp (+7/-0) |
To merge this branch: | bzr merge lp://qastaging/~mir-team/mir/introduce-buffer-stream |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Alan Griffiths | Needs Information | ||
Daniel van Vugt | Needs Fixing | ||
Review via email: mp+245048@code.qastaging.launchpad.net |
This proposal supersedes a proposal from 2014-12-10.
Commit message
Introduce MirBufferStream
Description of the change
This branch introduces a client side MirBufferStream as an abstraction for uploading raw image data to the cursor. BufferStream is also used to replace the swap_bufffers, native_window, etc functions on MirSurface and Screencast.
A method is provided for creating a buffer stream not attached to a surface (see mir_toolkit/
In the future these streams may be useful to represent other things, e.g. decoration 'surfaces'.
========
Resubmit dep on remove-
Unmerged revisions
- 2168. By Robert Carr
-
Use __attribute_
_(deprecated) - 2167. By Robert Carr
-
Merge trunk
- 2166. By Daniel van Vugt
-
Merge latest trunk and fix a trivial conflict.
- 2165. By Robert Carr <racarr@ocelot>
-
Cleanup install
- 2164. By Robert Carr <racarr@ocelot>
- 2163. By Robert Carr <racarr@ocelot>
-
Merge trunk
- 2162. By Robert Carr
-
Ensure MIR_LOG_COMPONENT is defined
- 2161. By Robert Carr
-
MErge log-exceptions-
at-cleint- boundary - 2160. By Robert Carr
-
Merge trunk
- 2159. By Robert Carr
-
Merge log exceptions
I guess Ill set as work in progress until I finish manual testing so I don't end up wasting anyones time.
I'm concerned some areas re not covered well by automated test, e.g. screencast EGL window integration