use crate::gles2::RafxDeviceContextGles2;
use crate::RafxResult;
use std::sync::atomic::{AtomicBool, Ordering};
pub struct RafxSemaphoreGles2 {
_device_context: RafxDeviceContextGles2,
signal_available: AtomicBool,
}
impl RafxSemaphoreGles2 {
pub fn new(device_context: &RafxDeviceContextGles2) -> RafxResult<RafxSemaphoreGles2> {
Ok(RafxSemaphoreGles2 {
_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);
}
}