Bläddra i källkod

Merge branch 'master' of github.com:bkaradzic/bgfx

Branimir Karadžić 9 år sedan
förälder
incheckning
075292c180
3 ändrade filer med 10 tillägg och 0 borttagningar
  1. 1 0
      scripts/bgfx.lua
  2. 1 0
      src/renderer_mtl.h
  3. 8 0
      src/renderer_mtl.mm

+ 1 - 0
scripts/bgfx.lua

@@ -98,6 +98,7 @@ function bgfxProject(_name, _kind, _defines)
 				"-framework QuartzCore",
 				"-framework OpenGL",
 				"-weak_framework Metal",
+				"-weak_framework MetalKit",
 			}
 
 		configuration { "not nacl", "not linux-steamlink" }

+ 1 - 0
src/renderer_mtl.h

@@ -12,6 +12,7 @@
 
 #import <QuartzCore/CAMetalLayer.h>
 #import <Metal/Metal.h>
+#import <MetalKit/MetalKit.h>
 
 #if BX_PLATFORM_IOS
 #	import <UIKit/UIKit.h>

+ 8 - 0
src/renderer_mtl.mm

@@ -378,8 +378,16 @@ namespace bgfx { namespace mtl
 			memset(m_uniforms, 0, sizeof(m_uniforms) );
 			memset(&m_resolution, 0, sizeof(m_resolution) );
 
+            if (NULL != NSClassFromString(@"MTKView")) {
+                MTKView *view = (MTKView *)g_platformData.nwh;
+                if (NULL != view && [view isKindOfClass:NSClassFromString(@"MTKView")]) {
+                    m_metalLayer = (CAMetalLayer *)view.layer;
+                }
+            }
+
 			if (NULL != NSClassFromString(@"CAMetalLayer") )
 			{
+                if (NULL == m_metalLayer)
 #if BX_PLATFORM_IOS
 				{
 					CAMetalLayer* metalLayer = (CAMetalLayer*)g_platformData.nwh;