mutter:wip/nielsdg/uncrustify

Last commit made on 2019-07-11
Get this branch:
git clone -b wip/nielsdg/uncrustify https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/nielsdg/uncrustify
Repository:
lp:mutter

Recent commits

020b8ea... by Niels De Graef <email address hidden>

CI: add uncrustify config.

Run in the repo's root directory with for example

```
$ uncrustify -c data/uncrustify.cfg src/**/*.c
```

7c8baf8... by Carlos Garnacho

compositor: Drop meta_get_overlay_window()

This is no longer necessary outside of mutter, nor used internally.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/680

0e3c062... by Carlos Garnacho

dnd: Use composite_overlay_window directly

Saves us from using MetaCompositor API, at a point where it might not
be initialized yet. Use the same window directly, since we already
have it handy.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/672

4bc7425... by =?utf-8?q?Jonas_Dre=C3=9Fler?= <email address hidden>

wayland/pointer: Remove duplicate include

https://gitlab.gnome.org/GNOME/mutter/merge_requests/448

a2a8f0c... by =?utf-8?q?Jonas_Dre=C3=9Fler?= <email address hidden>

wayland/pointer: Set focus to NULL when the cursor is hidden

This is important when using a touchscreen or stylus instead of a mouse
or touchpad. If the cursor only gets hidden and the focus stays the
same, the window will still send hover events to the UI element under
the cursor causing unexpected distractions while interacting with the
touchscreen.

Fix this by emitting a visibility-changed signal from the cursor tracker
which then triggers a focus surface sync and always set the focus
surface to NULL when it's synced while the cursor is hidden.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/448

faa7b2d... by =?utf-8?q?Jonas_Dre=C3=9Fler?= <email address hidden>

cursor-tracker: Add API to get whether the pointer is visible

Allow checking whether the pointer is visible without accessing the
trackers internal is_showing property. While we don't need this just yet
for reading the visibility inside meta-wayland-pointer, it's useful when
implementing the logic to remove Clutter's focus when the cursor goes
hidden later.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/448

a95644d... by Pekka Paalanen <email address hidden>

renderer/native: Debug for primary copy mode

COPY_MODE_PRIMARY has two paths, automatically chosen. For debugging purposes,
e.g. why is my DisplayLink screen slowing down the whole desktop, it will be
useful to know which copy path is taken. Debug prints are added to both when
the primary GPU copy succeeds the first time and when it fails the first time.

This is not the full truth, because theoretically the success/failure could
change every frame, but we don't want to spam the logs (even in debug mode)
every frame. In practise, it should be rare for the success or failure to ever
change. Hence, saying what happened on the first time is enough. This does
indicate if it ever changes even once, too, so we know if that unexpected thing
happens.

The debug prints are per secondary GPU since there could be several.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/615

720f363... by Pekka Paalanen <email address hidden>

renderer/native: Add tracing for 2nd GPU copies

These traces allow seeing how long the copy operations stall in libmutter, and
which copy operations actually get used.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/615

3794df6... by Pekka Paalanen <email address hidden>

renderer/native: Use primary GPU to copy

When the preferred path META_SHARED_FRAMEBUFFER_COPY_MODE_SECONDARY_GPU cannot
be used, as is the case for e.g. DisplayLink devices which do not actually have
a GPU, try to use the primary GPU for the copying before falling back to
read-pixels which is a CPU copy.

When the primary GPU copy works, it should be a significant performance win
over the CPU copy by avoiding stalling libmutter for the duration.

This also renames META_SHARED_FRAMEBUFFER_COPY_MODE_* because the new names are
more accurate. While the secondary GPU copy is always a GPU copy, the primary
copy might be either a CPU or a GPU copy.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/615

2c893be... by Pekka Paalanen <email address hidden>

renderer/native: Add meta_dumb_buffer_ensure_dmabuf_fd

Follow-up work will use this in an attempt to use the primary GPU to
copy into secondary GPU dumb buffers.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/615