vkd3d: Print an error before freezing if the application does something unsupported by binary semaphores
Vulkan binary semaphores can't properly support applications that wait for d3d12 fences on multiple queues after signalling on one queue, but this will at least make those applications not freeze (and instead just have less GPU synchronization than they're supposed to) so this will print an error if that happens so we don't spend time debugging the issue.
Previously a fence that had a wait scheduled but not completed would be removed from the fence->semaphores list, meaning that it wouldn't contribute to fence->max_pending_value, so if a second wait was requested for the same value, vkd3d would see a max_pending_value less than that, and wait cpu-side for a signal to come in (which would never happen).
Edited by Evan Tang