我想用 newBufferWithBytesNoCopy 创建一个 Metal 缓冲区让CPU和GPU共享内存和实践零拷贝数据传输的功能。
newBufferWithBytesNoCopy函数接受一个UnsafeMutablePointer类型的指针,指针需要对齐到16K(16384)字节。
谁能就如何在 Swift 中创建特定大小的对齐内存提供建议?
最佳答案
我相信这对你有用:
var memory:UnsafeMutablePointer<Void> = nil
var alignment:UInt = 0x4000 // 16K aligned
var size:UInt = bufferSize // bufferSize == your buffer size
posix_memalign(&memory, alignment, size)
供引用:
http://pubs.opengroup.org/onlinepubs/009695399/functions/posix_memalign.html
关于ios - 指针(内存)在 Swift 中对齐到 16K 以创建 Metal 缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365905/