summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* doc: Add running-weston.rst fileMarius Vlad2021-01-193-0/+170
| | | | | | | | | | | | | Documentation file for explaning in more detail how to run weston, using launcher direct and specifying a non-default seat. This explains how to create a udev file and assign a particular GPU card to it, and potentially, other input devices. It also describes a bit additional arguments that can be passed on, as an introduction to using the DRM node for that particular seat. Fixes #460 Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* pipewire: fix null deref in 0.3 APIAmbareesh Balaji2021-01-121-0/+1
| | | | Signed-off-by: Ambareesh Balaji <ambareeshbalaji@gmail.com>
* tests: add yuv-buffer testPekka Paalanen2020-12-174-0/+435
| | | | | | | | | | | | | | | | | | | | | | | | | This adds a test to ensure that the wl_shm formats YUV420, NV12 and YUYV are decoded and converted to RGB correctly in GL-renderer. The test deliberately uses a 256 x 256 test image so that effects from width vs. pitch vs. stride cannot be observed, and row padding is zero. Also padding between planes is zero. Attempting to use a test image with less "round" dimensions lead to stride mismatch in GL-renderer, likely due to GL_UNPACK_ALIGNMENT being left at value 4. It is unclear if YUV wl_shm buffers' row stride needs to be aligned to 4 bytes or not, so I did not pursue fixing it. GL-renderer seems to be confusing width, pitch and stride even further, and not e.g. allow padding with ARGB buffers. See also: https://gitlab.freedesktop.org/wayland/weston/-/issues/354 Furthermore, the test arranges so that each 2x2 pixel block has the same color. This avoids having to consider chroma siting when sub-sampling. This way all the test cases can use the same reference image. The source image chocolate-cake.png is taken and copyright by Pekka Paalanen, hereby licensed as http://creativecommons.org/licenses/by-sa/4.0/ . Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* launcher: Add more error logging to launcher backendsAnurup M2020-12-165-12/+48
| | | | | | | | Add error logging in three different launcher backends: launcher-logind, launcher-weston-launch, and launcher-direct to indicate failures for easier debug Signed-off-by: Anurup M <anurup.m@huawei.com>
* gl-renderer: require GL_EXT_unpack_subimagePekka Paalanen2020-12-152-26/+5
| | | | | | | | | | | | | | | | | | Require GL_EXT_unpack_subimage unconditionally in GL-renderer. Without this extension, it would take considerable effort in GL-renderer to handle correctly images that contain row padding, either as a temporary copy to remove padding or doing SubImage updates row by row. I would guess that this path has gone long completely untested, and if it was exercised, the rows never had padding thanks to 32-bit pixel formats. Instead of writing tests to poke the corner cases and fixing it, remove it. This will make it easier to fix other problems in GL-renderer in this area in the future - one less path to consider and many restrictions in GL API gone. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* launcher-direct: warn when opening devices non-rootPekka Paalanen2020-12-111-0/+6
| | | | | | | | Warn the user that this is not supposed to work. Developers who know what they are doing know to ignore this message, others should think twice. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* launcher-direct: allow non-root on non-seat0Pekka Paalanen2020-12-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | If the launcher is told to use a non-default seat (not seat0), there will not be a VT or tty to set up. VT/tty setup requires privileges. This patch allows a non-root user to use launcher-direct, provided that the seat is not the default. There is still the problem of opening DRM and input devices, which is left for the user to solve. This mode of operation is useful for developers who can set up a secondary seat on their machine. You can run Weston/DRM from a terminal window by pointing it to a non-default seat. You have to arrange a DRM device by having an extra unused graphics card in the machine. You also need dedicated input devices. Both the DRM device and the input devices must be assigned to the secondary seat and device file permissions adjusted so that they can be opened. Doing so is an obvious security risk, as input could easily be eavesdropped. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* compositor: Fix possible memory leak when wl_display_create() failsAnurup M2020-12-101-5/+5
| | | | | | | | The buffer created for flight recorder, the allocations done in 'logger' and 'flight_rec' subscribers were not freed when wl_display_create() fails. So move them to out_display Signed-off-by: Anurup M <anurup.mokkil@gmail.com>
* doc: Avoid weston install useless documentation filesAnurup M2020-12-092-1/+6
| | | | | | Avoid .doctrees (~3.5 MB) and .buildinfo to be installed Signed-off-by: Anurup M <anurup.m@huawei.com>
* tests: add alpha-blending testPekka Paalanen2020-12-093-0/+254
| | | | | | | | | | In anticipation of invasive future work on color management, add an alpha blending test to make sure we don't break alpha blending. The idea for doing a monotonicity test came from glennk on #dri-devel in Freenode IRC. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* tests: factor out verify_image()Pekka Paalanen2020-12-092-15/+50
| | | | | | | | | | | This refactors a new function verify_image() out of verify_screen_content(). verify_image() will be useful with a test that verifies a screenshot against a reference image but also wants to do additional testing on the screenshot. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* tests: constify fill_image_with_color()Pekka Paalanen2020-12-092-2/+2
| | | | | | | Const has documentary value saying the code will not modify the parameter contents. Everything that can be const, should be const. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* tests: re-order drm-smoke in test listPekka Paalanen2020-12-091-1/+1
| | | | | | To keep the list in alphabetical order so it's easy to search. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* libweston/libinput-device: Enable/Set pointer capabilities only on pointer ↵Marius Vlad2020-12-081-5/+24
| | | | | | | | | | | | | | | | | movement Some panels advertise both pointer/touch capabilities but without having real capability of driving a cursor (they're basically touch panels) and use USB as a communication tunnel to transfer/send out input events. As we can't really tell if they're fake or not, only advertise to clients pointer capabilities if we detect movement on the cursor/pointer. We handle it at lower level as that allows to handle the case where removal of a real pointer should also remove the cursor from being displayed on the screen. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* desktop-shell: Add missing weston_config_destroy() for desktop.configAnurup M2020-12-081-0/+2
| | | | | | | desktop.config sections could be freed after it's use. This will avoid memory leak. Signed-off-by: Anurup M <anurup.mokkil@gmail.com>
* backend-drm: Fix ignoring config 'require-input' optionMarius Vlad2020-12-073-6/+5
| | | | | | | | | | Without this patch, the DRM-backend would rewrite the 'require-input', core section option given by the user. This removes 'continue_without_input' DRM-backend option and takes into consideration the cmd line option only if that was passed (Pekka Paalanen). Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* gitlab-ci.yml: Have a doc jobMarius Vlad2020-12-041-5/+29
| | | | | | | | | | | This helps identify if we have actually have a build issue or if we have a documentation build failure. Notifications sent out are specifying the name of the build, making things much easier to figure out what actually failed. Uses another job w/o the need to run the tests (again). Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* config-parser: use zalloc()Pekka Paalanen2020-11-271-3/+4
| | | | | | | | | | | | | | | | | | | | | While the code looks fine, clang 7 memory sanitizer complains about things like: ==26052==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x7f4f4d003327 in weston_config_get_section /home/pq/build/weston-clang/../../git/weston/shared/config-parser.c:141:2 #1 0x7f4f4cfce11a in wet_main /home/pq/build/weston-clang/../../git/weston/compositor/main.c:3266:12 ==26683==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x7f09ebd638e2 in config_section_get_entry /home/pq/build/weston-clang/../../git/weston/shared/config-parser.c:125:2 #1 0x7f09ebd661c4 in weston_config_section_get_bool /home/pq/build/weston-clang/../../git/weston/shared/config-parser.c:310:10 #2 0x7f09ebd2e1e5 in wet_main /home/pq/build/weston-clang/../../git/weston/compositor/main.c:3269:3 In all cases, the errors point to wl_list_for_each(). Making these allocations use zalloc() avoids these errors. Since using zalloc() is a good habit in any case, I didn't dig deeper. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* tests: do not save PNG on successPekka Paalanen2020-11-181-6/+8
| | | | | | | | | | | Do not write out PNG files for successful screenshot tests. It clutters the build directory, but the biggest reason is to keep the CI artifacts smaller. internal-screenshot test still writes a PNG, it's good to keep one PNG written so that we exercise the PNG writing code always. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* CI: store test images in artifactsPekka Paalanen2020-11-181-0/+1
| | | | | | | | If a screenshooting test fails, it quite likely writes not only the screenshot but also a diff image highlighting the failed pixels. These would be good to have in the CI artifacts for postmortem. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* pipewire/meson: fix option in user_hintVeeresh Kadasani2020-11-171-1/+1
| | | | Signed-off-by: Veeresh Kadasani <veereshkadasani88@gmail.com>
* compositor: move tests quirks initialization to weston_compositor_create()Leandro Ribeiro2020-11-173-40/+17
| | | | | | | | | | | | Until now we had the test quirks initialization in wet_main(), just after calling weston_compositor_create(). But there are some cases that require the quirks during struct weston_compositor creation time. Move test quirks initialization to weston_compositor_create() in order to cover more use cases for the test quirks mechanism. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* remoting,pipewire: Use the connector and the output name for the head nameMarius Vlad2020-11-092-2/+10
| | | | | | | | | | | | | Makes the client's life much easier to identify between multiple remote outputs. xdg_output is advertising (in later versions) the head name, but in case we have different plug-ins or multiple remote outputs created, it would only repeat/advertise the same name for all (remoting) outputs. This instead uses a string that uses both the connector and name to derive a more easier identifier a client can choose from. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* backend-headless: NULL check after wl_event_loop_add_timerbnlrnz2020-11-061-0/+5
| | | | | | | Running weston with headless backend will segfault if wl_event_loop_add_timer fails Closes #102 Signed-off-by: Ben Lorenz <bnlrnz@gmail.com>
* CI: expose built docs previewPekka Paalanen2020-11-051-0/+12
| | | | | | | This adds a link in any MR to the documentation from the CI build, making it easy to preview the documentation. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* kiosk-shell: Keep track of seats created and destroy them at endMarius Vlad2020-11-042-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kiosk_shell_destroy() will free up weston_desktop, but still keeping listeners set-up (keyboard/seat/caps), which will fire when the the compositor is stopped/shutdown by clients still connected. This patch maintains a list of seats and uses it to remove any listeners when calling kiosk_shell_destroy(). desktop-shell and ivi-shell do not appear to be using weston_desktop_destroy() in their respective destroy parts. This avoids an illegal access happening when calling one of the listeners, after weston_desktop has been free'ed, like the following: ==2002== at 0x10F3F8FD: weston_desktop_get_display (libweston-desktop.c:125) ==2002== by 0x10F450A7: weston_desktop_xdg_surface_schedule_configure (xdg-shell.c:1022) ==2002== by 0x10F44793: weston_desktop_xdg_toplevel_set_activated (xdg-shell.c:643) ==2002== by 0x10F41AA5: weston_desktop_surface_set_activated (surface.c:468) ==2002== by 0x10F32E7E: kiosk_shell_seat_handle_keyboard_focus (kiosk-shell.c:329) ==2002== by 0x4A726A7: wl_signal_emit (wayland-server-core.h:478) ==2002== by 0x4A75BD1: weston_keyboard_set_focus (input.c:1586) ==2002== by 0x4A776FE: notify_keyboard_focus_out (input.c:2314) ==2002== by 0x5902BC1: udev_seat_destroy (libinput-seat.c:469) ==2002== by 0x59028C5: udev_input_destroy (libinput-seat.c:375) ==2002== by 0x58F0449: drm_destroy (drm.c:2571) ==2002== by 0x4A6EE39: weston_compositor_destroy (compositor.c:7814) ==2002== Address 0x10bd1780 is 0 bytes inside a block of size 152 free'd ==2002== at 0x48399AB: free (vg_replace_malloc.c:538) ==2002== by 0x10F3F8DA: weston_desktop_destroy (libweston-desktop.c:112) ==2002== by 0x10F34357: kiosk_shell_destroy (kiosk-shell.c:1009) ==2002== by 0x4A5F618: wl_signal_emit (wayland-server-core.h:478) ==2002== by 0x4A6EE06: weston_compositor_destroy (compositor.c:7809) ==2002== by 0x4855548: wet_main (main.c:3420) ==2002== by 0x109154: main (executable.c:33) ==2002== Block was alloc'd at ==2002== at 0x483AB65: calloc (vg_replace_malloc.c:760) ==2002== by 0x10F3F681: zalloc (zalloc.h:38) ==2002== by 0x10F3F724: weston_desktop_create (libweston-desktop.c:65) ==2002== by 0x10F34458: wet_shell_init (kiosk-shell.c:1045) ==2002== by 0x484F83D: wet_load_shell (main.c:924) ==2002== by 0x48552D3: wet_main (main.c:3361) ==2002== by 0x109154: main (executable.c:33) Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* tests: drop test suite screenshooter implementation and protocol extensionLeandro Ribeiro2020-10-272-261/+0
| | | | | | | | | | | | | | | This is a follow-up of commit "tests: start to use Weston's default screenshooter in the test suite". As we've started to use Weston's default screenshooter implementation and protocol extension in the test suite, we don't need what we've created specifically for the test suite anymore. Drop test suite screenshooter implementation and protocol extension. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* tests: start to use Weston's default screenshooter in the test suiteLeandro Ribeiro2020-10-275-11/+29
| | | | | | | | | | | | | Until now we had two different protocol extensions: one for the test suite screenshooter and other for the screenshooter client. As they are identical and this won't change, make the test suite use the same protocol that the screenshooter client uses. Besides the cleanup, this change will also allow us to use the DRM writeback screenshooter in the test suite, as the test suite implementation is hardcoded to use a renderer based screenshooter. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* screenshooter: rename some functions to avoid conflictsLeandro Ribeiro2020-10-273-9/+9
| | | | | | | | | | | | | | | | | | | | We have two functions with the name weston_screenshooter_shoot(): 1. screenshot protocol function that the screenshooter client uses to request screenshots to the compositor 2. libweston function used by the compositor to take screenshots as requested by the screenshooter client Until now we had no problem with that, but in the next commits we are going to use the screenshot protocol in the test suite, which is also user of libweston. So rename screenshot protocol function to weston_screenshooter_take_shot() to avoid the conflict. For consistency, also rename screenshooter_shoot() to screenshooter_take_shot() in compositor/weston-screenshooter.c Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* tests: change type of int buffer_copy_done to boolLeandro Ribeiro2020-10-272-4/+4
| | | | | | | The 'struct test' has a field 'int buffer_copy_done', but it is in a fact a boolean. Change it to 'bool buffer_copy_done'. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* tests: remove has_wl_drm from struct clientLeandro Ribeiro2020-10-272-3/+0
| | | | | | | | The wl_drm protocol is not being used by the test client. So remove 'bool has_wl_drm' from 'struct client' and also the branch that initializes this variable in handle_global(). Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* tests: remove destroy_listener when destroying test-desktop-shellLeandro Ribeiro2020-10-271-0/+2
| | | | | | | When destroying the shell we need to remove the listeners as well. The test-desktop-shell was forgetting to do this. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* libweston: bump major version to 10Pekka Paalanen2020-10-271-1/+1
| | | | | | | | | | | | Commit 32a5acde5be9c9762526274fcd5bfe02288bb6ec "tests: add mechanism to change Weston's behavior when running certain tests" added a new field to struct weston_compositor. Since that struct is still in the public header, this breaks ABI. Bump the library version accordingly. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* libweston: drop opaque struct wet_testsuite_dataLeandro Ribeiro2020-10-273-9/+3
| | | | | | | | | Until now we had struct wet_testsuite_data as an opaque struct that should be defined by the testsuite of libweston users. Instead, keep the data as a void * and document that users are responsible for defining the data type. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* tests: add mechanism to change Weston's behavior when running certain testsLeandro Ribeiro2020-10-2710-75/+93
| | | | | | | | | | | | | | | | | 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>
* Add EGL_NO_PLATFORM_SPECIFIC_TYPES to avoid Xlib.h via EGL headersHeiko Thiery2020-10-261-0/+1
| | | | | | See: https://github.com/KhronosGroup/EGL-Registry/pull/111 discussion. Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
* libweston/backend/drm: might need EGLHeiko Thiery2020-10-261-0/+4
| | | | | | | | | | | | | | | gbm-drm.c includes gl-renderer.h. When EGL is enabled, that in turns includes egl.h. As such, dependencies for drm should include EGL if it is available. This condition is modelled after a similar one in libweston/meson.build Reported-by: Gary Bisson <gary.bisson@boundarydevices.com> Reported-by: Heiko Thiery <heiko.thiery@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Refik Tuzakli <tuzakli.refik@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
* libweston: constify data_source_interfacePekka Paalanen2020-10-211-1/+1
| | | | | | | | | | | | | Found mutable global variables with $ grep -P '^static (?!const).*[=;]' -- compositor libweston shared Mutable global or static variables make it harder to run several compositor instances in the same process. That is what the test suite would probably need to do to test wayland-backend. This one variable does not need to be mutable. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* compositor: delete segv_compositorPekka Paalanen2020-10-211-2/+0
| | | | | | | | | This was forgotten in "weston: remove SEGV and ABRT handlers". It is unused. Fixes: bb707dc0fe331c9af112a0552b7aa6fde755dd83 Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* backend-drm: Reuse drmModeRes in drm_backend_createIgor Matheus Andrade Torrente2020-10-191-23/+19
| | | | | | | Rework some functions in `drm.c` to reuse the `drmModeRes` and reduce the usage of `drmModeGetResources` and `drmModeGetResources`. Signed-off-by: Igor Matheus Andrade Torrente <igormtorrente@gmail.com>
* clients: Fix shell background image setting.Tanmay Shah2020-10-191-1/+1
| | | | | | | | | | | | | | | | | | | If weston.ini is not setting background-image path, then desktop-shell sets ${DATDIR}/weston/pattern.png as background. However in this case width and height is set to 1 during background config and is being scaled to avoid allocation of buffer. This behavior is not right. Along with background-image path, we should also check if background-color is set. If background color is set, then only scale 1x1 buffer. This would allow to set pattern.png as default wallpaper of weston correctly, if background-color is also not set in weston.ini file. Fixes: 3623e46dc555ea9df34ff259530af64f0d9f0645 Signed-off-by: Tanmay Shah <tanmay@codeaurora.org>
* ivi-shell: clean up remaining ivisurface during de-initHarsha M M2020-10-161-0/+2
| | | | Signed-off-by: Harsha M M <harsha.manjulamallikarjun@in.bosch.com>
* Bump libdrm dependency to 2.4.95Pekka Paalanen2020-10-162-16/+1
| | | | | | | | | | | | | | | | | | | | 96bef0517ec5318c6c253f27fc2f4aeb289bad9b "drm-backend: add support for writeback connectors" started using DRM_MODE_CONNECTOR_WRITEBACK and DRM_CLIENT_CAP_WRITEBACK_CONNECTORS. These were introduced in libdrm 2.4.95. According to https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/311 Ubunut Xenial is the only mentioned distribution that does not provide a libdrm new enough. I think that is fine to drop now, 2016 was a good while ago. Libdrm 2.4.95 also introduced DRM_CLIENT_CAP_ASPECT_RATIO, DRM_MODE_PICTURE_ASPECT_64_27, DRM_MODE_PICTURE_ASPECT_256_135. The fallback definitions for the above are dropped. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* backend-rdp: release seat on peer disconnectStefan Agner2020-10-161-2/+2
| | | | | | | | | | | | | Properly release the seat on RDP disconnect. Using current master branch which is commit d93c0f705949 ("backend-rdp: fix memory leak") I was not able to reproduce the crash on reconnect as mentioned in the current comment. Using Weston with rdp-backend directly as well as using the screen-share plug-in allowed to reconnect just fine. Hence release the Weston seat properly using weston_seat_release and free the seat structure. This also avoids mouse pointers displayed for every RDP connection. Signed-off-by: Stefan Agner <stefan@agner.ch>
* rdp-backend: require FreeRDP >= 2.2 to remove all the version hacksDavid Fort2020-10-014-173/+61
| | | | | | | | The stable FreeRDP 2.x branch has been released, so let's rely on that maintained version and drop all the hacks for older versions. That makes the code and build cleaner. Signed-off-by: David Fort <contact@hardening-consulting.com>
* tests: Convert ivi-shell-app-test.c to use `weston_ini_setup`Igor Matheus Andrade Torrente2020-09-304-106/+94
| | | | | | | Convert ivi-shell-app-test.c to use `weston_ini_setup`. It also removes the pre-made weston.ini and all the related code in the meson files. Signed-off-by: Igor Matheus Andrade Torrente <igormtorrente@gmail.com>
* rdp-backend: unify creation of pixman_renderer_outputDavid Fort2020-09-301-1/+1
| | | | | As pointed by Daniel Stone in #372, creation of pixman renderer outputs in the rdp backend were inconsistant regarding use_shadow.
* drm-backend: add support for writeback connectorsLeandro Ribeiro2020-09-163-11/+149
| | | | | | | | | | | Recognize writeback connectors and add 'struct drm_writeback' objects in order to store them. These objects are created and stored in a list by the time that DRM-backend is initialized. This list is updated if a writeback connector dynamically appears or is disconnected. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* drm-backend: add function drm_backend_add_connector() to create drm_head for ↵Leandro Ribeiro2020-09-161-16/+31
| | | | | | | | | | | | | connectors that appear Instead of directly creating heads for the connectors in functions drm_backend_create_heads() and drm_backend_update_connectors(), add drm_backend_add_connector() that will handle this. This split makes the code look better and will also make our lives easier when we introduce writeback connectors. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
* drm-backend: add helper function resources_has_connector()Leandro Ribeiro2020-09-161-9/+12
| | | | | | | Add helper function resources_has_connector(), what makes the function drm_backend_update_connectors() look better. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>