drm: check for PRIME support

PRIME support for buffer sharing has become mandatory since the renderer
rewrite. Make sure we check for the appropriate capabilities in backend,
allocator and renderer.

See also #2819.
This commit is contained in:
Stephan Hilb 2021-04-08 22:21:50 +02:00 committed by Simon Ser
parent d5105c42e3
commit 9f012cac2f
3 changed files with 18 additions and 7 deletions

View file

@ -30,14 +30,13 @@
bool check_drm_features(struct wlr_drm_backend *drm) {
uint64_t cap;
if (drm->parent) {
if (drmGetCap(drm->fd, DRM_CAP_PRIME, &cap) ||
!(cap & DRM_PRIME_CAP_IMPORT)) {
wlr_log(WLR_ERROR,
"PRIME import not supported on secondary GPU");
return false;
}
if (drmGetCap(drm->fd, DRM_CAP_PRIME, &cap) ||
!(cap & DRM_PRIME_CAP_IMPORT)) {
wlr_log(WLR_ERROR, "PRIME import not supported");
return false;
}
if (drm->parent) {
if (drmGetCap(drm->parent->fd, DRM_CAP_PRIME, &cap) ||
!(cap & DRM_PRIME_CAP_EXPORT)) {
wlr_log(WLR_ERROR,