devdraw: prefer low-power GPU for macOS metal rendering (#231)

This commit is contained in:
Chris Schultz 2019-04-05 14:08:20 -05:00 committed by Russ Cox
parent 26c6b25795
commit 6160158729

View file

@ -153,6 +153,7 @@ threadmain(int argc, char **argv)
id<MTLLibrary> library;
MTLRenderPipelineDescriptor *pipelineDesc;
NSError *error;
NSArray *allDevices;
const NSWindowStyleMask Winstyle = NSWindowStyleMaskTitled
| NSWindowStyleMaskClosable
@ -198,7 +199,17 @@ threadmain(int argc, char **argv)
[myContent setWantsLayer:YES];
[myContent setLayerContentsRedrawPolicy:NSViewLayerContentsRedrawOnSetNeedsDisplay];
device = nil;
allDevices = MTLCopyAllDevices();
for(id mtlDevice in allDevices) {
if ([mtlDevice isLowPower] && ![mtlDevice isRemovable]) {
device = mtlDevice;
break;
}
}
if(!device)
device = MTLCreateSystemDefaultDevice();
commandQueue = [device newCommandQueue];
layer = (DrawLayer *)[myContent layer];