Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mtl] fence blocks indefinitely upon switching to fullscreen #2899

Open
ghost opened this issue Jul 12, 2019 · 2 comments
Open

[mtl] fence blocks indefinitely upon switching to fullscreen #2899

ghost opened this issue Jul 12, 2019 · 2 comments
Labels

Comments

@ghost
Copy link

ghost commented Jul 12, 2019

Waiting for the fence passed to submit_without_semaphores blocks indefinitely when switching from the fullscreen space to desktop and then back again. The command buffer seems to remain in MTLCommandBufferStatusCommitted forever. Specifying a large timeout for wait_for_fence (such as one second) can be used to work around the issue, but will result in a noticeable jitter when switching back to the application.

@kvark
Copy link
Member

kvark commented Jul 12, 2019

Thank you for filing this!
Any idea on what happens there that makes the command buffer stuck in MTLCommandBufferStatusCommitted?

@ghost
Copy link
Author

ghost commented Jul 12, 2019

I was half-expecting there to be a status code that we weren't checking for in wait_for_fence (such as MTLCommandBufferStatusError), but this doesn't appear to be the case. My best guess is that a command buffer gets committed for rendering, but never gets rendered because the window is no longer visible. I'm not sure if this is intended behaviour in Metal, and if there's something we're expected to be doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant