Age | Commit message (Collapse) | Author |
|
When we receive an Expose event, that means that we must redraw that
region of the X11 window. Keep track of these regions with pixman
regions, and merge them with the additional output damaged regions.
Fixes #2670
|
|
These are ones I see log messages about in my setup.
|
|
This actually simplifies the logic since we no longer have to wait for
enter/leave events, and also improves the UX when e.g. handling a crash
with gdb attached.
See #2659
|
|
Add fallbacks when DRI3 1.2 isn't supported.
Closes: https://github.com/swaywm/wlroots/issues/2586
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This isn't used anymore by any backend.
Some examples still provide an EGL config to wlr_egl_init, so we can't
drop it yet there.
|
|
|
|
If we get an authenticated primary node from the X11 server, don't use
it because we can't authenticate our Wayland clients with it. Instead,
open a render node.
Closes: https://github.com/swaywm/wlroots/issues/2576
|
|
This callback allowed compositors to customize the EGL config used by
the renderer. However with renderer v6 EGL configs aren't used anymore.
Instead, buffers are allocated via GBM and GL FBOs are rendered to. So
customizing the EGL config is a no-op.
|
|
The Present protocol states:
> An event context is associated with a specific window; using an existing
> event context with a different window generates a Match error.
Instead of a global event context, use a per-window event context to fix
this error:
[backend/x11/backend.c:608] X11 error: op Present (SelectInput), code Match (no extension), sequence 63, value 4194307
Closes: https://github.com/swaywm/wlroots/issues/2577
|
|
Instead of relying on EGL to retrieve the DRM FD, query it from the
DRI3 extension.
Use the EGL GBM platform, and drop the EGL config.
|
|
We queried DRI3 formats, but we weren't using them. Because of a typo,
only render formats were used.
Fixes: c59aacf94465 ("backend/x11: query modifiers supported by X11 server")
Closes: https://github.com/swaywm/wlroots/issues/2552
|
|
This makes sure the CLOEXEC flag is set on the dup'ed FD.
|
|
|
|
|
|
|
|
|
|
Register an X11 error handler, and optionally use xcb-errors to print a
detailed message.
|
|
Ensure these are set to the correct value.
|
|
This sets the _VARIABLE_REFRESH window property [1].
[1]: https://gitlab.freedesktop.org/mesa/mesa/blob/0616b7ac90cf4f86bb409d34101e3a3cceac8cbe/src/vulkan/wsi/wsi_common_x11.c#L1374
|
|
This reverts commit 3317134adff0ed179e0ecaea6d778dbd0684f771.
This reverts commit a3c3b928a3814f1a44babf487b1508415958c721.
There are some serious issues when running this on a real X server, as
opposed to running this on Xwayland, where this was tested.
More investigation needs to be done into why these issues happen and if
our usage of the present extension is correct.
|
|
We say 1.2, but I don't think we actually use anything that was
introduced past 1.0.
|
|
Makes use of the present extension to get notified of vsync, and not
require any stupid timer hacks. Also make use of the present version of
ConfigureNotify, because why not?
|
|
The documentation for wayland-server.h says:
> Use of this header file is discouraged. Prefer including
> wayland-server-core.h instead, which does not include the server protocol
> header and as such only defines the library PI, excluding the deprecated API
> below.
Replacing wayland-server.h with wayland-server-core.h allows us to drop the
WL_HIDE_DEPRECATED declaration.
|
|
This new name makes more sense, since it is a request from the backend to get
a new frame. In the future a commit may not convey a new frame.
|
|
This updates the backend part of the output API. This is mostly renaming:
make_current becomes attach_render and swap_buffers becomes commit.
This also fixes the RDP backend to support NULL damage.
|
|
|
|
This also allows us to remove xcb-xkb, since Xinput will now give us the
appropriate XKB modifiers with each event.
|
|
|
|
There isn't any real reason to delay this until the backend is started.
|
|
|
|
When the Xlib connection is removed, this _conn suffix is going to be
pointless. I'm removing this preemtively for that.
|
|
This prevents some annoying issues when e.g. not including wlr/config.h or
making a typo in the guard name.
|
|
This should be set to EGL_OPENGL_ES2_BIT.
Also fixes EGL config attributes in the headless and X11 backends.
|
|
|
|
|
|
This reverts commit ef0a6ea4d2934ec014d791150c42348061ec4f7f, reversing
changes made to 8d03bc9178d8544cbcd24293ece6ac9f1698e602.
|
|
|
|
Otherwise running under Xvfb will not deliver any events. This results
in e.g. weston-info reporting a 0x0 window size (which results in all
sorts of problems).
|
|
|
|
|
|
Found through static analysis
|
|
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
|
|
|
|
|