¿Cómo usar UnsafeMutableRawPointer para llenar una matriz?

Tengo una textura Metal, quiero acceder a sus datos desde Swift convirtiéndolo en una matriz float4 (para que pueda acceder a cada componente de color de 4 píxeles).

Descubrí este método deMTLTexture :

getBytes(UnsafeMutableRawPointer, bytesPerRow: Int, bytesPerImage: Int, from: MTLRegion, mipmapLevel: Int, slice: Int)

No sé en absoluto cómo usar UnsafeMutableRawPointer, cómo funciona y cómo recuperar los datos en una simple matriz Swift.

Mi primer intento fue crear un puntero y asignar suficiente espacio como ese, pero ni siquiera sé si eso es lo que debería hacer:

var pointer = UnsafeMutableRawPointer.allocate(bytes: myTextureSizeInBytes, alignedTo: 0)  

Entonces no tengo idea de cómo volver a llevar estos datos a una matriz Swift estándar ...

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta