Browse Source

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

Бранимир Караџић 6 years ago
parent
commit
f1cc6dc0b7
1 changed files with 9 additions and 3 deletions
  1. 9 3
      src/renderer_mtl.mm

+ 9 - 3
src/renderer_mtl.mm

@@ -838,11 +838,17 @@ namespace bgfx { namespace mtl
 
 		void readTexture(TextureHandle _handle, void* _data, uint8_t _mip) override
 		{
-			m_cmd.kick(false, true);
-			m_commandBuffer = m_cmd.alloc();
-
 			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();
+			
 			BX_CHECK(_mip<texture.m_numMips,"Invalid mip: %d num mips:",_mip,texture.m_numMips);
 
 			uint32_t srcWidth  = bx::uint32_max(1, texture.m_ptr.width()  >> _mip);