title: CARenderer draws nothing into bound texture
body: <p>I'm trying to setup a CARenderer to draw into a mtlTexture, but all my attempts to get this working in a playground don't draw anything.</p>
  <p>The resulting image is solid red, the yellow layer doesn't seem to be rendered at all.</p>
  <p>Here's the simplest version of what I've tried:</p>
  <pre><code>import QuartzCore
  import Metal
  
  let layerTest = CATextLayer()
  layerTest.frame = .init(origin: .zero, size: .init(width: 1920, height: 1080))
  layerTest.string = &quot;TEST&quot;
  layerTest.foregroundColor = .black
  layerTest.backgroundColor = CGColor(red: 1.0, green: 1.0, blue: 0.0, alpha: 1.0)
  layerTest.position = CGPoint(x:0.0, y:0.0)
  layerTest.anchorPoint = CGPoint(x:0.0, y:0.0)
  layerTest.masksToBounds = true
  
  let device = MTLCreateSystemDefaultDevice()!
  let context = CIContext(mtlDevice: device)
  
  let textureDescriptor = MTLTextureDescriptor.texture2DDescriptor(pixelFormat: .rgba8Unorm, width: 1920, height: 1080, mipmapped: false)
  textureDescriptor.usage = [.unknown]
  textureDescriptor.storageMode = .private
  
  let bytes = UnsafeMutablePointer&lt;UInt8&gt;.allocate(capacity: 1920 * 1080 * 4)
  
  //fill the buffer with red
  let pattern = UnsafeMutablePointer&lt;UInt8&gt;.allocate(capacity: 4)
  (pattern + 0).initialize(to: 255)
  (pattern + 1).initialize(to: 0)
  (pattern + 2).initialize(to: 0)
  (pattern + 3).initialize(to: 255)
  memset_pattern4(bytes, pattern, 1920 * 1080 * 4)
  
  let mtlBuffer = device.makeBuffer(bytes: bytes, length: 1920 * 1080 * 4)!
  let mtlTexture = mtlBuffer.makeTexture(descriptor: textureDescriptor, offset: 0, bytesPerRow: 1920 * 4)!
  
  let render = CARenderer(mtlTexture: mtlTexture)
  render.bounds = layerTest.frame
  render.layer = layerTest
  render.setDestination(mtlTexture)
  render.beginFrame(atTime: CACurrentMediaTime(), timeStamp: nil)
  render.addUpdate(render.bounds)
  render.render()
  render.endFrame()
      
  let ciImage = CIImage(mtlTexture: mtlTexture)!
      
  let cgImage: CGImage = context.createCGImage(ciImage, from: ciImage.extent)! //&lt;- this is just red frame
      
  </code></pre>