Commit graph

13 commits

Author SHA1 Message Date
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