The cleanup function waits on the graphics queue as a just-in-case since that code can be called when an error occured. However in certain cases that just-in-case wait can cause the program to hang, preventing the error from being printed. As far as I can tell the issue happens if the error occurs in the process of submitting a command buffer.
I think we should also consider just leaking everything on an error (or maybe always?) because the OS and driver will clean-up after the user-space program terminates anyway.
The
cleanupfunction waits on the graphics queue as a just-in-case since that code can be called when an error occured. However in certain cases that just-in-case wait can cause the program to hang, preventing the error from being printed. As far as I can tell the issue happens if the error occurs in the process of submitting a command buffer.I think we should also consider just leaking everything on an error (or maybe always?) because the OS and driver will clean-up after the user-space program terminates anyway.