When you pick an image to give to the application, afaiu you'd want to 1. check if there's any where acquire and release are both materialized and signaled -> return that one if it exists 2. check if there's any where the release point is materialized and signaled -> return that one if it exists 3. check if there's any where the release point is materialized -> return that one if it exists 4. if none of those can be found, wait for any release point to materialize