lp://staging/~andreas-pokorny/mir/input-sender-split
- Get this branch:
- bzr branch lp://staging/~andreas-pokorny/mir/input-sender-split
Branch merges
Branch information
Recent revisions
- 1553. By Andreas Pokorny
-
* New upstream release 0.2.0 (https:/
/launchpad. net/mir/ +milestone/ 0.2.0)
- mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
- mirserver ABI bumped to 20. Shells need rebuilding and probably changes:
. Cursor::set_image() parameters changed.
. Display::the_cursor( ) renamed to Display: :create_ hardware_ cursor( )
. Platform::create_ display( ) requires a new parameter; gl_program_factory
. Renderable::buffer( ) no longer accepts any parameter at all. Multi-
monitor frame sync is guaranteed in other ways now.
. Scene::generate_ renderable_ list() renamed to renderable_ list_for( id)
where id is an opaque compositor ID of your choosing.
. Scene::set_change_ callback( ) replaced by the more generic:
add_observer( ) and remove_observer() functions.
. SessionCreator renamed to ConnectionCreator.
. ConnectedSessions renamed to Connections.
. ProtobufSessionCreator renamed to ProtobufConnect ionCreator.
. SessionAuthorizer: pid_t parameters replaced by SessionCredentials.
. Massive architectural changes to Input-everything.
. Surface no longer implemnents Renderable, but emits one via
compositor_snapshot( ).
- Demo shell enhancements:
. You can now change graphics modes on the fly using Ctrl+Alt+(-/=).
To reset to the preferred mode use Ctrl+Alt+0.
. The above mode changing as well as existing screen rotation keys
(Ctrl+Alt+ arrows) are now per-display; only applied to the monitor
the mouse pointer is on.
- Expand credentials to include uid/gid for session authorizer.
- Bypass control is now Mesa-specific and tied to the command line options.
So the environment variable MIR_BYPASS has changed to MIR_SERVER_BYPASS.
- mirscreencast screenshots now produce images with correct color instead
of transparency.
- Ongoing architectural changes in the compositor/renderer logic to
prepare for overlay support, and to reduce locking overhead.
- Made InputDispatcher replaceable.
- Progress made on new cursor interfaces with the end goal of client and
toolkit control of the mouse cursor appearance. More work required.
- Bugs fixed:
. <TODO: Fill in when proposing to archive>
[ Daniel van Vugt ]
. Stale socket issue. (LP: #1285215)
. Qt render gets blocked on EGLSwapBuffers. (LP: #1292306)
. Lock order violated found in helgrind (potential deadlock).
(LP: #1296544)
. [regression] SwitchingBundle in framedropping mode can hang.
(LP: #1306464)
. [DPMS] Display backlight turns back on almost immediately after
being turned off. (LP: #1231857)
. Wrong frame is seen on wake up/resume/unlock. (LP: #1233564)
. Nested platform is not testable (LP: #1299101)
. [regression] mir_demo_server_ shell crashes on display resume.
(LP: #1308941)
. Multi-threaded composition is actually mostly serialized by
SurfaceStack::guard. (LP: #1234018)
. Mirscreencast slows down compositing and makes it very jerky.
(LP: #1280938)
. Mirscreencast can cause clients to render faster than the screen
refresh rate. (LP: #1294361)
. Screen turns on when a new session/surface appears. (LP: #1297876)
. mir-doc package is >56MB in size, expands to >100MB of files.
(LP: #1304998)
. [regression] Clang: 'mir::test::doubles: :MockSurface: :visible'
hides overloaded virtual function [-Woverloaded-virtual] .
(LP: #1301135)
. [regression] GLRenderer* unit tests have recently become noisy.
(LP: #1308905)
. FocusController::set_focus_ to() no longer seems to raise a session
to the top. (LP: #1302689)
[ Ubuntu daily release ]
* New rebuild forced - 1549. By Andreas Pokorny
-
* New upstream release 0.1.9 (https:/
/launchpad. net/mir/ +milestone/ 0.1.9)
- mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
- mirserver ABI bumped to 19. Shells need rebuilding.
- More libmirserver class changes and reorganization, including;
. Moving things from shell:: to scene::
. Rewriting/refactoring surface factories.
- Added an id() to Renderable.
- Scene/Renderer interfaces:
. Scene is no longer responsible for its own iteration (no for_each
any more). Instead you should iterate over the list returned by
Scene::generate_ renderable_ list().
- Bugs fixed:
. TODO: fill in when proposing to Ubuntu
[ Daniel van Vugt ]
- mirserver ABI bumped to 18. Shells need rebuilding.
. graphics::Platform: :create_ display( ) has a new parameter allowing you
to customize the compositor's (E)GL configutation.
. Renderable::buffer( unsigned long frameno) is now:
Renderable::buffer( void const* user_id). See below.
. Renderable::should_ be_rendered_ in() is replaced by a more natural:
Renderable::visble( )
. input::Surface: :name() returns by value instead of reference now,
to ensure future thread safety.
- Switched EventHub device enumeration and hotplug to Udev. NOTE! This
means mir_test_* can't run natively on touch devices any more without
some setup first:
umockdev-run -- bin/mir_unit_tests
- Introduced "RenderableList" as the way to sample the Scene contents,
and started using that in the default compositor.
- Introduced physical length units and conversion (geometry::Length) in
preparation for arbitrary DPI rendering.
anti-aliased and high-DPI scalable.
- Multi-monitor frame sync has been redesigned to eliminate the need for
frame number tracking.
- Bugs (and enhancements) resolved:
. [enhancement] Please move input detection to libudev (LP: #1237784)
. [enhancement] Add a clamping resize mode to GLRenderer (LP: #1259887)
. [regression] Intermittent loss of multimonitor frame sync
(LP: #1290306)
. [enhancement] Make GL config options configurable (LP: #1290780)
. memcheck-test doesn't test anything when DISABLED_GTEST_DISCOVERY is
enabled (LP: #1291876)
. "Error opening DRM device" is always followed by "Unknown error -(some
negative number)" (LP: #1292384)
. Rendering/composition gets stopped early (LP: #1293896)
. Ubuntu Touch Settings and terminal apps are not rendering correctly on
rotate. (LP: #1294048)
. [regression] Apps are much slower to open (LP: #1294051)
. Settings app opens to a blank screen unless given enough time to render
or the app is touched (LP: #1294053)
. TestClientInput/DemoPrivatePro tobuf memory leak is causing regular CI
test failures (LP: #1295231)
. OSK touch events "fall through" and hit surface behind them
(LP: #1297878)
. [enhancement] add a test for composite of last client post
(LP: #1298596)
. [regression] Surfaces vanish as soon as their edges touch the edge of
screen (LP: #1301115)
* Cherry-picked from future release 0.1.9:
- Bug fix: mirplatformgraphics does not have boost program options in its
symbol table (LP: #1301040)
- Bug fix: unity8 crashed with SIGSEGV in glDeleteTextures() from
mir::scene: :GLPixelBuffer: :~GLPixelBuffer () from
mir::scene: :ThreadedSnapsh otStrategy: :~ThreadedSnaps hotStrategy( )
(LP: #1256360)
[ Ubuntu daily release ]
* New rebuild forced - 1547. By Andreas Pokorny
-
WIP: InputSend Implementation based on Android classes
+ Wired InputSend with input::
Surface: :consume
+ Added consuming of client response
+ Added basic initial support of send observer
-> should be sufficient for basic custom input dispatcher implementationsStill outstanding
- feeding of input back into already existing android::InputDispatche r - 1546. By Andreas Pokorny
-
Proposed InputSender interface
InputSender is to be used by surface implementations.
custom built InputDispatcher shall use Surface to send input events.Still WIP.
- 1544. By Andreas Pokorny
-
Further tests showing the receival of focus changes and opened input channels
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://staging/mir/0.1