- 14 Aug, 2020 2 commits
-
-
weston-info is now deprecated in favor of wayland-info which is part of wayland-utils. Add a note to weston-info to inform users that weston-info is deprecated and will be removed soon. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com>
-
after calling malloc() , be sure to determine whether the allocating for memory space is successful Signed-off-by:
ganjing <ganjing@uniontech.com>
-
- 13 Aug, 2020 2 commits
-
-
Simon Ser authored
-
The refcount is not zero if the corresponding buffer is attached to multiple surfaces. Signed-off-by:
Michael Olbrich <m.olbrich@pengutronix.de>
-
- 12 Aug, 2020 1 commit
-
-
compositor_accumulate_damage() is called for each output during repaint. The DRM backend will only set keep_buffer for the surfaces that are visible on the current output. So a buffer_ref is released that may still be needed. When the output that shows the surface is repainted, the buffer_ref is gone and the surface cannot be put on a plane. Ignore all surfaces that are not visible on the current output to avoid this. Signed-off-by:
Michael Olbrich <m.olbrich@pengutronix.de>
-
- 11 Aug, 2020 1 commit
-
-
Michael Olbrich authored
Currently the debug output for 'drm-backend' can be confusing. In the output of debug_scene_view_print() views may be listed as 'not opaque' but later, during plane assignment, other views underneath such a view is reported as 'occluded on our output'. This happens because weston_view_is_opaque() has some extra checks to determine if a view is fully opaque, such as 'is_opaque' provided by the renderer for formats that have no alpha channel. Use weston_view_is_opaque() in debug_scene_view_print() as well to get more accurate results. Signed-off-by:
Michael Olbrich <m.olbrich@pengutronix.de>
-
- 06 Aug, 2020 1 commit
-
-
Michael Olbrich authored
These functions are all declared twice in the same file. Remove on of the two declarations. Signed-off-by:
Michael Olbrich <m.olbrich@pengutronix.de>
-
- 30 Jul, 2020 2 commits
-
-
Simon Ser authored
-
kiosk-shell is fullscreen shell for apps that use the xdg-shell protocol. The goal is to make life easier for people shipping embedded devices with simple fullscreen shell requirements, and reduce the proliferation of desktop-shell hacks. Top level surfaces are made fullscreen, whereas dialogs are placed on top in the center of the output and retain their natural sizes. Dialogs can be moved and (un)maximized, but resizing is currently not supported. An app can be directed to a particular output by populating the "app-ids" field with the app's XDG app id, in the relevant "[output]" section in the weston config file. Fixes: #277 Signed-off-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com>
-
- 28 Jul, 2020 1 commit
-
-
Leandro Ribeiro authored
There's a log that advertises support for universal planes. That can make users think there's something wrong with Weston or their systems when universal planes are not supported, but that's not the case. Remove this log from the code. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
- 09 Jul, 2020 1 commit
-
-
Kirill Chibisov authored
The core Wayland protocol explicitly states that wl_keyboard.modifiers must be send after wl_keyboard.enter. This commit also changes the behavior of `seat_get_keyboard` to not send `wl_keyboard.modifiers` in case where seat had pointer focus, but not keyboard one. Signed-off-by:
Kirill Chibisov <contact@kchibisov.com>
-
- 01 Jul, 2020 2 commits
- 25 Jun, 2020 2 commits
-
-
In order to run DRM-backend tests, a DRM-device is needed. As we do not necessarily have control of the hardware that is going to run our tests in GitLab CI, DRM-backend tests were being skipped. This patch add support to run the tests using VKMS (virtual KMS). To achieve this, virtualization is needed, as we need to run a custom kernel during the CI job. We've decided to go with virtme, as it is simpler to setup and works good for our use case. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
Launcher-direct does not allow us to run using a different seat from the default seat0. This happens because VTs are only exposed to the default seat, and users that are on non-default seat should not touch VTs. Add check in launcher-direct to skip VT/tty management if user is running on a non-default seat. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
- 24 Jun, 2020 1 commit
-
-
Frank Binns authored
Fix the following build warning by moving the 'seals' declaration inside the HAVE_MEMFD_CREATE guard: ../shared/os-compatibility.c: In function ‘os_ro_anonymous_file_get_fd’: ../shared/os-compatibility.c:341:6: warning: unused variable ‘seals’ [-Wunused-variable] int seals, fd; ^ Signed-off-by:
Frank Binns <frank.binns@imgtec.com>
-
- 23 Jun, 2020 1 commit
-
-
As in some circumstances there could be no output connected, avoid retrieving the width/height of the output if none was found/connected. Fixes: #384 Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
- 12 Jun, 2020 1 commit
-
-
Surface roles are permanent, so it should not be cleaned up. Fixes: #409 weston: ../libweston/compositor.c:4094: weston_surface_set_role: Assertion `role_name' failed. Signed-off-by:
James Hilliard <james.hilliard1@gmail.com>
-
- 11 Jun, 2020 1 commit
-
-
Tomek Bury authored
When there's neither configless nor surfaceless EGL extension (i.e. not a Mesa driver), Weston falls back to a dummy pbuffer surface. Weston attempts to find for that surface an EGL config but uses a NULL array of pixel formats. This fails with the following messages: EGL_KHR_surfaceless_context unavailable. Trying PbufferSurface Found an EGLConfig matching { pbf; } but it is not usable because neither EGL_KHR_no_config_context nor EGL_MESA_configless_context are supported by EGL. failed to choose EGL config for PbufferSurface EGL error state: EGL_SUCCESS (0x3000) Failed to initialise the GL renderer; Signed-off-by:
Tomek Bury <tomek.bury@broadcom.com>
-
- 04 Jun, 2020 1 commit
-
-
This moves the creation of the blob to be earlier, to when the damage is calculated. It replaces the damage tracked inside of the plane state with the blob id itself. This should stop creating new blob ids for TEST_ONLY commits, and them being leaked in general, as the blob ids are now freed with the plane state. The FB_DAMAGE_CLIPS property is now always set if it's supported, and will be 0 in the case that we have no damage information, which signifies full damage to the kernel. Signed-off-by:
Scott Anderson <scott.anderson@collabora.com>
-
- 03 Jun, 2020 2 commits
-
-
The missing build dependency was added. The override to disable this check can be removed. Signed-off-by:
Guillaume Champagne <champagne.guillaume.c@gmail.com>
-
cms-colord uses cms-helper functions which require lcms2. Therefore, lcms2 must be added as a build dependency. Signed-off-by:
Guillaume Champagne <champagne.guillaume.c@gmail.com>
-
- 02 Jun, 2020 5 commits
-
-
This adds the first DRM-backend test. It is very simple and was made in order to make easier to add more complex DRM-backend tests in the future. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
With this patch we add support to run DRM-backend tests locally in the test suite. For now this won't work in the CI, as there are no cards available. But the plan is to achieve this by using VKMS (virtual KMS) in the future. To run DRM-backend tests locally, first of all the user has to set the environment variable WESTON_TEST_SUITE_DRM_DEVICE to 'card0', 'card1' or any other device where he wants to run the tests. Also, for now it only works if it is run as root, but in the future this problem will be solved. The tests will run on a non-default seat. The reason for that is that we want to avoid opening input devices unnecessarily. Also, since DRM-backend usage requires gaining DRM master status on a DRM KMS device, nothing else must be using the device at the same time. To achieve this we use a lock to run the DRM-backend tests sequentially. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
In the test suite we may want to run a DRM-backend test on a non-default seat, which may not have a input device associated. Weston's default behavior is to not open if input devices are not found, as it may cause troubles. For instance, Weston can open but if no input device is set than the user can not interact or leave it. Add flag --continue-without-input to DRM-backend so we can run these types of tests with no input. Notice that this won't force the compositor to skip opening a input device if it finds it on the non-default seat. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
The test suite is dealing only with headless-backend tests. In order to make it able to run DRM-backend tests, we have to properly select the renderer that it will use. This patch add the command line option --use-pixman if the test defines the DRM-backend renderer as RENDERER_PIXMAN, and it will add nothing to the command line if it defines RENDERER_GL (the DRM-backend default renderer is already GL). Also, if the user defines the DRM-backend renderer as RENDERER_NOOP, the test will fail (as it should, since DRM-backend does not implement it). Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
In the test suite we have some default options which are command line arguments used by most of the tests. Two of these are width==320 and height==240. But when we have DRM or fbdev backends, width and height are not possible command line arguments. This makes impossible to run tests that uses one of these types of backends, as the compositor won't open if the command line string is wrong. Fix this by not passing command line arguments width and height if the backend is DRM or fbdev. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
- 01 Jun, 2020 2 commits
-
-
If users ask explicitly to log to a file, it makes sense to quit when we fail opening that file. Continuing execution would mean wasting users' time if they expect to find the log file at the end of the session. Signed-off-by:
Antonio Caggiano <antonio.caggiano@collabora.com> Suggested-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
When failing to open the log file nothing is reported to the user, therefore we print a message on stderr when that happens. Signed-off-by:
Antonio Caggiano <antonio.caggiano@collabora.com> Suggested-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
- 28 May, 2020 1 commit
-
-
Pekka Paalanen authored
All timeline event timestamps are in CLOCK_MONOTONIC already. DRM KMS timestamps are practically guaranteed to be CLOCK_MONOTONIC too, even though presentation clock could theoretically be something else. For other backends, the presentation clock is likely CLOCK_MONOTONIC_RAW due to weston_compositor_set_presentation_clock_software(). This patch ensures that the recorded vblank timestamp is in CLOCK_MONOTONIC. Otherwise interpreting the timeline traces might be difficult to do accurately, since it would be hard to recover the relationship between the presentation clock and timeline event timestamps. The time conversion routine is the simplest possible, I don't think we need any more accurate conversion for timeline purposes. Besides, DRM-backend is the only backend where the timings actually matter, the other backends are software-timed anyway. Since the clock domain of the "vblank" attribute potentially changes, the attribute is renamed. Wesgr never used this attribute. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
- 25 May, 2020 2 commits
-
-
Using the number of planes to determine if GL_TEXTURE_EXTERNAL_OES should be used is incorrect with some modifiers: For example RGBA with a I915_FORMAT_MOD_Y_TILED_CCS modifier has two planes. Use eglQueryDmaBufModifiersEXT() to query if the current format/modifier only supports GL_TEXTURE_EXTERNAL_OES. Use the current code as fallback of modifiers are not supported. Signed-off-by:
Michael Olbrich <m.olbrich@pengutronix.de>
-
The wording of the xdg-shell protocol allows surfaces to not cover the whole screen when they are made fullscreen. From the description of the fullscreen state in xdg-shell: The window geometry specified in the configure event is a maximum; the client cannot resize beyond it. For a surface to cover the whole fullscreened area, the geometry dimensions must be obeyed by the client. The last sentence is the condition for fullscreen coverage, not a requirement. This commit updates the code to not flag size mismatches for fullscreen surfaces as a protocol error when the surface fits within the screen. In such cases, the shell is responsible for centering surfaces appropriately and also for obscuring other screen content as described in the xdg_toplevel.set_fullscreen request description (and, indeed, desktop-shell does all this). For reference, contrast with the corresponding, stricter wording in the obsolete xdg-shell-unstable-v6 p...
-
- 14 May, 2020 1 commit
-
-
Peter Hutterer authored
No functional changes, this is cosmetics only. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- 12 May, 2020 1 commit
-
-
- 07 May, 2020 2 commits
-
-
Peter Hutterer authored
Make use of the templating structure the templates provide. No functional changes in the end, container-build's default behavior is the previously called container-if-not-exists template. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
The project was moved a while ago to make it look less waylandy. Same sha, so no actual changes here. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- 29 Apr, 2020 1 commit
-
-
Michael Olbrich authored
If a surface has subsurfaces then the surface itself is in the subsurface list. To avoid printing it again there is a check to skip the child view, if it is the same as the current view. However, this fails when a surface with subsurfaces has two (or more) views: The check to skip the parent fails for the other view and the two views are printed again and again until a stack overflow occurs. So instead check if the parent view of the subsurface view is the current view. This way, any view that does not belong to a real subsurface is skipped. As a side effect, this ensures that each view of the subsurfaces is only printed once at the correct place in the hierarchy. Signed-off-by:
Michael Olbrich <m.olbrich@pengutronix.de>
-
- 06 Apr, 2020 1 commit
-
-
Paul Menzel authored
Signed-off-by:
Paul Menzel <pmenzel@molgen.mpg.de>
-
- 30 Mar, 2020 1 commit
-
-
Tomohito Esaki authored
Without universal plane, the weston crashes with null pointer access in set_gbm_format function because that function called before output enable function. By changing timing to set color format for primary plane in this case, this issue fixes. Signed-off-by:
Tomohito Esaki <etom@igel.co.jp>
-
- 20 Mar, 2020 1 commit
-
-
pixman_renderer_output_create currently takes a flags enum bitmask for its options. Switch this to using a structure, so we can introduce other non-boolean options. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-