mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-19 13:32:59 +01:00
Fixed creating MoltenVk surface with agnostic backends such as SDL2 (#3158)
This commit is contained in:
@@ -6832,17 +6832,32 @@ VK_DESTROY
|
||||
if (NULL != vkCreateMacOSSurfaceMVK)
|
||||
{
|
||||
NSWindow* window = (NSWindow*)(m_nwh);
|
||||
NSView* contentView = (NSView*)window.contentView;
|
||||
CAMetalLayer* layer = [CAMetalLayer layer];
|
||||
CAMetalLayer* layer = (CAMetalLayer*)(m_nwh);
|
||||
|
||||
if ([window isKindOfClass:[NSWindow class]])
|
||||
{
|
||||
NSView *contentView = (NSView *)window.contentView;
|
||||
layer = [CAMetalLayer layer];
|
||||
|
||||
[contentView setWantsLayer : YES];
|
||||
[contentView setLayer : layer];
|
||||
}
|
||||
else if ([layer isKindOfClass:[CAMetalLayer class]])
|
||||
{
|
||||
NSView *contentView = (NSView *)layer.delegate;
|
||||
window = contentView.window;
|
||||
}
|
||||
else
|
||||
{
|
||||
BX_WARN(0, "Unable to create MoltenVk surface. Please set platform data window to an NSWindow or CAMetalLayer");
|
||||
return result;
|
||||
}
|
||||
|
||||
if (m_resolution.reset & BGFX_RESET_HIDPI)
|
||||
{
|
||||
layer.contentsScale = [window backingScaleFactor];
|
||||
}
|
||||
|
||||
[contentView setWantsLayer : YES];
|
||||
[contentView setLayer : layer];
|
||||
|
||||
VkMacOSSurfaceCreateInfoMVK sci;
|
||||
sci.sType = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
|
||||
sci.pNext = NULL;
|
||||
|
||||
Reference in New Issue
Block a user