about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-13 17:43:51 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-13 17:43:51 +0200
commit59ba2fc7ab69ecdc629a99ade965c436810c6cc8 (patch)
tree1dd34453fc89bb6f459d6c6de1f800df624b47f6 /src
parent1936052e790299cb785977057a5862b68fd059c0 (diff)
downloadbox64-59ba2fc7ab69ecdc629a99ade965c436810c6cc8.tar.gz
box64-59ba2fc7ab69ecdc629a99ade965c436810c6cc8.zip
[BOX32][WRAPPER] Hacked some support for libGLX_nvidia.so.0
Diffstat (limited to 'src')
-rw-r--r--src/library_list_32.h1
-rw-r--r--src/wrapped32/wrappedlibgl.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/src/library_list_32.h b/src/library_list_32.h
index d4f938c8..c80da950 100644
--- a/src/library_list_32.h
+++ b/src/library_list_32.h
@@ -19,6 +19,7 @@ GO("ld-linux.so.2", ldlinux)
 
 GO("libGL.so", libgl)
 GO("libGL.so.1", libgl)
+GO("libGLX_nvidia.so.0", libgl)
 GO("libGLU.so.1", libglu)
 GO("libSDL-1.2.so.0", sdl1)
 GO("libSDL2-2.0.so.0", sdl2)
diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c
index d520a6a8..25d9ac00 100644
--- a/src/wrapped32/wrappedlibgl.c
+++ b/src/wrapped32/wrappedlibgl.c
@@ -889,7 +889,14 @@ static void* find_glVDPAUUnmapSurfacesNV_Fct(void* fct)
 
 #undef SUPER
 
-#define PRE_INIT if(box64_libGL) {lib->w.lib = dlopen(box64_libGL, RTLD_LAZY | RTLD_GLOBAL); lib->path = strdup(box64_libGL);} else
+#define PRE_INIT                                                                \
+    if(box64_libGL) {                                                           \
+        lib->w.lib = dlopen(box64_libGL, RTLD_LAZY | RTLD_GLOBAL);              \
+        lib->path = strdup(box64_libGL);                                        \
+    } else if(strstr(lib->name, "libGLX_nvidia.so.0")) {                        \
+        lib->w.lib = dlopen("libGLX_nvidia.so.0", RTLD_LAZY | RTLD_GLOBAL);     \
+        if(lib->w.lib) lib->path = strdup("libGLX_nvidia.so.0");                \
+    }
 #define CUSTOM_INIT \
     my_lib = lib;                                                               \
     lib->w.priv = dlsym(lib->w.lib, "glXGetProcAddress");                       \