wgpu-native 在 Swift 中的实现。
提供了以下库二进制文件
常规注意事项
为所有 KZ 类创建 getter 和 setter,使其接口类似于 C——仅提供中间层
所有 'self.pointers' 元组可能可以压缩为仅一个 [UnsafeMutablePointer],但目前可读性是关键
WGPUChainedStructs 最终应该被移除
(1) 考虑将任何仅为 'public var c: WGPUClass' 的结构体/类转换为类型别名
将类文件压缩为更抽象的文件
(2) 将枚举设置为具有原始 WGPUTypes,这样就不需要转换(移除所有对构造函数和 .rawValues 的调用)
将带有回调(可能是异步的)的函数转换为实际的 swift 异步函数
(3) 最终排除头文件,因为我们基本上在这个文件中定义了它自己
wgpu.h 的自由函数很有趣。不幸的是,我们必须不断使用 strdup(),所以我想知道它是否为结构体清理这些类型
也许更改 manualPointer()
的定义,使其使用 Unmanaged.passUnretained()
。这样 Swift 的 ARC 就可以像往常一样处理内存,我们不必不断地考虑 deinit