Merge pull request #2214 from RandomShaper/avoid_deadlock
Prevent deadlock if working on non-main thread
This commit is contained in:
commit
19ad6b6cbd
@ -615,10 +615,13 @@ void MVKSwapchain::initSurfaceImages(const VkSwapchainCreateInfoKHR* pCreateInfo
|
||||
if (mtlLayer) {
|
||||
NSString* screenName = @"Main Screen";
|
||||
#if MVK_MACOS && !MVK_MACCAT
|
||||
// To prevent deadlocks, avoid dispatching screenMVK to the main thread at the cost of a less informative log.
|
||||
if (NSThread.isMainThread) {
|
||||
auto* screen = mtlLayer.screenMVK;
|
||||
if ([screen respondsToSelector:@selector(localizedName)]) {
|
||||
screenName = screen.localizedName;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
MVKLogInfo("Created %d swapchain images with size (%d, %d) and contents scale %.1f in layer %s (%p) on screen %s.",
|
||||
imgCnt, imgExtent.width, imgExtent.height, mtlLayer.contentsScale, mtlLayer.name.UTF8String, mtlLayer, screenName.UTF8String);
|
||||
|
Loading…
x
Reference in New Issue
Block a user