use negative timeout to specify no timeout at all
the maximum time to wait until the call returns
the semaphore
a flag that implementation may set if the swapchain need to be recreated
the index of an available image or uint.max if timeout expired before any image was returned to the application
See Implementation
use negative timeout to specify no timeout at all