lp:~andreas-pokorny/mir/synchronous-cancel-of-alarms
- Get this branch:
- bzr branch lp:~andreas-pokorny/mir/synchronous-cancel-of-alarms
Branch merges
- Alan Griffiths: Needs Fixing
- Alberto Aguirre (community): Approve
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
-
Diff: 362 lines (+135/-43)4 files modifiedinclude/server/mir/asio_main_loop.h (+4/-0)
src/server/asio_main_loop.cpp (+80/-43)
src/server/compositor/timeout_frame_dropping_policy_factory.cpp (+5/-0)
tests/unit-tests/test_asio_main_loop.cpp (+46/-0)
Branch information
Recent revisions
- 1728. By Andreas Pokorny
-
- Unregister FD Handler from EventHandlerReg
ister.
- 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.TestClien tCursorAPI. *
(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) - 1725. By Andreas Pokorny
-
* 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/ TrustStoreAndSe ssions.
- 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_optimizabl e.
- 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
CustomInputDispatcherFix ture.custom_ input_dispatche r_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::MirSocket RpcChannel: :receive_ file_descriptor s 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_dispatche r_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
-
Synchronous cancelation of Alarms
cancel becomes a synchronous operation, the destructor of Alarm remains unchanged in behavior
- 1723. By Alexandros Frantzis
-
tests: Misc improvements and fixes to MirClientSurfac
eTest Clean up MirClientSurfac
eTest 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
-
Unregister FD Handler from EventHandlerReg
ister Adds the ability to unregister FD callbacks from EventHandlerReg
ister 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
-
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
-
server: Track SceneElement visibility in the DefaultDisplayB
ufferCompositor . Approved by PS Jenkins bot, Kevin DuBois, Alan Griffiths, Cemil Azizoglu.
- 1719. By Alan Griffiths
-
tests: share another fixture: DeferredInProce
ssServer. 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