diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 88d064cc7..35d107376 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -838,11 +838,17 @@ namespace bgfx { namespace mtl void readTexture(TextureHandle _handle, void* _data, uint8_t _mip) override { + const TextureMtl& texture = m_textures[_handle.idx]; + +#if BX_PLATFORM_OSX + BlitCommandEncoder bce = s_renderMtl->getBlitCommandEncoder(); + bce.synchronizeTexture(texture.m_ptr, 0, _mip); + endEncoding(); +#endif // BX_PLATFORM_OSX + m_cmd.kick(false, true); m_commandBuffer = m_cmd.alloc(); - - const TextureMtl& texture = m_textures[_handle.idx]; - + BX_CHECK(_mip> _mip);