diff -ur Metal/MTLEvent.hpp MetalNew/MTLEvent.hpp --- Metal/MTLEvent.hpp 2023-06-01 12:18:26 +++ MetalNew/MTLEvent.hpp 2024-04-15 07:36:59 @@ -62,6 +62,7 @@ uint64_t signaledValue() const; void setSignaledValue(uint64_t signaledValue); + bool waitUntilSignaledValue(uint64_t signaledValue, uint64_t timeoutMS); }; class SharedEventHandle : public NS::SecureCoding @@ -138,6 +139,11 @@ _MTL_INLINE void MTL::SharedEvent::setSignaledValue(uint64_t signaledValue) { Object::sendMessage(this, _MTL_PRIVATE_SEL(setSignaledValue_), signaledValue); +} + +// method: waitUntilSignaledValue +_MTL_INLINE bool MTL::SharedEvent::waitUntilSignaledValue(uint64_t signaledValue, uint64_t timeoutMS) { + return Object::sendMessage(this, _MTL_PRIVATE_SEL(waitUntilSignaledValue_timeoutMS_), signaledValue, timeoutMS); } // static method: alloc diff -ur Metal/MTLHeaderBridge.hpp MetalNew/MTLHeaderBridge.hpp --- Metal/MTLHeaderBridge.hpp 2023-06-01 12:18:26 +++ MetalNew/MTLHeaderBridge.hpp 2024-04-15 07:37:29 @@ -1906,6 +1906,9 @@ "setShouldMaximizeConcurrentCompilation:"); _MTL_PRIVATE_DEF_SEL(setSignaledValue_, "setSignaledValue:"); +_MTL_PRIVATE_DEF_SEL( + waitUntilSignaledValue_timeoutMS_, + "waitUntilSignaledValue:timeoutMS:"); _MTL_PRIVATE_DEF_SEL(setSize_, "setSize:"); _MTL_PRIVATE_DEF_SEL(setSlice_,