fix some bugs on macos and improve presentation queue

This commit is contained in:
Greg Wells
2025-07-01 16:15:43 -04:00
parent 4c7fe77db3
commit 504603e5ac
11 changed files with 41 additions and 36 deletions

View File

@@ -15,6 +15,7 @@ typedef void MTKView;
// MTKView* gnCreateMTKView(NSWindow* window);
// void gnWindowSetMTKView(NSWindow* window, MTKView* view);
CAMetalLayer* gnCreateCAMetalLayer(NSWindow* window);
void gnResizeCAMetalLayer(NSWindow* window);
// CAMetalLayer* gnGetCAMetalLayer(NSWindow* window);
// void gnAttachMetalLayer(NSWindow* window, CAMetalLayer* layer);

View File

@@ -24,12 +24,22 @@ CAMetalLayer* gnCreateCAMetalLayer(NSWindow* window) {
[view setLayer:layer];
[view setWantsLayer:YES];
CGSize viewSize = view.bounds.size;
CGFloat scale = view.window.screen.backingScaleFactor;
CGFloat scale = window.screen.backingScaleFactor;
layer.drawableSize = CGSizeMake(viewSize.width * scale,
viewSize.height * scale);
return layer;
}
void gnResizeCAMetalLayer(NSWindow* window) {
CAMetalLayer* layer = (CAMetalLayer*)window.contentView.layer;
CGSize viewSize = window.contentView.bounds.size;
CGFloat scale = window.screen.backingScaleFactor;
layer.drawableSize = CGSizeMake(viewSize.width * scale,
viewSize.height * scale);
}
// CAMetalLayer* gnGetCAMetalLayer(NSWindow* window) {
// return (CAMetalLayer*)window.contentView.layer;
// }