2016-03-20 21 views
2

OSX/iOS üzerinde bazı paralel hesaplamaları gerçekleştirecek bir kakao dokunma çerçevesi oluşturmaya çalışıyorum ve testlerin oluşturulmasında bazı sorunlar yaşıyorum. Ben hata vurulmakTest etmek için metal çekirdek gölgelendiricileri yükleme

library = device.newDefaultLibrary()! 

: Ben çalıştırmayı denediğinizde zaman

/Library/Caches/com.apple.xbs/Sources/Metal/Metal-55.2.8/Framework/MTLLibrary.mm:1016: failed assertion `filepath must not be nil.' 

Ben de düz başarılı olamadı Gruptan gölgelendiricileri yüklemeye çalışıyordum.

Metal gölgelendiricileri düzgün bir şekilde nasıl yüklerim, böylece bunları bir çerçeve/testler içinde kullanabilirim?

Teşekkürler!

Bu kodla çerçevesinde bir metal kütüphane yükleyebilirsiniz
+0

Eğer testler için doğru Gruptan gölgelendiricileri yükleme var mı? NSBundle.mainBundle(), testler için doğru bir paket döndürmeyecektir. –

+1

Bunu bir oyun alanında yapmaya çalışıyorsanız, 'newDefaultLibrary()' yöntemi çalışmaz. [blog yazısı] 'nda (http://mhorga.org/2016/03/07/using-metalkit-part-8.html) açıkladığım gibi kendi dosya yolunuzu oluşturmalısınız. – Marius

cevap

1

:

let library = try! sceneKitView.device!.newLibraryWithFile(NSBundle(forClass: TheNameOfThisClass.self).URLForResource("default", withExtension: "metallib")!.path!) 

ANCAK ben rdar açtı: Eğer önceden derlenmiş Metal kütüphaneleri yükleyemediğinizi gösteren bir örnek proje ile Eylül 2015'te // 22618641 çerçevelerden - kütüphaneyi kullanmaya çalıştığınızda gördüğünüz aynı hatayı alırsınız.

(Eh, kitaplığı yüklenemedi CAN, sadece aslında kullanamaz.)