From f9cd765020586e0574e88ccddf0f0066ca6844de Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Tue, 2 Jan 2018 21:44:28 -0400 Subject: [PATCH] metal and moltenvk: fix highdpi. --- src/render/metal/SDL_render_metal.m | 3 --- src/video/cocoa/SDL_cocoametalview.m | 7 +++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/render/metal/SDL_render_metal.m b/src/render/metal/SDL_render_metal.m index 39c893484a60a..61b018a7832d4 100644 --- a/src/render/metal/SDL_render_metal.m +++ b/src/render/metal/SDL_render_metal.m @@ -563,9 +563,6 @@ - (void)dealloc METAL_GetOutputSize(SDL_Renderer * renderer, int *w, int *h) { @autoreleasepool { METAL_RenderData *data = (__bridge METAL_RenderData *) renderer->driverdata; - // !!! FIXME: We shouldn't need ActivateRenderer, but drawableSize is 0 - // in the first frame without it. - METAL_ActivateRenderer(renderer); if (w) { *w = (int)data.mtllayer.drawableSize.width; } diff --git a/src/video/cocoa/SDL_cocoametalview.m b/src/video/cocoa/SDL_cocoametalview.m index 8078803d6884a..b430cea3d2c8f 100644 --- a/src/video/cocoa/SDL_cocoametalview.m +++ b/src/video/cocoa/SDL_cocoametalview.m @@ -61,11 +61,12 @@ - (instancetype)initWithFrame:(NSRect)frame useHighDPI:(bool)useHighDPI { if ((self = [super initWithFrame:frame])) { - + self.wantsLayer = YES; + /* Allow resize. */ self.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable; _tag = METALVIEW_TAG; - + _useHighDPI = useHighDPI; [self updateDrawableSize]; } @@ -100,8 +101,6 @@ - (void)updateDrawableSize SDL_cocoametalview *metalview = [[SDL_cocoametalview alloc] initWithFrame:view.frame useHighDPI:(window->flags & SDL_WINDOW_ALLOW_HIGHDPI)]; - // Instantiate the CAMetalLayer - metalview.wantsLayer = YES; [view addSubview:metalview]; return metalview; }