Commit graph

646 commits

Author SHA1 Message Date
Simon Ser
0034d492d8 wlserver: create wl_output before starting Xwayland
Apparently there's a race that makes Steam unhappy and fail with:

   libGL error: failed to create drawable

Closes: https://github.com/Plagman/gamescope/issues/228
2021-08-02 18:16:09 +02:00
Simon Ser
6e1d4c2a7e drm: switch connector on hotplug
Refresh connector status and mode list on hotplug event. Then
execute the connector selection logic again to see if the
preferred connector has changed.

References: https://github.com/Plagman/gamescope/issues/211
2021-08-02 12:35:49 +02:00
Simon Ser
15b4eb04ec Remove flippable bit from g_emptyTex
This causes a KMS import failure on Intel. A 1x1 buffer never seems
to be flippable there.

Closes: https://github.com/Plagman/gamescope/issues/217
2021-08-02 11:09:40 +02:00
Simon Ser
bedef21474 rendervulkan: add err log for vkAllocateMemory failure 2021-08-02 10:24:11 +02:00
Simon Ser
5f31d7ed79 rendervulkan: add vulkan prefix to log message 2021-08-02 10:22:22 +02:00
Simon Ser
694f6b14e8 rendervulkan: check DRM and Vulkan devices match
References: https://github.com/Plagman/gamescope/issues/158
2021-08-02 10:20:20 +02:00
Simon Ser
4dac8c0c1f rendervulkan: make init_device() return a bool 2021-08-02 10:06:19 +02:00
Simon Ser
d2bca1c440 rendervulkan: make vulkan_init() return a bool 2021-08-02 10:05:03 +02:00
Simon Ser
fa779c0ed2 rendervulkan: log physical device name 2021-08-02 09:47:15 +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
82897e1fbf drm: extract connector setup into separate function
It'll get re-used when handling hotplug.
2021-07-28 20:57:56 +02:00
Simon Ser
a314c3f0ba drm: plane -> primary 2021-07-28 19:27:51 +02:00
Simon Ser
a7ab8e7a1a drm: plane_formats -> primary_formats 2021-07-28 19:26:31 +02:00
Simon Ser
94706f0f0e drm: get_matching_mode -> find_mode
For consistency with find_connector.
2021-07-28 19:15:36 +02:00
Simon Ser
6c24e829ae drm: fallback to any connector if none matches 2021-07-28 19:07:07 +02:00
Simon Ser
f15aafe478 drm: add drm_set_connector 2021-07-28 19:03:30 +02:00
Simon Ser
041c0dad1b drm: add drm_set_crtc 2021-07-28 19:00:11 +02:00
Simon Ser
3cbf958680 drm: allow changes from portait mode to landscape 2021-07-28 18:46:48 +02:00
Simon Ser
1b4231e33b drm: set needs_modeset in drm_set_mode 2021-07-28 18:44:36 +02:00
Simon Ser
a978c54fff drm: stop recording drmModeModeInfo in state 2021-07-28 18:40:29 +02:00
Simon Ser
c9b8ff3854 drm: remove outdated TODO 2021-07-28 18:18:16 +02:00
Simon Ser
f1eb06d9b7 drm: add explicit needs_modeset flag 2021-07-28 18:17:07 +02:00
Simon Ser
802f01d16f drm: give up the modeset on failure
Instead of being stuck when modesetting is not possible, rollback
the changes and give up.
2021-07-28 18:11:20 +02:00
Simon Ser
3ffd29c23a drm: group current state 2021-07-28 18:09:52 +02:00
Simon Ser
24fe84c402 drm: reload our internal state on hotplug 2021-07-28 17:58:07 +02:00
Simon Ser
fae6bfc411 drm: refresh props after VT switch 2021-07-28 17:47:41 +02:00
Simon Ser
2b975d14af drm: add CRTC state
This allows tracking whether we've previously disabled a CRTC.
2021-07-28 17:33:20 +02:00
Simon Ser
df6091a3b4 drm: de-duplicate drmModeGetProperty calls
A property can be attached to multiple objects.
2021-07-28 17:02:47 +02:00
Simon Ser
c0c005278c rendervulkan: remake output images on resolution change 2021-07-28 16:50:45 +02:00
Simon Ser
590d7129aa drm: add drm_set_resolution
Allows to easily switch the output resolution.
2021-07-28 16:40:51 +02:00
Simon Ser
d67ce2865e wlserver: make global static
Let's prevent other threads from directly accessing it. Helper
functions can be introduced as needed.
2021-07-28 16:14:59 +02:00
Simon Ser
d79530d13b steamcompmgr: fix error path on execvp failure 2021-07-28 15:00:58 +02:00
Simon Ser
7ff26668ab rendervulkan: don't use global g_output.pScreenshotImage in BInit 2021-07-28 13:17:58 +02:00
Simon Ser
82c89fdff9 Log screenshot filename 2021-07-28 13:17:58 +02:00
Simon Ser
e678e0c0b2 sdlwindow: replace goto with bool flag 2021-07-28 13:17:58 +02:00
Simon Ser
f44db16b1b Check wlserver_init return value 2021-07-27 16:45:31 +02:00
Simon Ser
c33ad217e1 Handle session switch events
Pause/resume our frame submission on VT switch.

Closes: https://github.com/Plagman/gamescope/issues/6
2021-07-27 14:11:00 +02:00
Simon Ser
cc309681e3 drm: add more logging for prepare failures 2021-07-27 13:58:22 +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
43ba33425b Open KMS device with wlr_session
This allows proper integration with logind/seatd. When switching
VTs, gamescope now dies with ENOPERM instead of making VT switching
freeze.

References: https://github.com/Plagman/gamescope/issues/6
2021-07-27 11:25:05 +02:00
Simon Ser
ba79953e4e wlserver: strip wl_ prefix from fields, remove event loop FD 2021-07-27 10:46:03 +02:00
Simon Ser
5f638dd780 wlserver: add missing newline to error log 2021-07-27 10:31:34 +02:00
Simon Ser
f33b040ba7 Move steamcompmgr init out of wlserver 2021-07-27 10:30:14 +02:00
Simon Ser
0f0489b455 wlserver: wait for Xwayland to be ready in wlserver_init
We''l be able to move some init bits out of wlserver with this.
2021-07-27 10:25:56 +02:00
Simon Ser
25b036a2d6 drm: simplify add_{connector,crtc,plane}_property 2021-07-26 12:17:55 +02:00
Simon Ser
fc31fcf359 drm: atomically disable CRTCs 2021-07-26 11:46:40 +02:00
Simon Ser
5c6ab5a730 drm: ignore page-flip events on other CRTCs 2021-07-26 11:46:40 +02:00
Simon Ser
d5d3efe303 drm: add missing newline in debug log message 2021-07-26 11:38:42 +02:00
Simon Ser
999673e56b drm: print human-readable error string on commit failure 2021-07-26 11:36:12 +02:00
Simon Ser
35a0eff0c4 drm: log flipcount in drm_atomic_commit if logs are enabled 2021-07-26 11:32:59 +02:00
Simon Ser
da58d14dda drm: log flipcount as integer in page_flip_handler 2021-07-26 11:31:16 +02:00
Simon Ser
5fedd45d2f Switch to poll
epoll doesn't offer any benefit for our use-case. select is old.
Let's just make things consistent and use the portable poll
everywhere.
2021-07-25 20:42:16 +02:00
Simon Ser
9a6b72f712 rendervulkan: document bNeedsSwizzle 2021-07-25 19:59:37 +02:00
Simon Ser
c9e8634e13 rendervulkan: add back VK_FORMAT_R8G8B8A8_UNORM
This format is used for the cursor. Regressed by 8b70637998 ("Use
VK_FORMAT_B8G8R8A8_UNORM no swizzle for DRM_FORMAT_ARGB8888").

    gamescope: ../src/rendervulkan.cpp:369: bool CVulkanTexture::BInit(uint32_t, uint32_t, VkFormat, CVulkanTexture::createFlags, wlr_dmabuf_attributes*): Assertion drmFormat != DRM_FORMAT_INVALID' failed.
2021-07-25 19:55:06 +02:00
Simon Ser
5d12da3d22 drm: fetch formats for all planes
We were stopping at the primary plane, but we can also scanout
on the overlay planes.
2021-07-25 19:49:26 +02:00
Simon Ser
8828f7218b drm: log selected connector 2021-07-24 12:28:49 +02:00
Joshua Ashton
8b70637998 Use VK_FORMAT_B8G8R8A8_UNORM no swizzle for DRM_FORMAT_ARGB8888
We use this as an input not as the output so we can just use the DRM format as this exactly with no swizzle.

This format is guaranteed to be supported.
2021-07-23 16:33:22 +02:00
Joshua Ashton
860f4d6384 Use VK_FORMAT_R8G8B8A8_UNORM for DRM ARGB formats
DRM formats are not endian-dependent, therefore we should not use the PACK32 formats for this.
2021-07-23 16:33:22 +02:00
Simon Ser
7a55cb80b9 drm: sort mode list for all connectors
We'll add multi-output support in the future, so we'll need to pick
a mode for an arbitrary connector.
2021-07-22 16:56:19 +02:00
Simon Ser
e5e0ebf5a4 drm: allow selecting a connector via -O
References: https://github.com/Plagman/gamescope/issues/211
2021-07-22 16:50:16 +02:00
Simon Ser
52063b3858 wlserver: improve wlr_session_create error handling 2021-07-22 15:09:10 +02:00
Simon Ser
96346bd5f1 wlserver: remove unnecessary wlr_backend_is_headless check
A headless backend will always pass this check.
2021-07-22 15:01:09 +02:00
Simon Ser
ebfdad512f drm: take struct arg in add_{connectopr,crtc,plane}_property 2021-07-20 21:39:46 +02:00
Simon Ser
11927253d5 drm: remove get_prop_value 2021-07-20 21:36:15 +02:00
Simon Ser
593fe90695 drm: save initial object prop values 2021-07-20 21:32:02 +02:00
Simon Ser
637e5341d4 drm: de-indent loop in find_primary_plane 2021-07-20 21:24:52 +02:00
Simon Ser
b2f016dfe5 drm: drop {crtc,plane,connector}_id fields 2021-07-20 21:21:43 +02:00
Simon Ser
69caa325c4 drm: populate plane/crtc/connector from vectors 2021-07-20 21:21:43 +02:00
Simon Ser
97853e2ecb drm: stop calling drmModeGetPlaneResources in find_primary_plane 2021-07-20 21:21:42 +02:00
Simon Ser
defd14d39d drm: make find_crtc_for_connector return a crtc pointer 2021-07-20 21:21:04 +02:00
Simon Ser
d5097e2a21 drm: remove duplicate drmModeGetResources 2021-07-20 21:21:03 +02:00
Simon Ser
70d3dda4d4 drm: stop trying to use previous encoder/CRTC
Just pick one, simplifies our logic. Now that we disable all CRTCs
on startup, we don't risk stepping over another connector's.
2021-07-20 21:20:34 +02:00
Simon Ser
c9af23c750 drm: use drmIsKMS to detect KMS-capable devices 2021-07-20 21:20:34 +02:00
Simon Ser
930ceb271b drm: fetch all connectors, CRTCs and planes on init
We need to fetch the props anyways to select the right objects.
2021-07-20 21:20:32 +02:00
Simon Ser
a2ba2b1b5b drm: fix find_crtc_for_connector error return value
The return type is uint32_t so we can't return -1. 0 is a perfectly
fine error guard since DRM object IDs can't have this value.
2021-07-20 19:40:20 +02:00
Simon Ser
0c33a70f11 build: stop linking against math 2021-07-20 18:41:16 +02:00
Simon Ser
b380f3fbf2 drm: allow to switch refresh rate at runtime
References: https://github.com/Plagman/gamescope/issues/206
2021-07-20 17:53:38 +02:00
Simon Ser
852d3b12a9 drm: embed drm_t.mode
This will allow us to store a custom mode there, instead of a
mode that comes from the EDID.
2021-07-20 17:31:57 +02:00
Simon Ser
127b1b510e drm: sort modes
This allows the best mode to be selected even if a constraint is
specified (such as the width or height).
2021-07-20 16:58:12 +02:00
Simon Ser
a3144601c3 drm: select mode based on g_nNestedRefresh
g_nOutputRefresh is not set by CLI flags.
2021-07-20 16:25:54 +02:00
Simon Ser
17edd12b3f drm: pick mode based on CLI args 2021-07-20 16:14:52 +02:00
Simon Ser
953c5ec377 drm: move mode selection to get_preferred_mode function 2021-07-20 15:59:35 +02:00
Simon Ser
af1ba566ba drm: remove mode_str and vrefresh args from init_drm
We'll change these at runtime, so let's stop taking them as init
args. They were unused.
2021-07-20 15:53:15 +02:00
Simon Ser
a22e9d3c0d Simplify g_nSubCommandArg logic
getopt() will eat the "--" separator if there's one. Rely on the
value of optind after the getopt() loop finishes to figure out
whether a command has been specified.
2021-07-20 13:28:24 +02:00
Simon Ser
97ae60154d Add 16:9 defaults for -W/-w 2021-07-20 13:10:50 +02:00
Simon Ser
84dd1e6542 Use inodes to compare DMA-BUFs
The file descriptions are only equal to each other if the producer
has dup'ed the same FD.
2021-07-05 19:32:26 +02:00
Simon Ser
eb5972ccf6 Bump libliftoff to 0.1.0 2021-07-01 14:38:53 +02:00
Pierre-Loup A. Griffais
9842f2f807 steamcompmgr: fight clients over focus if we have to
A client can call SetInputFocus at arbitrary times and some do, like Chrome webviews.
2021-06-29 21:01:55 -07:00
Pierre-Loup A. Griffais
45c801e0ac steamcompmgr: report input focus as focused app, not necessarily main plane 2021-06-29 19:27:27 -07:00
Pierre-Loup A. Griffais
f7e1cb2e2e steamcompmgr: fix copy paste error 2021-06-29 19:06:10 -07:00
Pierre-Loup A. Griffais
88596b9645 steamcompmgr: get rid of set_win_hidden
The HIDDEN state was originally just a hint for Panorama windows. It can confuse
other clients. The other states can actually be harmful too, like setting
FULLSCREEN was technically incorrect in many cases.

We might want to always set the FOCUS state on every window, but we never needed
it before so I'm inclined to wait and see there.
2021-06-29 17:50:25 -07:00
Joshua Ashton
00622fff62 rendervulkan: Implement NV12 compositing
Dependent on latest Mesa for my commit to support unnormalized ycbcr:

855cb78d46
2021-06-29 16:34:07 -07:00
Joshua Ashton
39fff770f4 rendervulkan: Use Vulkan 1.1
Less hastle going forward for stuff promoted, and we don't want to be running on stuff that doesn't support this anyway...
2021-06-29 16:34:07 -07:00
Simon Ser
d176770c15 steamcompmgr: add comment about our iconic handling 2021-06-29 19:02:35 +02:00
Simon Ser
f8fbd06af4 steamcompmgr: never put windows in iconic state 2021-06-29 18:35:11 +02:00
Simon Ser
5e201b3c08 steamcompmgr: reject WM_CHANGE_STATE messages 2021-06-29 18:30:26 +02:00
Simon Ser
5b3ea51f7b drm: disable all CRTCs on startup
If the CRTC we've selected is being used on another connector,
our modeset fails.
2021-06-22 16:39:56 +02:00
Simon Ser
3e17ea2e6f Add enum for g_nTouchClickMode
Makes it clearer what the values mean.
2021-06-18 10:44:13 +02:00
Simon Ser
2807bb27c1 Fix NULL g_XWLDpy
The previous commit stopped using the X11 server for nudging the
XWM. Thus g_XWLDpy has been dropped. However we still need it to
send XTest events.
2021-06-16 09:17:45 +02:00
Simon Ser
33f207d6a1 Replace nudge X11 events with pipe
Avoids the roundtrip through the X11 server. Avoids having to connect
to the X11 server from multiple threads.
2021-06-10 14:49:02 +02:00
Simon Ser
d187c2241e steamcompmgr: improve wait thread robustness 2021-06-09 19:16:22 +02:00
Simon Ser
24b5611478 Terminate wlserver when steamcompmgr stops
Closes: https://github.com/Plagman/gamescope/issues/167
2021-06-09 19:10:32 +02:00
Simon Ser
470756029d Stop using X11 events for vblankmanager
Instead, use a pipe. Check if the pipe is readable in the
steamcompmgr event loop.

This avoids a roundtrip through the X11 server.

Closes: https://github.com/Plagman/gamescope/issues/201
2021-06-09 18:42:38 +02:00
Simon Ser
d8dacddaea steamcompmgr: flush display after sending nudge event 2021-06-09 18:18:56 +02:00
Simon Ser
03d14fd67d Set O_CLOEXEC on stats FD 2021-06-09 17:40:52 +02:00
Simon Ser
7c3dff8d57 Log error on fork/exec failure 2021-06-09 17:39:45 +02:00
Simon Ser
df6b48776e Set O_CLOEXEC on ready FD 2021-06-09 17:38:31 +02:00
Simon Ser
8123bc4f36 steamcompmgr: split child spawning logic into separate function 2021-06-09 17:36:39 +02:00
Simon Ser
bd9590506a Split X11 event dispatching into a function 2021-06-09 17:31:15 +02:00
Simon Ser
f51a05b2dc steamcompmgr: use poll() to wait for X11 events
References: https://github.com/Plagman/gamescope/issues/201
2021-06-09 17:22:53 +02:00
Pierre-Loup A. Griffais
08f41f2046 steamcompmgr: only consider overlays for input focus
Also prctl subreaper tweaks from smcv
2021-06-07 19:10:08 -07:00
Pierre-Loup A. Griffais
e4798e27c9 steamcompmgr: protect against possible out of bounds read
It's possible no layers get drawn due to no contents.
2021-05-28 15:39:42 -07:00
Pierre-Loup A. Griffais
0396468a1d steamcompmgr: scale touch coordinates to the right window
Was erroneously using base layer size even if overlay had touch input focus.
2021-05-28 13:57:11 -07:00
Pierre-Loup A. Griffais
9a20f630ad steamcompmgr: extend input focus concept to allow mouse-only focus 2021-05-26 16:53:11 -07:00
Simon Ser
9d40b61645 wlserver: prevent list corruption on double wlserver_surface_set_wl_id 2021-05-20 17:40:20 +02:00
Simon Ser
cd4c1a4d7d Stop importing DMA-BUFs into EGL
Make renderer_texture_from_dmabuf a no-op, since we handle client
DMA-BUFs with Vulkan. We're using wlr_buffer_get_dmabuf to directly
access the client-submitted FDs.
2021-05-20 17:08:19 +02:00
Pierre-Loup A. Griffais
7adcd2fb20 steamcompmgr: publish focused Window and appID back to control process 2021-05-18 19:34:11 -07:00
Pierre-Loup A. Griffais
6dc6ff83fe steamcompmgr: support a list of GAMESCOPE_FOCUSABLE_APPS 2021-05-18 19:17:06 -07:00
Pierre-Loup A. Griffais
d053a5582e steamcompmgr fix new bug where we'd always run the focus switching code 2021-05-17 20:48:32 -07:00
Pierre-Loup A. Griffais
7e27bacc06 steamcompmgr: fix bug where we wouldn't repaint streaming video
Would just sit there if only the video underlay committed.
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
d4c93c3b06 steamcompmgr: add external focus control mechanism 2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
f4db52a3fa steamcompmgr: move to stable_sort
It preserves original order like the old logic.
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
0b92aee977 steamcompmgr: delete STEAM_UNFOCUS and isSteamPopup
now-unused test code
2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
a9216b398b steamcompmgr: fix appID getting stomped if reaper but no prop 2021-05-17 19:42:58 -07:00
Pierre-Loup A. Griffais
5c0e1ff4c7 steamcompmgr: publish focusable appids through root property 2021-05-17 19:42:58 -07:00
Simon Ser
fa433a3ebc Include <wayland-server-core.h> outside of extern "C"
Closes: https://github.com/Plagman/gamescope/issues/190
2021-05-17 19:21:51 +02:00
Pierre-Loup A. Griffais
756b3a6afc steamcompmgr: streaming_client is kind of like an overlay
but not really
2021-05-08 01:47:50 -07:00
Pierre-Loup A. Griffais
fe4501c633 steamcompmgr: more obscure focus fixes 2021-05-08 01:20:18 -07:00
Simon Ser
177205dca4 Block NV12 LINEAR when rotated 2021-05-07 12:21:36 +02:00
Pierre-Loup A. Griffais
9e6a6aa77d steamcompmgr: some focus regression fixes for cornercases
An overlay going away wasn't getting considered. Steam also doesn't
set the 'games running' property if Big Picture isn't running, and
we have more robust appID tracking now, so we can start to phase it out.
2021-05-06 12:57:33 -07:00
Pierre-Loup A. Griffais
7b97f6e4e8 steamcompmgr: add support for streaming_client video underlay
It'll split its YUV and RGB content into two windows. YUV one uses a
content override.
2021-05-05 23:00:40 -07:00
Pierre-Loup A. Griffais
074ee9c719 rendervulkan: remove 'fence' concept
Doesn't make sense now that we poll() the DMA-BUF fd directly. We can
do that directly from steamcompmgr. Vulkan's fence used to be an actual
fence we made up with an empty submission.
2021-05-05 18:46:19 -07:00
Pierre-Loup A. Griffais
e25f871d87 wlserver: avoid accessing mouse_focus_surface after destruction
We should also set the focus to something else that makes sense, which
means there's another bug in a higher-level layer somewhere, but at least
don't crash.
2021-05-05 16:37:51 -07:00
Simon Ser
a4f3a19480 Fix VkDescriptorPoolCreateInfo.poolSizeCount
This caused a read past the array end on anv.
2021-05-04 18:34:11 +02:00
Simon Ser
b6f5471b62 Allow toggling g_bRotated more easily
Allow just changing the default variable value to enable rotation.
2021-05-04 16:40:58 +02:00
Pierre-Loup A. Griffais
902fce73b0 steamcompmgr: flip the meaning of -x
It wasn't actually causing crashes and the memory stomp is fixed.
The option only existed for a very short time and didn't do anything
useful, so should be safe.
2021-05-02 23:51:37 -07:00
Pierre-Loup A. Griffais
580a17d462 steamcompmgr: get the appID from the process tree
In case we can't get it proactively from the app process.
2021-05-02 23:51:37 -07:00
Joshua Ashton
8afb3c3f30 Handle swapchain recreation for out of date and suboptimal 2021-05-01 16:51:00 -07:00
Joshua Ashton
e818aec744 Move to combined samplers and rewrite composite shader in GLSL
Cleans up the composite shader significantly as well as it uses
arrays of descriptors/samplers now.

This all gets unrolled as the loop is spec-constant sized.
2021-05-01 16:50:51 -07:00
Joshua Ashton
f537a40483 Use SOA instead of AOS for layers
Produces better code as the shader compiler can load
multiple layers with a single buffer_load at a time
due to the positioning and alignment.
2021-05-01 16:50:51 -07:00
Pierre-Loup A. Griffais
496b5f58d2 wlserver: downgrade wlserver_surface_set_wl_id assert to spew 2021-04-30 18:45:00 -07:00
Simon Ser
6f54b51a6c Fix cursor not using linear layout 2021-04-30 16:28:07 +02:00
Simon Ser
bf5123e19b Log errors in CVulkanTexture::BInit 2021-04-30 16:25:14 +02:00
Simon Ser
d1ff01c134 Make args const in drm_prepare 2021-04-30 16:18:29 +02:00
Pierre-Loup A. Griffais
2bb4907993 Also spew wayland display name through session pipe. 2021-04-27 21:17:36 -07:00
Simon Ser
a85c8d761c Fix planes offset/stride for multi-planar buffers
References: https://github.com/Plagman/gamescope/issues/49
2021-04-23 10:51:22 +02:00
Simon Ser
3a6895a4b8 Add more error messages 2021-04-23 10:45:17 +02:00
Simon Ser
c9b5000812 Don't query COLOR subresource layout with modifiers
According to the spec, this is invalid:

> If the tiling of the image is VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then
> the aspectMask member of pSubresource must be
> VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT

This triggers an assertion in anv.

References: https://github.com/Plagman/gamescope/issues/49
2021-04-23 10:45:17 +02:00
Simon Ser
cb0eace6d1 Use libliftoff by default
Remove the -l option. Introduce a -L option to disable libliftoff.
Don't use the same option to avoid muscle memory issues.
2021-04-22 21:55:22 +02:00
Simon Ser
a99c5f7a1c Don't set R600_DEBUG=nodcc if Vulkan supports modifiers
This can cause issues with Xwayland. Setting R600_DEBUG=nodcc
prevents Xwayland from being able to import DCC buffers coming
from Vulkan clients.

Closes: https://github.com/Plagman/gamescope/issues/185
2021-04-22 19:36:37 +02:00