Ich habe einen Puffer erstellt, der von einem Array von Float-Werten ausgefüllt wurde. Leider, wenn ich versuche, seine contents()
Eigenschaft abzufragen (als ich versuchte, ein Problem zu debuggen), erhielt ich eine EXC_BAD_ACCESS. Hier ist der Code:Inhalt von MTLBuffer verursacht EXC_BAD_ACCESS
let inputData = [Float32](repeatElement(5, count: 16384)) // Declaration
// Declaration of the buffer and filling contents...
inputBuffer = device.makeBuffer(bytes: inputData, length: MemoryLayout<Float32>.size * inputData.count, options: MTLResourceOptions())
// Crash occurs here:
let contents = inputBuffer.contents().load(as: [Float32].self)
Ich würde gerne wissen, warum der Absturz auftritt. Andere ähnliche Pufferdeklarationen haben korrekt funktioniert, also könnte dies ein Problem beim Zugriff auf den Inhalt sein.
, die den Trick tat. Vielen Dank. Also, wenn ich das gesamte Array haben möchte, gibt es irgendeine Funktion? Oder iteriere ich über die Anzahl der Elemente, während ich den Offset ändere? –
@AdilPatel Sie sind willkommen;) Bitte sehen Sie sich Matthijs Antwort für eine Möglichkeit an, das gesamte Array zurück zu bekommen ... –