added memory

This commit is contained in:
Marius Horga 2017-05-26 14:13:44 -05:00 committed by GitHub
parent 8f79a70bb7
commit 1a715c0bb4
4 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,34 @@
import MetalKit
guard let device = MTLCreateSystemDefaultDevice() else { fatalError() }
let count = 2000
let length = count * MemoryLayout< Float >.stride
// 1. makeBuffer(length:)
//
//let myBuffer = device.makeBuffer(length: length, options: [])
//print(myBuffer.contents())
// 2. makeBuffer(bytes:)
//
//var myVector = [Float](repeating: 0, count: count)
//let myBuffer = device.makeBuffer(bytes: myVector, length: length, options: [])
//withUnsafePointer(to: &myVector) { print($0) }
//print(myBuffer.contents())
// 3. makeBuffer(bytesNoCopy:)
//
var memory: UnsafeMutableRawPointer? = nil
let alignment = 0x1000
let allocationSize = (length + alignment - 1) & (~(alignment - 1))
posix_memalign(&memory, alignment, allocationSize)
let myBuffer = device.makeBuffer(bytesNoCopy: memory!,
length: allocationSize,
options: [],
deallocator: { (pointer: UnsafeMutableRawPointer, _: Int) in
free(pointer)
})
print(memory!)
print(myBuffer.contents())

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<playground version='5.0' target-platform='macos'>
<timeline fileName='timeline.xctimeline'/>
</playground>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>