/// synchronization module module gfx.graal.sync; import core.time : dur, Duration; import gfx.core.rc; interface Semaphore : AtomicRefCounted {} interface Fence : AtomicRefCounted { @property bool signaled(); void reset(); void wait(Duration timeout=dur!"seconds"(-1)); }