Commits on Source (23)
-
Dušan Kazik authored
-
Jonas Ådahl authored
When drmModePageFlip() or drmModeAtomicCommit() unexpectedly failed (e.g. ENOSPC, which has been seen in the wild), this failure was not handled very gracefully. The page flip listener for the scanout was left in the MetaKmsUpdate, meaning when the primary plane composition was later page flipped, two page flip listeners were added, one for the primary plane, and one for the scanout. This caused the 'page-flipped' event to be handled twice, the second time being fatal. Handle this by making 'no-discard' listener flag be somewhat reversed, and say 'drop-on-error', and then drop all 'drop-on-error' listeners when a MetaKmsUpdate failed to be processed. Also for a "preserve" flagged update, don't ever trigger "discard" callbacks just yet, as preserved updates are used again for the primary plane composition, in order to not miss e.g. CRTC gamma updates, or cursor plane updates, which were added separately. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1809 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1910> (cherry picked from commit 1d792087)
-
Michel Dänzer authored
It was always META_STAGE_WATCH_AFTER_ACTOR_PAINT. (cherry picked from commit 042a90c53697482c8c897ea45e0cb77b7037a77a)
-
Michel Dänzer authored
Scanouts are taken away after painting. However, when we're streaming, what we actually want is to capture whatever is going to end up on screen - and that includes the scanout if there's any. Add a before-paint watch that only records new frames if a scanout is set. Inspired by (and commit log mostly copied from) e6a13e5d ("monitor-stream-src: Add before-paint watch to catch scanouts"). v2: * Do not call stage_painted from before_stage_painted (Georges Basile Stavracas Neto) Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1707 (cherry picked from commit 0d00c350ea99ad74b88b5b0a36ebc51edcc23f6d)
-
Christoph Trassl authored
Remove early return when using libwacom, so guess_candidates returns monitor candidates for those devices, too. Additionally, changing the output of an input requires removing the input from its current output first. (Cherry picked from commit 4b0fd9ab)
-
Carlos Garnacho authored
ClutterInputDevice's get_group_n_modes() vfunc is meant to return -1 for groups that are out of the known range, not within. Fix the early return condition, and let the native backend return correctly the number of modes for the given group. (Cherry-picked from commit 841ee0a2)
-
Carlos Garnacho authored
This is returned as an integer, which we deal with as an unsigned integer. Deal with it as an integer all along, and skip safely negative values. (Cherry-picked from commit 44af2c0d)
-
Jonas Ådahl authored
The second argument is an optional GError, not an impl device pointer. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1911> (cherry picked from commit 8ca087fe)
-
Chao-Hsiung Liao authored
-
Florian Müllner authored
Update NEWS.
-
Jonas Ådahl authored
It's elsewhere in the file referred to as lnode. No idea what "res" means. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1942>
-
Jonas Ådahl authored
The failure to allocate was not properly handled, causing crashes later on due to the offscreen being NULL. #0 cogl_gl_framebuffer_bind (target=36160, gl_framebuffer=0x0) #1 _cogl_driver_gl_flush_framebuffer_state (...) #2 cogl_context_flush_framebuffer_state (read_buffer=0x55f48f386780, draw_buffer=0x55f48f386780, ...) #3 cogl_framebuffer_clear4f (framebuffer=0x55f48f386780, ...) #4 clutter_layer_node_pre_draw (...) #5 clutter_paint_node_paint (...) ... Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1942>
-
Jonas Ådahl authored
E.g. map a window maximized or fullscreen. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1912>
-
Jonas Ådahl authored
When the MetaWindow resize machinery for toplevels ended up in the Wayland window implementation, we tried to avoid configuring not-yet-mapped windows that just had its zero sized dimension pass through the constraint machinery, resulting in a 1x1 sized window. If we'd properly set up the min size metadata earlier, that 1x1 would likely be the minimum size set of a window, which makes things harder to predict when peeking at side effects. However, what the side effect peeking intends to do, as documented in the comment, was to figure out when the client hadn't committed any buffer yet, i.e. during the initial map, and in those cases avoid sending that nasty 1x1 size, resulting in silly window sizes. A more robust way to detect this is instead checking when we shouldn't really try resize things our own way, and in those cases early out as was done before. This means that, for a yet to me mapped window, we only ever want to send an initial non-zero configuration when 1) it's initially maximized, 2) initially fullscreen, or 3) initially tiled in any way, as those are the situations where the compositor is the one deciding the size. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1912>
-
Christian Rauch authored
Applying some states, such as the minimum and maximum toplevel size, do not require a new buffer and can operate on the old buffer. Requiring a client to commit a new buffer just to change such states prevents setting limits on an already existing surface buffer. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1716 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1795> (cherry picked from commit aacdc0b6)
-
Jonas Ådahl authored
While at it, make it a GObject so one can add signals to it. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1716 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1795> (cherry picked from commit 151c80d2)
-
Jonas Ådahl authored
This can be used by test cases to make sure the compositor tries something after a known client state. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1716 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1795> (cherry picked from commit 8c5b7ddc)
-
Christian Rauch authored
Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1716 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1795> (cherry picked from commit 258b85a5)
-
Robert Mader authored
This was introduced by accident in commit 1467b6b0 y-inverted textures in combination with shape masks appear to be only commonly used with EGLstreams. However, as we draw the shape mask ourselves, we don't want to apply the y-invert to it as testified by the left over `cogl_pipeline_set_layer_matrix()`. Note that we still allow to apply viemports and buffer transforms, as the Xwayland mode setting emulation may use it (in fact only the former, but it probably does not hurt to leave the later as well). Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/1792 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1937>
-
Marek Černocký authored
-
Florian Müllner authored
Update NEWS.
-
Simon McVittie authored
-
Simon McVittie authored
Showing
- NEWS 25 additions, 0 deletionsNEWS
- clutter/clutter/clutter-paint-nodes.c 19 additions, 20 deletionsclutter/clutter/clutter-paint-nodes.c
- meson.build 1 addition, 1 deletionmeson.build
- po/cs.po 48 additions, 32 deletionspo/cs.po
- po/sk.po 176 additions, 147 deletionspo/sk.po
- po/zh_TW.po 201 additions, 179 deletionspo/zh_TW.po
- src/backends/meta-input-mapper.c 6 additions, 4 deletionssrc/backends/meta-input-mapper.c
- src/backends/meta-screen-cast-area-stream-src.c 32 additions, 9 deletionssrc/backends/meta-screen-cast-area-stream-src.c
- src/backends/native/meta-input-device-native.c 1 addition, 1 deletionsrc/backends/native/meta-input-device-native.c
- src/backends/native/meta-kms-impl-device-atomic.c 13 additions, 9 deletionssrc/backends/native/meta-kms-impl-device-atomic.c
- src/backends/native/meta-kms-impl-device-simple.c 14 additions, 7 deletionssrc/backends/native/meta-kms-impl-device-simple.c
- src/backends/native/meta-kms-impl-device.c 3 additions, 2 deletionssrc/backends/native/meta-kms-impl-device.c
- src/backends/native/meta-kms-impl-device.h 5 additions, 2 deletionssrc/backends/native/meta-kms-impl-device.h
- src/backends/native/meta-kms-impl.c 4 additions, 3 deletionssrc/backends/native/meta-kms-impl.c
- src/backends/native/meta-kms-impl.h 3 additions, 2 deletionssrc/backends/native/meta-kms-impl.h
- src/backends/native/meta-kms-page-flip.c 0 additions, 3 deletionssrc/backends/native/meta-kms-page-flip.c
- src/backends/native/meta-kms-update-private.h 2 additions, 0 deletionssrc/backends/native/meta-kms-update-private.h
- src/backends/native/meta-kms-update.c 22 additions, 0 deletionssrc/backends/native/meta-kms-update.c
- src/backends/native/meta-kms-update.h 1 addition, 1 deletionsrc/backends/native/meta-kms-update.h
- src/backends/native/meta-kms.c 17 additions, 3 deletionssrc/backends/native/meta-kms.c
This diff is collapsed.
This diff is collapsed.