Skip to content
Permalink
Browse files

Fixed setting the layer drawable size

Without this change the drawable had a size of 0 and the metal renderer asserted because the projection matrix wasn't set.
  • Loading branch information
slouken committed Mar 2, 2018
1 parent cef1c1c commit ac2d1f677371bfcc1e88de462d57db038828f70d
Showing with 10 additions and 3 deletions.
  1. +10 −3 src/video/uikit/SDL_uikitmetalview.m
@@ -60,7 +60,14 @@ - (instancetype)initWithFrame:(CGRect)frame
/* Set the size of the metal drawables when the view is resized. */
- (void)layoutSubviews
{
CGSize bounds;

[super layoutSubviews];

bounds = [self bounds].size;
bounds.width *= self.layer.contentsScale;
bounds.height *= self.layer.contentsScale;
((CAMetalLayer *) self.layer).drawableSize = bounds;
}

@end
@@ -72,9 +79,9 @@ - (void)layoutSubviews
SDL_uikitview *view = (SDL_uikitview*)data.uiwindow.rootViewController.view;
CGFloat scale = 1.0;

if ([view isKindOfClass:[SDL_uikitmetalview class]]) {
return (SDL_uikitmetalview *)view;
}
if ([view isKindOfClass:[SDL_uikitmetalview class]]) {
return (SDL_uikitmetalview *)view;
}

if (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) {
/* Set the scale to the natural scale factor of the screen - then

0 comments on commit ac2d1f6

Please sign in to comment.