Mir

lp:~kdub/mir/fix-1560909

Created by Kevin DuBois and last modified
Get this branch:
bzr branch lp:~kdub/mir/fix-1560909
Only Kevin DuBois can upload to this branch. If you are Kevin DuBois please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Kevin DuBois
Project:
Mir
Status:
Development

Recent revisions

3960. By Kevin DuBois

merge in mir

3959. By Kevin DuBois

typo

3958. By Kevin DuBois

make shutdown timeout configurable

3957. By Kevin DuBois

increase test client shutdown alarm to allow some clients to take longer to shutdown

3956. By Daniel van Vugt

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

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

Final changes needed for the display config change.

Approved by mir-ci-bot, Cemil Azizoglu.

3953. By Cemil Azizoglu

Uncomment deprecations.

Approved by mir-ci-bot, Alan Griffiths.

3952. By Daniel van Vugt

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

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