Mir

lp://qastaging/~kgunn72/mir/rebuild-only-for-silo

Created by kevin gunn and last modified
Get this branch:
bzr branch lp://qastaging/~kgunn72/mir/rebuild-only-for-silo
Only kevin gunn can upload to this branch. If you are kevin gunn please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
kevin gunn
Project:
Mir
Status:
Development

Recent revisions

1551. By kevin gunn

update from devel r1550

1550. By kevin gunn

dummy rebuild for silo testing of dev branch

1549. By Alan Griffiths

scene, shell: move some more data model stuff to scene.

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

1548. By Alan Griffiths

config: remove an unused factory function.

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

1547. By Kevin DuBois

android: support driver queries for the NATIVE_WINDOW_CONCRETE_TYPE query. .

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

1546. By Alexandros Frantzis

mesa,android: Expose display buffers only for outputs with mir_power_mode_on.

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

1545. By Alexandros Frantzis

compositor: Consume buffers of surfaces that are not rendered on screen

This ensures that eglSwapBuffers() in clients doesn't block if a surface is not
rendered. Fixes: https://bugs.launchpad.net/bugs/1233564, https://bugs.launchpad.net/bugs/1292306.

Approved by Alberto Aguirre, PS Jenkins bot.

1544. By MichaƂ Sawicz

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

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

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.

Branch metadata

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

Subscribers