From 9b7f950cd603932545c07fc96e844c38259c7fcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Wed, 16 Sep 2020 20:03:04 -0700 Subject: [PATCH] Cleanup. --- src/renderer_mtl.mm | 110 ++++++++++++++++++++++++-------------------- 1 file changed, 61 insertions(+), 49 deletions(-) diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 0ed1d52b8..e63e94ef4 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -508,15 +508,15 @@ namespace bgfx { namespace mtl g_caps.limits.maxFBAttachments = uint8_t(bx::uint32_min(m_device.supportsFeatureSet( (MTLFeatureSet)1 /* MTLFeatureSet_iOS_GPUFamily2_v1 */) ? 8 : 4, BGFX_CONFIG_MAX_FRAME_BUFFER_ATTACHMENTS) ); - if ( m_device.supportsFeatureSet( (MTLFeatureSet)4 /* MTLFeatureSet_iOS_GPUFamily3_v1 */ )) - { - g_caps.supported |= BGFX_CAPS_DRAW_INDIRECT; - } + g_caps.supported |= m_device.supportsFeatureSet( (MTLFeatureSet)4 /* MTLFeatureSet_iOS_GPUFamily3_v1 */) + ? BGFX_CAPS_DRAW_INDIRECT + | 0 + ; - if ( m_device.supportsFeatureSet( (MTLFeatureSet)11 /* MTLFeatureSet_iOS_GPUFamily4_v1 */ )) - { - g_caps.supported |= BGFX_CAPS_TEXTURE_CUBE_ARRAY; - } + g_caps.supported |= m_device.supportsFeatureSet( (MTLFeatureSet)11 /* MTLFeatureSet_iOS_GPUFamily4_v1 */) + ? BGFX_CAPS_TEXTURE_CUBE_ARRAY + | 0 + ; } else if (BX_ENABLED(BX_PLATFORM_OSX) ) { @@ -524,10 +524,10 @@ namespace bgfx { namespace mtl g_caps.limits.maxFBAttachments = 8; g_caps.supported |= BGFX_CAPS_TEXTURE_CUBE_ARRAY; - if ( m_device.supportsFeatureSet( (MTLFeatureSet)10001 /* MTLFeatureSet_macOS_GPUFamily1_v2 */ )) - { - g_caps.supported |= BGFX_CAPS_DRAW_INDIRECT; - } + g_caps.supported |= m_device.supportsFeatureSet( (MTLFeatureSet)10001 /* MTLFeatureSet_macOS_GPUFamily1_v2 */) + ? BGFX_CAPS_DRAW_INDIRECT + : 0 + ; } g_caps.limits.maxTextureLayers = 2048; @@ -542,14 +542,15 @@ namespace bgfx { namespace mtl ; m_hasStoreActionStoreAndMultisampleResolve = false - || (BX_ENABLED(BX_PLATFORM_OSX) && macOSVersionEqualOrGreater(10,12,0)) - || (BX_ENABLED(BX_PLATFORM_IOS) && iOSVersionEqualOrGreater("10.0.0") ) - ; + || (BX_ENABLED(BX_PLATFORM_OSX) && macOSVersionEqualOrGreater(10, 12, 0) ) + || (BX_ENABLED(BX_PLATFORM_IOS) && iOSVersionEqualOrGreater("10.0.0") ) + ; m_macOS11Runtime = true && BX_ENABLED(BX_PLATFORM_OSX) - && macOSVersionEqualOrGreater(10,11,0) + && macOSVersionEqualOrGreater(10, 11, 0) ; + m_iOS9Runtime = true && BX_ENABLED(BX_PLATFORM_IOS) && iOSVersionEqualOrGreater("9.0.0") @@ -1220,7 +1221,7 @@ namespace bgfx { namespace mtl { MTL_RELEASE(frameBuffer.m_swapChain->m_drawableTexture); - if ( NULL != frameBuffer.m_swapChain->m_drawable) + if (NULL != frameBuffer.m_swapChain->m_drawable) { m_commandBuffer.presentDrawable(frameBuffer.m_swapChain->m_drawable); MTL_RELEASE(frameBuffer.m_swapChain->m_drawable); @@ -1593,23 +1594,21 @@ namespace bgfx { namespace mtl for (uint32_t ii = 0; ii < numMrt; ++ii) { - bx::memCopy( mrtClearColor[ii] - , rgba - , 16 - ); + bx::memCopy(mrtClearColor[ii], rgba, 16); } } - bx::memCopy( (uint8_t*)m_uniformBuffer.contents() + m_uniformBufferVertexOffset - , mrtClearDepth - , bx::uint32_min(vertexUniformBufferSize, sizeof(mrtClearDepth) ) - ); - - bx::memCopy( (uint8_t*)m_uniformBuffer.contents() + m_uniformBufferFragmentOffset - , mrtClearColor - , bx::uint32_min(fragmentUniformBufferSize, sizeof(mrtClearColor) ) - ); + bx::memCopy( + (uint8_t*)m_uniformBuffer.contents() + m_uniformBufferVertexOffset + , mrtClearDepth + , bx::uint32_min(vertexUniformBufferSize, sizeof(mrtClearDepth) ) + ); + bx::memCopy( + (uint8_t*)m_uniformBuffer.contents() + m_uniformBufferFragmentOffset + , mrtClearColor + , bx::uint32_min(fragmentUniformBufferSize, sizeof(mrtClearColor) ) + ); m_uniformBufferFragmentOffset += fragmentUniformBufferSize; m_uniformBufferVertexOffset = m_uniformBufferFragmentOffset; @@ -1624,18 +1623,28 @@ namespace bgfx { namespace mtl void setAttachment(MTLRenderPassAttachmentDescriptor* _attachmentDescriptor, const Attachment& _at, uint8_t _textureType, bool _resolve) { _attachmentDescriptor.level = _at.mip; - if ( _textureType == TextureMtl::Texture3D ) - _attachmentDescriptor.depthPlane = _at.layer; - else - _attachmentDescriptor.slice = _at.layer; - if ( _resolve ) + if (TextureMtl::Texture3D == _textureType) + { + _attachmentDescriptor.depthPlane = _at.layer; + } + else + { + _attachmentDescriptor.slice = _at.layer; + } + + if (_resolve) { _attachmentDescriptor.resolveLevel = _at.mip; - if ( _textureType == TextureMtl::Texture3D ) + + if (TextureMtl::Texture3D == _textureType) + { _attachmentDescriptor.resolveDepthPlane = _at.layer; + } else + { _attachmentDescriptor.resolveSlice = _at.layer; + } } } @@ -1813,8 +1822,8 @@ namespace bgfx { namespace mtl if (arg.type == MTLArgumentTypeBuffer && 0 == bx::strCmp(utf8String(arg.name), SHADER_UNIFORM_NAME) ) { - BX_ASSERT( arg.index == 0, "Uniform buffer must be in the buffer slot 0."); - BX_ASSERT( MTLDataTypeStruct == arg.bufferDataType, "%s's type must be a struct",SHADER_UNIFORM_NAME ); + BX_ASSERT(arg.index == 0, "Uniform buffer must be in the buffer slot 0."); + BX_ASSERT(MTLDataTypeStruct == arg.bufferDataType, "%s's type must be a struct",SHADER_UNIFORM_NAME ); if (MTLDataTypeStruct == arg.bufferDataType) { @@ -1883,7 +1892,9 @@ namespace bgfx { namespace mtl } } } - else if ( arg.type == MTLArgumentTypeBuffer && arg.index > 0 && NULL != arg.bufferStructType) + else if (arg.type == MTLArgumentTypeBuffer + && arg.index > 0 + && NULL != arg.bufferStructType) { const char* name = utf8String(arg.name); @@ -2465,7 +2476,7 @@ namespace bgfx { namespace mtl uint16_t regCount; bx::read(&reader, regCount); - + if (!isShaderVerLess(magic, 8) ) { uint16_t texInfo = 0; @@ -2561,7 +2572,7 @@ namespace bgfx { namespace mtl { m_vsh = NULL; m_fsh = NULL; - if ( NULL != m_computePS ) + if (NULL != m_computePS) { BX_DELETE(g_allocator, m_computePS); m_computePS = NULL; @@ -2572,8 +2583,8 @@ namespace bgfx { namespace mtl { BX_UNUSED(_stride); - m_size = _size; - m_flags = _flags; + m_size = _size; + m_flags = _flags; m_vertex = _vertex; if (NULL == _data) @@ -2590,16 +2601,17 @@ namespace bgfx { namespace mtl { BlitCommandEncoder bce = s_renderMtl->getBlitCommandEncoder(); - if (!m_vertex && !_discard) + if (!m_vertex + && !_discard) { - if ( m_dynamic == NULL ) + if (NULL == m_dynamic) { m_dynamic = (uint8_t*)BX_ALLOC(g_allocator, m_size); } bx::memCopy(m_dynamic + _offset, _data, _size); uint32_t start = _offset & 4; - uint32_t end = bx::strideAlign(_offset + _size, 4); + uint32_t end = bx::strideAlign(_offset + _size, 4); Buffer temp = s_renderMtl->m_device.newBufferWithBytes(m_dynamic, end - start, 0); bce.copyFromBuffer(temp, 0, m_ptr, start, end - start); @@ -3933,9 +3945,9 @@ namespace bgfx { namespace mtl desc.loadAction = MTLLoadActionLoad; } - if ( NULL != m_capture && - !isValid(fbh) && - m_hasStoreActionStoreAndMultisampleResolve) + if (NULL != m_capture + && !isValid(fbh) + && m_hasStoreActionStoreAndMultisampleResolve) { desc.storeAction = desc.texture.sampleCount > 1 ? MTLStoreActionStoreAndMultisampleResolve : MTLStoreActionStore;