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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user