【发布时间】:2019-01-07 05:20:13
【问题描述】:
我一直在为面向 MacOS 的 Vulkan 编写包装库。在我遇到这个障碍之前一切都很好。有一个对SDL_Vulkan_CreateSurface 的调用,它应该返回一个指向表面VkSurfaceKHR 的指针。然而,返回的指针不是内存地址,而是数字 1。起初我认为这可能是 SDL 的一个错误,但后来我注意到另一个对另一个 Vulkan API 的调用返回 2。我现在没有选择了我希望这是我可以解决的问题。这是输出:
负责的函数是这样的:
func createVulkanSurface() throws -> Surface {
var surface = VkSurfaceKHR(bitPattern: 0)
if SDL_Vulkan_CreateSurface(window, self.instance!.pointer, &surface) != SDL_TRUE {
throw lastSDLError()
}
return Surface(instance: self.instance!, surface: surface!)
}
代码在这里:https://github.com/alexanderuv/vulkanSwift
上面的具体代码在这里:https://github.com/alexanderuv/vulkanSwift/blob/master/Sources/SwiftSDL2/Window.swift#L198
任何帮助将不胜感激!
【问题讨论】: