feat(wayland/shm): impl shm ontop of dmabuf (again), and make the upload async
Signed-off-by: Schmarni <marnistromer@gmail.com>
This commit is contained in:
@@ -62,11 +62,20 @@ impl Buffer {
|
||||
) -> Option<Handle<Image>> {
|
||||
tracing::debug!("Updating texture for buffer {:?}", self.id);
|
||||
match &self.backing {
|
||||
BufferBacking::Shm(backing) => backing.update_tex(images),
|
||||
BufferBacking::Shm(backing) => backing.update_tex(dmatexes, images),
|
||||
BufferBacking::Dmabuf(backing) => backing.update_tex(dmatexes, images),
|
||||
}
|
||||
}
|
||||
|
||||
#[tracing::instrument(level = "debug", skip_all)]
|
||||
pub fn on_commit(&self) {
|
||||
tracing::debug!("running on_commit for buffer {:?}", self.id);
|
||||
match &self.backing {
|
||||
BufferBacking::Shm(backing) => backing.on_commit(),
|
||||
BufferBacking::Dmabuf(_backing) => {}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn is_transparent(&self) -> bool {
|
||||
match &self.backing {
|
||||
BufferBacking::Shm(backing) => backing.is_transparent(),
|
||||
@@ -81,7 +90,10 @@ impl Buffer {
|
||||
}
|
||||
}
|
||||
pub fn uses_buffer_usage(&self) -> bool {
|
||||
matches!(self.backing, BufferBacking::Dmabuf(_))
|
||||
matches!(
|
||||
self.backing,
|
||||
BufferBacking::Dmabuf(_) | BufferBacking::Shm(_)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user