vulkan-go / demos

Vulkan API crossplatform demos in Go

Home Page:https://vulkanGo.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vulkandraw on linux not working? yet?

splace opened this issue · comments

 ~/go/src/github.com/vulkan-go/demos/vulkandraw/vulkandraw_desktop $ go build main.go
# github.com/vulkan-go/demos/vulkandraw
../vulkandraw.go:266:24: undefined: vulkan.GetRequiredInstanceExtensions
../vulkandraw.go:305:17: undefined: vulkan.CreateWindowSurface

functions do seem to be there for ios and windows, just not for Linux. (or am i missing something? a directive?)

others demos work.

i was looking at playing with instance extensions, so this function is, coincidentally, the very one i was looking at.

Hello @splace , we've been recently changing the way how to initialize the surface, basically we wanted to remove platform-depended code from the library, because for desktop platforms (Linux / Windows / OS X) it is provided by corresponding GLFW / SDL2 libs. On iOS and Android there is no such thing, so we do it manually.

The vulkancube is the most updated example, see https://github.com/vulkan-go/demos/blob/master/vulkancube/vulkancube_glfw/main.go#L26-L33 for example.

Please note that vulkandraw is more ancient and was the first thing I done with Vulkan API, and then I created some boilerplate framework called asche and vulkancube examples uses its pattern to initialize itself.

I should migrate vulkandraw as well..

commented

I don't have an Android toolchain set up so I can't fix the Android build now (and I definitely can't do anything on iOS) but you basically just have to replace those two function calls with GLFW or some other means.

working. background flickers but i see this is low level and so not surprised.