Mir

lp:~albaguirre/mir/fix-1643432

Created by Alberto Aguirre on 2017-01-19 and last modified on 2017-01-19
Get this branch:
bzr branch lp:~albaguirre/mir/fix-1643432
Only Alberto Aguirre can upload to this branch. If you are Alberto Aguirre please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Alberto Aguirre
Project:
Mir
Status:
Merged

Recent revisions

3960. By Alberto Aguirre on 2017-01-19

Use mt::WakeUp

3959. By Alberto Aguirre on 2017-01-19

tests: NestedServer: Wait to receive session_disconnect_called before stopping the server

Make the test wait until session_disconnect_called is received before stopping the server, avoiding
a race between stopping the main loop and the main loop dispatching the session_disconnect_called call.

3958. By Kevin DuBois on 2017-01-18

client: prepare mir_connection_get_platform for deprecation. The only thing this was used for was for getting the auth_fd, which we can do now via an extension.

Approved by mir-ci-bot, Cemil Azizoglu, Brandon Schaefer.

3957. By Andreas Pokorny on 2017-01-18

mirclient: deprecate and replace the destruction function for input config

mir_input_config_destroy -> mir_input_config_release.

Approved by mir-ci-bot, Kevin DuBois, Cemil Azizoglu.

3956. By Daniel van Vugt on 2017-01-18

Capitalize (new in 0.26) typedefs to be consistent with other typedefs.
There's no reason why we should keep using a different capitalization
pattern just for callback typedefs.

3955. By Daniel van Vugt on 2017-01-18

Provide missing EDID data in nested servers (LP: #1651633)
. Fixes: https://bugs.launchpad.net/bugs/1651633.

Approved by mir-ci-bot, Andreas Pokorny, Alan Griffiths.

3954. By Brandon Schaefer on 2017-01-18

Final changes needed for the display config change.

Approved by mir-ci-bot, Cemil Azizoglu.

3953. By Cemil Azizoglu on 2017-01-18

Uncomment deprecations.

Approved by mir-ci-bot, Alan Griffiths.

3952. By Daniel van Vugt on 2017-01-17

Introducing client-side vsync, part 1.
For dramatically lower latency and improved smoothness.
Fixes LP: #1240909, LP: #1388490, LP: #1591328, LP: #1624188

Part 1 covers all users of:
   eglSwapBuffers
   mir_buffer_stream_swap_buffers_sync

Part 2 will cover the rest (mir_buffer_stream_swap_buffers) but we're not
in a hurry for it as that still has working server-side vsync. Plus I
think Xmir is the only user of that function at present.

Part 3 will introduce IPC to communicate hardware vsync timestamps to the
client for phase correction and increased precision (although that's not
a prerequisite to this).

Immediate benefits:

 * Greatly reduced latency from the client to the screen. Theoretically
   three frames lower latency for windowed apps of a nested server like
   Unity8. And this has been confirmed with real measurements:
   https://docs.google.com/spreadsheets/d/1RbTVDbx04ohkF4-md3wAlgmxbSI1DttstnT6xdcXhZQ/pubchart?oid=1566479835&format=interactive
   You can also confirm using your own eyes: mir_demo_client_target

 * No client/toolkit changes required.

 * Latency and smoothness is no longer affected by process scheduling
   randomness or poor server performance. Although we presently use input
   resampling to work around some of the latency problem, that's not
   immune to latency increasing again when the server has insufficient
   time to keep up with the client. This approach is.

 * Lower latency even than double buffering (when nested), and also
   without the risk of decimation when a client takes slightly too long
   to render. Fixes: https://bugs.launchpad.net/bugs/1240909, https://bugs.launchpad.net/bugs/1388490, https://bugs.launchpad.net/bugs/1591328, https://bugs.launchpad.net/bugs/1624188.

Approved by Alan Griffiths, Kevin DuBois, mir-ci-bot, Cemil Azizoglu.

3951. By Kevin DuBois on 2017-01-17

client: add an extension to get window coordinate translations, preparing to deprecate mir_debug_window_coords_to_screen.

Approved by mir-ci-bot, Cemil Azizoglu.

Branch metadata

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

Subscribers