PPekka Paalanenbackend-drm: drop HDR without libdisplay-info
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Use weston_compositor_add_destroy_listener_once() in plugins This introduces a new convention of checking through the compositor destroy listener if the plugin is already initialized. If the plugin is already initialized, then the plugin entry function succeeds as a no-op. This makes it safe to load the same plugin multiple times in a running compositor. Currently module loading functions return failure if a plugin is already loaded, but that will change in the future. Therefore we need this other method of ensuring we do not double-initialize a plugin which would lead to list corruptions the very least. All plugins are converted to use the new helper, except: - those that do not have a destroy listener already, and - hmi-controller which does the same open-coded as the common code pattern did not fit there. Plugins should always have a compositor destroy listener registered since they very least allocate a struct to hold their data. Hence omissions are highlighted in code. Backends do not need this because weston_compositor_load_backend() already protects against double-init. GL-renderer does not export a standard module init function so cannot be initialized the usual way and therefore is not vulnerable to double-init. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 6 年前 | |
Rename compositor.h to libweston/libweston.h The main idea is to make libweston users use the form #include <libweston/libweston.h> instead of the plain #include <compositor.h> which is prone to name conflicts. This is reflected both in the installed files, and the internal header search paths so that Weston would use the exact same form as an external project using libweston would. The public headers are moved under a new top-level directory include/ to make them clearly stand out as special (public API). Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 7 年前 | |
Rename compositor.h to libweston/libweston.h The main idea is to make libweston users use the form #include <libweston/libweston.h> instead of the plain #include <compositor.h> which is prone to name conflicts. This is reflected both in the installed files, and the internal header search paths so that Weston would use the exact same form as an external project using libweston would. The public headers are moved under a new top-level directory include/ to make them clearly stand out as special (public API). Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 7 年前 | |
Use weston_compositor_add_destroy_listener_once() in plugins This introduces a new convention of checking through the compositor destroy listener if the plugin is already initialized. If the plugin is already initialized, then the plugin entry function succeeds as a no-op. This makes it safe to load the same plugin multiple times in a running compositor. Currently module loading functions return failure if a plugin is already loaded, but that will change in the future. Therefore we need this other method of ensuring we do not double-initialize a plugin which would lead to list corruptions the very least. All plugins are converted to use the new helper, except: - those that do not have a destroy listener already, and - hmi-controller which does the same open-coded as the common code pattern did not fit there. Plugins should always have a compositor destroy listener registered since they very least allocate a struct to hold their data. Hence omissions are highlighted in code. Backends do not need this because weston_compositor_load_backend() already protects against double-init. GL-renderer does not export a standard module init function so cannot be initialized the usual way and therefore is not vulnerable to double-init. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 6 年前 | |
backend-pipewire: add PipeWire backend Add a separate PipeWire backend based on the PipeWire plugin. The backend requires PipeWire 0.3.x. The PipeWire backend can be used as a standalone-backend backend for streaming and composing Wayland clients to PipeWire. The backend supports the on-demand creation of heads via the weston_pipewire_output_api_v1. It also supports per-output pixel format configuration via a gbm-format option. Multiple PipeWire outputs can be created by setting the num-outputs option in the [pipewire] section. Co-authored-by: Michael Tretter <m.tretter@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> | 3 年前 | |
tests: add mechanism to change Weston's behavior when running certain tests There are some specific cases in which we need Weston to behave differently when running in the test suite. This adds a new API to allow the tests to select these behaviors. For instance, in the DRM backend we plan to add a writeback connector screenshooter. In case it fails for some reason, it should fallback to the renderer screenshooter that all other backends use. But if we add a test to ensure the correctness of the writeback screenshooter, we don't want it to fallback to the renderer one, we want it to fail. With this new API we can choose to disable the fallback behavior specifically for this test. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> | 5 年前 | |
backend-drm: drop HDR without libdisplay-info Hardcode the ad hoc EDID parser to always claim that only SDR is supported. Even though libdisplay-info is not yet asked for HDR capabilities, it shall be the only way to see them. To be nicer to experimenters, main.c adds a note that you really need libdisplay-info if you want to play with HDR. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 3 年前 | |
build: fix meson deprecation warnings Stop using features that Meson 0.63.0 throws deprecation warnings about: WARNING: Deprecated features used: * 0.56.0: {'dependency.get_pkgconfig_variable'} * 0.62.0: {'pkgconfig.generate variable for builtin directories'} Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> | 3 年前 | |
libweston: Use weston_coord in struct weston_pointer Convert the bare x,y coordinates into struct weston_coord and update all users. We keep the surface position in wl_fixed_t for now so it still exactly matches the position most recently sent to clients. Signed-off-by: Derek Foreman <derek.foreman@collabora.com> | 3 年前 | |
Use weston_compositor_add_destroy_listener_once() in plugins This introduces a new convention of checking through the compositor destroy listener if the plugin is already initialized. If the plugin is already initialized, then the plugin entry function succeeds as a no-op. This makes it safe to load the same plugin multiple times in a running compositor. Currently module loading functions return failure if a plugin is already loaded, but that will change in the future. Therefore we need this other method of ensuring we do not double-initialize a plugin which would lead to list corruptions the very least. All plugins are converted to use the new helper, except: - those that do not have a destroy listener already, and - hmi-controller which does the same open-coded as the common code pattern did not fit there. Plugins should always have a compositor destroy listener registered since they very least allocate a struct to hold their data. Hence omissions are highlighted in code. Backends do not need this because weston_compositor_load_backend() already protects against double-init. GL-renderer does not export a standard module init function so cannot be initialized the usual way and therefore is not vulnerable to double-init. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> | 6 年前 | |
compositor/text-backend: use xzalloc everywhere Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> | 3 年前 | |
frontend: Add common --renderer=foo argument Rather than reinventing --use-pixman and --use-gl throughout each backend, just have a common --renderer=foo argument which can be used to explicitly specify the renderer. The old arguments are still handled for backwards compatibility. Signed-off-by: Daniel Stone <daniels@collabora.com> | 3 年前 | |
screenshooter: Use wl_client, not wet_process See discussion in wayland/weston!951 for the reasoning why: the screenshooter must only deal with wl_client. Signed-off-by: Daniel Stone <daniels@collabora.com> | 3 年前 | |
Remove dbus-launch from weston.desktop Most display managers handle starting a dbus session daemon for you, so it does not make sense to start our own. Without this patch, if you run weston from gdm, programs cannot connect to the dbus session daemon. Reviewed-by: Daniel Stone <daniels@collabora.com> | 9 年前 | |
frontend: Split process and client handling weston_client_start() takes only a single path with no arguments, forking a process to start that command line, and creating a client from it. weston_client_launch(), which was always misnamed and will be renamed in the next patch, now only handles the child process and nothing else. Signed-off-by: Daniel Stone <daniels@collabora.com> | 3 年前 | |
xwayland: Reuse weston_client_launch Now that our process-launching internals are identical between the (still-misnamed) weston_client_launch and the frontend's Xwayland launcher, we can reuse the internals instead of open-coding it. As a result, we now additionally prevent Xwayland from inheriting Weston's signal mask, by clearing SIG_UNBLOCK on all signals. This should have no observable effect as we do not depend on signal handling within Xwayland, instead using the displayfd readiness mechanism since c2f4201ed2a8. Signed-off-by: Daniel Stone <daniels@collabora.com> | 3 年前 |