aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-08gtk-primary-selection: drop supportIsaac Freund
The standard primary-selection protocol is now widely supported.
2021-04-08render: drop support for ellipsesSimon Ser
For anything more complicated than quads, compositors can easily ship their own shaders. Closes: https://github.com/swaywm/wlroots/issues/2759
2021-04-08render: remove wlr_texture_to_dmabufSimon Ser
This is unused in wlroots, and the use-cases for compositors are pretty niche since they can access the original DMA-BUF via the wlr_buffer.
2021-04-08render: drop wlr_renderer_blit_dmabufSimon Ser
It can be replaced with wlr_renderer_bind_buffer. blit_dmabuf is broken as-is (dies on an assertion).
2021-04-08build: bump version to 0.14.0Simon Ser
We now bump the version number right after releases, so that a Git snapshot is not mistaken for a previous version. References: https://github.com/swaywm/wlroots/issues/2792
2021-04-07build: bump to v0.13.0Simon Ser
References: https://github.com/swaywm/wlroots/issues/2778
2021-04-07render/egl: check "EGL_KHR_platform_gbm" for EGL gbm platformzccrs
See the https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_platform_gbm.txt example code. On EGL_PLATFORM_GBM_KHR platform, we should be check the "EGL_KHR_platform_gbm" extension. Change-Id: Icf11c07c2949841a80b10527fb09987257fbd63b
2021-04-06backend/drm: stop testing for buffer in drm_connector_commit_bufferSimon Ser
We now do the test in drm_connector_test, called from drm_connector_commit.
2021-04-06backend/drm: use atomic test-only commits for direct scan-outSimon Ser
This allows callers to use wlr_output_test to figure out whether a buffer can be scanned out prior to committing the output.
2021-04-06backend/drm: downgrade test-only commit failure log levelSimon Ser
Let's not clutter the logs with error messages when a test-only atomic commit fails.
2021-04-06backend/drm: don't set NONBLOCK with TEST_ONLYSimon Ser
The kernel ignores NONBLOCK when TEST_ONLY is set. Let's just not set it, to make it clear it's unused.
2021-04-06build: use get_variable instead of get_pkgconfig_variableSimon Ser
This fixes the following warning: WARNING: Project targeting '>=0.56.0' but tried to use feature deprecated since '0.56.0': Dependency.get_pkgconfig_variable. use Dependency.get_variable(pkgconfig : ...) instead
2021-04-06build: simplify HAS_LIBUUID definitionSimon Ser
We can just use to_int() instead of having two if branches.
2021-04-06backend/x11: reject DMA-BUFs with flagsSimon Ser
We cannot scan-out DMA-BUFs with any flag right now.
2021-04-06backend/drm: reject DMA-BUFs with flagsSimon Ser
We cannot scan-out DMA-BUFs with any flag right now.
2021-04-06backend/drm: improve logs in drm_fb_createSimon Ser
Downgrade errors to DEBUG level, because drm_fb_create is used in test_buffer, so errors aren't always fatal. Add ERROR logs at call sites where a failure is fatal, to make it clear something wrong happened.
2021-04-06backend/drm: try to import buffer when testing itSimon Ser
If the import to KMS succeeds, we have a better chance to be able to scan it out. Importing is also necessary for test-only commits, which we want to add in the future.
2021-04-06render/egl: stop relying on platform for high prioritySimon Ser
All backends use the GBM platform. We can't use it to figure out whether the DRM backend is used anymore. Let's just try to always request a high-priority EGL context. Failing to do so is not fatal.
2021-04-06surface: remove resource_list arg from surface_createSimon Ser
This is never used.
2021-04-06surface: make wlr_surface_create privateSimon Ser
This is not meant to be exposed in the public API, just like wlr_region_create [1]. [1]: https://github.com/swaywm/wlroots/pull/2662
2021-04-06Use absolute paths in include in header fileszccrs
To unify the code style of the project, absolute paths have been used in some places, such as '#include "render/allocator.h"' in "render/gbm_allocator.h". Except for include the wayland protocol headers should be consistent.
2021-04-02build: add subproject fallback for libseatSimon Ser
This allows libseat to be compiled as a Meson subproject when it's not installed system-wide. This can ease development and compilation on distributions where libseat isn't packaged.
2021-03-31backend/drm: use format table in test_bufferSimon Ser
Instead of an ad-hoc strip_alpha_channel function, use the centralized format table to get an opaque substitute.
2021-03-29xwayland: use ICCCM state defines from xcb-icccmSimon Ser
2021-03-29xwayland: require xcb-icccmSimon Ser
This dependency is already required by many other widely used X11 programs, such as i3, Qt, and other XWMs. So it should be available on most systems. X11 support can be pretty broken without xcb-icccm, with focus issues for instance. Let's just remove this --please-break-my-desktop footgun option.
2021-03-29xwayland: assume no WM_HINTS means window wants inputSimon Ser
Some X11 clients (e.g. Chromium, sxiv) don't set WM_HINTS. The spec says: > Window managers are free to assume convenient values for all fields of the > WM_HINTS property if a window is mapped without one. Our wlr_xwayland_icccm_input_model function assumes missing WM_HINTS means the window doesn't want input, but this is incorrect. Assume the window wants input unless it explicitly opts-out by setting WM_HINTS. Closes: https://github.com/swaywm/sway/issues/6107
2021-03-27render/egl, backend/wayland: add workaround for split render/display setupsSimon Ser
Split render/display setups have two separate devices: one display-only with a primary node, and one render-only with a render node. However in these cases the EGL implementation and the Wayland compositor will advertise the display device instead of the render device [1]. The EGL implementation will magically open the render device when the display device is passed in. So just pass the display device as if it were a render device. Maybe in the future Mesa will advertise the render device instead and we'll be able to remove this workaround. [1]: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4178
2021-03-26xdg_shell: Fix invert_y of top right anchorKenny Levinsen
2021-03-25subsurface: immediately unlock cached state in set_desyncSimon Ser
set_desync takes effect immediately without waiting for the next wl_surface.commit request.
2021-03-25subsurface: use cached surface stateSimon Ser
2021-03-25surface: introduce cached statesSimon Ser
Cached states allow a surface commit to be delayed. They are useful for: - Subsurfaces - The upcoming transactions protocol [1] - Explicit synchronization [1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/26
2021-03-25surface: introduce commit sequence numbersSimon Ser
Very similar to output commit sequence numbers. Can be useful to reference a specific commit.
2021-03-25render/gles2: remove depth and bpp gles2_pixel_format, use drm pixel formatSimon Zeni
2021-03-25render/pixel_format: add XBGR8888 and ABGR8888 formatSimon Zeni
2021-03-25backend/drm: use pixel format table in rendererSimon Zeni
2021-03-25Move render/shm_format functions to render/pixel_formatSimon Zeni
2021-03-25render/pixel_format: introduce pixel format info tableSimon Zeni
2021-03-23linux-dmabuf-v1: always advertise support for implicit modifiersSimon Ser
Some clients (like Xwayland) will fallback to wl_drm if the compositor doesn't explicitly advertise support for implicit modifiers, even when the compositor supports explicit modifiers. This behavior sounds correct from a protocol point of view.
2021-03-22examples/dmabuf-capture: stop using av_init_packetSimon Ser
It's deprecated in ffmpeg >= 4.4. Closes: https://github.com/swaywm/wlroots/issues/2798
2021-03-22ci: update xwayland dep on alpineSimon Ser
The xwayland package has changed its name.
2021-03-16Fix buffer blit matricesSimon Ser
There was a missing wlr_matrix_scale call, so we ended up with black frames. Closes: https://github.com/swaywm/wlroots/issues/2780
2021-03-16screencopy: stop using wlr_renderer_blit_dmabufSimon Ser
The original motivation is the following crash: #0 0x00007f0ddeddeef5 in raise () at /usr/lib/libc.so.6 #1 0x00007f0ddedc8862 in abort () at /usr/lib/libc.so.6 #2 0x00007f0ddedc8747 in _nl_load_domain.cold () at /usr/lib/libc.so.6 #3 0x00007f0ddedd7646 in () at /usr/lib/libc.so.6 #4 0x00007f0de033f8de in gles2_get_renderer_in_context (wlr_renderer=0x612000003640) at ../subprojects/wlroots/render/gles2/renderer.c:38 #5 0x00007f0de0341675 in gles2_begin (wlr_renderer=0x612000003640, width=3840, height=2160) at ../subprojects/wlroots/render/gles2/renderer.c:186 #6 0x00007f0de033b100 in wlr_renderer_begin (r=0x612000003640, width=3840, height=2160) at ../subprojects/wlroots/render/wlr_renderer.c:56 #7 0x00007f0de03466ed in gles2_blit_dmabuf (wlr_renderer=0x612000003640, dst_attr=0x60b000150148, src_attr=0x7fff9f9bfde0) at ../subprojects/wlroots/render/gles2/renderer.c:591 #8 0x00007f0de033d717 in wlr_renderer_blit_dmabuf (r=0x612000003640, dst=0x60b000150148, src=0x7fff9f9bfde0) at ../subprojects/wlroots/render/wlr_renderer.c:210 #9 0x00007f0de04cbc3b in frame_handle_output_commit (listener=0x611000220bc8, data=0x7fff9f9c0050) at ../subprojects/wlroots/types/wlr_screencopy_v1.c:303 The GLES2 renderer assumes it'll have a wlr_buffer to render to. Instead of accomodating for the edge-case of rendering without a wlr_buffer, drop wlr_renderer_blit_dmabuf calls and instead use wlr_renderer_bind_buffer just like the rest of the wlr_renderer users. wlr_renderer_blit_dmabuf is now unused in wlroots. The upside is that the new blit_dmabuf function in screencopy is renderer-agnostic.
2021-03-15docs: Minor libseat correctionsKenny Levinsen
2021-03-15backend/session/libseat: Set loglevel to INFOKenny Levinsen
2021-03-15render/egl: don't fail on EGL_MESA_device_softwareSimon Ser
Mesa may advertise EGL_MESA_device_software even when hardware drivers are in use [1]. Demote the error to a warning until the Mesa bug is fixed. [1]: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4178 References: https://github.com/swaywm/wlroots/pull/2689
2021-03-11output: fix transform matrix for 90/270 rotationsSimon Ser
We need to adjust the second translation depending on the transform we applied. Fixes: 9601a2abf024 ("output: improve transform matrix calculation" Closes: https://github.com/swaywm/wlroots/issues/2774
2021-03-10output: improve transform matrix calculationSimon Zeni
Compute only the transform matrix in the output. The projection matrix will be calculated inside the gles2 renderer when we start rendering. The goal is to help the pixman rendering process.
2021-03-09output: document hotspot coord spaceSimon Ser
2021-03-09backend/x11: clamp hotspot to texture boundsIlia Mirkin
When a new texture is set, the hotspot may actually belong to the previous texture and be out of bounds. Rather than incur X errors for these, clamp the hotspot to be inside of the texture. This fixes weston examples updating their cursors (e.g. weston-eventdemo).
2021-03-08xcursor: use strncat instead of strncpyLukas Märdian
strncat appends '\0' automatically and avoids the stringop-truncation warning/error