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

MVKQueue: Make sure waitIdle waits for all commands to be encoded before enqueuing its own waitUntilCompleted. #2297

Merged
merged 1 commit into from
Aug 2, 2024

Conversation

js6i
Copy link
Collaborator

@js6i js6i commented Jul 31, 2024

That seems to be causing mysterious crashes with asynchronous queue submissions. I've been debugging one where it'd crash the encoding thread because we destroyed the swap chain right after calling vkQueueWaitIdle, and it wasn't done encoding the Present.

For what it's worth in my case the bug bisected to f0cb31a.

Ping #2295, possibly others..

@js6i
Copy link
Collaborator Author

js6i commented Jul 31, 2024

#2031 looks possibly related.

Copy link
Contributor

@billhollings billhollings left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice catch! Thanks for submitting this!

LGTM.

Just going to give @cdavis5e a chance to chime in, before pulling this in.

Copy link
Collaborator

@cdavis5e cdavis5e left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One small optimization I noticed.

MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm Outdated Show resolved Hide resolved
@billhollings billhollings merged commit 73170b9 into KhronosGroup:main Aug 2, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants