From ba45936d7762cbc0750e8a740e78cca796de91bb Mon Sep 17 00:00:00 2001 From: sergystepanov Date: Fri, 5 Jul 2024 22:56:28 +0300 Subject: [PATCH] Add another workaround for g0 stack in Go 1.22.5 (#460) --- pkg/worker/caged/libretro/nanoarch/nanoarch.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/worker/caged/libretro/nanoarch/nanoarch.go b/pkg/worker/caged/libretro/nanoarch/nanoarch.go index 3f297ba9..66afe61a 100644 --- a/pkg/worker/caged/libretro/nanoarch/nanoarch.go +++ b/pkg/worker/caged/libretro/nanoarch/nanoarch.go @@ -304,9 +304,11 @@ func (n *Nanoarch) LoadGame(path string) error { n.log.Debug().Msgf("Set buffer: %v", byteCountBinary(int64(bufS))) if n.LibCo { C.same_thread(C.init_video_cgo) + C.same_thread(unsafe.Pointer(Nan0.Video.hw.context_reset)) } else { runtime.LockOSThread() initVideo() + C.bridge_context_reset(Nan0.Video.hw.context_reset) runtime.UnlockOSThread() } } @@ -853,7 +855,6 @@ func initVideo() { } Nan0.sdlCtx = sdl - C.bridge_context_reset(Nan0.Video.hw.context_reset) if Nan0.log.GetLevel() < logger.InfoLevel { printOpenGLDriverInfo() }