mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-01-12 03:58:55 +01:00
all: bug fix: relative paths for dlopen didn't work on macOS Sonoma
Closes #2732
This commit is contained in:
parent
592d6c57b7
commit
dec08b9e4e
@ -59,7 +59,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func initializeCF() error {
|
func initializeCF() error {
|
||||||
corefoundation, err := purego.Dlopen("CoreFoundation.framework/CoreFoundation", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
corefoundation, err := purego.Dlopen("/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ type (
|
|||||||
type _IOHIDDeviceCallback func(context unsafe.Pointer, result _IOReturn, sender unsafe.Pointer, device _IOHIDDeviceRef)
|
type _IOHIDDeviceCallback func(context unsafe.Pointer, result _IOReturn, sender unsafe.Pointer, device _IOHIDDeviceRef)
|
||||||
|
|
||||||
func initializeIOKit() error {
|
func initializeIOKit() error {
|
||||||
iokit, err := purego.Dlopen("IOKit.framework/IOKit", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
iokit, err := purego.Dlopen("/System/Library/Frameworks/IOKit.framework/IOKit", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ type MetalLayer struct {
|
|||||||
//
|
//
|
||||||
// Reference: https://developer.apple.com/documentation/quartzcore/cametallayer.
|
// Reference: https://developer.apple.com/documentation/quartzcore/cametallayer.
|
||||||
func MakeMetalLayer() (MetalLayer, error) {
|
func MakeMetalLayer() (MetalLayer, error) {
|
||||||
coreGraphics, err := purego.Dlopen("CoreGraphics.framework/CoreGraphics", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
coreGraphics, err := purego.Dlopen("/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return MetalLayer{}, err
|
return MetalLayer{}, err
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ func init() {
|
|||||||
//go:cgo_import_dynamic _ _ "Metal.framework/Metal"
|
//go:cgo_import_dynamic _ _ "Metal.framework/Metal"
|
||||||
|
|
||||||
// It is also necessary for CoreGraphics to be linked
|
// It is also necessary for CoreGraphics to be linked
|
||||||
_, _ = purego.Dlopen("CoreGraphics.framework/CoreGraphics", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
_, _ = purego.Dlopen("/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Example_listDevices() {
|
func Example_listDevices() {
|
||||||
|
@ -569,7 +569,7 @@ var (
|
|||||||
//
|
//
|
||||||
// Reference: https://developer.apple.com/documentation/metal/1433401-mtlcreatesystemdefaultdevice.
|
// Reference: https://developer.apple.com/documentation/metal/1433401-mtlcreatesystemdefaultdevice.
|
||||||
func CreateSystemDefaultDevice() (Device, error) {
|
func CreateSystemDefaultDevice() (Device, error) {
|
||||||
metal, err := purego.Dlopen("Metal.framework/Metal", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
metal, err := purego.Dlopen("/System/Library/Frameworks/Metal.framework/Metal", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return Device{}, err
|
return Device{}, err
|
||||||
}
|
}
|
||||||
|
@ -25,14 +25,14 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (c *defaultContext) init() error {
|
func (c *defaultContext) init() error {
|
||||||
lib, errGLES := purego.Dlopen("OpenGLES.framework/OpenGLES", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
lib, errGLES := purego.Dlopen("/System/Library/Frameworks/OpenGLES.framework/OpenGLES", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
||||||
if errGLES == nil {
|
if errGLES == nil {
|
||||||
c.isES = true
|
c.isES = true
|
||||||
opengl = lib
|
opengl = lib
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
lib, errGL := purego.Dlopen("OpenGL.framework/OpenGL", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
lib, errGL := purego.Dlopen("/System/Library/Frameworks/OpenGL.framework/OpenGL", purego.RTLD_LAZY|purego.RTLD_GLOBAL)
|
||||||
if errGL == nil {
|
if errGL == nil {
|
||||||
opengl = lib
|
opengl = lib
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
Reference in New Issue
Block a user