diff --git a/internal/graphicsdriver/opengl/gl/procaddr_nintendosdk.go b/internal/graphicsdriver/opengl/gl/procaddr_nintendosdk.go new file mode 100644 index 000000000..84babbded --- /dev/null +++ b/internal/graphicsdriver/opengl/gl/procaddr_nintendosdk.go @@ -0,0 +1,35 @@ +// Copyright 2022 The Ebitengine Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build nintendosdk + +package gl + +// #cgo LDFLAGS: -Wl,-unresolved-symbols=ignore-all +// +// #include +// #include +// +// static void* getProcAddress(const char* name) { +// return eglGetProcAddress(name); +// } +import "C" + +import "unsafe" + +func getProcAddress(namea string) unsafe.Pointer { + cname := C.CString(namea) + defer C.free(unsafe.Pointer(cname)) + return C.getProcAddress(cname) +} diff --git a/internal/graphicsdriver/opengl/gl/procaddr_others.go b/internal/graphicsdriver/opengl/gl/procaddr_others.go index 714477422..876c06632 100644 --- a/internal/graphicsdriver/opengl/gl/procaddr_others.go +++ b/internal/graphicsdriver/opengl/gl/procaddr_others.go @@ -1,29 +1,18 @@ // SPDX-License-Identifier: MIT // SPDX-FileCopyrightText: 2014 Eric Woroshow -//go:build !android && !darwin && !js && !windows && !opengles +//go:build !android && !darwin && !js && !nintendosdk && !windows && !opengles package gl -/* -#cgo !nintendosdk pkg-config: gl -#cgo nintendosdk CFLAGS: -DTAG_NINTENDOSDK -#cgo nintendosdk LDFLAGS: -Wl,-unresolved-symbols=ignore-all - -#if defined(TAG_NINTENDOSDK) - #include - #include - static void* getProcAddress(const char* name) { - return eglGetProcAddress(name); - } -#else - #include - #include - static void* getProcAddress(const char* name) { - return glXGetProcAddress((const GLubyte *) name); - } -#endif -*/ +// #cgo pkg-config: gl +// +// #include +// #include +// +// static void* getProcAddress(const char* name) { +// return glXGetProcAddress((const GLubyte *) name); +// } import "C" import "unsafe"