- 28 Jun, 2019 1 commit
-
-
Tomohito Esaki authored
Allow a gstreamer pipeline to be configurable via an weston.ini. It is necessary that source is appsrc, its name is "src", and sink name is "sink" in pipeline. Also, remoting plugin ignore port and host configuration if the gst-pipeline is specified.
-
- 27 Jun, 2019 1 commit
-
-
Astatos Aner authored
wl_shell is deprecated, and using xdg_shell allows the client to run on compositors which do not implement the old protocol. Functionality should be identical. Signed-off-by:
Astatos Aner <random.bored.human@gmail.com>
-
- 26 Jun, 2019 19 commits
-
-
Daniel Stone authored
drm_assign_planes() is called to separate views out and decide what will be taken out for plane composition and what will be left for the renderer to compose. It calls drm_output_propose_state() in order to find a good configuration, which itself has a number of helpers that it calls. Break these out into a separate file. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Most of the state helpers (create, destroy, duplicate, etc) state, are relatively straightforward and can live in a separate file. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Move everything to do with creation, destruction, and reference handling of drm_fbs to a new file. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Create a new file which handles most of the actual KMS API use. This covers the property handling (in which we map between KMS properties and our internal representations), as well as actually applying state through atomic modesetting or the legacy SetCrtc/PageFlip/DPMS APIs. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Create a new file for the DRM backend's handling of output modes, e.g. resolution, aspect ratio, preferred mode selection, EDID parsing. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Create a helper function which populates a drm_head with the information extracted from its connector's EDID and any other properties we can find, such as physical size and connection status. This is currently quite small, but may become more complex in future as we parse EDID better. It also prepares to move this function into another file in the next commit. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Create a new header called drm-internal.h, and move many of drm.c's declarations and helpers to it. This will allow us to split the DRM backend into multiple files. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
'-' authored
Pads launchers with the empty space that used to be around them. Moving pointer to 0,0 and clicking launches the preferred app. First launcher has more padding at its start to look nice. Moves the clock to the right edge with same padding. Keeps one of the two values for text extents that the code was already retrieving but never read. Horizontal panel position centers the clock. Sets text in the panel, meaning tooltips and the clock, to consistent 14 units of the default system font at 85% of the max brightness, so it's less tiring on eyes.
-
Daniel Stone authored
partial_update is an EGL extension which allows us to inform the driver ahead of time the limits of the areas we'll be writing to. This helps performance for GPU hardware which renders into a local tile buffer: informing the driver of the rendering extents means it can avoid fetching unchanged tiles into the tile buffer and subsequently writing them out. The extension complements rather than replaces EGL_EXT_buffer_age (used before partial_update to know which areas we need to update) and EGL_KHR_swap_buffers_with_damage (used after partial_update to inform the winsys of the changed region). Note however that partial_update deals in buffer-damage regions ('what has changed since the last time I used _this_ buffer?'), whereas swap_buffers_with_damage deals in surface-damage regions ('what has changed since the last time I rendered?'). An explanatory diagram can be found in the specification: https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_partial_update.txt Fixes: #134 Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Query for the extension itself and the core entrypoint. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Add some comments in the function to make it clear what's going on, especially as we twist and turn between a lot of things called 'damage' meaning different things in different co-ordinate spaces. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
The buffer_damage variable stores accumulated damage from previous frames. This is the area that, before considering our current repaint request, we need to repaint in order to bring the older buffer up to date with the last buffer we rendered into. Rename to previous_damage so it's a bit more clear what this refers to. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Technically it is storing which areas of the border are damaged. However, we already have damage-region variables which need to be translated by the border region. Rename the variable to not contain the word 'damage' to reduce confusion. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
eglSwapBuffersWithDamage has to convert a damage region from Weston's global co-ordinate space, into the co-ordinate space for EGL rendering into a buffer for that output. The conversion from the global co-ordinate space in logical pixels to the output space in buffer pixels is slightly long and error-prone, involving translating by the output's offset within the global co-ordinate space, multiplying by output scale, and also translating to allow for any borders we paint around the output. After this is done, we need to flip the co-ordinates in the Y axis to account for the lower-left-origin co-ordinate space used by EGL. Since we want to reuse this for partial_update, but using a different source region, extract this conversion into a well-commented helper we can reuse. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Fan debug mode repaints the whole surface in order to clear any 'trails' left over from previous fan paints. If this happens, fall back to using regular eglSwapBuffers rather than eglSwapBuffersWithDamageEXT, since the damage region we would pass will be too small. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Use the actual boolean type instead of an integer for variables which only hold true or false. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Use the actual boolean type instead of an integer for variables which only hold true or false. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
pixel_format_get_info() is already documented in the headers; no need to also document it next to the code. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
These definitions were just set to the default (off), but their presence causes Fedora's Doxygen to emit a warning as it is not compiled with Clang support. Remove them as they are no-ops anyway. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
- 25 Jun, 2019 18 commits
-
-
Marius Vlad authored
Fixes 0a13641f: "gitlab-ci: Enable gitlab page for publishing documentation", to point to correct sphinx documentation. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
While adding pages, remove CI_JOB_ID and CI_JOB_SHA from PREFIX, as this apparently is not needed. Make build-native-meson a dependency for the pages stage. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Pinned down sphinx to 2.1.0 and breathe to 4.13. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Demonstrates how to call/use the 'doxygen*' breathe directives. Make use of previous patches that tag symbols using 'ingroup' doxygen command. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
This is a continuation of "e2cc7aa40fd: libweston: Define head, output and compositor group". Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
This is a continuation of "e2cc7aa40fd: libweston: Define head, output and compositor group". Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Also, add tag symbols related to 'weston_head'. The bridge between sphinx and doxygen (breathe) has a useful directive: doxygengroup. By using it we can scoop out symbols we'd like to display documentation from/of. At the same time some bits of the code has been using '\memberof' (a doxygen command useful in C code to establish class like relationship between objects and functions) but this seems not to be recognized by the sphinx bridge. Until we find a better solution, we replace '\memberof' command with '\ingroup' one as to tag the symbols with an "object". This patch does that for 'weston_head' object. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
With these aliases we can use rST directives inside comment blocks. This adds also a doxygen command '\rststar' where ignores the asterisk -- typical to multi-line comment blocks. While at it, add a simple example on how to use them. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Turn warnings into errors so we can spot them immediately. While at it: no need to generate class graphs as we're not using it and make doxygen run quieter. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Found while being parsed by doxygen (when used recursively), this fixes the markdown bits as to be displayed properly. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Missing/wrong parameters and '[out]' issues. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
We already have documentation in header which conflicts with the one the source code. Remove it entirely as it confuses user as well. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
This fixes warnings for weston-debug, input, compositor, log and linux-explicit-sync. Warnings range from swapping '[in]', '[out]' with the function arguments to wrong parameter names. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
This is adds basic configuration files for doxygen and for breathe, which is a doxygen-to-sphinx bridge that can document C symbols. Breathe is configured with default project 'weston' and implicitly adds :members: and :undoc-members: to breathe configuration options. This allows a shorter way to call breathe directives without the need specify the project and also to display implicitly all the members, documented or not. A 'docs' run_target to force the docs to be re-built has been added. Initially (the first time the build system is ran) the documentation will automatically be built, but later re-builds will require the use of the 'docs' target. This avoid further delays in building weston but in the same time allows the possiblity to update/improve the documentation bits to those who want that. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
No functional change, just re-arrange bits in doc/. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Daniel Stone authored
As of the previous commit, we never create state which uses overlay planes on non-atomic drivers. We can thus remove the calls to drmModeSetPlane. The only time we ever waited for vblank events was when we had called drmModeSetPlane and needed to make sure we waited until it was active. We can thus also remove all the vblank event machinery. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Without atomic modesetting, we have no way to know whether or not our desired configuration is usable. It might fail for a number of reasons: scaling limits, bandwidth limits, global resource (e.g. decompression) unit contention, or really just anything. Not only this, but there is no good way to ensure that our configuration actually lands together in the same refresh cycle - hence the 'atomic' in atomic modesetting. Some drivers implement a synchronously blocking drmModeSetPlane, whereas others return immediately. Using overlay planes can thus decimate your framerate. The pre-atomic API is not extensible either, so we need numerous out clauses: fail if we're cropping or scaling (sometimes), or changing formats, or fencing, or ... Now we've had atomic support stable for a couple of releases, just remove support for doing anything more fancy than displaying our composited output and a cursor with drivers which don't support atomic modesetting. Support for using overlay planes was already disabled by default when using the legacy API, and required a debug key combination to toggle it on by flipping the sprites_are_broken variable. We can ensure that we never try to use it on legacy by simply ignoring the hotkey when in legacy mode. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
- 20 Jun, 2019 1 commit
-
-
Stefan Agner authored
By default the client communicates its preference with regards to compression to the server. However, some clients always use compression, which is not ideal for certain environments (e.g. low performance embedded devices in a local network with plenty of bandwidth). Allow to disable compression server-side which will override the clients request for compression. Signed-off-by:
Stefan Agner <stefan@agner.ch>
-