From 413972736fc60a61e1346378f2d91422546bd111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Mon, 31 Oct 2016 20:50:06 -0700 Subject: [PATCH] Metal: Fixed OSX build. --- src/renderer_mtl.mm | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index c896f5ec5..027c65e68 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -378,12 +378,14 @@ 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(@"MTKView") ) + { + MTKView *view = (MTKView *)g_platformData.nwh; + if (NULL != view && [view isKindOfClass:NSClassFromString(@"MTKView")]) + { + m_metalLayer = (CAMetalLayer *)view.layer; + } + } if (NULL != NSClassFromString(@"CAMetalLayer") ) { @@ -1730,7 +1732,10 @@ namespace bgfx { namespace mtl if (m_drawable == nil) { m_drawable = m_metalLayer.nextDrawable; - retain(m_drawable); // keep alive to be useable at 'flip' + if (BX_ENABLED(BX_PLATFORM_IOS) ) + { + retain(m_drawable); // keep alive to be useable at 'flip' + } } return m_drawable; @@ -1897,7 +1902,6 @@ namespace bgfx { namespace mtl const char* code = (const char*)reader.getDataPtr(); bx::skip(&reader, shaderSize+1); - //TODO: use binary format Library lib = s_renderMtl->m_device.newLibraryWithSource(code); if (NULL != lib) @@ -1905,8 +1909,11 @@ namespace bgfx { namespace mtl m_function = lib.newFunctionWithName(SHADER_FUNCTION_NAME); } - BGFX_FATAL(NULL != m_function, bgfx::Fatal::InvalidShader, "Failed to create %s shader." - , BGFX_CHUNK_MAGIC_FSH == magic ? "Fragment" : BGFX_CHUNK_MAGIC_VSH == magic ? "Vertex" : "Compute"); + BGFX_FATAL(NULL != m_function + , bgfx::Fatal::InvalidShader + , "Failed to create %s shader." + , BGFX_CHUNK_MAGIC_FSH == magic ? "Fragment" : BGFX_CHUNK_MAGIC_VSH == magic ? "Vertex" : "Compute" + ); } void ProgramMtl::create(const ShaderMtl* _vsh, const ShaderMtl* _fsh)