Mir

Merge lp://qastaging/~mir-team/mir/xenial-0.26 into lp://qastaging/mir/xenial

Proposed by Michał Sawicz
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 1273
Proposed branch: lp://qastaging/~mir-team/mir/xenial-0.26
Merge into: lp://qastaging/mir/xenial
Diff against target: 150786 lines (+69411/-31258)
1395 files modified
.bzrignore (+5/-0)
3rd_party/android-deps/android/input.h (+4/-1)
3rd_party/android-input/android/frameworks/base/include/androidfw/GenericKeyMap.h (+0/-36)
3rd_party/android-input/android/frameworks/base/include/androidfw/Input.h (+12/-0)
3rd_party/android-input/android/frameworks/base/include/androidfw/InputTransport.h (+17/-11)
3rd_party/android-input/android/frameworks/base/services/input/Input.cpp (+18/-0)
3rd_party/android-input/android/frameworks/base/services/input/InputTransport.cpp (+74/-42)
CMakeLists.txt (+69/-13)
benchmarks/frame-uniformity/CMakeLists.txt (+2/-0)
benchmarks/frame-uniformity/touch_measuring_client.cpp (+17/-17)
benchmarks/touch_event_latency.py (+2/-6)
cmake/FindGtestGmock.cmake (+36/-11)
cmake/FindLibHardware.cmake (+1/-1)
cmake/LinuxCrossCompile.cmake (+11/-11)
cmake/MirCommon.cmake (+6/-27)
cross-compile-chroot.sh (+19/-10)
debian/changelog (+655/-0)
debian/control (+70/-21)
debian/copyright (+1/-1)
debian/libmirclient-dev.install (+2/-0)
debian/libmircommon7.install (+1/-1)
debian/libmircore-dev.install (+3/-0)
debian/libmircore1.install (+1/-0)
debian/libmirplatform15.install (+1/-1)
debian/libmirrenderer-dev.install (+2/-0)
debian/libmirserver43.install (+1/-1)
debian/mir-platform-graphics-android12.install (+1/-1)
debian/mir-platform-graphics-mesa-kms12.install (+1/-1)
debian/mir-platform-graphics-mesa-x12.install (+1/-1)
debian/mir-platform-input-evdev6.install (+1/-1)
debian/mir-test-tools.install (+4/-0)
debian/mir-utils.install (+2/-1)
debian/rules (+6/-1)
doc/Doxyfile.in (+1502/-965)
doc/abi_compatibility_tools.md (+1/-1)
doc/building_source_for_arm.md (+3/-3)
doc/building_source_for_pc.md (+1/-1)
doc/component_reports.md (+1/-0)
doc/demo_server_controls.md (+7/-7)
doc/dso_versioning_guide.md (+6/-8)
doc/footer.html.in (+1/-1)
doc/mainpage.md (+4/-5)
doc/measuring_latency.md (+52/-0)
doc/setup_vmware_for_mir.md (+1/-1)
examples/CMakeLists.txt (+10/-9)
examples/animated_cursor_demo_client.c (+5/-5)
examples/basic.c (+26/-55)
examples/camera.c (+48/-19)
examples/client_helpers.cpp (+21/-20)
examples/client_helpers.h (+10/-10)
examples/client_touch_validator.cpp (+6/-6)
examples/cursors_demo_client.c (+9/-10)
examples/demo_client_display_config.c (+93/-132)
examples/eglapp.c (+280/-225)
examples/eglapp.h (+19/-7)
examples/eglcounter.cpp (+2/-2)
examples/eglflash.c (+2/-2)
examples/eglplasma.c (+21/-35)
examples/eglsquare.cpp (+15/-15)
examples/eglstateswitcher.c (+39/-39)
examples/egltriangle.c (+2/-2)
examples/fingerpaint.c (+44/-58)
examples/flicker.c (+18/-18)
examples/graphics_utils.cpp (+2/-0)
examples/image_renderer.cpp (+2/-0)
examples/input_shapes.cpp (+6/-6)
examples/mir_demo_server_loader.cpp (+5/-5)
examples/multi_stream.cpp (+21/-14)
examples/multiwin.c (+20/-20)
examples/pointer_confinement.c (+276/-0)
examples/progressbar.c (+15/-16)
examples/prompt_session.c (+46/-26)
examples/release_at_exit.c (+9/-28)
examples/render_surfaces.cpp (+41/-13)
examples/scroll.cpp (+17/-166)
examples/server_example.cpp (+44/-1)
examples/server_example_adorning_compositor.cpp (+11/-9)
examples/server_example_basic_window_manager.cpp (+3/-3)
examples/server_example_basic_window_manager.h (+2/-2)
examples/server_example_canonical_window_manager.cpp (+133/-74)
examples/server_example_canonical_window_manager.h (+6/-2)
examples/server_example_input_device_config.cpp (+30/-21)
examples/server_example_input_filter.cpp (+38/-3)
examples/server_example_test_client.cpp (+7/-3)
examples/server_example_tiling_window_manager.cpp (+0/-640)
examples/server_example_tiling_window_manager.h (+0/-124)
examples/server_example_window_management.cpp (+3/-9)
examples/server_example_window_management_info.cpp (+68/-101)
examples/server_example_window_management_info.h (+8/-6)
examples/target.c (+64/-29)
examples/tooltip.c (+32/-31)
include/client/mir/event_printer.h (+20/-8)
include/client/mir/events/event_builders.h (+37/-10)
include/client/mir_toolkit/client_types.h (+185/-69)
include/client/mir_toolkit/cursors.h (+4/-2)
include/client/mir_toolkit/debug/surface.h (+27/-14)
include/client/mir_toolkit/events/event.h (+131/-36)
include/client/mir_toolkit/events/input/input_event.h (+12/-11)
include/client/mir_toolkit/events/input/keyboard_event.h (+3/-1)
include/client/mir_toolkit/events/input/pointer_event.h (+5/-2)
include/client/mir_toolkit/events/input/touch_event.h (+9/-3)
include/client/mir_toolkit/events/input_configuration_event.h (+12/-4)
include/client/mir_toolkit/events/input_device_state_event.h (+136/-0)
include/client/mir_toolkit/events/keymap_event.h (+2/-3)
include/client/mir_toolkit/events/prompt_session_event.h (+1/-1)
include/client/mir_toolkit/events/surface_event.h (+11/-4)
include/client/mir_toolkit/events/surface_output_event.h (+41/-18)
include/client/mir_toolkit/events/surface_placement.h (+49/-0)
include/client/mir_toolkit/events/window_event.h (+53/-0)
include/client/mir_toolkit/events/window_output_event.h (+83/-0)
include/client/mir_toolkit/events/window_placement.h (+46/-0)
include/client/mir_toolkit/extensions/android_buffer.h (+72/-0)
include/client/mir_toolkit/extensions/android_egl.h (+65/-0)
include/client/mir_toolkit/extensions/fenced_buffers.h (+104/-0)
include/client/mir_toolkit/extensions/gbm_buffer.h (+161/-0)
include/client/mir_toolkit/extensions/graphics_module.h (+55/-0)
include/client/mir_toolkit/extensions/mesa_drm_auth.h (+68/-0)
include/client/mir_toolkit/extensions/set_gbm_device.h (+53/-0)
include/client/mir_toolkit/extensions/window_coordinate_translation.h (+63/-0)
include/client/mir_toolkit/mir_blob.h (+23/-2)
include/client/mir_toolkit/mir_buffer.h (+77/-86)
include/client/mir_toolkit/mir_buffer_stream.h (+69/-20)
include/client/mir_toolkit/mir_client_library.h (+7/-0)
include/client/mir_toolkit/mir_connection.h (+145/-20)
include/client/mir_toolkit/mir_cookie.h (+7/-6)
include/client/mir_toolkit/mir_cursor_configuration.h (+7/-2)
include/client/mir_toolkit/mir_display_configuration.h (+224/-2)
include/client/mir_toolkit/mir_error.h (+55/-0)
include/client/mir_toolkit/mir_extension_core.h (+49/-0)
include/client/mir_toolkit/mir_input_device.h (+329/-58)
include/client/mir_toolkit/mir_persistent_id.h (+80/-0)
include/client/mir_toolkit/mir_platform_message.h (+8/-0)
include/client/mir_toolkit/mir_presentation_chain.h (+11/-110)
include/client/mir_toolkit/mir_prompt_session.h (+19/-2)
include/client/mir_toolkit/mir_screencast.h (+110/-5)
include/client/mir_toolkit/mir_surface.h (+226/-717)
include/client/mir_toolkit/mir_wait.h (+8/-4)
include/client/mir_toolkit/mir_window.h (+795/-0)
include/client/mir_toolkit/mir_window_id.h (+72/-0)
include/client/mir_toolkit/rs/mir_render_surface.h (+237/-0)
include/common/mir/dispatch/dispatchable.h (+2/-2)
include/common/mir/dispatch/multiplexing_dispatchable.h (+3/-2)
include/common/mir/events/contact_state.h (+58/-0)
include/common/mir/events/input_device_state.h (+41/-0)
include/common/mir/flags.h (+6/-1)
include/common/mir/graphics/native_buffer.h (+8/-12)
include/common/mir/input/keymap.h (+79/-0)
include/common/mir/input/mir_input_config.h (+107/-0)
include/common/mir/input/mir_input_config_serialization.h (+36/-0)
include/common/mir/input/mir_keyboard_config.h (+54/-0)
include/common/mir/input/mir_pointer_config.h (+35/-30)
include/common/mir/input/mir_touchpad_config.h (+42/-30)
include/common/mir/input/mir_touchscreen_config.h (+62/-0)
include/common/mir/posix_rw_mutex.h (+69/-0)
include/common/mir/time/posix_timestamp.h (+129/-0)
include/cookie/mir/cookie/authority.h (+1/-1)
include/core/mir/geometry/dimensions.h (+47/-47)
include/core/mir/geometry/displacement.h (+16/-16)
include/core/mir/geometry/length.h (+30/-30)
include/core/mir/geometry/point.h (+10/-10)
include/core/mir/geometry/rectangle.h (+10/-5)
include/core/mir/geometry/size.h (+10/-10)
include/core/mir/int_wrapper.h (+10/-10)
include/core/mir/optional_value.h (+9/-2)
include/core/mir_toolkit/common.h (+257/-10)
include/core/mir_toolkit/deprecations.h (+36/-0)
include/core/mir_toolkit/mir_input_device_types.h (+133/-0)
include/core/mir_toolkit/mir_native_buffer.h (+2/-1)
include/core/mir_toolkit/mir_version_number.h (+1/-1)
include/platform/mir/graphics/atomic_frame.h (+43/-0)
include/platform/mir/graphics/buffer.h (+0/-6)
include/platform/mir/graphics/display.h (+55/-9)
include/platform/mir/graphics/display_buffer.h (+17/-8)
include/platform/mir/graphics/display_configuration.h (+33/-15)
include/platform/mir/graphics/frame.h (+47/-0)
include/platform/mir/graphics/gamma_curves.h (+60/-0)
include/platform/mir/graphics/gl_context.h (+0/-44)
include/platform/mir/graphics/graphic_buffer_allocator.h (+18/-3)
include/platform/mir/graphics/platform.h (+16/-5)
include/platform/mir/graphics/platform_ipc_operations.h (+2/-2)
include/platform/mir/graphics/renderable.h (+1/-0)
include/platform/mir/input/event_builder.h (+14/-11)
include/platform/mir/input/input_sink.h (+22/-0)
include/platform/mir/input/platform.h (+11/-4)
include/platforms/mesa/mir_toolkit/mesa/native_display.h (+1/-1)
include/renderer/mir/renderer/renderer.h (+8/-8)
include/renderer/mir/renderer/renderer_factory.h (+5/-5)
include/renderers/gl/mir/renderer/gl/context.h (+47/-0)
include/renderers/gl/mir/renderer/gl/context_source.h (+49/-0)
include/renderers/gl/mir/renderer/gl/render_target.h (+5/-1)
include/renderers/sw/mir/renderer/sw/pixel_source.h (+57/-0)
include/server/mir/compositor/scene.h (+1/-1)
include/server/mir/executor.h (+57/-0)
include/server/mir/frontend/buffer_sink.h (+6/-0)
include/server/mir/frontend/buffer_stream.h (+8/-4)
include/server/mir/frontend/client_buffers.h (+2/-3)
include/server/mir/frontend/session.h (+28/-0)
include/server/mir/frontend/session_mediator_observer.h (+9/-9)
include/server/mir/graphics/display_configuration_observer.h (+93/-12)
include/server/mir/input/device.h (+12/-9)
include/server/mir/input/input_device_hub.h (+1/-0)
include/server/mir/input/input_manager.h (+0/-7)
include/server/mir/input/seat_observer.h (+55/-0)
include/server/mir/main_loop.h (+6/-2)
include/server/mir/observer_registrar.h (+92/-0)
include/server/mir/scene/application_not_responding_detector_wrapper.h (+49/-0)
include/server/mir/scene/buffer_stream_factory.h (+5/-3)
include/server/mir/scene/coordinate_translator.h (+1/-0)
include/server/mir/scene/null_surface_observer.h (+2/-1)
include/server/mir/scene/prompt_session.h (+4/-4)
include/server/mir/scene/session.h (+5/-4)
include/server/mir/scene/session_coordinator.h (+1/-1)
include/server/mir/scene/surface.h (+12/-5)
include/server/mir/scene/surface_creation_parameters.h (+12/-5)
include/server/mir/scene/surface_factory.h (+3/-1)
include/server/mir/scene/surface_observer.h (+3/-1)
include/server/mir/server.h (+48/-16)
include/server/mir/server_status_listener.h (+2/-0)
include/server/mir/shell/abstract_shell.h (+13/-3)
include/server/mir/shell/display_configuration_controller.h (+8/-0)
include/server/mir/shell/shell.h (+4/-4)
include/server/mir/shell/shell_report.h (+3/-1)
include/server/mir/shell/shell_wrapper.h (+2/-2)
include/server/mir/shell/surface_specification.h (+20/-4)
include/server/mir/shell/system_compositor_window_manager.h (+1/-1)
include/server/mir/shell/window_manager.h (+1/-1)
include/server/mir/time/alarm_factory.h (+1/-1)
include/test/mir/test/death.h (+49/-0)
include/test/mir/test/display_config_matchers.h (+11/-0)
include/test/mir/test/doubles/fake_display.h (+7/-3)
include/test/mir/test/doubles/mock_display_configuration.h (+4/-4)
include/test/mir/test/doubles/mock_egl.h (+12/-5)
include/test/mir/test/doubles/mock_input_device_hub.h (+2/-1)
include/test/mir/test/doubles/mock_seat_report.h (+52/-0)
include/test/mir/test/doubles/mock_window_manager.h (+1/-1)
include/test/mir/test/doubles/null_display.h (+20/-5)
include/test/mir/test/doubles/null_display_buffer.h (+2/-1)
include/test/mir/test/doubles/null_gl_context.h (+2/-2)
include/test/mir/test/doubles/null_platform.h (+0/-10)
include/test/mir/test/doubles/stub_display_configuration.h (+22/-2)
include/test/mir/test/doubles/stub_input_device.h (+25/-15)
include/test/mir/test/doubles/stub_session.h (+11/-3)
include/test/mir/test/doubles/stub_surface.h (+7/-4)
include/test/mir/test/event_matchers.h (+116/-39)
include/test/mir/test/signal.h (+20/-0)
include/test/mir/test/validity_matchers.h (+1/-1)
include/test/mir/test/wait_condition.h (+0/-84)
include/test/mir_test_framework/any_surface.h (+3/-1)
include/test/mir_test_framework/connected_client_with_a_surface.h (+1/-1)
include/test/mir_test_framework/fake_input_device.h (+9/-5)
include/test/mir_test_framework/headless_display_buffer_compositor_factory.h (+36/-0)
include/test/mir_test_framework/headless_nested_server_runner.h (+12/-0)
include/test/mir_test_framework/headless_test.h (+1/-1)
include/test/mir_test_framework/interprocess_client_server_test.h (+2/-0)
include/test/mir_test_framework/observant_shell.h (+106/-0)
include/test/mir_test_framework/placement_applying_shell.h (+3/-0)
include/test/mir_test_framework/process.h (+3/-0)
include/test/mir_test_framework/stub_client_platform_options.h (+48/-0)
include/test/mir_test_framework/stub_platform_extension.h (+65/-0)
include/test/mir_test_framework/stub_server_platform_factory.h (+2/-10)
include/test/mir_test_framework/using_stub_client_platform.h (+0/-41)
include/test/mir_test_framework/visible_surface.h (+5/-5)
playground/CMakeLists.txt (+30/-0)
playground/README (+3/-4)
playground/demo-shell/CMakeLists.txt (+0/-1)
playground/demo-shell/default_window_manager.cpp (+0/-150)
playground/demo-shell/default_window_manager.h (+0/-86)
playground/demo-shell/demo_compositor.cpp (+4/-4)
playground/demo-shell/demo_renderer.cpp (+4/-0)
playground/demo-shell/demo_shell.cpp (+6/-54)
playground/demo-shell/typo/CMakeLists.txt (+1/-3)
playground/demo-shell/typo/typo_freetype_renderer.cpp (+4/-4)
playground/demo-shell/typo/typo_freetype_renderer.h (+5/-5)
playground/demo-shell/typo/typo_glcache.cpp (+8/-8)
playground/demo-shell/typo/typo_glcache.h (+5/-5)
playground/demo-shell/typo/typo_renderer.cpp (+8/-7)
playground/demo-shell/typo/typo_renderer.h (+22/-8)
playground/demo-shell/typo/typo_stub_renderer.cpp (+3/-3)
playground/demo-shell/typo/typo_stub_renderer.h (+5/-5)
playground/demo-shell/window_manager.cpp (+8/-1)
playground/demo-shell/window_manager.h (+1/-1)
playground/diamond.c (+180/-0)
playground/diamond.h (+47/-0)
playground/egldiamond_render_surface.c (+325/-0)
playground/mir_demo_client_chain_jumping_buffers.c (+276/-0)
playground/mir_demo_client_prerendered_frames.c (+41/-21)
playground/mir_egl_platform_shim.c (+172/-0)
playground/mir_egl_platform_shim.h (+50/-0)
playground/render_surface.cpp (+249/-0)
playground/server_configuration.cpp (+14/-13)
playground/server_configuration.h (+0/-6)
src/CMakeLists.txt (+5/-4)
src/capnproto/CMakeLists.txt (+30/-0)
src/capnproto/mir_event.capnp (+262/-0)
src/capnproto/mir_input_config.capnp (+94/-0)
src/client/CMakeLists.txt (+25/-13)
src/client/atomic_callback.h (+8/-3)
src/client/buffer.cpp (+58/-35)
src/client/buffer.h (+32/-25)
src/client/buffer_factory.cpp (+93/-25)
src/client/buffer_factory.h (+56/-14)
src/client/buffer_receiver.h (+0/-45)
src/client/buffer_stream.cpp (+299/-369)
src/client/buffer_stream.h (+47/-27)
src/client/buffer_stream_configuration.cpp (+61/-0)
src/client/buffer_stream_configuration.h (+51/-0)
src/client/buffer_vault.cpp (+235/-95)
src/client/buffer_vault.h (+38/-21)
src/client/client_buffer_depository.cpp (+0/-85)
src/client/client_buffer_depository.h (+0/-75)
src/client/connection_configuration.h (+2/-0)
src/client/connection_surface_map.cpp (+68/-43)
src/client/connection_surface_map.h (+27/-12)
src/client/cursor_configuration.h (+3/-10)
src/client/default_connection_configuration.cpp (+13/-2)
src/client/default_connection_configuration.h (+2/-0)
src/client/display_configuration.h (+6/-0)
src/client/display_configuration_api.cpp (+200/-120)
src/client/error_buffer.cpp (+75/-0)
src/client/error_buffer.h (+60/-0)
src/client/error_chain.cpp (+8/-18)
src/client/error_chain.h (+2/-5)
src/client/error_connections.cpp (+1/-11)
src/client/error_handler.h (+35/-0)
src/client/error_render_surface.cpp (+73/-0)
src/client/error_render_surface.h (+54/-0)
src/client/error_stream.cpp (+41/-16)
src/client/error_stream.h (+31/-22)
src/client/event.cpp (+317/-156)
src/client/event_printer.cpp (+152/-33)
src/client/events/CMakeLists.txt (+0/-1)
src/client/events/event_builders.cpp (+213/-193)
src/client/events/make_empty_event.cpp (+0/-42)
src/client/events/make_empty_event.h (+0/-32)
src/client/events/serialization.cpp (+2/-81)
src/client/frame_clock.cpp (+156/-0)
src/client/frame_clock.h (+73/-0)
src/client/handle_event_exception.h (+30/-0)
src/client/input/CMakeLists.txt (+1/-0)
src/client/input/android/android_input_lexicon.cpp (+6/-0)
src/client/input/android/android_input_receiver.cpp (+32/-96)
src/client/input/android/android_input_receiver.h (+3/-12)
src/client/input/android/event_conversion_helpers.cpp (+9/-15)
src/client/input/input_devices.cpp (+5/-4)
src/client/input/input_event.cpp (+170/-295)
src/client/input/xkb_mapper.cpp (+368/-96)
src/client/logging/rpc_report.cpp (+3/-3)
src/client/lttng/CMakeLists.txt (+9/-0)
src/client/mir_blob.cpp (+32/-0)
src/client/mir_buffer_api.cpp (+151/-102)
src/client/mir_buffer_stream_api.cpp (+94/-31)
src/client/mir_connection.cpp (+521/-250)
src/client/mir_connection.h (+120/-55)
src/client/mir_connection_api.cpp (+165/-114)
src/client/mir_connection_api.h (+0/-63)
src/client/mir_cookie.cpp (+10/-9)
src/client/mir_cookie.h (+6/-4)
src/client/mir_cursor_api.cpp (+18/-19)
src/client/mir_debug_api.cpp (+24/-9)
src/client/mir_error.cpp (+35/-0)
src/client/mir_error.h (+37/-0)
src/client/mir_error_api.cpp (+30/-0)
src/client/mir_extension_core.cpp (+38/-0)
src/client/mir_input_device_api.cpp (+207/-114)
src/client/mir_platform_message_api.cpp (+1/-10)
src/client/mir_presentation_chain.h (+8/-8)
src/client/mir_presentation_chain_api.cpp (+45/-57)
src/client/mir_prompt_session.cpp (+10/-9)
src/client/mir_prompt_session.h (+9/-8)
src/client/mir_prompt_session_api.cpp (+32/-6)
src/client/mir_render_surface_api.cpp (+252/-0)
src/client/mir_screencast.cpp (+143/-54)
src/client/mir_screencast.h (+41/-23)
src/client/mir_screencast_api.cpp (+80/-45)
src/client/mir_surface.cpp (+214/-56)
src/client/mir_surface.h (+70/-37)
src/client/mir_surface_api.cpp (+1058/-492)
src/client/mirclient.pc.in (+4/-5)
src/client/no_tls_future-inl.h (+373/-73)
src/client/periodic_perf_report.cpp (+7/-1)
src/client/presentation_chain.cpp (+16/-71)
src/client/presentation_chain.h (+6/-8)
src/client/probing_client_platform_factory.cpp (+5/-3)
src/client/probing_client_platform_factory.h (+3/-1)
src/client/render_surface.cpp (+118/-0)
src/client/render_surface.h (+79/-0)
src/client/rpc/CMakeLists.txt (+2/-2)
src/client/rpc/make_rpc_channel.h (+2/-0)
src/client/rpc/make_socket_rpc_channel.cpp (+3/-1)
src/client/rpc/mir_basic_rpc_channel.cpp (+23/-8)
src/client/rpc/mir_basic_rpc_channel.h (+8/-0)
src/client/rpc/mir_display_server.cpp (+37/-16)
src/client/rpc/mir_display_server.h (+22/-10)
src/client/rpc/mir_protobuf_rpc_channel.cpp (+98/-42)
src/client/rpc/mir_protobuf_rpc_channel.h (+6/-0)
src/client/screencast_stream.cpp (+59/-30)
src/client/screencast_stream.h (+15/-8)
src/client/surface_map.h (+11/-11)
src/client/symbols.map (+260/-15)
src/client/version.h.in (+19/-35)
src/common/CMakeLists.txt (+28/-11)
src/common/dispatch/multiplexing_dispatchable.cpp (+8/-78)
src/common/edid.cpp (+67/-0)
src/common/events/CMakeLists.txt (+46/-0)
src/common/events/close_surface_event.cpp (+37/-0)
src/common/events/event.cpp (+214/-0)
src/common/events/input_configuration_event.cpp (+55/-0)
src/common/events/input_device_state_event.cpp (+126/-0)
src/common/events/input_event.cpp (+128/-0)
src/common/events/keyboard_event.cpp (+58/-0)
src/common/events/keymap_event.cpp (+62/-0)
src/common/events/orientation_event.cpp (+44/-0)
src/common/events/pointer_event.cpp (+134/-0)
src/common/events/prompt_session_event.cpp (+34/-0)
src/common/events/resize_event.cpp (+54/-0)
src/common/events/surface_event.cpp (+57/-0)
src/common/events/surface_output_event.cpp (+87/-0)
src/common/events/surface_placement_event.cpp (+58/-0)
src/common/events/touch_event.cpp (+204/-0)
src/common/fatal/CMakeLists.txt (+0/-3)
src/common/geometry/CMakeLists.txt (+0/-27)
src/common/input/mir_input_config.cpp (+308/-0)
src/common/input/mir_input_config_serialization.cpp (+187/-0)
src/common/input/mir_keyboard_config.cpp (+84/-0)
src/common/input/mir_pointer_config.cpp (+150/-0)
src/common/input/mir_touchpad_config.cpp (+189/-0)
src/common/input/mir_touchscreen_config.cpp (+96/-0)
src/common/output_type_names.cpp (+53/-0)
src/common/posix_rw_mutex.cpp (+191/-0)
src/common/sharedlibrary/CMakeLists.txt (+1/-1)
src/common/symbols.map (+349/-87)
src/cookie/CMakeLists.txt (+2/-3)
src/cookie/authority.cpp (+12/-51)
src/core/CMakeLists.txt (+53/-0)
src/core/fatal.cpp (+1/-1)
src/core/geometry/rectangle.cpp (+25/-29)
src/core/mircore.pc.in (+10/-0)
src/core/symbols.map (+51/-0)
src/gl/program.cpp (+2/-0)
src/include/client/mir/client_buffer.h (+7/-6)
src/include/client/mir/client_buffer_factory.h (+2/-0)
src/include/client/mir/client_context.h (+16/-1)
src/include/client/mir/client_platform.h (+9/-1)
src/include/client/mir/client_platform_factory.h (+16/-2)
src/include/client/mir/egl_native_surface.h (+5/-4)
src/include/client/mir/input/input_devices.h (+4/-18)
src/include/client/mir/input/input_platform.h (+1/-1)
src/include/client/mir/mir_buffer.h (+63/-0)
src/include/client/mir/mir_buffer_stream.h (+34/-21)
src/include/client/mir/mir_render_surface.h (+59/-0)
src/include/client/mir/platform_message.h (+32/-0)
src/include/client/mir_toolkit/client_types_nbs.h (+0/-50)
src/include/client/mir_toolkit/extensions/hardware_buffer_stream.h (+60/-0)
src/include/client/mir_toolkit/mir_buffer_private.h (+74/-0)
src/include/common/mir/client_visible_error.h (+55/-0)
src/include/common/mir/events/close_surface_event.h (+32/-0)
src/include/common/mir/events/event.h (+82/-0)
src/include/common/mir/events/event_private.h (+15/-173)
src/include/common/mir/events/input_configuration_event.h (+43/-0)
src/include/common/mir/events/input_device_state_event.h (+55/-0)
src/include/common/mir/events/input_event.h (+59/-0)
src/include/common/mir/events/keyboard_event.h (+42/-0)
src/include/common/mir/events/keymap_event.h (+42/-0)
src/include/common/mir/events/orientation_event.h (+35/-0)
src/include/common/mir/events/pointer_event.h (+66/-0)
src/include/common/mir/events/prompt_session_event.h (+32/-0)
src/include/common/mir/events/resize_event.h (+38/-0)
src/include/common/mir/events/surface_event.h (+38/-0)
src/include/common/mir/events/surface_output_event.h (+49/-0)
src/include/common/mir/events/surface_placement_event.h (+36/-0)
src/include/common/mir/events/touch_event.h (+71/-0)
src/include/common/mir/graphics/edid.h (+111/-0)
src/include/common/mir/input/key_mapper.h (+100/-0)
src/include/common/mir/input/xkb_mapper.h (+55/-18)
src/include/common/mir/output_type_names.h (+26/-0)
src/include/common/mir/protobuf/display_server.h (+22/-10)
src/include/common/mir/protobuf/protocol_version.h (+2/-2)
src/include/gl/mir/gl/primitive.h (+1/-1)
src/include/gl/mir/gl/program.h (+1/-1)
src/include/gl/mir/gl/texture.h (+1/-1)
src/include/platform/mir/graphics/buffer_ipc_message.h (+1/-1)
src/include/platform/mir/graphics/display_report.h (+2/-1)
src/include/platform/mir/graphics/egl_extensions.h (+2/-3)
src/include/platform/mir/graphics/nested_context.h (+30/-1)
src/include/platform/mir/options/configuration.h (+3/-2)
src/include/server/mir/compositor/buffer_stream.h (+2/-1)
src/include/server/mir/compositor/frame_dropping_policy_factory.h (+1/-1)
src/include/server/mir/default_server_configuration.h (+44/-13)
src/include/server/mir/default_server_status_listener.h (+17/-9)
src/include/server/mir/display_changer.h (+1/-4)
src/include/server/mir/frontend/display_changer.h (+10/-0)
src/include/server/mir/frontend/event_sink.h (+4/-5)
src/include/server/mir/frontend/input_configuration_changer.h (+51/-0)
src/include/server/mir/frontend/screencast.h (+4/-1)
src/include/server/mir/frontend/shell.h (+2/-2)
src/include/server/mir/frontend/template_protobuf_message_processor.h (+11/-0)
src/include/server/mir/frontend/unsupported_feature_exception.h (+0/-41)
src/include/server/mir/glib_main_loop.h (+3/-1)
src/include/server/mir/graphics/surfaceless_egl_context.h (+2/-2)
src/include/server/mir/input/seat.h (+10/-0)
src/include/server/mir/input/validator.h (+9/-10)
src/include/server/mir/lockable_callback_wrapper.h (+3/-3)
src/include/server/mir/observer_multiplexer.h (+126/-0)
src/include/server/mir/scene/legacy_scene_change_notification.h (+1/-1)
src/include/server/mir/scene/surface_event_source.h (+2/-1)
src/include/server/mir/scene/surface_observers.h (+2/-1)
src/include/server/mir/server_configuration.h (+3/-2)
src/include/server/mir/shell/basic_window_manager.h (+2/-2)
src/include/server/mir/shell/canonical_window_manager.h (+9/-3)
src/include/server/mir/shell/window_management_info.h (+5/-4)
src/platform/CMakeLists.txt (+2/-1)
src/platform/graphics/CMakeLists.txt (+4/-1)
src/platform/graphics/atomic_frame.cpp (+50/-0)
src/platform/graphics/display_configuration.cpp (+7/-30)
src/platform/graphics/egl_error.cpp (+21/-0)
src/platform/graphics/egl_extensions.cpp (+7/-0)
src/platform/graphics/gamma_curves.cpp (+60/-0)
src/platform/mirplatform.pc.in (+1/-0)
src/platform/options/default_configuration.cpp (+11/-10)
src/platform/symbols.map (+14/-21)
src/platforms/CMakeLists.txt (+11/-7)
src/platforms/android/client/CMakeLists.txt (+2/-4)
src/platforms/android/client/android_client_buffer_factory.cpp (+9/-0)
src/platforms/android/client/android_client_buffer_factory.h (+3/-0)
src/platforms/android/client/android_client_platform.cpp (+218/-34)
src/platforms/android/client/android_client_platform.h (+19/-3)
src/platforms/android/client/buffer.cpp (+26/-24)
src/platforms/android/client/buffer.h (+7/-5)
src/platforms/android/client/buffer_registrar.h (+3/-3)
src/platforms/android/client/client_platform_factory.cpp (+9/-8)
src/platforms/android/client/egl_native_surface_interpreter.cpp (+15/-8)
src/platforms/android/client/egl_native_surface_interpreter.h (+20/-1)
src/platforms/android/client/gralloc_registrar.cpp (+7/-7)
src/platforms/android/client/gralloc_registrar.h (+2/-2)
src/platforms/android/common/CMakeLists.txt (+1/-0)
src/platforms/android/common/android_native_buffer.cpp (+39/-4)
src/platforms/android/common/mir_native_window.cpp (+68/-6)
src/platforms/android/common/native_window_report.cpp (+170/-0)
src/platforms/android/common/syncfence.cpp (+22/-0)
src/platforms/android/include/android_driver_interpreter.h (+2/-0)
src/platforms/android/include/android_format_conversion-inl.h (+16/-0)
src/platforms/android/include/android_native_buffer.h (+5/-2)
src/platforms/android/include/egl_sync_extensions.h (+2/-0)
src/platforms/android/include/fence.h (+4/-0)
src/platforms/android/include/mir_native_window.h (+9/-2)
src/platforms/android/include/native_buffer.h (+12/-7)
src/platforms/android/include/native_window_report.h (+81/-0)
src/platforms/android/include/sync_fence.h (+6/-3)
src/platforms/android/server/CMakeLists.txt (+2/-3)
src/platforms/android/server/buffer.h (+9/-5)
src/platforms/android/server/device_quirks.cpp (+84/-14)
src/platforms/android/server/device_quirks.h (+9/-0)
src/platforms/android/server/display.cpp (+120/-53)
src/platforms/android/server/display.h (+24/-3)
src/platforms/android/server/display_buffer.cpp (+10/-1)
src/platforms/android/server/display_buffer.h (+3/-1)
src/platforms/android/server/display_configuration.cpp (+7/-2)
src/platforms/android/server/display_resource_factory.h (+1/-0)
src/platforms/android/server/fb_device.cpp (+7/-3)
src/platforms/android/server/fb_device.h (+1/-1)
src/platforms/android/server/gl_context.cpp (+42/-1)
src/platforms/android/server/gl_context.h (+8/-3)
src/platforms/android/server/gralloc.h (+3/-9)
src/platforms/android/server/gralloc_module.cpp (+2/-28)
src/platforms/android/server/gralloc_module.h (+1/-5)
src/platforms/android/server/graphic_buffer_allocator.cpp (+34/-23)
src/platforms/android/server/graphic_buffer_allocator.h (+4/-2)
src/platforms/android/server/hal_component_factory.cpp (+6/-1)
src/platforms/android/server/hwc_blanking_control.cpp (+32/-7)
src/platforms/android/server/hwc_configuration.h (+6/-4)
src/platforms/android/server/hwc_device.cpp (+1/-1)
src/platforms/android/server/hwc_fallback_gl_renderer.cpp (+6/-4)
src/platforms/android/server/hwc_fallback_gl_renderer.h (+2/-3)
src/platforms/android/server/hwc_fb_device.cpp (+2/-2)
src/platforms/android/server/hwc_fb_device.h (+2/-1)
src/platforms/android/server/hwc_layers.cpp (+9/-7)
src/platforms/android/server/hwc_layers.h (+0/-1)
src/platforms/android/server/hwc_loggers.cpp (+1/-0)
src/platforms/android/server/hwc_wrapper.h (+2/-2)
src/platforms/android/server/interpreter_cache.cpp (+1/-1)
src/platforms/android/server/interpreter_cache.h (+2/-2)
src/platforms/android/server/interpreter_resource_cache.h (+4/-4)
src/platforms/android/server/ipc_operations.cpp (+7/-4)
src/platforms/android/server/platform.cpp (+69/-41)
src/platforms/android/server/platform.h (+3/-1)
src/platforms/android/server/real_hwc_wrapper.cpp (+11/-3)
src/platforms/android/server/real_hwc_wrapper.h (+3/-3)
src/platforms/android/server/resource_factory.cpp (+1/-0)
src/platforms/android/server/server_render_window.cpp (+6/-2)
src/platforms/android/server/server_render_window.h (+2/-1)
src/platforms/android/utils/CMakeLists.txt (+5/-2)
src/platforms/android/utils/android_graphics_region_factory.cpp (+0/-68)
src/platforms/android/utils/graphics_region_factory.h (+0/-48)
src/platforms/android/utils/render_overlays.cpp (+82/-32)
src/platforms/android/utils/test_android_hardware_sanity.cpp (+39/-23)
src/platforms/common/CMakeLists.txt (+1/-0)
src/platforms/common/server/CMakeLists.txt (+22/-0)
src/platforms/common/server/anonymous_shm_file.cpp (+30/-18)
src/platforms/common/server/anonymous_shm_file.h (+1/-1)
src/platforms/common/server/buffer_texture_binder.h (+1/-1)
src/platforms/common/server/kms-utils/CMakeLists.txt (+18/-0)
src/platforms/common/server/kms-utils/drm_mode_resources.cpp (+409/-74)
src/platforms/common/server/kms-utils/drm_mode_resources.h (+109/-8)
src/platforms/common/server/kms-utils/kms_connector.cpp (+206/-0)
src/platforms/common/server/kms-utils/kms_connector.h (+60/-0)
src/platforms/common/server/shm_buffer.cpp (+25/-25)
src/platforms/common/server/shm_buffer.h (+16/-7)
src/platforms/common/server/shm_file.h (+1/-1)
src/platforms/eglstream-kms/CMakeLists.txt (+4/-0)
src/platforms/eglstream-kms/client/CMakeLists.txt (+37/-0)
src/platforms/eglstream-kms/client/client_buffer.cpp (+156/-0)
src/platforms/eglstream-kms/client/client_buffer.h (+66/-0)
src/platforms/eglstream-kms/client/client_buffer_factory.cpp (+46/-0)
src/platforms/eglstream-kms/client/client_buffer_factory.h (+48/-0)
src/platforms/eglstream-kms/client/client_platform.cpp (+97/-0)
src/platforms/eglstream-kms/client/client_platform.h (+53/-0)
src/platforms/eglstream-kms/client/client_platform_factory.cpp (+61/-0)
src/platforms/eglstream-kms/client/symbols.map (+7/-0)
src/platforms/eglstream-kms/include/native_buffer.h (+39/-0)
src/platforms/eglstream-kms/server/CMakeLists.txt (+58/-0)
src/platforms/eglstream-kms/server/buffer_allocator.cpp (+73/-0)
src/platforms/eglstream-kms/server/buffer_allocator.h (+53/-0)
src/platforms/eglstream-kms/server/display.cpp (+384/-0)
src/platforms/eglstream-kms/server/display.h (+90/-0)
src/platforms/eglstream-kms/server/egl_output.cpp (+357/-0)
src/platforms/eglstream-kms/server/egl_output.h (+79/-0)
src/platforms/eglstream-kms/server/kms_display_configuration.cpp (+331/-0)
src/platforms/eglstream-kms/server/kms_display_configuration.h (+70/-0)
src/platforms/eglstream-kms/server/platform.cpp (+162/-0)
src/platforms/eglstream-kms/server/platform.h (+63/-0)
src/platforms/eglstream-kms/server/platform_symbols.cpp (+178/-0)
src/platforms/eglstream-kms/server/software_buffer.cpp (+48/-0)
src/platforms/eglstream-kms/server/software_buffer.h (+52/-0)
src/platforms/eglstream-kms/server/symbols.map.in (+10/-0)
src/platforms/evdev/CMakeLists.txt (+2/-3)
src/platforms/evdev/libinput_device.cpp (+21/-16)
src/platforms/evdev/libinput_device.h (+1/-1)
src/platforms/evdev/platform.cpp (+1/-1)
src/platforms/mesa/CMakeLists.txt (+2/-1)
src/platforms/mesa/client/CMakeLists.txt (+3/-4)
src/platforms/mesa/client/client_buffer.cpp (+64/-24)
src/platforms/mesa/client/client_buffer.h (+11/-6)
src/platforms/mesa/client/client_buffer_factory.cpp (+12/-0)
src/platforms/mesa/client/client_buffer_factory.h (+3/-0)
src/platforms/mesa/client/client_platform.cpp (+289/-31)
src/platforms/mesa/client/client_platform.h (+15/-2)
src/platforms/mesa/client/client_platform_factory.cpp (+11/-7)
src/platforms/mesa/client/native_surface.cpp (+30/-12)
src/platforms/mesa/client/native_surface.h (+4/-3)
src/platforms/mesa/common/CMakeLists.txt (+10/-0)
src/platforms/mesa/common/gbm_format_conversions.cpp (+108/-0)
src/platforms/mesa/include/gbm_format_conversions.h (+39/-0)
src/platforms/mesa/include/native_buffer.h (+45/-0)
src/platforms/mesa/server/CMakeLists.txt (+24/-2)
src/platforms/mesa/server/buffer_allocator.cpp (+33/-62)
src/platforms/mesa/server/buffer_allocator.h (+6/-8)
src/platforms/mesa/server/common/CMakeLists.txt (+0/-17)
src/platforms/mesa/server/display_helpers.cpp (+21/-6)
src/platforms/mesa/server/display_helpers.h (+0/-1)
src/platforms/mesa/server/gbm_buffer.cpp (+8/-102)
src/platforms/mesa/server/gbm_buffer.h (+9/-18)
src/platforms/mesa/server/ipc_operations.cpp (+5/-2)
src/platforms/mesa/server/kms/CMakeLists.txt (+12/-8)
src/platforms/mesa/server/kms/bypass.cpp (+2/-2)
src/platforms/mesa/server/kms/cursor.cpp (+9/-0)
src/platforms/mesa/server/kms/cursor.h (+1/-0)
src/platforms/mesa/server/kms/display.cpp (+158/-114)
src/platforms/mesa/server/kms/display.h (+15/-3)
src/platforms/mesa/server/kms/display_buffer.cpp (+37/-19)
src/platforms/mesa/server/kms/display_buffer.h (+3/-1)
src/platforms/mesa/server/kms/guest_platform.cpp (+14/-35)
src/platforms/mesa/server/kms/guest_platform.h (+0/-1)
src/platforms/mesa/server/kms/kms_output.h (+3/-0)
src/platforms/mesa/server/kms/kms_page_flipper.cpp (+42/-16)
src/platforms/mesa/server/kms/kms_page_flipper.h (+7/-4)
src/platforms/mesa/server/kms/linux_virtual_terminal.cpp (+1/-1)
src/platforms/mesa/server/kms/nested_authentication.cpp (+22/-60)
src/platforms/mesa/server/kms/nested_authentication.h (+2/-0)
src/platforms/mesa/server/kms/page_flipper.h (+3/-2)
src/platforms/mesa/server/kms/platform.cpp (+0/-5)
src/platforms/mesa/server/kms/platform.h (+0/-2)
src/platforms/mesa/server/kms/platform_symbols.cpp (+16/-1)
src/platforms/mesa/server/kms/real_kms_display_configuration.cpp (+137/-11)
src/platforms/mesa/server/kms/real_kms_display_configuration.h (+2/-1)
src/platforms/mesa/server/kms/real_kms_output.cpp (+95/-167)
src/platforms/mesa/server/kms/real_kms_output.h (+25/-19)
src/platforms/mesa/server/kms/symbols.map.in (+0/-6)
src/platforms/mesa/server/software_buffer.cpp (+48/-0)
src/platforms/mesa/server/software_buffer.h (+54/-0)
src/platforms/mesa/server/x11/CMakeLists.txt (+4/-5)
src/platforms/mesa/server/x11/graphics/CMakeLists.txt (+3/-5)
src/platforms/mesa/server/x11/graphics/display.cpp (+172/-141)
src/platforms/mesa/server/x11/graphics/display.h (+49/-57)
src/platforms/mesa/server/x11/graphics/display_buffer.cpp (+125/-20)
src/platforms/mesa/server/x11/graphics/display_buffer.h (+32/-9)
src/platforms/mesa/server/x11/graphics/display_configuration.cpp (+11/-6)
src/platforms/mesa/server/x11/graphics/display_configuration.h (+7/-1)
src/platforms/mesa/server/x11/graphics/display_group.cpp (+0/-47)
src/platforms/mesa/server/x11/graphics/display_group.h (+0/-52)
src/platforms/mesa/server/x11/graphics/egl_helper.cpp (+185/-0)
src/platforms/mesa/server/x11/graphics/egl_helper.h (+79/-0)
src/platforms/mesa/server/x11/graphics/gl_context.cpp (+0/-45)
src/platforms/mesa/server/x11/graphics/gl_context.h (+0/-52)
src/platforms/mesa/server/x11/graphics/graphics.cpp (+6/-3)
src/platforms/mesa/server/x11/graphics/guest_platform.cpp (+0/-5)
src/platforms/mesa/server/x11/graphics/guest_platform.h (+0/-1)
src/platforms/mesa/server/x11/graphics/platform.cpp (+7/-8)
src/platforms/mesa/server/x11/graphics/platform.h (+5/-2)
src/platforms/mesa/server/x11/input/input_device.cpp (+18/-13)
src/platforms/mesa/server/x11/input/input_platform.cpp (+45/-6)
src/platforms/mesa/server/x11/input/input_platform.h (+2/-0)
src/protobuf/CMakeLists.txt (+3/-2)
src/protobuf/mir_protobuf.proto (+111/-4)
src/protobuf/mir_protobuf_wire.proto (+1/-0)
src/protobuf/symbols.map (+96/-0)
src/renderer/CMakeLists.txt (+18/-0)
src/renderer/mirrenderer.pc.in (+10/-0)
src/renderers/gl/CMakeLists.txt (+1/-0)
src/renderers/gl/mir-renderer-gl-dev.pc.in (+1/-0)
src/renderers/gl/program_family.cpp (+2/-1)
src/renderers/gl/program_family.h (+1/-1)
src/renderers/gl/renderer.cpp (+143/-90)
src/renderers/gl/renderer.h (+9/-7)
src/renderers/gl/renderer_factory.cpp (+1/-3)
src/renderers/gl/renderer_factory.h (+3/-3)
src/server/CMakeLists.txt (+13/-6)
src/server/compositor/CMakeLists.txt (+2/-2)
src/server/compositor/buffer_acquisition.h (+13/-34)
src/server/compositor/buffer_map.cpp (+23/-23)
src/server/compositor/buffer_map.h (+5/-11)
src/server/compositor/buffer_queue.cpp (+0/-691)
src/server/compositor/buffer_queue.h (+0/-131)
src/server/compositor/buffer_stream_factory.cpp (+18/-30)
src/server/compositor/buffer_stream_factory.h (+5/-7)
src/server/compositor/buffer_stream_surfaces.cpp (+0/-173)
src/server/compositor/buffer_stream_surfaces.h (+0/-86)
src/server/compositor/compositing_screencast.cpp (+79/-66)
src/server/compositor/compositing_screencast.h (+10/-4)
src/server/compositor/default_configuration.cpp (+2/-4)
src/server/compositor/default_display_buffer_compositor.cpp (+15/-7)
src/server/compositor/default_display_buffer_compositor.h (+6/-3)
src/server/compositor/default_display_buffer_compositor_factory.cpp (+3/-3)
src/server/compositor/default_display_buffer_compositor_factory.h (+6/-3)
src/server/compositor/multi_monitor_arbiter.cpp (+13/-1)
src/server/compositor/multi_monitor_arbiter.h (+3/-8)
src/server/compositor/multi_threaded_compositor.h (+1/-1)
src/server/compositor/screencast_display_buffer.cpp (+92/-18)
src/server/compositor/screencast_display_buffer.h (+66/-13)
src/server/compositor/stream.cpp (+52/-34)
src/server/compositor/stream.h (+12/-8)
src/server/compositor/temporary_buffers.cpp (+1/-17)
src/server/compositor/temporary_buffers.h (+0/-3)
src/server/compositor/timeout_frame_dropping_policy_factory.cpp (+5/-5)
src/server/compositor/timeout_frame_dropping_policy_factory.h (+1/-1)
src/server/default_server_configuration.cpp (+9/-3)
src/server/display_server.cpp (+6/-3)
src/server/frontend/CMakeLists.txt (+5/-2)
src/server/frontend/authorizing_display_changer.cpp (+68/-0)
src/server/frontend/authorizing_display_changer.h (+11/-0)
src/server/frontend/buffer_stream_tracker.cpp (+0/-95)
src/server/frontend/buffer_stream_tracker.h (+0/-75)
src/server/frontend/client_buffer_tracker.cpp (+0/-74)
src/server/frontend/client_buffer_tracker.h (+0/-63)
src/server/frontend/default_configuration.cpp (+22/-1)
src/server/frontend/default_ipc_factory.cpp (+5/-5)
src/server/frontend/default_ipc_factory.h (+4/-4)
src/server/frontend/event_sender.cpp (+60/-10)
src/server/frontend/event_sender.h (+7/-1)
src/server/frontend/protobuf_buffer_packer.cpp (+23/-0)
src/server/frontend/protobuf_buffer_packer.h (+1/-0)
src/server/frontend/protobuf_input_converter.cpp (+63/-0)
src/server/frontend/protobuf_input_converter.h (+51/-0)
src/server/frontend/protobuf_message_processor.cpp (+31/-16)
src/server/frontend/protobuf_message_processor.h (+1/-1)
src/server/frontend/screencast_buffer_tracker.cpp (+41/-0)
src/server/frontend/screencast_buffer_tracker.h (+67/-0)
src/server/frontend/session_mediator.cpp (+400/-222)
src/server/frontend/session_mediator.h (+52/-20)
src/server/frontend/session_mediator_observer_multiplexer.cpp (+134/-0)
src/server/frontend/session_mediator_observer_multiplexer.h (+77/-0)
src/server/frontend/shell_wrapper.cpp (+2/-2)
src/server/frontend/shell_wrapper.h (+2/-2)
src/server/frontend/unauthorized_screencast.cpp (+9/-3)
src/server/frontend/unauthorized_screencast.h (+6/-3)
src/server/glib_main_loop.cpp (+21/-5)
src/server/graphics/CMakeLists.txt (+7/-2)
src/server/graphics/default_configuration.cpp (+32/-34)
src/server/graphics/default_display_configuration_policy.cpp (+2/-21)
src/server/graphics/display_configuration_observer_multiplexer.cpp (+73/-0)
src/server/graphics/display_configuration_observer_multiplexer.h (+65/-0)
src/server/graphics/nested/CMakeLists.txt (+5/-0)
src/server/graphics/nested/buffer.cpp (+220/-0)
src/server/graphics/nested/buffer.h (+64/-0)
src/server/graphics/nested/display.cpp (+159/-95)
src/server/graphics/nested/display.h (+20/-16)
src/server/graphics/nested/display_buffer.cpp (+133/-51)
src/server/graphics/nested/display_buffer.h (+31/-14)
src/server/graphics/nested/host_chain.h (+54/-0)
src/server/graphics/nested/host_connection.h (+30/-4)
src/server/graphics/nested/host_stream.h (+50/-0)
src/server/graphics/nested/host_surface.h (+3/-2)
src/server/graphics/nested/host_surface_spec.h (+49/-0)
src/server/graphics/nested/input_platform.cpp (+337/-0)
src/server/graphics/nested/input_platform.h (+75/-0)
src/server/graphics/nested/ipc_operations.cpp (+92/-0)
src/server/graphics/nested/ipc_operations.h (+48/-0)
src/server/graphics/nested/mir_client_host_connection.cpp (+680/-241)
src/server/graphics/nested/mir_client_host_connection.h (+47/-23)
src/server/graphics/nested/native_buffer.h (+74/-0)
src/server/graphics/nested/nested_display_configuration.cpp (+127/-116)
src/server/graphics/nested/nested_display_configuration.h (+9/-4)
src/server/graphics/nested/passthrough_option.h (+35/-0)
src/server/graphics/nested/platform.cpp (+146/-0)
src/server/graphics/nested/platform.h (+66/-0)
src/server/graphics/offscreen/CMakeLists.txt (+0/-12)
src/server/graphics/offscreen/display.cpp (+0/-197)
src/server/graphics/offscreen/display.h (+0/-115)
src/server/graphics/offscreen/display_buffer.cpp (+0/-164)
src/server/graphics/offscreen/display_buffer.h (+0/-89)
src/server/graphics/offscreen/display_configuration.cpp (+0/-84)
src/server/graphics/offscreen/display_configuration.h (+0/-51)
src/server/graphics/software_cursor.cpp (+14/-4)
src/server/graphics/surfaceless_egl_context.cpp (+5/-1)
src/server/input/CMakeLists.txt (+7/-1)
src/server/input/android/CMakeLists.txt (+0/-2)
src/server/input/android/input_sender.cpp (+52/-25)
src/server/input/basic_seat.cpp (+42/-2)
src/server/input/basic_seat.h (+16/-1)
src/server/input/channel.cpp (+45/-30)
src/server/input/channel.h (+14/-25)
src/server/input/channel_factory.cpp (+5/-6)
src/server/input/channel_factory.h (+10/-12)
src/server/input/config_changer.cpp (+291/-0)
src/server/input/config_changer.h (+81/-0)
src/server/input/cursor_controller.cpp (+1/-1)
src/server/input/default-theme.h (+165/-165)
src/server/input/default_configuration.cpp (+83/-51)
src/server/input/default_device.cpp (+102/-47)
src/server/input/default_device.h (+15/-6)
src/server/input/default_event_builder.cpp (+44/-27)
src/server/input/default_event_builder.h (+12/-6)
src/server/input/default_input_device_hub.cpp (+94/-15)
src/server/input/default_input_device_hub.h (+26/-6)
src/server/input/default_input_manager.cpp (+5/-32)
src/server/input/default_input_manager.h (+1/-7)
src/server/input/key_repeat_dispatcher.cpp (+33/-31)
src/server/input/key_repeat_dispatcher.h (+4/-4)
src/server/input/null_input_manager.h (+0/-3)
src/server/input/seat_input_device_tracker.cpp (+161/-67)
src/server/input/seat_input_device_tracker.h (+36/-7)
src/server/input/seat_observer_multiplexer.cpp (+80/-0)
src/server/input/seat_observer_multiplexer.h (+61/-0)
src/server/input/surface_input_dispatcher.cpp (+71/-117)
src/server/input/surface_input_dispatcher.h (+3/-16)
src/server/input/touchspot_controller.cpp (+17/-2)
src/server/input/validator.cpp (+112/-192)
src/server/input/vt_filter.cpp (+1/-1)
src/server/lockable_callback_wrapper.cpp (+4/-4)
src/server/mirserver.pc.in (+2/-2)
src/server/report/CMakeLists.txt (+3/-1)
src/server/report/default_server_configuration.cpp (+6/-18)
src/server/report/logging/CMakeLists.txt (+1/-0)
src/server/report/logging/display_configuration_report.cpp (+117/-44)
src/server/report/logging/display_configuration_report.h (+30/-7)
src/server/report/logging/display_report.cpp (+37/-28)
src/server/report/logging/display_report.h (+5/-7)
src/server/report/logging/logging_report_factory.cpp (+8/-2)
src/server/report/logging/seat_report.cpp (+146/-0)
src/server/report/logging/seat_report.h (+67/-0)
src/server/report/logging/session_mediator_report.cpp (+10/-10)
src/server/report/logging/session_mediator_report.h (+6/-6)
src/server/report/logging/shell_report.cpp (+52/-23)
src/server/report/logging/shell_report.h (+28/-28)
src/server/report/logging_report_factory.h (+2/-1)
src/server/report/lttng/CMakeLists.txt (+9/-0)
src/server/report/lttng/display_report.cpp (+3/-2)
src/server/report/lttng/display_report.h (+1/-1)
src/server/report/lttng/lttng_report_factory.cpp (+6/-1)
src/server/report/lttng/session_mediator_report.cpp (+2/-2)
src/server/report/lttng/session_mediator_report.h (+4/-4)
src/server/report/lttng/session_mediator_report_tp.h (+3/-2)
src/server/report/lttng_report_factory.h (+2/-1)
src/server/report/null/CMakeLists.txt (+1/-0)
src/server/report/null/display_report.cpp (+1/-1)
src/server/report/null/display_report.h (+1/-1)
src/server/report/null/null_report_factory.cpp (+13/-2)
src/server/report/null/seat_report.cpp (+58/-0)
src/server/report/null/seat_report.h (+50/-0)
src/server/report/null/session_mediator_report.cpp (+8/-8)
src/server/report/null/session_mediator_report.h (+6/-6)
src/server/report/null/shell_report.cpp (+1/-1)
src/server/report/null/shell_report.h (+1/-1)
src/server/report/null_report_factory.h (+4/-2)
src/server/report/report_factory.h (+4/-2)
src/server/report/reports.cpp (+143/-0)
src/server/report/reports.h (+75/-0)
src/server/scene/CMakeLists.txt (+2/-0)
src/server/scene/application_not_responding_detector_wrapper.cpp (+54/-0)
src/server/scene/application_session.cpp (+128/-42)
src/server/scene/application_session.h (+18/-4)
src/server/scene/basic_surface.cpp (+132/-88)
src/server/scene/basic_surface.h (+21/-19)
src/server/scene/broadcasting_session_event_sink.h (+1/-1)
src/server/scene/default_configuration.cpp (+28/-8)
src/server/scene/default_coordinate_translator.cpp (+5/-0)
src/server/scene/default_coordinate_translator.h (+2/-1)
src/server/scene/default_session_container.h (+1/-1)
src/server/scene/gl_pixel_buffer.cpp (+4/-4)
src/server/scene/gl_pixel_buffer.h (+10/-4)
src/server/scene/global_event_sender.cpp (+25/-5)
src/server/scene/global_event_sender.h (+6/-2)
src/server/scene/legacy_surface_change_notification.cpp (+5/-1)
src/server/scene/legacy_surface_change_notification.h (+2/-1)
src/server/scene/mediating_display_changer.cpp (+331/-48)
src/server/scene/mediating_display_changer.h (+29/-9)
src/server/scene/null_surface_observer.cpp (+2/-1)
src/server/scene/output_properties_cache.cpp (+1/-0)
src/server/scene/output_properties_cache.h (+1/-0)
src/server/scene/prompt_session_manager_impl.cpp (+1/-1)
src/server/scene/rendering_tracker.cpp (+5/-5)
src/server/scene/rendering_tracker.h (+1/-1)
src/server/scene/session_manager.cpp (+8/-5)
src/server/scene/session_manager.h (+4/-1)
src/server/scene/surface_allocator.cpp (+5/-13)
src/server/scene/surface_allocator.h (+1/-1)
src/server/scene/surface_creation_parameters.cpp (+2/-2)
src/server/scene/surface_event_source.cpp (+7/-1)
src/server/scene/surface_stack.cpp (+2/-2)
src/server/scene/timeout_application_not_responding_detector.cpp (+17/-0)
src/server/scene/unsupported_coordinate_translator.cpp (+8/-2)
src/server/scene/unsupported_coordinate_translator.h (+1/-0)
src/server/server.cpp (+127/-91)
src/server/shell/abstract_shell.cpp (+104/-7)
src/server/shell/basic_window_manager.cpp (+3/-3)
src/server/shell/canonical_window_manager.cpp (+128/-73)
src/server/shell/default_configuration.cpp (+3/-2)
src/server/shell/frontend_shell.cpp (+4/-4)
src/server/shell/frontend_shell.h (+2/-2)
src/server/shell/shell_wrapper.cpp (+2/-2)
src/server/shell/surface_specification.cpp (+3/-1)
src/server/shell/system_compositor_window_manager.cpp (+1/-1)
src/server/shell/window_management_info.cpp (+41/-41)
src/server/symbols.map (+100/-50)
src/utils/CMakeLists.txt (+7/-3)
src/utils/in.cpp (+1/-1)
src/utils/out.c (+408/-81)
src/utils/ping.c (+0/-134)
src/utils/run.cpp (+144/-0)
src/utils/screencast.cpp (+96/-59)
src/utils/vanity.c (+900/-0)
tests/CMakeLists.txt (+17/-13)
tests/acceptance-tests/CMakeLists.txt (+34/-8)
tests/acceptance-tests/buffer_stream_arrangement.h (+107/-0)
tests/acceptance-tests/server_configuration_options.cpp (+33/-20)
tests/acceptance-tests/server_configuration_wrapping.cpp (+13/-0)
tests/acceptance-tests/server_signal_handling.cpp (+8/-2)
tests/acceptance-tests/server_stop_callback.cpp (+63/-0)
tests/acceptance-tests/strict_close.cpp (+45/-0)
tests/acceptance-tests/test_application_not_responding_detection.cpp (+81/-2)
tests/acceptance-tests/test_buffer_stream_arrangement.cpp (+236/-207)
tests/acceptance-tests/test_buffer_stream_arrangement1.cpp (+144/-0)
tests/acceptance-tests/test_client_cookie.cpp (+29/-30)
tests/acceptance-tests/test_client_cursor_api.cpp (+182/-59)
tests/acceptance-tests/test_client_extensions.cpp (+63/-0)
tests/acceptance-tests/test_client_focus_notification.cpp (+31/-29)
tests/acceptance-tests/test_client_header_version.cpp (+48/-34)
tests/acceptance-tests/test_client_input.cpp (+304/-127)
tests/acceptance-tests/test_client_library.cpp (+557/-368)
tests/acceptance-tests/test_client_library_callbacks.cpp (+53/-38)
tests/acceptance-tests/test_client_library_errors.cpp (+117/-173)
tests/acceptance-tests/test_client_library_old.cpp (+2/-2)
tests/acceptance-tests/test_client_logging.cpp (+57/-13)
tests/acceptance-tests/test_client_platform_operation.cpp (+11/-1)
tests/acceptance-tests/test_client_scaling.cpp (+20/-20)
tests/acceptance-tests/test_client_screencast.cpp (+46/-29)
tests/acceptance-tests/test_client_surface_events.cpp (+299/-84)
tests/acceptance-tests/test_client_surface_swap_buffers.cpp (+74/-2)
tests/acceptance-tests/test_client_surface_visibility.cpp (+124/-80)
tests/acceptance-tests/test_client_surfaces.cpp (+107/-165)
tests/acceptance-tests/test_client_with_custom_display_config_deadlock.cpp (+4/-4)
tests/acceptance-tests/test_confined_pointer.cpp (+311/-0)
tests/acceptance-tests/test_custom_input_dispatcher.cpp (+5/-8)
tests/acceptance-tests/test_custom_window_management.cpp (+332/-47)
tests/acceptance-tests/test_debug_api.cpp (+98/-26)
tests/acceptance-tests/test_display_configuration.cpp (+33/-12)
tests/acceptance-tests/test_input_device_hub.cpp (+6/-6)
tests/acceptance-tests/test_latency.cpp (+229/-94)
tests/acceptance-tests/test_mirblob.cpp (+31/-1)
tests/acceptance-tests/test_nested_input.cpp (+179/-33)
tests/acceptance-tests/test_nested_mir.cpp (+490/-270)
tests/acceptance-tests/test_new_display_configuration.cpp (+1337/-36)
tests/acceptance-tests/test_persistent_surface_store.cpp (+87/-0)
tests/acceptance-tests/test_presentation_chain.cpp (+410/-147)
tests/acceptance-tests/test_prompt_session_client_api.cpp (+110/-26)
tests/acceptance-tests/test_render_override.cpp (+3/-3)
tests/acceptance-tests/test_render_surface.cpp (+329/-0)
tests/acceptance-tests/test_server_disconnect.cpp (+14/-14)
tests/acceptance-tests/test_server_shutdown.cpp (+21/-9)
tests/acceptance-tests/test_server_startup.cpp (+1/-1)
tests/acceptance-tests/test_server_without_active_outputs.cpp (+6/-6)
tests/acceptance-tests/test_session_mediator_report.cpp (+76/-33)
tests/acceptance-tests/test_shell_control_of_surface_configuration.cpp (+38/-13)
tests/acceptance-tests/test_surface_modifications.cpp (+108/-98)
tests/acceptance-tests/test_surface_morphing.cpp (+111/-111)
tests/acceptance-tests/test_surface_placement.cpp (+78/-77)
tests/acceptance-tests/test_surface_raise.cpp (+53/-49)
tests/acceptance-tests/test_surface_specification.cpp (+172/-172)
tests/acceptance-tests/test_surfaces_with_output_id.cpp (+37/-30)
tests/acceptance-tests/test_system_compositor_window_manager.cpp (+109/-53)
tests/acceptance-tests/test_unresponsive_client.cpp (+8/-3)
tests/acceptance-tests/throwback/CMakeLists.txt (+0/-15)
tests/client-language/c99.c (+8/-0)
tests/include/mir/test/doubles/fake_alarm_factory.h (+1/-1)
tests/include/mir/test/doubles/fake_renderable.h (+5/-0)
tests/include/mir/test/doubles/mock_android_native_buffer.h (+7/-3)
tests/include/mir/test/doubles/mock_buffer.h (+3/-1)
tests/include/mir/test/doubles/mock_buffer_bundle.h (+0/-66)
tests/include/mir/test/doubles/mock_buffer_ipc_message.h (+1/-0)
tests/include/mir/test/doubles/mock_buffer_registrar.h (+3/-3)
tests/include/mir/test/doubles/mock_buffer_stream.h (+8/-8)
tests/include/mir/test/doubles/mock_client_buffer.h (+2/-3)
tests/include/mir/test/doubles/mock_client_buffer_factory.h (+2/-0)
tests/include/mir/test/doubles/mock_client_context.h (+6/-0)
tests/include/mir/test/doubles/mock_display.h (+3/-2)
tests/include/mir/test/doubles/mock_display_buffer.h (+2/-1)
tests/include/mir/test/doubles/mock_display_changer.h (+4/-0)
tests/include/mir/test/doubles/mock_display_report.h (+2/-2)
tests/include/mir/test/doubles/mock_drm.h (+18/-1)
tests/include/mir/test/doubles/mock_egl_native_surface.h (+4/-3)
tests/include/mir/test/doubles/mock_event_sink.h (+8/-2)
tests/include/mir/test/doubles/mock_fence.h (+3/-0)
tests/include/mir/test/doubles/mock_frame_dropping_policy_factory.h (+11/-5)
tests/include/mir/test/doubles/mock_frontend_surface.h (+2/-2)
tests/include/mir/test/doubles/mock_gl.h (+1/-0)
tests/include/mir/test/doubles/mock_gl_display_buffer.h (+1/-0)
tests/include/mir/test/doubles/mock_hwc_device_wrapper.h (+1/-1)
tests/include/mir/test/doubles/mock_input_manager.h (+0/-1)
tests/include/mir/test/doubles/mock_input_seat.h (+8/-0)
tests/include/mir/test/doubles/mock_input_sink.h (+2/-0)
tests/include/mir/test/doubles/mock_interpreter_resource_cache.h (+1/-1)
tests/include/mir/test/doubles/mock_key_mapper.h (+51/-0)
tests/include/mir/test/doubles/mock_libinput.h (+1/-1)
tests/include/mir/test/doubles/mock_main_loop.h (+16/-3)
tests/include/mir/test/doubles/mock_mesa_auth_extensions.h (+39/-0)
tests/include/mir/test/doubles/mock_mir_buffer.h (+64/-0)
tests/include/mir/test/doubles/mock_mir_buffer_stream.h (+16/-8)
tests/include/mir/test/doubles/mock_nested_context.h (+3/-0)
tests/include/mir/test/doubles/mock_renderable.h (+1/-0)
tests/include/mir/test/doubles/mock_renderer.h (+3/-3)
tests/include/mir/test/doubles/mock_scene_session.h (+13/-3)
tests/include/mir/test/doubles/mock_screencast.h (+5/-2)
tests/include/mir/test/doubles/mock_server_status_listener.h (+2/-0)
tests/include/mir/test/doubles/mock_shell.h (+2/-2)
tests/include/mir/test/doubles/mock_surface.h (+6/-4)
tests/include/mir/test/doubles/mock_timer.h (+1/-1)
tests/include/mir/test/doubles/mock_x11.h (+9/-0)
tests/include/mir/test/doubles/null_client_buffer.h (+3/-4)
tests/include/mir/test/doubles/null_display_changer.h (+18/-0)
tests/include/mir/test/doubles/null_event_sink.h (+6/-1)
tests/include/mir/test/doubles/null_prompt_session_manager.h (+13/-13)
tests/include/mir/test/doubles/null_screencast.h (+4/-1)
tests/include/mir/test/doubles/stub_android_native_buffer.h (+7/-3)
tests/include/mir/test/doubles/stub_buffer.h (+18/-8)
tests/include/mir/test/doubles/stub_buffer_allocator.h (+17/-1)
tests/include/mir/test/doubles/stub_buffer_stream.h (+17/-15)
tests/include/mir/test/doubles/stub_buffer_stream_factory.h (+31/-2)
tests/include/mir/test/doubles/stub_client_buffer.h (+26/-15)
tests/include/mir/test/doubles/stub_client_buffer_factory.h (+8/-1)
tests/include/mir/test/doubles/stub_connection_configuration.h (+104/-0)
tests/include/mir/test/doubles/stub_display_builder.h (+6/-3)
tests/include/mir/test/doubles/stub_display_server.h (+23/-3)
tests/include/mir/test/doubles/stub_driver_interpreter.h (+7/-2)
tests/include/mir/test/doubles/stub_frame_dropping_policy_factory.h (+1/-1)
tests/include/mir/test/doubles/stub_gbm_native_buffer.h (+3/-2)
tests/include/mir/test/doubles/stub_gl_display_buffer.h (+1/-0)
tests/include/mir/test/doubles/stub_host_connection.h (+166/-25)
tests/include/mir/test/doubles/stub_input_scene.h (+5/-5)
tests/include/mir/test/doubles/stub_renderable.h (+31/-0)
tests/include/mir/test/doubles/stub_renderer.h (+5/-13)
tests/include/mir/test/doubles/stub_scene_element.h (+1/-1)
tests/include/mir/test/doubles/stub_scene_surface.h (+13/-9)
tests/include/mir/test/doubles/stub_session.h (+14/-0)
tests/include/mir/test/doubles/stub_session_container.h (+63/-0)
tests/include/mir/test/doubles/stub_surface_factory.h (+1/-1)
tests/include/mir/test/doubles/triggered_main_loop.h (+4/-0)
tests/include/mir/test/gmock_fixes.h (+4/-0)
tests/include/mir/test/input_config_matchers.h (+148/-0)
tests/include/mir/test/input_devices_matcher.h (+15/-21)
tests/include/mir/test/stub_server_tool.h (+6/-11)
tests/include/mir/test/test_protobuf_client.h (+7/-7)
tests/include/mir_test_framework/basic_client_server_fixture.h (+0/-2)
tests/include/mir_test_framework/client_platform_factory.h (+2/-2)
tests/include/mir_test_framework/fake_input_server_configuration.h (+0/-2)
tests/include/mir_test_framework/stub_client_platform_factory.h (+34/-6)
tests/include/mir_test_framework/stub_platform_native_buffer.h (+37/-0)
tests/include/mir_test_framework/stubbed_server_configuration.h (+1/-1)
tests/include/mir_test_framework/testing_server_configuration.h (+7/-0)
tests/include/mir_test_framework/using_client_platform.h (+0/-97)
tests/integration-tests/CMakeLists.txt (+4/-5)
tests/integration-tests/client/test_mirsurface.cpp (+34/-30)
tests/integration-tests/compositor/CMakeLists.txt (+0/-1)
tests/integration-tests/compositor/test_buffer_stream.cpp (+0/-410)
tests/integration-tests/compositor/test_swapping_swappers.cpp (+20/-48)
tests/integration-tests/graphics/mesa/CMakeLists.txt (+2/-4)
tests/integration-tests/graphics/mesa/test_buffer_integration.cpp (+2/-0)
tests/integration-tests/input/test_cursor_listener.cpp (+4/-4)
tests/integration-tests/input/test_single_seat_setup.cpp (+47/-35)
tests/integration-tests/session_management.cpp (+33/-16)
tests/integration-tests/shell/test_session_lifecycle_event.cpp (+11/-1)
tests/integration-tests/surface_composition.cpp (+0/-126)
tests/integration-tests/test_buffer_scheduling.cpp (+200/-357)
tests/integration-tests/test_client_screencast.cpp (+93/-23)
tests/integration-tests/test_display_info.cpp (+4/-46)
tests/integration-tests/test_display_server_main_loop_events.cpp (+5/-5)
tests/integration-tests/test_error_reporting.cpp (+12/-14)
tests/integration-tests/test_focus_selection.cpp (+3/-3)
tests/integration-tests/test_large_messages.cpp (+0/-3)
tests/integration-tests/test_protobuf.cpp (+9/-11)
tests/integration-tests/test_protobuf.proto (+8/-1)
tests/integration-tests/test_server_client_types.cpp (+4/-0)
tests/integration-tests/test_server_shutdown.cpp (+5/-7)
tests/integration-tests/test_session.cpp (+15/-30)
tests/integration-tests/test_stale_frames.cpp (+148/-34)
tests/integration-tests/test_submit_buffer.cpp (+153/-201)
tests/integration-tests/test_surface_first_frame_sync.cpp (+12/-12)
tests/integration-tests/test_surface_stack_with_compositor.cpp (+47/-32)
tests/integration-tests/test_surfaceloop.cpp (+10/-100)
tests/integration-tests/test_swapinterval.cpp (+27/-23)
tests/integration-tests/test_test_framework.cpp (+20/-16)
tests/integration-tests/test_touchspot_visualization.cpp (+1/-1)
tests/mir_test/CMakeLists.txt (+4/-0)
tests/mir_test/display_config_matchers.cpp (+30/-63)
tests/mir_test/test_dispatchable.cpp (+4/-3)
tests/mir_test/validity_matchers.cpp (+3/-3)
tests/mir_test_doubles/CMakeLists.txt (+7/-3)
tests/mir_test_doubles/fake_alarm_factory.cpp (+1/-1)
tests/mir_test_doubles/fake_display.cpp (+66/-4)
tests/mir_test_doubles/mock_drm.cpp (+60/-1)
tests/mir_test_doubles/mock_egl.cpp (+20/-6)
tests/mir_test_doubles/mock_event_sink_factory.cpp (+35/-4)
tests/mir_test_doubles/mock_frame_dropping_policy_factory.cpp (+3/-3)
tests/mir_test_doubles/mock_gl.cpp (+8/-1)
tests/mir_test_doubles/mock_libinput.cpp (+3/-1)
tests/mir_test_doubles/mock_timer.cpp (+12/-11)
tests/mir_test_doubles/mock_x11.cpp (+61/-2)
tests/mir_test_doubles/stub_buffer.cpp (+0/-37)
tests/mir_test_doubles/stub_display_configuration.cpp (+72/-50)
tests/mir_test_doubles/test_protobuf_client.cpp (+14/-14)
tests/mir_test_doubles/triggered_main_loop.cpp (+19/-2)
tests/mir_test_framework/CMakeLists.txt (+18/-6)
tests/mir_test_framework/any_surface.cpp (+24/-7)
tests/mir_test_framework/async_server_runner.cpp (+1/-1)
tests/mir_test_framework/connected_client_with_a_surface.cpp (+10/-8)
tests/mir_test_framework/executable_path.cpp (+15/-1)
tests/mir_test_framework/fake_input_device_impl.cpp (+33/-28)
tests/mir_test_framework/fake_input_device_impl.h (+12/-9)
tests/mir_test_framework/fake_input_server_configuration.cpp (+20/-2)
tests/mir_test_framework/headless_display_buffer_compositor_factory.cpp (+113/-0)
tests/mir_test_framework/headless_nested_server_runner.cpp (+20/-1)
tests/mir_test_framework/headless_test.cpp (+5/-0)
tests/mir_test_framework/input_testing_server_options.cpp (+5/-5)
tests/mir_test_framework/interprocess_client_server_test.cpp (+11/-0)
tests/mir_test_framework/observant_shell.cpp (+161/-0)
tests/mir_test_framework/placement_applying_shell.cpp (+1/-0)
tests/mir_test_framework/platform_graphics_dummy.cpp (+8/-4)
tests/mir_test_framework/platform_graphics_throw.cpp (+74/-5)
tests/mir_test_framework/process.cpp (+5/-0)
tests/mir_test_framework/stub_client_platform_factory.cpp (+161/-12)
tests/mir_test_framework/stub_client_platform_module.cpp (+27/-3)
tests/mir_test_framework/stub_client_platform_options.cpp (+45/-0)
tests/mir_test_framework/stub_input.cpp (+9/-0)
tests/mir_test_framework/stub_session.cpp (+35/-3)
tests/mir_test_framework/stub_surface.cpp (+25/-12)
tests/mir_test_framework/stubbed_graphics_platform.cpp (+68/-97)
tests/mir_test_framework/stubbed_server_configuration.cpp (+5/-5)
tests/mir_test_framework/symbols-client.map (+5/-0)
tests/mir_test_framework/testing_server_options.cpp (+12/-1)
tests/mir_test_framework/using_stub_client_platform.cpp (+0/-56)
tests/mir_test_framework/visible_surface.cpp (+21/-20)
tests/mirtest.pc.in (+2/-2)
tests/performance-tests/CMakeLists.txt (+47/-20)
tests/performance-tests/performance_tests.sh (+44/-0)
tests/performance-tests/system_performance_test.cpp (+191/-0)
tests/performance-tests/system_performance_test.h (+46/-0)
tests/performance-tests/test_client_startup.cpp (+115/-0)
tests/performance-tests/test_compositor.cpp (+69/-0)
tests/privileged-tests/test_input_events.cpp (+26/-25)
tests/test-clients/CMakeLists.txt (+2/-0)
tests/test-clients/impolite-shutdown/CMakeLists.txt (+15/-0)
tests/test-clients/impolite-shutdown/scroll.cpp (+198/-0)
tests/test-clients/mir-stress/src/client.cpp (+16/-15)
tests/test-clients/mir-stress/src/client.h (+2/-6)
tests/unit-tests/CMakeLists.txt (+21/-29)
tests/unit-tests/client/CMakeLists.txt (+5/-9)
tests/unit-tests/client/input/test_android_input_receiver.cpp (+57/-148)
tests/unit-tests/client/input/test_xkb_mapper.cpp (+411/-39)
tests/unit-tests/client/test_aging_buffer.cpp (+6/-16)
tests/unit-tests/client/test_buffer_vault.cpp (+355/-190)
tests/unit-tests/client/test_client.cpp (+6/-6)
tests/unit-tests/client/test_client_buffer_depository.cpp (+0/-451)
tests/unit-tests/client/test_client_buffer_stream.cpp (+251/-130)
tests/unit-tests/client/test_client_display_conf.cpp (+2/-1)
tests/unit-tests/client/test_client_mir_error.cpp (+42/-0)
tests/unit-tests/client/test_client_mir_surface.cpp (+215/-46)
tests/unit-tests/client/test_client_platform.cpp (+88/-36)
tests/unit-tests/client/test_connection_resource_map.cpp (+51/-29)
tests/unit-tests/client/test_error_buffer.cpp (+77/-0)
tests/unit-tests/client/test_event_distributor.cpp (+15/-19)
tests/unit-tests/client/test_frame_clock.cpp (+420/-0)
tests/unit-tests/client/test_mir_buffer.cpp (+39/-57)
tests/unit-tests/client/test_mir_connection.cpp (+159/-189)
tests/unit-tests/client/test_mir_prompt_session.cpp (+4/-4)
tests/unit-tests/client/test_mir_render_surface.cpp (+511/-0)
tests/unit-tests/client/test_mir_screencast.cpp (+57/-67)
tests/unit-tests/client/test_no_tls_future.cpp (+429/-0)
tests/unit-tests/client/test_presentation_chain.cpp (+23/-256)
tests/unit-tests/client/test_probing_client_platform_factory.cpp (+200/-71)
tests/unit-tests/client/test_protobuf_rpc_channel.cpp (+186/-39)
tests/unit-tests/client/test_screencast_stream.cpp (+63/-7)
tests/unit-tests/client/test_stream_transport.cpp (+29/-22)
tests/unit-tests/compositor/CMakeLists.txt (+0/-2)
tests/unit-tests/compositor/test_buffer_queue.cpp (+0/-1998)
tests/unit-tests/compositor/test_buffer_stream.cpp (+0/-296)
tests/unit-tests/compositor/test_client_buffers.cpp (+38/-97)
tests/unit-tests/compositor/test_compositing_screencast.cpp (+152/-23)
tests/unit-tests/compositor/test_default_display_buffer_compositor.cpp (+19/-12)
tests/unit-tests/compositor/test_dropping_schedule.cpp (+1/-1)
tests/unit-tests/compositor/test_multi_monitor_arbiter.cpp (+31/-1)
tests/unit-tests/compositor/test_multi_threaded_compositor.cpp (+3/-3)
tests/unit-tests/compositor/test_screencast_display_buffer.cpp (+86/-40)
tests/unit-tests/compositor/test_stream.cpp (+57/-52)
tests/unit-tests/compositor/test_temporary_buffers.cpp (+2/-12)
tests/unit-tests/compositor/test_timeout_frame_dropping_policy.cpp (+8/-8)
tests/unit-tests/dispatch/test_multiplexing_dispatchable.cpp (+3/-3)
tests/unit-tests/dispatch/test_threaded_dispatcher.cpp (+39/-17)
tests/unit-tests/frontend/CMakeLists.txt (+0/-1)
tests/unit-tests/frontend/stress_protobuf_communicator.cpp (+16/-16)
tests/unit-tests/frontend/test_authorizing_display_changer.cpp (+40/-0)
tests/unit-tests/frontend/test_client_buffer_tracker.cpp (+0/-258)
tests/unit-tests/frontend/test_event_sender.cpp (+150/-57)
tests/unit-tests/frontend/test_protobuf_buffer_packer.cpp (+3/-3)
tests/unit-tests/frontend/test_protobuf_message_processor.cpp (+2/-47)
tests/unit-tests/frontend/test_protobuf_surface_apis.cpp (+1/-1)
tests/unit-tests/frontend/test_published_socket_connector.cpp (+14/-18)
tests/unit-tests/frontend/test_session_mediator.cpp (+400/-556)
tests/unit-tests/graphics/CMakeLists.txt (+4/-14)
tests/unit-tests/graphics/mesa/common/CMakeLists.txt (+0/-17)
tests/unit-tests/graphics/offscreen/CMakeLists.txt (+0/-6)
tests/unit-tests/graphics/offscreen/test_offscreen_display.cpp (+0/-174)
tests/unit-tests/graphics/test_anonymous_shm_file.cpp (+5/-5)
tests/unit-tests/graphics/test_default_display_configuration_policy.cpp (+7/-69)
tests/unit-tests/graphics/test_display_configuration.cpp (+5/-1)
tests/unit-tests/graphics/test_gamma_curves.cpp (+96/-0)
tests/unit-tests/graphics/test_overlapping_output_grouping.cpp (+7/-3)
tests/unit-tests/graphics/test_platform_prober.cpp (+18/-8)
tests/unit-tests/graphics/test_shm_buffer.cpp (+33/-37)
tests/unit-tests/graphics/test_software_cursor.cpp (+2/-0)
tests/unit-tests/input/CMakeLists.txt (+3/-0)
tests/unit-tests/input/android/CMakeLists.txt (+0/-1)
tests/unit-tests/input/android/test_android_communication_package.cpp (+4/-5)
tests/unit-tests/input/android/test_android_input_lexicon.cpp (+3/-3)
tests/unit-tests/input/android/test_android_input_sender.cpp (+81/-34)
tests/unit-tests/input/android/test_input_consumer.cpp (+123/-15)
tests/unit-tests/input/evdev/test_libinput_device.cpp (+69/-42)
tests/unit-tests/input/test_config_changer.cpp (+266/-0)
tests/unit-tests/input/test_default_device.cpp (+69/-22)
tests/unit-tests/input/test_default_input_device_hub.cpp (+47/-1)
tests/unit-tests/input/test_event_builders.cpp (+107/-2)
tests/unit-tests/input/test_input_channel_factory.cpp (+6/-6)
tests/unit-tests/input/test_input_event.cpp (+62/-169)
tests/unit-tests/input/test_input_platform_probing.cpp (+1/-1)
tests/unit-tests/input/test_key_repeat_dispatcher.cpp (+12/-10)
tests/unit-tests/input/test_nested_input_platform.cpp (+192/-0)
tests/unit-tests/input/test_seat_input_device_tracker.cpp (+115/-91)
tests/unit-tests/input/test_surface_input_dispatcher.cpp (+4/-145)
tests/unit-tests/input/test_touchspot_controller.cpp (+2/-0)
tests/unit-tests/input/test_validator.cpp (+37/-37)
tests/unit-tests/input/test_x11_platform.cpp (+143/-8)
tests/unit-tests/library_example.h (+10/-0)
tests/unit-tests/logging/test_display_report.cpp (+61/-20)
tests/unit-tests/platforms/CMakeLists.txt (+15/-0)
tests/unit-tests/platforms/android/CMakeLists.txt (+46/-0)
tests/unit-tests/platforms/android/client/CMakeLists.txt (+2/-2)
tests/unit-tests/platforms/android/client/test_android_client_platform.cpp (+225/-0)
tests/unit-tests/platforms/android/client/test_android_native_window.cpp (+55/-39)
tests/unit-tests/platforms/android/client/test_buffer.cpp (+15/-14)
tests/unit-tests/platforms/android/client/test_egl_native_surface_interpreter.cpp (+22/-21)
tests/unit-tests/platforms/android/client/test_gralloc_registrar.cpp (+8/-8)
tests/unit-tests/platforms/android/server/CMakeLists.txt (+3/-3)
tests/unit-tests/platforms/android/server/hwc_struct_helpers.cpp (+3/-1)
tests/unit-tests/platforms/android/server/hwc_struct_helpers.h (+3/-0)
tests/unit-tests/platforms/android/server/test_anw_logger.cpp (+107/-0)
tests/unit-tests/platforms/android/server/test_buffer.cpp (+4/-4)
tests/unit-tests/platforms/android/server/test_device_detection.cpp (+57/-10)
tests/unit-tests/platforms/android/server/test_display.cpp (+100/-33)
tests/unit-tests/platforms/android/server/test_display_buffer.cpp (+32/-20)
tests/unit-tests/platforms/android/server/test_display_generic.cpp (+14/-8)
tests/unit-tests/platforms/android/server/test_display_group.cpp (+4/-3)
tests/unit-tests/platforms/android/server/test_display_hotplug.cpp (+4/-2)
tests/unit-tests/platforms/android/server/test_fb_device.cpp (+1/-1)
tests/unit-tests/platforms/android/server/test_gralloc.cpp (+20/-78)
tests/unit-tests/platforms/android/server/test_graphic_buffer_allocator.cpp (+82/-48)
tests/unit-tests/platforms/android/server/test_graphics_platform.cpp (+6/-4)
tests/unit-tests/platforms/android/server/test_hwc_configuration.cpp (+18/-11)
tests/unit-tests/platforms/android/server/test_hwc_device.cpp (+27/-11)
tests/unit-tests/platforms/android/server/test_hwc_fallback_gl_renderer.cpp (+2/-2)
tests/unit-tests/platforms/android/server/test_hwc_fb_device.cpp (+4/-4)
tests/unit-tests/platforms/android/server/test_hwc_layerlist.cpp (+19/-14)
tests/unit-tests/platforms/android/server/test_hwc_layers.cpp (+4/-2)
tests/unit-tests/platforms/android/server/test_hwc_logger.cpp (+20/-16)
tests/unit-tests/platforms/android/server/test_hwc_wrapper.cpp (+17/-15)
tests/unit-tests/platforms/android/server/test_interpreter_buffer_cache.cpp (+5/-5)
tests/unit-tests/platforms/android/server/test_native_buffer.cpp (+19/-0)
tests/unit-tests/platforms/android/server/test_output_builder.cpp (+56/-2)
tests/unit-tests/platforms/android/server/test_platform.cpp (+42/-34)
tests/unit-tests/platforms/android/server/test_resource_factory.cpp (+17/-1)
tests/unit-tests/platforms/android/server/test_server_interpreter.cpp (+7/-3)
tests/unit-tests/platforms/android/server/test_sync_fence.cpp (+23/-0)
tests/unit-tests/platforms/eglstream-kms/CMakeLists.txt (+31/-0)
tests/unit-tests/platforms/eglstream-kms/server/CMakeLists.txt (+5/-0)
tests/unit-tests/platforms/eglstream-kms/server/test_buffer_allocator.cpp (+69/-0)
tests/unit-tests/platforms/mesa/CMakeLists.txt (+4/-3)
tests/unit-tests/platforms/mesa/client/CMakeLists.txt (+2/-1)
tests/unit-tests/platforms/mesa/client/test_client_buffer.cpp (+70/-21)
tests/unit-tests/platforms/mesa/client/test_client_platform.cpp (+196/-7)
tests/unit-tests/platforms/mesa/client/test_native_surface.cpp (+71/-28)
tests/unit-tests/platforms/mesa/kms-utils/CMakeLists.txt (+6/-0)
tests/unit-tests/platforms/mesa/kms-utils/test_connector_utils.cpp (+216/-0)
tests/unit-tests/platforms/mesa/kms-utils/test_drm_mode_resources.cpp (+207/-0)
tests/unit-tests/platforms/mesa/kms/CMakeLists.txt (+4/-1)
tests/unit-tests/platforms/mesa/kms/mock_kms_output.h (+3/-0)
tests/unit-tests/platforms/mesa/kms/test_buffer_allocator.cpp (+31/-70)
tests/unit-tests/platforms/mesa/kms/test_bypass.cpp (+15/-0)
tests/unit-tests/platforms/mesa/kms/test_cursor.cpp (+40/-5)
tests/unit-tests/platforms/mesa/kms/test_display.cpp (+74/-15)
tests/unit-tests/platforms/mesa/kms/test_display_buffer.cpp (+17/-17)
tests/unit-tests/platforms/mesa/kms/test_display_configuration.cpp (+195/-56)
tests/unit-tests/platforms/mesa/kms/test_display_generic.cpp (+0/-1)
tests/unit-tests/platforms/mesa/kms/test_drm_helper.cpp (+1/-1)
tests/unit-tests/platforms/mesa/kms/test_gbm_buffer.cpp (+10/-5)
tests/unit-tests/platforms/mesa/kms/test_guest_platform.cpp (+25/-28)
tests/unit-tests/platforms/mesa/kms/test_ipc_operations.cpp (+11/-6)
tests/unit-tests/platforms/mesa/kms/test_kms_page_flipper.cpp (+22/-13)
tests/unit-tests/platforms/mesa/kms/test_nested_authentication.cpp (+42/-31)
tests/unit-tests/platforms/mesa/kms/test_platform.cpp (+47/-8)
tests/unit-tests/platforms/mesa/kms/test_real_kms_output.cpp (+140/-11)
tests/unit-tests/platforms/mesa/kms/test_software_buffer.cpp (+76/-0)
tests/unit-tests/platforms/mesa/x11/CMakeLists.txt (+1/-0)
tests/unit-tests/platforms/mesa/x11/test_display.cpp (+147/-12)
tests/unit-tests/platforms/mesa/x11/test_display_generic.cpp (+3/-3)
tests/unit-tests/platforms/mesa/x11/test_graphics_platform.cpp (+3/-2)
tests/unit-tests/platforms/mesa/x11/test_platform.cpp (+3/-1)
tests/unit-tests/platforms/nested/CMakeLists.txt (+25/-4)
tests/unit-tests/platforms/nested/mir_display_configuration_builder.cpp (+93/-190)
tests/unit-tests/platforms/nested/mir_display_configuration_builder.h (+2/-2)
tests/unit-tests/platforms/nested/test_buffer.cpp (+271/-0)
tests/unit-tests/platforms/nested/test_ipc_operations.cpp (+197/-0)
tests/unit-tests/platforms/nested/test_nested_display.cpp (+136/-4)
tests/unit-tests/platforms/nested/test_nested_display_buffer.cpp (+483/-0)
tests/unit-tests/platforms/nested/test_nested_display_configuration.cpp (+50/-27)
tests/unit-tests/platforms/test_display.h (+15/-2)
tests/unit-tests/scene/test_abstract_shell.cpp (+112/-34)
tests/unit-tests/scene/test_application_session.cpp (+221/-131)
tests/unit-tests/scene/test_basic_surface.cpp (+99/-96)
tests/unit-tests/scene/test_gl_pixel_buffer.cpp (+6/-5)
tests/unit-tests/scene/test_global_event_sender.cpp (+1/-1)
tests/unit-tests/scene/test_mediating_display_changer.cpp (+667/-75)
tests/unit-tests/scene/test_prompt_session_manager.cpp (+1/-2)
tests/unit-tests/scene/test_rendering_tracker.cpp (+6/-6)
tests/unit-tests/scene/test_session_manager.cpp (+17/-6)
tests/unit-tests/scene/test_surface.cpp (+11/-15)
tests/unit-tests/scene/test_surface_impl.cpp (+84/-73)
tests/unit-tests/scene/test_surface_stack.cpp (+139/-149)
tests/unit-tests/scene/test_threaded_snapshot_strategy.cpp (+7/-7)
tests/unit-tests/test_edid.cpp (+73/-0)
tests/unit-tests/test_fatal.cpp (+9/-5)
tests/unit-tests/test_flags.cpp (+1/-1)
tests/unit-tests/test_glib_main_loop.cpp (+5/-5)
tests/unit-tests/test_lockable_callback.cpp (+5/-5)
tests/unit-tests/test_mir_cookie.cpp (+2/-2)
tests/unit-tests/test_observer_multiplexer.cpp (+608/-0)
tests/unit-tests/test_posix_rw_mutex.cpp (+311/-0)
tests/unit-tests/test_posix_timestamp.cpp (+118/-0)
tests/unit-tests/test_shared_library_prober.cpp (+2/-2)
tests/unit-tests/test_thread_name.cpp (+7/-7)
tests/unit-tests/test_thread_safe_list.cpp (+8/-8)
tests/unit-tests/test_udev_wrapper.cpp (+5/-4)
tools/abigail_check.sh (+290/-0)
tools/abigail_suppressions_client (+7/-0)
tools/abigail_suppressions_generic (+13/-0)
tools/process_doxygen_xml.py (+7/-6)
tools/setup-partial-armhf-chroot.sh (+16/-6)
tools/update_package_abis.sh (+1/-0)
tools/valgrind_suppressions_glibc_2.23 (+60/-48)
tools/valgrind_suppressions_libhybris (+10/-0)
To merge this branch: bzr merge lp://qastaging/~mir-team/mir/xenial-0.26
Reviewer Review Type Date Requested Status
Alan Griffiths Approve
Review via email: mp+325070@code.qastaging.launchpad.net
To post a comment you must log in.
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

LGTM

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

to all changes: