Handle gbm::Modifier::Invalid
This commit is contained in:
parent
01a64b11fa
commit
2b3773c88e
1 changed files with 16 additions and 6 deletions
|
|
@ -82,12 +82,22 @@ impl AppData {
|
||||||
};
|
};
|
||||||
let format = gbm::Format::try_from(buffer_info.format)?;
|
let format = gbm::Format::try_from(buffer_info.format)?;
|
||||||
let modifier = gbm::Modifier::try_from(format_info.modifier)?;
|
let modifier = gbm::Modifier::try_from(format_info.modifier)?;
|
||||||
let bo = gbm.create_buffer_object_with_modifiers::<()>(
|
let bo = if modifier != gbm::Modifier::Invalid {
|
||||||
buffer_info.width,
|
gbm.create_buffer_object_with_modifiers::<()>(
|
||||||
buffer_info.height,
|
buffer_info.width,
|
||||||
format,
|
buffer_info.height,
|
||||||
[modifier].into_iter(),
|
format,
|
||||||
)?;
|
[modifier].into_iter(),
|
||||||
|
)?
|
||||||
|
} else {
|
||||||
|
// TODO make sure this isn't used across different GPUs
|
||||||
|
gbm.create_buffer_object::<()>(
|
||||||
|
buffer_info.width,
|
||||||
|
buffer_info.height,
|
||||||
|
format,
|
||||||
|
gbm::BufferObjectFlags::empty(),
|
||||||
|
)?
|
||||||
|
};
|
||||||
|
|
||||||
let fd = bo.fd()?;
|
let fd = bo.fd()?;
|
||||||
let stride = bo.stride()?;
|
let stride = bo.stride()?;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue