rusticl/mesa: wire up semaphores

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
This commit is contained in:
Karol Herbst
2025-07-07 16:39:31 +02:00
committed by Marge Bot
parent cc32c5c2eb
commit 64fb3c81af
@@ -4,6 +4,7 @@
use crate::compiler::nir::NirShader;
use crate::pipe::context::*;
use crate::pipe::device::*;
use crate::pipe::fence::PipeFence;
use crate::pipe::resource::*;
use crate::util::disk_cache::*;
@@ -442,6 +443,11 @@ impl PipeScreen {
}
}
pub fn create_semaphore(self: &Arc<PipeScreen>) -> Option<PipeFence> {
let fence = unsafe { self.screen().semaphore_create.unwrap()(self.screen.as_ptr()) };
PipeFence::new(fence, self)
}
pub(super) fn unref_fence(&self, mut fence: *mut pipe_fence_handle) {
unsafe {
self.screen().fence_reference.unwrap()(
@@ -470,6 +476,10 @@ impl PipeScreen {
}
Some(info)
}
pub fn has_semaphore_create(&self) -> bool {
self.screen().semaphore_create.is_some()
}
}
impl Drop for PipeScreen {