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
macOS moltenVK support and SIGBUS handling #11252
Conversation
@@ -130,8 +130,9 @@ LOG_CHANNEL(q_debug, "QDEBUG"); | |||
dlg.exec(); | |||
}; | |||
|
|||
#ifdef __APPLE__ | |||
#if defined(__APPLE__) && defined(BLOCKS) // BLOCKS is required for dispatch_sync, but GCC-11 does not support it | |||
// Cocoa access is not allowed outside of the main thread |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you pass []{ show_report(text); }
lambda instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
He can't compile it, that's why he added the ifdef for BLOCK.
Or can you confirm it compiles?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm just wondering if lambdas can be used instead of alien ^{} syntax, I think I saw some examples in wild.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We won't know in this PR, as the author uses gcc11
This adds the bare minimum graphics workarounds (disabling logicOp, renaming select -> selection, disabling native triangle fan) and trivial fixes to the Cmake file, SIGBUS handling, and removes the thread check in main.cpp
Texture/surface format workarounds are not included.