mutter:wip/jstpierre/cursor-position-tracker

Last commit made on 2017-02-23
Get this branch:
git clone -b wip/jstpierre/cursor-position-tracker https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/jstpierre/cursor-position-tracker
Repository:
lp:mutter

Recent commits

46c0795... by Jasper St. Pierre

backends: Add a method for monitoring cursor position

b51b2f7... by Jasper St. Pierre

backends: Move update cursor position from the tracker to the backend

It doesn't quite fit in with the CursorTracker, and it simply forwards
to the CursorRenderer anyway.

383ba56... by Owen Taylor

Call cogl_xlib_renderer_set_threaded_swap_wait_enabled()

Set up things so that if the INTEL_swap_event extension is not present,
but the driver is known to have good thread support, we use an extra
thread and call glXWaitVideoSync() in the thread. This allows idles
to work properly, even when Mutter is constantly redrawing new frames;
otherwise, without INTEL_swap_event, we'll just block in glXSwapBuffers().

https://bugzilla.gnome.org/show_bug.cgi?id=779039

d200868... by Owen Taylor

Add cogl_xlib_renderer_set_threaded_swap_wait_enabled()

Because the threaded-swap-wait functionality requires XInitThreads(),
and because it isn't clear that it is a win for all applications,
add a API function to conditionally enable it.

Fix the cogl-crate example not to just have a hard-coded dependency
on libX11.

https://bugzilla.gnome.org/show_bug.cgi?id=779039

690b232... by Owen Taylor

For NVIDIA proprietary drivers, implement sync events with a thread

It's a good guess that the buffer swap will occur at the next vblank,
so use glXWaitVideoSync in a separate thread to deliver a sync event
rather than just letting the client block when frame drawing, which
can signficantly change app logic as compared to the INTEL_swap_event
case.

https://bugzilla.gnome.org/show_bug.cgi?id=779039

e078838... by Owen Taylor

Fix the get_clock_time() without GLX_OML_sync_control

When we don't have GLX_OML_sync_control, we still can set the
frame presentation time, but we always use the system monotonic time,
so return that from get_clock_time().

https://bugzilla.gnome.org/show_bug.cgi?id=779039

1b03dd6... by Owen Taylor

Usability of SGI_video_sync is per-display not per-renderer

As previously commented in the code, SGI_video_sync is per-display, rather
than per-renderer. The is_direct flag for the renderer was tested before
it was initialized (per-display) and that resulted in SGI_video_sync
never being used.

https://bugzilla.gnome.org/show_bug.cgi?id=779039

1171c4f... by Owen Taylor

CoglWinsysGLX: factor out some duplicated code

Add a helper function for repeated calls to clock_gettime(CLOCK_MONOTONIC)

https://bugzilla.gnome.org/show_bug.cgi?id=779039

a9f139c... by Owen Taylor

CoglGPUInfo - fix check for NVIDIA

NVIDIA drivers have a vendor of "NVIDIA Corporation" not "NVIDIA".
Check for both in case older drivers did use "NVIDIA"

https://bugzilla.gnome.org/show_bug.cgi?id=779039

5ba38a4... by Rui Matos

x11/xprops: Plug a few memory leaks

Commits 6dbec6f8, 734402e1 and f041b35b introduced memory leaks by
switching to returning copies instead of the original buffers but
forgetting to free those original buffers.

Some error cases were also not freeing the ->prop buffer as they
should.

https://bugzilla.gnome.org/show_bug.cgi?id=642652