Mir

lp:~andreas-pokorny/mir/synchronous-cancel-of-alarms

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

Owner:
Andreas Pokorny
Project:
Mir
Status:
Development

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.
      swap_buffers_does_not_block_when_surface_is_not_composited
      (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
      API.
    . Support unregistering fd handlers in the EventHandlerRegister and
      related interfaces (MainLoop).
    . server: Change mc::Scene to deal in mc::SceneElements instead of
      mg::Renderables.
    . Add visibility tracking to mc::SceneElement interface and
      implementations.
    . 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
      observer.
    . Generate destination alpha for alpha enabled display buffers.
    . Named threads.
    . Support for prompt sessions :
      https://wiki.ubuntu.com/Security/TrustStoreAndSessions.
  - 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
    abruptly.
  - 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
      connects.
    . 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
      blocking.
    . 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
    necessary.
  - 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
      CustomInputDispatcherFixture.custom_input_dispatcher_receives_input.
      (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:
lp:mir/ubuntu
This branch contains Public information 
Everyone can see this information.

Subscribers