partial fix for mac
This commit is contained in:
+17
-5
@@ -193,6 +193,7 @@ func main() {
|
|||||||
log.Fatalf("SDL_Init: %s", sdl.GetError())
|
log.Fatalf("SDL_Init: %s", sdl.GetError())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
defer sdl.Quit()
|
||||||
|
|
||||||
sdlAudioDevice := sdl.AudioDeviceDefaultPlayback
|
sdlAudioDevice := sdl.AudioDeviceDefaultPlayback
|
||||||
if args.PlaybackId != 0 {
|
if args.PlaybackId != 0 {
|
||||||
@@ -209,12 +210,27 @@ func main() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vulkanPath := os.Getenv("VULKAN_LIBRARY")
|
||||||
|
if vulkanPath != "" {
|
||||||
|
if !sdl.VulkanLoadLibrary(vulkanPath) {
|
||||||
|
log.Fatalf(
|
||||||
|
"SDL_Vulkan_LoadLibrary: %s",
|
||||||
|
sdl.GetError(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
defer sdl.VulkanUnloadLibrary()
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := vk.Load(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
windowHandler := sdl.CreateWindow(fmt.Sprintf("%s %s", APP_NAME, APP_VER), WIN_WIDTH, WIN_HEIGHT, sdl.WindowVulkan|sdl.WindowResizable)
|
windowHandler := sdl.CreateWindow(fmt.Sprintf("%s %s", APP_NAME, APP_VER), WIN_WIDTH, WIN_HEIGHT, sdl.WindowVulkan|sdl.WindowResizable)
|
||||||
if windowHandler == 0 {
|
if windowHandler == 0 {
|
||||||
sdl.Quit()
|
|
||||||
log.Fatalf("SDL_CreateWindow: %s", sdl.GetError())
|
log.Fatalf("SDL_CreateWindow: %s", sdl.GetError())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
defer sdl.DestroyWindow(windowHandler)
|
||||||
|
|
||||||
// ImGui init
|
// ImGui init
|
||||||
gui := imgui.New()
|
gui := imgui.New()
|
||||||
@@ -236,10 +252,6 @@ func main() {
|
|||||||
defer sdl.StopTextInput(windowHandler)
|
defer sdl.StopTextInput(windowHandler)
|
||||||
// fin on ImGui init
|
// fin on ImGui init
|
||||||
|
|
||||||
if err := vk.Load(); err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
sdlExtensions := sdl.VulkanGetInstanceExtensions()
|
sdlExtensions := sdl.VulkanGetInstanceExtensions()
|
||||||
if len(sdlExtensions) == 0 {
|
if len(sdlExtensions) == 0 {
|
||||||
log.Fatal("sdlVulkanGetInstanceExtensions is 0")
|
log.Fatal("sdlVulkanGetInstanceExtensions is 0")
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ module mxl-player
|
|||||||
|
|
||||||
go 1.26.0
|
go 1.26.0
|
||||||
|
|
||||||
|
replace github.com/christerso/vulkan-go => /home/itten/extra/vulkan-go
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/christerso/vulkan-go v0.0.0-20260618152204-bff25e5b7646
|
github.com/christerso/vulkan-go v0.0.0-20260618152204-bff25e5b7646
|
||||||
github.com/ebitengine/purego v0.10.2
|
github.com/ebitengine/purego v0.10.2
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
github.com/AllenDang/cimgui-go v1.5.0 h1:wnS4h1wWyE+3x59cHJnNSszka7pIR+pehim6ifOk9Rg=
|
github.com/AllenDang/cimgui-go v1.5.0 h1:wnS4h1wWyE+3x59cHJnNSszka7pIR+pehim6ifOk9Rg=
|
||||||
github.com/AllenDang/cimgui-go v1.5.0/go.mod h1:w7LE33Ex/ZOHqaFBWBHOIVMY4yLSwGLpJMUpX/fb5p4=
|
github.com/AllenDang/cimgui-go v1.5.0/go.mod h1:w7LE33Ex/ZOHqaFBWBHOIVMY4yLSwGLpJMUpX/fb5p4=
|
||||||
github.com/christerso/vulkan-go v0.0.0-20260618152204-bff25e5b7646 h1:xfc6rFxs+U4XktxQa7jyPfg9g0xlb5STDsQn8sURsyo=
|
|
||||||
github.com/christerso/vulkan-go v0.0.0-20260618152204-bff25e5b7646/go.mod h1:DIo6W2yFav1DflNKc0W0Oc7mecbdBg2btsaHhIYmwUA=
|
|
||||||
github.com/ebitengine/purego v0.10.2 h1:W809HbnvzAxgdm+aOvlSekrM16wGCdT/e76+9tS7gzE=
|
github.com/ebitengine/purego v0.10.2 h1:W809HbnvzAxgdm+aOvlSekrM16wGCdT/e76+9tS7gzE=
|
||||||
github.com/ebitengine/purego v0.10.2/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
github.com/ebitengine/purego v0.10.2/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
||||||
github.com/qvest-digital/go-mxl v1.1.0-rc.1 h1:CUg29Q5c/JA6pqyA5gP3vu7JBr8lRXbOOxC+r0W572s=
|
github.com/qvest-digital/go-mxl v1.1.0-rc.1 h1:CUg29Q5c/JA6pqyA5gP3vu7JBr8lRXbOOxC+r0W572s=
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ var (
|
|||||||
sdlCreateWindow func(title *byte, w, h int32, flags uint64) uintptr
|
sdlCreateWindow func(title *byte, w, h int32, flags uint64) uintptr
|
||||||
sdlDestroyWindow func(window uintptr)
|
sdlDestroyWindow func(window uintptr)
|
||||||
|
|
||||||
|
sdlVulkanLoadLibrary func(path *byte) bool
|
||||||
|
sdlVulkanUnloadLibrary func()
|
||||||
sdlVulkanGetInstanceExtensions func(count *uint32) uintptr
|
sdlVulkanGetInstanceExtensions func(count *uint32) uintptr
|
||||||
sdlVulkanCreateSurface func(window, instance, allocator uintptr, surface *uint64) bool
|
sdlVulkanCreateSurface func(window, instance, allocator uintptr, surface *uint64) bool
|
||||||
|
|
||||||
@@ -153,8 +155,13 @@ func Load() error {
|
|||||||
purego.RegisterLibFunc(&sdlGetError, h, "SDL_GetError")
|
purego.RegisterLibFunc(&sdlGetError, h, "SDL_GetError")
|
||||||
purego.RegisterLibFunc(&sdlCreateWindow, h, "SDL_CreateWindow")
|
purego.RegisterLibFunc(&sdlCreateWindow, h, "SDL_CreateWindow")
|
||||||
purego.RegisterLibFunc(&sdlDestroyWindow, h, "SDL_DestroyWindow")
|
purego.RegisterLibFunc(&sdlDestroyWindow, h, "SDL_DestroyWindow")
|
||||||
|
|
||||||
|
// vulkan
|
||||||
|
purego.RegisterLibFunc(&sdlVulkanLoadLibrary, h, "SDL_Vulkan_LoadLibrary")
|
||||||
|
purego.RegisterLibFunc(&sdlVulkanUnloadLibrary, h, "SDL_Vulkan_UnloadLibrary")
|
||||||
purego.RegisterLibFunc(&sdlVulkanGetInstanceExtensions, h, "SDL_Vulkan_GetInstanceExtensions")
|
purego.RegisterLibFunc(&sdlVulkanGetInstanceExtensions, h, "SDL_Vulkan_GetInstanceExtensions")
|
||||||
purego.RegisterLibFunc(&sdlVulkanCreateSurface, h, "SDL_Vulkan_CreateSurface")
|
purego.RegisterLibFunc(&sdlVulkanCreateSurface, h, "SDL_Vulkan_CreateSurface")
|
||||||
|
|
||||||
purego.RegisterLibFunc(&sdlPollEvent, h, "SDL_PollEvent")
|
purego.RegisterLibFunc(&sdlPollEvent, h, "SDL_PollEvent")
|
||||||
purego.RegisterLibFunc(&sdlGetWindowSizeInPixels, h, "SDL_GetWindowSizeInPixels")
|
purego.RegisterLibFunc(&sdlGetWindowSizeInPixels, h, "SDL_GetWindowSizeInPixels")
|
||||||
purego.RegisterLibFunc(&sdlSetWindowFullscreen, h, "SDL_SetWindowFullscreen")
|
purego.RegisterLibFunc(&sdlSetWindowFullscreen, h, "SDL_SetWindowFullscreen")
|
||||||
@@ -186,6 +193,14 @@ func CreateWindow(title string, w, h int32, flags uint64) uintptr {
|
|||||||
}
|
}
|
||||||
func DestroyWindow(window uintptr) { sdlDestroyWindow(window) }
|
func DestroyWindow(window uintptr) { sdlDestroyWindow(window) }
|
||||||
|
|
||||||
|
func VulkanLoadLibrary(path string) bool {
|
||||||
|
return sdlVulkanLoadLibrary(cbytes(path))
|
||||||
|
}
|
||||||
|
|
||||||
|
func VulkanUnloadLibrary() {
|
||||||
|
sdlVulkanUnloadLibrary()
|
||||||
|
}
|
||||||
|
|
||||||
func VulkanGetInstanceExtensions() []string {
|
func VulkanGetInstanceExtensions() []string {
|
||||||
var count uint32
|
var count uint32
|
||||||
vkExts := sdlVulkanGetInstanceExtensions(&count)
|
vkExts := sdlVulkanGetInstanceExtensions(&count)
|
||||||
|
|||||||
Reference in New Issue
Block a user