metal: contrary to documentation, we need to set the drawableSize explicitly. Fixes Bugzilla #4149.
diff --git a/src/video/cocoa/SDL_cocoametalview.m b/src/video/cocoa/SDL_cocoametalview.m
index e9c08a0..f28b743 100644
--- a/src/video/cocoa/SDL_cocoametalview.m
+++ b/src/video/cocoa/SDL_cocoametalview.m
@@ -66,11 +66,10 @@
/* Allow resize. */
self.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
- /* Set the desired scale. The default drawableSize of a CAMetalLayer
- * is its bounds x its scale so nothing further needs to be done.
- */
+ /* Set the desired scale. */
+ ((CAMetalLayer *) self.layer).drawableSize = NSSizeToCGSize([self bounds].size);
self.layer.contentsScale = scale;
- }
+ }
return self;
}
diff --git a/src/video/uikit/SDL_uikitmetalview.m b/src/video/uikit/SDL_uikitmetalview.m
index 63adf7c..fd94300 100644
--- a/src/video/uikit/SDL_uikitmetalview.m
+++ b/src/video/uikit/SDL_uikitmetalview.m
@@ -49,8 +49,8 @@
{
if ((self = [super initWithFrame:frame])) {
self.tag = METALVIEW_TAG;
- /* Set the desired scale. The default drawableSize of a CAMetalLayer
- * is its bounds x its scale so nothing further needs to be done. */
+ /* Set the desired scale. */
+ ((CAMetalLayer *) self.layer).drawableSize = self.bounds.size;
self.layer.contentsScale = scale;
}