Created by Andreas Pokorny and last modified
Get this branch:
bzr branch lp:~andreas-pokorny/mir/use-input-channel-to-send-input
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

1545. By Andreas Pokorny on 2014-04-11

Add send_event to InputChannel - for sending events to the client fd.

1544. By MichaƂ Sawicz on 2014-04-09

Use standard CMAKE_CROSSCOMPILING instead of custom MIR_IS_CROSS_COMPILING CMake variable.

Approved by Kevin DuBois, Daniel van Vugt, PS Jenkins bot, Alberto Aguirre.

1543. By Alan Griffiths on 2014-04-09

scene, shell: sessions are part of the scene, so they should be in namespace scene.

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

1542. By Kevin DuBois on 2014-04-09

Address some long term problems with SurfaceStack's synchronization...
1) SurfaceStack was a BasicLockable, requiring a recursive_mutex. 'locking' the surface stack would just lock the ordering, it wouldn't lock the surfaces contained by the surface stack. Eliminate lock()/unlock() from the mc::Scene interface
2) The decisions the compositor made were based on data that was potentially stale when it came time to apply the decision. That is, every time the DefaultDisplayBuffer compositor went to access something from the BasicSurface, it could get a different value back, and had no way to lock the values (eg position) until the render was complete

A few ideas were examined:
A) locking the surface ordering and the surfaces
This has the disadvantage that we essentially have one big lock around the central data structure of mir
B) locking the scene, and copying the surfaces
This has the disadvantage that the buffer acquisition (compositor_acquire) has to take place sooner in the render, leaving the client less time to sneak its buffers in to make the next frame posting
C) locking the scene, copying the surfaces, and lazy-copying the buffers.
This is the approach proposed, as it freezes the positioning info for the surfaces at generate_renderables_list() time, but allows the clients to sneak in 'last minute buffers' and make an earlier frame if they return their buffer between "generate_renderable_list() and when the GLRenderer needs the buffer for texture reasons. The positioning info is just locked during the copy, so the rest of the system can proceed with what it has do (servicing move requests, rearranging the surfaces, etc) while the compositor is drawing.

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

1541. By Alberto Aguirre on 2014-04-08

Add capture rate limiting to mirscreencast (LP: #1294361, LP: #1280938). Fixes: https://bugs.launchpad.net/bugs/1280938, https://bugs.launchpad.net/bugs/1294361.

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

1540. By Alan Griffiths on 2014-04-07

tests: Provide an integration test that focusing on a session raises its default surface. Fixes: https://bugs.launchpad.net/bugs/1302689.

Approved by Daniel van Vugt, PS Jenkins bot, Alexandros Frantzis, Chris Halse Rogers.

1539. By Daniel van Vugt on 2014-04-07

Fix improperly (non)overloaded mock function (LP: #1301135). Fixes: https://bugs.launchpad.net/bugs/1301135.

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

1538. By Kevin DuBois on 2014-04-07

scene: remove now-unused for_each_if method.

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

1537. By Alberto Aguirre on 2014-04-05

make current before deleting gl resources in GLPixelBuffer (LP: #1256360). Fixes: https://bugs.launchpad.net/bugs/1256360.

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

1536. By Kevin DuBois on 2014-04-04

Remove the RenderingOperator and VisibilityFilter classes in favor of rendering on the generated list of renderables from the scene.

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

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.