02:03 wlb: weston Issue #1003 opened by Bill Hayden (hayden1) shm_surface_buffer_release() can release a shm_surface's current leaf, causing a crash later in shm_surface_swap() https://gitlab.freedesktop.org/wayland/weston/-/issues/1003
06:31 riteo: Hi, I can see that destructor methods are declared as such in the XML. Is there a way of detecting this tag in the files generated by wayland-scanner?
06:54 riteo: nvm I think. Basically I'm kinda unsure on what to do with "server-side" ids. I'm not really sure how to free them from the proxy, if I even should.
07:43 ifreund: riteo: perhaps this post could improve your understanding of server created object lifetimes: https://ppaalanen.blogspot.com/2014/07/wayland-protocol-design-object-lifespan.html
07:44 ifreund: (this info should really be in the main wayland docs)
07:45 ifreund: the question of when to destroy server-side ids depends a lot on the protocol
07:57 banghe: The wayland is essentially only about input handling and buffer management. So why Does Wayland involved with Seat? I don't understand.
07:57 riteo: thank you ifreund!
07:58 vyivel: banghe: that's a part of input handling
11:44 MrCooper: AFAICT the xdg_popup "topmost" concept is purely about creation/destruction of the popup object, whether or not the popup is currently mapped doesn't matter, does it?
12:20 zzxyb[m]: Is there any way to reduce the number of eglCreateImageKHR and eglDestroyImageKHR calls for the wl_drm protocol in the Wayland compositor?
12:22 kennylevinsen: hmm? what's still using the deprecated wl_drm protocol?
12:22 zamundaaa[m]: zzxyb: yes, just don't use wl_drm at all
12:22 zamundaaa[m]: 100% optimization with this simple trick!
12:23 kennylevinsen: A+, cured all ailments, would buy again
12:46 zzxyb[m]: <zamundaaa[m]> "zzxyb: yes, just don't use..." <- 😀
13:38 MrCooper: zzxyb[m]: do you mean not calling eglCreateImageKHR every time the same buffer is attached to a surface?
15:22 MrCooper: the xdg_wm_base not_the_topmost_popup error description says "the client tried to map or destroy a non-topmost popup", should that say "tried to unmap"?
15:23 kennylevinsen:vaguely remembers making an issue about this some time back
15:23 kennylevinsen: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/167
15:23 kennylevinsen:never followed up on it
15:41 MrCooper: looks only loosely related, my questions are specifically about whether or not (un)mappedness matters for the "topmost" concept
15:43 kennylevinsen: The main phrase that is strict about it is:
15:43 kennylevinsen: > Nested popups must be destroyed in the reverse order they were created in, e.g. the only popup you are allowed to destroy at all times is the topmost one.
15:44 kennylevinsen: this effectively defines the order to be creation order
15:45 kennylevinsen: it's presumably still legal to unmap the surface, but destruction order is strict
15:45 kennylevinsen: (which I find a bit silly)
15:47 kennylevinsen: that MR also mentions that the wording originates from grabs
15:49 MrCooper: FWIW, mutter sends that error when the parent surface is unmapped
15:50 MrCooper: before the popup
15:51 riteo: yea I think that's the most common interpretation actually
15:51 riteo: I /think/ I've seen this behavior across all major compositors
15:51 riteo: been a while since I messed around real hard with popups though
15:53 riteo: oh wait I misread sorry
15:53 riteo: I mean like, unmapping still causes that error
15:54 riteo: no yea I think MrCooper meant that
15:55 MrCooper: yep, the spec doesn't really seem to say that yet though
16:21 MrCooper: mvlad: AFAICT weston sends an XDG_SURFACE_ERROR_DEFUNCT_ROLE_OBJECT error only if the client tries to do something with the role object after destroying the xdg_surface object, the spec says it should be sent when destroying the latter though
16:22 MrCooper: (mutter currently never sends that error AFAICT)
16:24 MrCooper: AFAICT mutter / kwin / weston never send a WL_SURFACE_ERROR_DEFUNCT_ROLE_OBJECT error, wonder what would break if that's fixed
16:28 vyivel: wlroots enforces it and it works fine
17:11 MrCooper: good to know
17:57 wlb: weston Issue #1004 opened by Marius Vlad (mvlad) Detect a defunct role object at xdg_surface destruction https://gitlab.freedesktop.org/wayland/weston/-/issues/1004 [xdg_shell and wl_shell]
18:24 riteo: yay the proxy multiplexer thing I did seems to finally have reached a "good enough" status! I can multiplex two godot instances (admittedly with just the base protocols enabled) and can close and open the "secondary" clients fine!
18:24 riteo: Stuff seems to not (visibly) leak, at least when it comes to ids.
18:25 riteo: I don't want to celebrate victory too soon but I think that it's quite safe to say at this point that the proxy approach is indeed feasible!
18:25 riteo: I'll try to redirect a window to a subsurface _somehow_ (there are a few ways that come to mind) soon
20:09 mahkoh: Is it fixed API that `wl_proxy_get_listener` returns the dispatcher user data if a dispatcher was set on a wl_proxy?
20:15 vyivel: presumably so
20:17 wlb: wayland Merge request !462 opened by Julian Orth (mahkoh) client: document get_listener behavior for dispatchers https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/462
22:13 wlb: weston Merge request !1702 opened by Leandro Ribeiro (leandrohrb) Draft: introduce support to KMS color pipelines to offload pre-blend xform https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1702 [Colour management], [DRM/KMS backend]