Conversation
|
Thank you for the PR! |
|
@kvark how do I check why a surface is out of date without this change & is there any logging/debug I can look at to check why it is going out of date. Essentially if it's not a resize event but another event, the app gets stuck and has no way of fixing it |
|
How about a new method that returns a That way the signature is kept the same but we can still get the error out if we want to |
0a9c319 to
372d92c
Compare
|
I've adjusted the PR to include a |
372d92c to
3d4e6ba
Compare
With current code, the only error that is not fatal is OUT_OF_DATE, in which case we'd return a "dummy" frame. Admittedly, the user can't know if it's dummy. We could expose a simple method, e.g. The approach you are suggesting - via |
3d4e6ba to
b2abd40
Compare
|
I've adjusted the method to be called |
I've ran into an issue using Zed in a Tiling WM that it gets stuck in a loop and never resolves itself. This is because there is something invalidating the surface, but not sure what it is exactly. The fix is to, when this happens, reinitialise the surface.
This PR makes the
acquire_framereturn aResultso the callee can handle this case correctly: VK_ERROR_OUT_OF_DATE_KHR: The swap chain has become incompatible with the surface and can no longer be used for rendering. Usually happens after a window resize, but there seems to be other reasons for it.