diff options
| author | Simon Ser <contact@emersion.fr> | 2022-12-02 14:38:43 +0100 | 
|---|---|---|
| committer | Simon Zeni <simon@bl4ckb0ne.ca> | 2022-12-02 14:27:07 +0000 | 
| commit | d92f92f2d332fb280dde60a6f215cf9445f476bb (patch) | |
| tree | 5f9eb2ac210685e7bcb2f7aca91e933077583bf8 | |
| parent | f36a5915da5c998d2a55b00dc62adcf9c1797d19 (diff) | |
| download | wlroots-d92f92f2d332fb280dde60a6f215cf9445f476bb.tar.xz | |
wl-drm: only advertise formats supporting implicit modifiers
With the Vulkan renderer we don't support implicit modifiers.
However wl_drm only supports implicit modifiers.
Stop advertising wl_drm formats when implicit modifiers are
unsupported.
| -rw-r--r-- | types/wlr_drm.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/types/wlr_drm.c b/types/wlr_drm.c index ab44084b..34cb52ad 100644 --- a/types/wlr_drm.c +++ b/types/wlr_drm.c @@ -161,7 +161,10 @@ static void drm_bind(struct wl_client *client, void *data,  	wl_drm_send_capabilities(resource, WL_DRM_CAPABILITY_PRIME);  	for (size_t i = 0; i < drm->formats.len; i++) { -		wl_drm_send_format(resource, drm->formats.formats[i]->format); +		const struct wlr_drm_format *fmt = drm->formats.formats[i]; +		if (wlr_drm_format_has(fmt, DRM_FORMAT_MOD_INVALID)) { +			wl_drm_send_format(resource, fmt->format); +		}  	}  } | 
