Created by Andreas Pokorny and last modified
Get this branch:
bzr branch lp:~andreas-pokorny/mir/synchronous-cancel-of-alarms
Only Andreas Pokorny can upload to this branch. If you are Andreas Pokorny please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Andreas Pokorny

Recent revisions

1728. By Andreas Pokorny on 2014-07-10

  - Unregister FD Handler from EventHandlerRegister.
  - Sending user input events through Surfaces.
  - Allow setting the orientation of a server surface.
  - Bugs fixed:
    . can't display toolbar after dismissing it (LP: #1332632)
    . [regression] demo client connection crashes the server (LP: #1334010)
    . demo server locks up in certain scenarios with --disable-overlays
      false when starting/stopping second clients (LP: #1329868)
    . MultiThreadedCompositor deadlocks (LP: #1335311)
    . Intermittent memory error in
      ClientSurfaceEvents.client_can_query_current_orientation (LP: #1335819)
    . Intermittent hang & fail in mir_acceptance_tests.TestClientCursorAPI.*
      (LP: #1332011)
    . MirClientSurfaceTests tests leak fds and eventually hang when ran
      repeatedly (LP: #1333673)
    . [testfail] Intermittent "Invalid read" in MirSurfaceSwapBuffersTest.
      (LP: #1334287)
    . android: support alpha blending during hwc overlay (LP: #1329879)

1727. By Andreas Pokorny on 2014-07-10

integrating regression test of duflu

1726. By Andreas Pokorny on 2014-07-10

do not use the blocking version of cancel in destructor

1725. By Andreas Pokorny on 2014-07-10

* Under development
* New upstream release 0.4.0 (https://launchpad.net/mir/+milestone/0.4.0)
  - mirclient ABI bumped to 8. Clients need rebuilding.
    . Add surface attribute for visibility.
    . Add surface orientation API.
  - mirserver ABI bumped to 22. Shells need rebuilding.
    . Allow setting the orientation of a server surface.
    . Change compositor::Scene to expose compositor::SceneElements instead
      of graphics::Renderables.
    . Change various input and Surface classes to support the client cursor
    . Support unregistering fd handlers in the EventHandlerRegister and
      related interfaces (MainLoop).
    . server: Change mc::Scene to deal in mc::SceneElements instead of
    . Add visibility tracking to mc::SceneElement interface and
    . Unregister FD Handler from EventHandlerRegister.
    . Sending user input events through Surfaces.
    . Move InputChannelFactory into DefaultServerConfiguration.
    . Ensure default input region is updated when surface is resized. (LP: #1332632)
  - android: support alpha blending overlays together in HWC. Bumps
    android-headers version requirement from 4.2.2 to 4.4.2. (LP: #1329879)
  - android: designate the buffer usage when attempting to access or
    update the fence associated with the native buffer. (LP: #1329868)
  - Enable client cursor API.
  - Enable support for USB touchscreens.
  - Various test improvements.
  - Ensure the_cursor() is not null. (LP: #1334010)
[ Cemil Azizoglu ]
* New upstream release 0.3.0 (https://launchpad.net/mir/+milestone/0.3.0)
  - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
  - mirserver ABI bumped to 21. Shells need rebuilding.
    . Divide swap_client_buffers into separate functions.
    . Allow buffer swapping even when compositor is turned off or blocked.
      (LP: #1308843, 1308844)
    . Wire the cursor client API through the session mediator to the surface
    . Generate destination alpha for alpha enabled display buffers.
    . Named threads.
    . Support for prompt sessions :
  - mirscreencast screenshots now produce images with correct color instead
    of transparency.
  - Rename bind_to_texture->gl_bind_to_texture.
  - Refinements in test infrastructure.
  - Phablet: allow disabling the overlays via a command line switch.
  - Unify the DisplayBuffer interface's optimization functions
    behind post_renderables_if_optimizable.
  - Clean up the DisplayDevice interface so that it doesn't require the
    functions are called in any particular order.
  - Phablet: graphics: android: preserve buffer ownership for onscreen
    overlay layers until the subsequent display posting.
  - Allow the platform to register emergency cleanup handlers in order to
    restore the graphics system to a sane state when the server fails
  - Bugs fixed:
     . Mirscreencast outputs translucency instead of shadows, producing
       incorrect images. (LP: #1301210)
     . JSON formatting. (LP: #1324902)
     . Fix input_area_contains to work properly in global coordinates even
       when input_rectangles is updated. (LP: #1261647)
     . Allow a moment for clients to acquire a buffer. (LP: #1317370)
     . Generate correct alpha by changing blending equation to assume
       pre-multiplied alpha sources. (LP: #1318852)
     . Rework the recomposition messaging so that the DisplayBufferCompositor
       is no longer involved. (LP: #1319907)
[ Ubuntu daily release ]
* New rebuild forced
[ Daniel van Vugt ]
  - mirserver ABI bumped to 20. Shells need rebuilding.
    . Added default implementation for SceneObserver.
    . Surface no longer implements Renderable, but emits one via
    . Pass the full renderable list to Renderer::render().
    . Graceful handling of exceptions thrown from server threads.
    . Clarify size position interfaces in the Surface classes.
    . Plumbing for trusted sessions.
    . Allow posting and managing custom main-loop actions.
    . Timer extension.
    . Identify client process when client connects to Mir not when socket
    . Use the ServerActionQueue for display config.
    . Recomposition signal moved to the MultiThreadedCompositor.
    . Make timer service replaceable.
    . Clarify assumptions about how many buffers a client can fill without
    . Introduce EmergencyCleanup interface.
    . New shell controls documented.
  - A new testing category, performance test, was introduced. It currently
    runs glmark2-es2 and compares the result to a minimum threshold.
  - MIR_VERSION_MINOR is tied to MIRSERVER_ABI in the sense that a change
    in the former now requires dependent projects that a rebuild is
  - SwitchingBundle was replaced by BufferQueue.
  - Replaced uses of android::sp with std::shared_ptr.
  - Client cursor API infrastructure.
  - Enabled eglSwapInternal(0).
  - Make texture caching algorithm reuseable.
  - Add a DPI surface attribute.
  - Exclude arm64 from build.
    . Mir doesn't install cleanly if docs are not built. (LP: #1304271)
    . Unity-system-compositor crashed [what(): Failed to set DRM crtc].
      (LP: #1294510)
    . [regression] unity8 fails to load libmirplatformgraphics
      (undefined symbol: _ZN3mir8graphics9GLProgramD1Ev). (LP: #1317200)
    . [regression] unity8 rendering artifacts. (LP: #1317260)
    . [regression] [BufferQueue]
      BufferQueueTest.compositor_never_owns_client_buffers occasionally
      crashes with: what(): unexpected release: buffer was not given to
      compositor. (LP: #1317801)
    . Hardcoded size for serialization buffers is neither reliable nor
      secure. (LP: #1320187)
    . [regression] [BufferQueue] mir does not composite last client given
      buffer. (LP: #1321861)
    . [regression] stale frame on seen on greeter when screen is unblanked
      and toolkit/apps are laggy/throttled. (LP: #1321886)
    . [regression] [BufferQueue] current_buffer_users vector memory usage
      grows unbounded. (LP: #1317808)
    . Intermittent test failures in
      (LP: #1318587)
    . [regression] [BufferQueue] Race condition in
      BufferQueue::compositor_acquire could underflow shared_ptr refcount and
      delete prematurely, crash. (LP: #1318632)
    . Overflow in
      mir::client::rpc::MirSocketRpcChannel::receive_file_descriptors as
      reported by address sanitizer. (LP: #1320821)
    . [regression] [input] Scroll events are now always zero:
      event.motion.pointer_coordinates[0].vscroll. (LP: #1321077)
    . CI failures in CustomInputDispatcherFixture
      .custom_input_dispatcher_gets_started_and_stopped. (LP: #1321215)
    . [regression] Mir cursor vanishes after switching VTs. (LP: #1323225)
    . Server library links against libmirserverlttng. (LP: #1323317)
    . [DRM/GBM] Killing (or crashing) Mir often leaves the screen blank and
      difficult to recover. (LP: #1189770)
    . Frame rates of GL clients are limited to 60Hz on Android, even with
      swapinterval=0. (LP: #1206400)
    . mir_surface_is_valid(NULL) crashes instead of returning false.
      (LP: #1248474)
    . [regression] tests/unit-tests/shell/test_mediating_display_changer.cpp
      is not compiled and executed. (LP: #1312832)
    . Android platform does not reset the compositionType to HWC_FRAMEBUFFER
      before prepare() on every frame. (LP: #1314399)
    . The client process is identified when the socket connects, not when the
      client connects to Mir. (LP: #1314574)
    . [regression] Clients can't acquire multiple buffers any more.
      (LP: #1315302)
    . [regression] Enabling SwitchingBundleTest
      DISABLED_synchronous_clients_only_get_two_real_buffers now crashes with
      no usable stack trace. It used to only fail. (LP: #1315312)
    . [regression] [BufferQueue] double-buffered client freezes as no buffer
      is returned on compositor_release. (LP: #1319765)
    . Uninitialized mem in OutputBuilder.hwc_version_11_success.
      (LP: #1312867)
    . [enhancement] In the tests make it possible to get a
      DefaultConfiguration initialized from the command line (LP: #1316987)
    . ci train blocked due to missing arm64 libandroid-properties-dev.
      (LP: #1323504)
[ Ubuntu daily release ]
* New rebuild forced

1724. By Andreas Pokorny on 2014-06-25

Synchronous cancelation of Alarms

cancel becomes a synchronous operation, the destructor of Alarm remains unchanged in behavior

1723. By Alexandros Frantzis on 2014-06-25

tests: Misc improvements and fixes to MirClientSurfaceTest

Clean up MirClientSurfaceTest code and fix FD leaks. Fixes: https://bugs.launchpad.net/bugs/1333673.

Approved by Kevin DuBois, PS Jenkins bot, Alan Griffiths.

1722. By Andreas Pokorny on 2014-06-25

Unregister FD Handler from EventHandlerRegister

Adds the ability to unregister FD callbacks from EventHandlerRegister and AsioMainLoop. The caller needs to identify the callback with a void const* during registration and removal.

Approved by PS Jenkins bot, Kevin DuBois, Alan Griffiths, Alexandros Frantzis, Alberto Aguirre.

1721. By Robert Carr on 2014-06-25

Ensure the_cursor() is not null.

fixes: lp: #1334010. Fixes: https://bugs.launchpad.net/bugs/1334010.

Approved by PS Jenkins bot, Alberto Aguirre, Kevin DuBois.

1720. By Alexandros Frantzis on 2014-06-25

server: Track SceneElement visibility in the DefaultDisplayBufferCompositor.

Approved by PS Jenkins bot, Kevin DuBois, Alan Griffiths, Cemil Azizoglu.

1719. By Alan Griffiths on 2014-06-24

tests: share another fixture: DeferredInProcessServer.

Approved by PS Jenkins bot, Alexandros Frantzis, Kevin DuBois.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.