- Mar 25, 2025
-
-
As we exit early we never have the chance to mark it as is_direct when the buffer type is direct_display. This is required as is_direct is never checked in GL attach part we end up tripping on invalid renderer_private causing it to assert. Fixes 2db4f17244f, "compositor: re-order paint node placeholder checks" Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Found out in https://github.com/mm2/Little-CMS/issues/483 This should be a complete no-op change, but there is one difference. Previously matrix_inf_norm() summed over rows. Now it sums over columns as it should be. This shouldn't hurt because it is only used to identify identity matrices. The bug was actually in is_identity_matrix_stage() because it deliberately passed what was assumed to be a transpose of the matrix. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
- Mar 13, 2025
-
-
Marius Vlad authored
Prior to executing a new command restore the parent process to the default SIG_DLF handler as we normally use SIG_IGN it to avoid crashing on pasted input. As we seem to be hitting a Broken Pipe message when running certain scripts, it seem we need to restore back the default handler. This is similar to what other folks have been doing in https://github.com/labwc/labwc/issues/1209 . Fixes: #994 Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
- Mar 07, 2025
-
-
As we had changes like 9ae0a7ec and adeb634c which require a libweston major bump uprev. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
This is required to avoid a namespace collision for LED_COMPOSE key code and was introduced with c1127603, "input: Add support for LED_COMPOSE and LED_KANA". If not already done this requires a libweston major version bump. Fixes: #997 Fixes: c1127603, "input: Add support for LED_COMPOSE and LED_KANA USB HID LEDs" Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
- Mar 06, 2025
-
-
We get rid of a little bit of fallback code, but the real reason is that in the future the frontend will start using libdisplay-info as well, and this lets us avoid adding fallback code there too. Signed-off-by:
Robert Mader <robert.mader@collabora.com>
-
Next we are going to make libdisplay-info 0.2.0 a hard requirement. Signed-off-by:
Robert Mader <robert.mader@collabora.com>
-
Frontend will be needing it, too, so move it up. In doing so, we make it a mandatory dependency of Weston. This should be fine, because it was required by DRM-backend which is the foremost. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
Marius Vlad authored
As the flight recorder subscribed by default to the drm-backend will implicily arm the KMS page flip counter. Just use the "log", log scope. To make this more obvious, with this change we also print the subscriptions, when we detect that the flight recorder is enabled. Users can use the provided cmd line args (-f/--flight-rec-scopes) to adjust those. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
when drm-backend debug scope is set. This follows-up with the surface counter timer but because this is buried in the drm-backend we make use the drm-backend scope if there's a subscription to it and enable and arm the counter as well when that happens. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
This patch counts the page flips (either in atomic or legacy page flips) for DRM outputs and prints them using the drm-backend scope. Similar to the frame callback timer counter this installs a counter that periodically computes page flips per a pre-defined interval. This also includes a perfetto counter to display these in perfetto. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Rather than having this timer always fire up & running, do it when we actually enable debug, with the `--debug` cmd line argument. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Rather than using wl_surface::commit to count the frame rate, use the painted frames for each paint node, and implictly the surface. This happens in the output repaint paint node list parsing, and includes also a perfetto counter to display it. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
This is a continuation of work from !24 This patch adds a surface callback frame rate counter to the scene-graph debug scope. The timer interval is set by default to 1 second. This use a timer to periodically compute the current frame callback commits in that interval as the surface frame rate per timer interval. Note that is solely based on wl_surface::commit call. Together with this, this patch also adds perfetto counter that stores the same computed frame rate. This means the counter will be updated on the next interval timer when the timer is armed/fired such that that perfetto drawings will show up in a window period of time (interval). Helpful to identify what frame rates clients achieve to debug performance issues as to provide an objective common group. Using the debug-scope aggregates all surfaces at the same place. This is not based on the GPU whatsoever so it can also work on SHM type of buffers. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com> Signed-off-by:
Changwoo Cho <changwoo.cho@lge.com>
-
Marius Vlad authored
This way we can use the same ID when for perfetto counters to allow to identify clients much easier. Also, renamed "surface" with "unlabelled surface" when get_label function is not set. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
- Mar 04, 2025
-
-
Trivial fix to get a clean valgrind fd report with gl-renderer. Signed-off-by:
Erico Nunes <nunes.erico@gmail.com>
-
Replace find_shell_output_from_weston_output with private data. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
Similar to what's just been done to kiosk-shell, use our internal shell_output instead of directly using weston_output in our internal structures. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
Shells need to find their own internal structures for weston_outputs. Let's make that process trivial instead of a list walk. Add a getter and setter for this private data and use it from the kiosk shell. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
We end up doing some extra list walks and mildly awkward contortions to find the kiosk_shell_output from the weston_output. Store the kiosk_shell_output instead - it's always trivial to find the weston_output from that, and it just seems a bit cleaner conceptually for kiosk shell abstractions to point to other kiosk shell abstractions when available. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
- Mar 03, 2025
-
-
Pekka Paalanen authored
Get the realloc() code path executed. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
Pekka Paalanen authored
Fixes the following UBSan error: ../../git/weston/libweston/id-number-allocator.c:140:16: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
Pekka Paalanen authored
realloc() does not initialize the added memory, it needs to be zeroed explicitly. Not zeroing this memory had one severe consequence: if the new lowest_free_bucket was 0xffffffff, weston_idalloc_get_id() would fail an assertion. Otherwise non-zero bits in the added memory would just cause id numbers to be skipped unnecessarily, which does no harm. Fixes: #1000 Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
Pekka Paalanen authored
No functional change here other than asserting that next_num didn't wrap around. This reorganization helps adding the code needed to clear the memory added by xrealloc() in the next patch. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
- Feb 26, 2025
-
-
Loïc Molinari authored
Setup a custom assertion handler that increases an assertion counter instead of aborting on failure. This allows to run all the sub tests defined for a test and to correctly report which sub test failed. Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
NDEBUG doesn't need to be catched anymore now that the test suite don't use libc's abort() anymore. Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
This framework isn't used anymore. Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
Make the NULL assertions more explicit. weston_assert_ptr_is_null() -> weston_assert_ptr_null() weston_assert_ptr() -> weston_assert_ptr_not_null() Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
This commit gets rid of libc's abort() usage in the test suite using test asserts instead. Asserts run in the server as plugins aren't converted because they are shared between server and client. Co-authored-by:
Daniel Stone <daniels@collabora.com> Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
It's much more common to have bits defined as enums than having a position, so let's just directly take a bit as argument to the bit asserts. For the few cases where only the position is available, it's easy to get the right bit using a shift. The is_pow2_64() helper functions have been added in order to validate the bit passed as argument and prevent programming errors. Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
Loïc Molinari authored
This commit introduces various Weston based asserts for the testing framework. The goal is to ease test writing and improve readability. Using custom asserts instead of relying on libc's assert() will also help providing NDEBUG builds. This is currently not possible because setting NDEBUG would disable all the asserts in the tests. Signed-off-by:
Loïc Molinari <loic.molinari@collabora.com>
-
For a list of changes that got squashed into this commit see https://gitlab.freedesktop.org/rmader/weston/-/commits/color-management-protocol-wp-v1-bkp Co-authored-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com> Signed-off-by:
Robert Mader <robert.mader@collabora.com> Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
- Feb 21, 2025
-
-
re-aligned the ivi_layout_interface structure in ivi-layout.c. purely a formatting update, no functional changes were made. Signed-off-by:
LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
-
Implement new ivi_layout_interface method and signal to forward desktop client ping timeout events for unresponsive client handling. Signed-off-by:
LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
-
A window freeze can occur in specific use cases like when using a kiosk shell. It scales surfaces to fit the compositor size and the transformation to buffer space can, in some cases, round the size one pixel higher than the texture size, making glTexSubImage2D() refuse the size argument and generate a GL_INVALID_VALUE without updating the texture. This commit ensures the GL renderer doesn't exceed the texture size. Here is how the issue was reproduced: $ weston --renderer=gl --backend=wayland --width=1920 --height=1080 --shell=kiosk $ gst-launch-1.0 videotestsrc ! video/x-raw,height=590,width=500 ! waylandsink display=wayland-1 Signed-off-by:
Théo Maillart <tmaillart@freebox.fr>
-
When in VRR mode, repainting without a wait might happen instantly, so do it. This is likely not the best long term solution, but is ok for now while weston's vrr support is experimental. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
Allow weston.ini to enable game VRR. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
Add functions to query output VRR capabilities and set the current VRR mode. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-