| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
cairo-util: Add missing HAVE_PANGO guard For pango_cairo_font_map_set_default(). Fixes #720 Suggested-by: Pekka Paalanen <pekka.paalanen@collabora.com> Signed-off-by: Marius Vlad <marius.vlad@collabora.com> | 3 年前 | |
clients: Add support for tablet cursor motion to window frames in libtoytoolkit When it comes to a window frame, a tablet tool and cursor act almost identical; they click things, drag things, etc. The tool type and extra axes don't serve any use in the context of a window frame, so tablet pointers share the frame_pointer structures used for the mouse pointer. Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Lyude Paul <thatslyude@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Signed-off-by: Bastian Farkas <bfarkas@de.adit-jv.com> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> | 3 年前 | |
doc/sphinx: Include weston-config and shell-utils in docs libweston contains weston_config and weston_shell_utils utilities functions so include these in the sphinx documentation as well. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> | 3 年前 | |
libweston: Support zwp_surface_synchronization_v1.set_acquire_fence Implement the set_acquire_fence request of the zwp_surface_synchronization_v1 interface. The implementation uses the acquire fence in two ways: 1. If the associated buffer is used as GL render source, an EGLSyncKHR is created from the fence and used to synchronize access. 2. If the associated buffer is used as a plane framebuffer, the acquire fence is treated as an in-fence for the atomic commit operation. If in-fences are not supported and the buffer has an acquire fence, we don't consider it for plane placement. If the used compositor/renderer doesn't support explicit synchronization, we don't advertise the protocol at all. Currently only the DRM and X11 backends when using the GL renderer advertise the protocol for production use. Issues for discussion --------------------- a. Currently, a server-side wait of EGLSyncKHR is performed before using the EGLImage/texture during rendering. Unfortunately, it's not clear from the specs whether this is generally safe to do, or we need to sync before glEGLImageTargetTexture2DOES. The exception is TEXTURE_EXTERNAL_OES where the spec mentions it's enough to sync and then glBindTexture for any changes to take effect. Changes in v5: - Meson support. - Make explicit sync server error reporting more generic, supporting all explicit sync related interfaces not just wp_linux_surface_synchronization. - Fix typo in warning for missing EGL_KHR_wait_sync extension. - Support minor version 2 of the explicit sync protocol (i.e., support fences for opaque EGL buffers). Changes in v4: - Introduce and use fd_clear and and fd_move helpers. - Don't check for a valid buffer when updating surface acquire fence fd from state. - Assert that pending state acquire fence fd is always clear after a commit. - Clarify that WESTON_CAP_EXPLICIT_SYNC applies to just the renderer. - Check for EGL_KHR_wait_sync before using eglWaitSyncKHR. - Dup the acquire fence before passing to EGL. Changes in v3: - Keep acquire_fence_fd in surface instead of buffer. - Clarify that WESTON_CAP_EXPLICIT_SYNC applies to both backend and renderer. - Move comment about non-ownership of in_fence_fd to struct drm_plane_state definition. - Assert that we don't try to use planes with in-fences when using the legacy KMS API. - Remove unnecessary info from wayland error messages. - Handle acquire fence for subsurface commits. - Guard against self-update in fd_update. - Disconnect the client if acquire fence EGLSyncKHR creation or wait fails. - Use updated protocol interface names. - User correct format specifier for resource ids. - Advertise protocol for X11 backend with GL renderer. Changes in v2: - Remove sync file wait fallbacks. - Raise UNSUPPORTED_BUFFER error at commit if we have an acquire fence, but the committed buffer is not a valid linux_dmabuf. - Don't put buffers with in-fences on planes that don't support in-fences. - Don't advertise explicit sync protocol if backend does not support explicit sync. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> | 7 年前 | |
clients: Fix/resolved doxygen warnings Missing/wrong parameters and '[out]' issues. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> | 6 年前 | |
file-util: allow specifying path separately in file_create_dated() Instead of assuming the file prefix contains the path and filename prefix, give these two items separately. A NULL or empty string path may still be given to refer to the current directory. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Reviewed-by: Daniel Stone <daniels@collabora.com> | 8 年前 | |
clients: Add support for tablet cursor motion to window frames in libtoytoolkit When it comes to a window frame, a tablet tool and cursor act almost identical; they click things, drag things, etc. The tool type and extra axes don't serve any use in the context of a window frame, so tablet pointers share the frame_pointer structures used for the mouse pointer. Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Lyude Paul <thatslyude@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Signed-off-by: Bastian Farkas <bfarkas@de.adit-jv.com> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> | 3 年前 | |
shared: extract hash table implementation from xwayland The hash table implementation is useful for other modules as well. Move it from xwayland to the shared code. Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> | 3 年前 | |
shared: extract hash table implementation from xwayland The hash table implementation is useful for other modules as well. Move it from xwayland to the shared code. Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> | 3 年前 | |
libweston/vertex-clipping: Use shared helper And introduced a new helper, CLIP, with it. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> | 3 年前 | |
image-loader: Fix undefined left shift in premultiply_data ../shared/image-loader.c:184:14: runtime error: left shift of 255 by 24 places cannot be represented in type 'int' Store each channel in a uint32_t instead of a byte so we compute the shift over an unsigned type. | 6 年前 | |
shared: Update boilerplate from MIT X11 license to MIT Expat license | 10 年前 | |
matrix: Introduce weston_coord All through weston we have code that passes int x, y or float x, y or wl_fixed_t x, y pairs. These pairs are frequently converted to/from wl_fixed_t and other types. We also have struct vec2d and struct weston_geometry which also contain coordinate pairs. Let's create a family of coordinate vector structures for coordinate pairs and use it anywhere we sensibly can. This has a few benefits - it helps remove intermediate conversion between fixed/float/int types. It lets us roll the homogenous coordinate normalization bits into helper functions instead of needing them open coded throughout the source. Possibly most importantly, it also allows us to do some compile time validation of what coordinate space we're working in. Signed-off-by: Derek Foreman <derek.foreman@collabora.com> | 3 年前 | |
libweston,shared/meson:build Add xkbcommon missing depends This is because e619a65b091, 'libweston: move gl-borders code into helper lib' and 6293ab1f90fdaf, 'libweston, shared: Move out weston_shell_get_binding_modifier' moved things out of libweston, and libweston implicitly depends on xkbcommon. Rather than just depending on dep_xkbcommon use the deps_for_libweston_users which includes some other dependencies as well. Had to move it out of libweston/meson.build and include it in the main meson.build as libweston/meson.build would have a circular dependency on libweston/meson.build file. This fixes the following build issue: [ 5s] FAILED: libweston/libgl-borders.a.p/gl-borders.c.o [ 5s] cc -Ilibweston/libgl-borders.a.p -Ilibweston -I../libweston -I. -I.. -Iinclude -I../include -I/usr/include/wayland -I/usr/include/pixman-1 -I/usr/include/cairo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/webp -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -Wmissing-prototypes -Wno-unused-parameter -Wno-shift-negative-value -Wno-missing-field-initializers -Wno-pedantic -Wundef -fvisibility=hidden -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -fPIC -MD -MQ libweston/libgl-borders.a.p/gl-borders.c.o -MF libweston/libgl-borders.a.p/gl-borders.c.o.d -o libweston/libgl-borders.a.p/gl-borders.c.o -c ../libweston/gl-borders.c [ 5s] In file included from ../libweston/renderer-gl/gl-renderer.h:32, [ 5s] from ../libweston/gl-borders.h:28, [ 5s] from ../libweston/gl-borders.c:31: [ 5s] ../include/libweston/libweston.h:39:10: fatal error: xkbcommon/xkbcommon.h: No such file or directory [ 4s] FAILED: shared/libshared.a.p/config-parser.c.o [ 4s] cc -Ishared/libshared.a.p -Ishared -I../shared -I. -I.. -Iinclude -I../include -I/usr/include/wayland -I/usr/include/pixman-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -Wmissing-prototypes -Wno-unused-parameter -Wno-shift-negative-value -Wno-missing-field-initializers -Wno-pedantic -Wundef -fvisibility=hidden -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -fPIC -MD -MQ shared/libshared.a.p/config-parser.c.o -MF shared/libshared.a.p/config-parser.c.o.d -o shared/libshared.a.p/config-parser.c.o -c ../shared/config-parser.c [ 4s] In file included from ../shared/config-parser.c:44: [ 4s] ../include/libweston/libweston.h:39:10: fatal error: xkbcommon/xkbcommon.h: No such file or directory Reported-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Marius Vlad <marius.vlad@collabora.com> (cherry picked from commit e1c41338361839c799e9702a31a318196f12329d) | 3 年前 | |
option-parser: Make bools boolean When option-parser is confronted with a boolean option, have it write a bool rather than treating the value as a pointer to an int32. (lib)weston already heavily uses bool types internally, so this has the nice side effect of eliminating quite a few local variables which only existed as integer shadows of internal boolean variables. Signed-off-by: Daniel Stone <daniels@collabora.com> | 6 年前 | |
shared: introduce os_fd_clear_cloexec() This function will be used between fork() and exec() to remove the close-on-exec flag. The first user will be compositor/xwayland.c. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 3 年前 | |
shared: introduce os_fd_clear_cloexec() This function will be used between fork() and exec() to remove the close-on-exec flag. The first user will be compositor/xwayland.c. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 3 年前 | |
Fix indentation all through the project Fixes a “regression” from 04918f3b0bb9121d550e6b397b3fd9258e95734d, but also other missed pieces. | 4 年前 | |
frontend: Add FDSTR_INIT macro This initialises fdstr to 'safe' values so we can reliably deinit them. Signed-off-by: Daniel Stone <daniels@collabora.com> | 3 年前 | |
frontend: Add FDSTR_INIT macro This initialises fdstr to 'safe' values so we can reliably deinit them. Signed-off-by: Daniel Stone <daniels@collabora.com> | 3 年前 | |
libweston: Introduce a safer wayland signal emission Wayland signals (wl_signal) do not reliably handle changes to the notification list during signal emission. Such scenarios occasionally come up and can be difficult to investigate and debug. This commit introduces the weston_signal_emit_mutable() function which can be used in place of wl_signal_emit() and safely implements the following behavior regarding notification list changes: 1. Listeners deleted during a signal emission and which have not already been notified at the time of deletion are not notified by that emission. 2. Listeners added during signal emission are ignored by that emission. The implementation of weston_signal_emit_mutable() is copied from the wlr_signal_emit_safe() function of the wlroots project. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> | 4 年前 | |
libweston: Introduce a safer wayland signal emission Wayland signals (wl_signal) do not reliably handle changes to the notification list during signal emission. Such scenarios occasionally come up and can be difficult to investigate and debug. This commit introduces the weston_signal_emit_mutable() function which can be used in place of wl_signal_emit() and safely implements the following behavior regarding notification list changes: 1. Listeners deleted during a signal emission and which have not already been notified at the time of deletion are not notified by that emission. 2. Listeners added during signal emission are ignored by that emission. The implementation of weston_signal_emit_mutable() is copied from the wlr_signal_emit_safe() function of the wlroots project. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> | 4 年前 | |
gl_renderer: print more GL ES feature flags This is a human readable replacement for printing out the list of all available GL extensions that doesn't happen anymore by default. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 4 年前 | |
helpers: Add a u64 from 2 u32 helper We do this enough that having a single implementation for it is probably a win. Signed-off-by: Derek Foreman <derek.foreman@collabora.com> | 3 年前 | |
gl-renderer: add support for (a|x)bgr16161616 shm formats These formats are useful because they are often easier to produce on CPU than half-float formats, and abgr16161616 has both >= 10bpc color channels and adequate alpha, unlike abgr2101010. The 16-bpc textures created from buffers with these formats require the GL_EXT_texture_norm16 extension. As WL_SHM_FORMAT_ABGR16161616 was introduced in libwayland 1.20, update Weston's build requirements and CI. The formats also needed to be registered in the pixel format table, and defined in a fallback path if recent libdrm is not available. Signed-off-by: Manuel Stoeckl <code@mstoeckl.com> | 4 年前 | |
gl-renderer: query DRM device given an EGLDisplay Add function to query the DRM device given an EGLDisplay. It is the device being used by the compositor to perform composition. This will be useful in the next commits of this series, where we add support for dma-buf feedback. Signed-off-by: Scott Anderson <scott.anderson@collabora.com> Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> | 4 年前 | |
compositor/shared: Suppress write(2) warnings Fixes the following warnings when building with _FORTIFY_SOURCE and optimizations enabled: ../shared/xalloc.h:49:9: error: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result] 49 | write(STDERR_FILENO, oommsg, strlen(oommsg)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ or ../compositor/main.c:427:25: error: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result] 427 | write(STDERR_FILENO, fail_seteuid, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 428 | strlen(fail_seteuid)); | ~~~~~~~~~~~~~~~~~~~~~ ../compositor/main.c:434:25: error: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result] 434 | write(STDERR_FILENO, fail_cloexec, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 435 | strlen(fail_cloexec)); | ~~~~~~~~~~~~~~~~~~~~~ ../compositor/main.c:442:25: error: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result] 442 | write(STDERR_FILENO, fail_exec, strlen(fail_exec)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Marius Vlad <marius.vlad@collabora.com> | 3 年前 | |
xwm: Add support for xwayland_shell_v1 Use the new protocol to prevent races in surface to window association. Signed-off-by: Derek Foreman <derek.foreman@collabora.com> | 3 年前 | |
xwm: Add support for xwayland_shell_v1 Use the new protocol to prevent races in surface to window association. Signed-off-by: Derek Foreman <derek.foreman@collabora.com> | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 10 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 |