Commit graph

26 commits

Author SHA1 Message Date
Joshua Ashton
2cea675db0 meta: Use wrap file for STB rather than submodule
Allows us to use this as a Meson subproject which means that recursive cloning doesn't matter (Meson resolves it for subprojects).

Given this subproject doesn't have a meson file, doing subproject() on it would fail, so:
Make a wrap file with an overlay that declares a proper dependency.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-11 02:55:21 +02:00
Joshua Ashton
86b593b754 Add STB submodule 2021-09-01 18:33:57 +02:00
Simon Ser
802d86c4bc drm: check return value of liftoff_device_register_all_planes 2021-07-30 16:28:50 +02:00
Simon Ser
e125a82914 Don't die on EACCES
EACCES is returned by the kernel when we're VT-switched away.
2021-07-27 13:54:47 +02:00
Simon Ser
eb5972ccf6 Bump libliftoff to 0.1.0 2021-07-01 14:38:53 +02:00
Sefa Eyeoglu
ed44909813 Update wlroots to 0.13.0
Update usage of wlr_headless_backend_create,
wlr_renderer_get_shm_texture_formats,
wlr_texture_from_pixels and add missing include for render/egl.h.
2021-04-08 09:15:05 +02:00
Sefa Eyeoglu
774002483b fix: update liftoff log initialisation
Also: Update liftoff dependency to b08bbaa5e6331ed2
("Split liftoff_log_init into set_handler and set_priority")

The callback parameter was moved into a different method, though it is
not needed in this case as we didn't give it one before.
2021-03-31 14:25:39 +02:00
Simon Ser
fbc6bd0c08
Update wlroots and libliftoff 2020-12-16 11:52:28 +01:00
Simon Ser
9f64986fe3 drm: pass commit flags to libliftoff
We need to pass ALLOW_MODESET when we mean to set a mode, otherwise
libliftoff will always fail its test-only commits.
2020-11-12 20:48:15 -08:00
Simon Ser
8abe0c0868
Bump wlroots subproject to 0.12.0 2020-11-10 12:13:55 +01:00
Pierre-Loup A. Griffais
2a98d2b85a wlserver: use gamescope-N wayland display name.
Letting wayland use the default makes random things connect to us, which we
don't want.

Fixes https://github.com/Plagman/gamescope/issues/96.

Related to the va-api problem, but most likely not the only fix:

https://github.com/Plagman/gamescope/issues/23
2020-09-01 11:52:55 -07:00
Simon Ser
0a1bf2e81f
Extract PropertyNotify event handling in function
No logic changes, just shuffling code around for better readability.
2020-08-31 13:48:21 +02:00
Pierre-Loup A. Griffais
7fedd8251b steamcompmgr: zero-initialize some cursor stuff that used to be global. 2020-08-28 00:39:54 -07:00
Simon Ser
79ab59c05d
Update Mesa requirement
Building a Mesa branch is no longer needed. Instead, a recent enough
Mesa will do.
2020-08-14 12:43:39 +02:00
Simon Ser
7785ed9cdb
Upgrade to wlroots 0.11.0 2020-07-23 13:37:33 +02:00
Simon Ser
9802890c93
Fix spurious assertions in page_flip_handler
This commit fixes two issues.

A first issue is that fbids_in_req was previously populated
drm_can_avoid_composite and read from in page_flip_handler. As a
result, calling drm_can_avoid_composite then page_flip_handler would
prevent drm_atomic_commit from referencing the right FBs
(page_flip_handler runs in a separate thread and clears fbids_in_req).

To fix this, add a new fbids_queued vector filled by drm_atomic_commit.
Make page_flip_handler read from this new vector instead of
fbids_in_req. As a bonus, this fixes a data race since fbids_queued is
now protected by flip_lock.

The second issue is that drm_can_avoid_composite assumes all layers made
it into a hw plane when liftoff_output_apply succeeds. That's not the
case because libliftoff supports mixed hw plane + composition (where
some layers make it into a hw plane and the others get composited).

To fix this, make drm_can_avoid_composite fail if some but not all
layers make it into a hw plane. In the future, we'll want to support the
mixed mode too.

Closes: https://github.com/Plagman/gamescope/issues/65
References: https://github.com/Plagman/gamescope/issues/41
2020-05-26 16:29:50 +02:00
Simon Ser
384e777069
Update libliftoff
Upstream has new features, incl. support for the alpha property.
2020-05-26 09:12:59 +02:00
Simon Ser
5ab3129d8e Switch to upstream wlroots 2020-05-19 22:21:45 +02:00
Simon Ser
5bab7f6d85
Update wlroots 2020-05-19 15:03:36 +02:00
Simon Ser
8c2b9849ec
Update wlroots fork 2020-05-15 10:33:45 +02:00
Simon Ser
267036754c Build wlroots as a static subproject 2020-05-08 22:17:07 +02:00
Roman Gilg
beb29e251e build: update wlroots subproject
This has now recent change to include protocols directory explicitly.
2020-03-10 14:21:05 +01:00
Pierre-Loup A. Griffais
6b3e2ddf68 DRM: multi-plane support via libliftoff.
Import libliftoff as subproject and plumb our planes through it.

Wait for a flip to complete immediately after queuing it for now.

Also immediately wait for cursor image uploads, as we don't have to
do Vulkan rendering anymore after queuing an upload.

Cursor shows up with format hack, but is badly corrupt. We might need
to use a DRM dumb_fb rather than going through the same Vulkan image.

Alpha bits of surfaces are ignored again, need to make Steam select
an ARGB visual for overlay windows, probably.

Setting up the "alpha" plane property somehow makes overlays not
show up at all despite liftoff happily letting us go with scanout.
2020-01-05 22:19:04 -08:00
Pierre-Loup A. Griffais
487f9887a3 Remove a wlroots patch not needed on mesa git anymore. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
67c5affe47 Start of some DRM plumbing, make it work again outside of X. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
7e9bc2a6a0 Use patched static wlroots as a submodule and subproject.
That should help setting it up on a machine that might want to use normal
wlroots for other things. Resolve a GL symbol conflict now that we're
colocated with wlroots' dynamic loading code.
2020-01-01 15:30:37 +09:00