use crate::gles3::RafxDeviceContextGles3;
use crate::RafxResult;
use std::sync::atomic::{AtomicBool, Ordering};
pub struct RafxSemaphoreGles3 {
_device_context: RafxDeviceContextGles3,
signal_available: AtomicBool,
}
impl RafxSemaphoreGles3 {
pub fn new(device_context: &RafxDeviceContextGles3) -> RafxResult<RafxSemaphoreGles3> {
Ok(RafxSemaphoreGles3 {
_device_context: device_context.clone(),
signal_available: AtomicBool::new(false),
})
}
pub(crate) fn signal_available(&self) -> bool {
self.signal_available.load(Ordering::Relaxed)
}
pub(crate) fn set_signal_available(
&self,
available: bool,
) {
self.signal_available.store(available, Ordering::Relaxed);
}
}