From 007879af0271f77eb90cbfbc7d8ff632d0b764dd Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Thu, 8 May 2025 22:34:00 +0900 Subject: [PATCH] gl_engine: code clean up++ --- src/renderer/gl_engine/tvgGl.cpp | 35 +++++++++++++++++++------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/renderer/gl_engine/tvgGl.cpp b/src/renderer/gl_engine/tvgGl.cpp index 462d948e..40f11f90 100644 --- a/src/renderer/gl_engine/tvgGl.cpp +++ b/src/renderer/gl_engine/tvgGl.cpp @@ -40,14 +40,16 @@ bool glTerm() #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) -typedef PROC(WINAPI *PFNGLGETPROCADDRESSPROC)(LPCSTR); +#ifdef THORVG_GL_TARGET_GL + typedef PROC(WINAPI *PFNGLGETPROCADDRESSPROC)(LPCSTR); + static PFNGLGETPROCADDRESSPROC glGetProcAddress = NULL; +#endif static HMODULE _libGL = NULL; -static PFNGLGETPROCADDRESSPROC glGetProcAddress = NULL; static bool _glLoad() { -#ifndef THORVG_GL_TARGET_GLES +#ifdef THORVG_GL_TARGET_GL _libGL = LoadLibraryW(L"opengl32.dll"); if (!_libGL) { TVGERR("GL_ENGINE", "Cannot find the gl library."); @@ -70,24 +72,27 @@ static bool _glLoad() // load opengl proc address from dll or from wglGetProcAddress static PROC _getProcAddress(const char* procName) { - PROC procHandle = GetProcAddress(_libGL, procName); - #ifndef THORVG_GL_TARGET_GLES - if (!procHandle) procHandle = glGetProcAddress(procName); - #endif + auto procHandle = GetProcAddress(_libGL, procName); +#ifdef THORVG_GL_TARGET_GL + if (!procHandle) procHandle = glGetProcAddress(procName); +#endif return procHandle; } #elif defined(__linux__) #include -typedef void* (*PFNGLGETPROCADDRESSPROC)(const char*); + +#ifdef THORVG_GL_TARGET_GL + typedef void* (*PFNGLGETPROCADDRESSPROC)(const char*); + static PFNGLGETPROCADDRESSPROC glGetProcAddress = nullptr; +#endif static void* _libGL = nullptr; -static PFNGLGETPROCADDRESSPROC glGetProcAddress = nullptr; static bool _glLoad() { -#ifndef THORVG_GL_TARGET_GLES +#ifdef THORVG_GL_TARGET_GL _libGL = dlopen("libGL.so", RTLD_LAZY); if (!_libGL) _libGL = dlopen("libGL.so.4", RTLD_LAZY); if (!_libGL) _libGL = dlopen("libGL.so.3", RTLD_LAZY); @@ -109,19 +114,21 @@ static bool _glLoad() #endif return true; } -// load opengl proc address from glXGetProcAddress + + static void* _getProcAddress(const char* procName) { - #ifndef THORVG_GL_TARGET_GLES +#ifdef THORVG_GL_TARGET_GL return glGetProcAddress(procName); - #else +#else return dlsym(_libGL, procName); - #endif +#endif } #elif defined(__APPLE__) || defined(__MACH__) #include + static void* _libGL = nullptr; static bool _glLoad() {