Merge pull request #441 from Smithay/fix/x11_no_modifiers

x11: Don't use modifiers on old dri3 versions
This commit is contained in:
Victoria Brekenfeld 2021-12-22 21:25:34 +01:00 committed by GitHub
commit f8014568de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 1 deletions

View File

@ -367,7 +367,12 @@ impl X11Handle {
return Err(X11Error::InvalidWindow);
}
let modifiers = modifiers.collect::<Vec<_>>();
let mut modifiers = modifiers.collect::<Vec<_>>();
// older dri3 versions do only support buffers with one plane.
// we need to make sure, we don't accidently allocate buffers with more.
if window.0.extensions.dri3 < Some((1, 2)) {
modifiers.retain(|modi| modi == &DrmModifier::Invalid || modi == &DrmModifier::Linear);
}
let format = window.0.format;
let size = window.size();