about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-09-28 12:32:01 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-09-28 12:32:01 +0200
commit79200d4df67bd419593f6545714f0cef3b010a96 (patch)
tree6886a4ce21863d46c3542836fb9b0b4a3299aaab /src
parent578bae3c37269d2db3f202d761a09e95ee35bff7 (diff)
downloadbox64-79200d4df67bd419593f6545714f0cef3b010a96.tar.gz
box64-79200d4df67bd419593f6545714f0cef3b010a96.zip
[BOX32] Fixed wrapping for glShaderSourceARB
Diffstat (limited to 'src')
-rw-r--r--src/wrapped32/generated/functions_list.txt1
-rw-r--r--src/wrapped32/generated/wrappedlibgltypes32.h1
-rw-r--r--src/wrapped32/wrappedlibgl.c11
-rw-r--r--src/wrapped32/wrappedlibgl_private.h2
4 files changed, 13 insertions, 2 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index b2e74f4d..37c2a21e 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -1317,6 +1317,7 @@ wrappedlibgl:
   - glXSwapIntervalEXT
 - vFuipp:
   - glShaderSource
+  - glShaderSourceARB
 - pFXipp:
   - glXChooseFBConfig
 wrappedlibglu:
diff --git a/src/wrapped32/generated/wrappedlibgltypes32.h b/src/wrapped32/generated/wrappedlibgltypes32.h
index 64d8a9ea..b063866a 100644
--- a/src/wrapped32/generated/wrappedlibgltypes32.h
+++ b/src/wrapped32/generated/wrappedlibgltypes32.h
@@ -37,6 +37,7 @@ typedef void* (*pFXipp_t)(void*, int32_t, void*, void*);
 	GO(eglSetBlobCacheFuncsANDROID, vFppp_t) \
 	GO(glXSwapIntervalEXT, vFXpi_t) \
 	GO(glShaderSource, vFuipp_t) \
+	GO(glShaderSourceARB, vFuipp_t) \
 	GO(glXChooseFBConfig, pFXipp_t)
 
 #endif // __wrappedlibglTYPES32_H_
diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c
index 02524855..af58f497 100644
--- a/src/wrapped32/wrappedlibgl.c
+++ b/src/wrapped32/wrappedlibgl.c
@@ -459,6 +459,10 @@ static void* find_glShaderSource_Fct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for libGL glShaderSource callback\n");
     return NULL;
 }
+static void* find_glShaderSourceARB_Fct(void* fct)
+{
+    return find_glShaderSource_Fct(fct);
+}
 // glXChooseFBConfig ...
 #define GO(A)                                                                                               \
 static pFpipp_t my32_glXChooseFBConfig_fct_##A = NULL;                                                      \
@@ -545,12 +549,16 @@ static void* find_glXGetVisualFromFBConfig_Fct(void* fct)
     }                                                                           \
 
 // creating function for direct access, just in case
-EXPORT  void my32_glShaderSource(x64emu_t* emu, uint32_t shader, int count, ptr_t* string, int* length)
+EXPORT void my32_glShaderSource(x64emu_t* emu, uint32_t shader, int count, ptr_t* string, int* length)
 {
     char* str[count];
     if(string) for(int i=0; i<count; ++i) str[i] = from_ptrv(string[i]);
     my->glShaderSource(shader, count, string?str:NULL, length);
 }
+EXPORT void my32_glShaderSourceARB(x64emu_t* emu, uint32_t shader, int count, ptr_t* string, int* length)
+{
+    my32_glShaderSource(emu, shader, count, string, length);
+}
 
 EXPORT void* my32_glXChooseFBConfig(x64emu_t* emu, void* dpy, int screen, int* list, int* nelement)
 {
@@ -586,6 +594,7 @@ EXPORT void* my32_glXGetVisualFromFBConfig(x64emu_t* emu, void* dpy, void* confi
  GO(pFp_t, glGetVkProcAddrNV)               \
  GO(vFppp_t, eglSetBlobCacheFuncsANDROID)   \
  GO(vFuipp_t, glShaderSource)               \
+ GO(vFuipp_t, glShaderSourceARB)            \
  GO(pFpipp_t, glXChooseFBConfig)            \
  GO(pFpp_t, glXGetVisualFromFBConfig)       \
 
diff --git a/src/wrapped32/wrappedlibgl_private.h b/src/wrapped32/wrappedlibgl_private.h
index 7bfe8389..8d221bcd 100644
--- a/src/wrapped32/wrappedlibgl_private.h
+++ b/src/wrapped32/wrappedlibgl_private.h
@@ -1192,7 +1192,7 @@ GO(glGetUniformLocationARB, iFup)
 GO(glGetUniformfvARB, vFuip)
 GO(glGetUniformivARB, vFuip)
 GO(glLinkProgramARB, vFu)
-GO(glShaderSourceARB, vFuipp)
+GOM(glShaderSourceARB, vFEuipp)
 GO(glUniform1fARB, vFif)
 GO(glUniform1fvARB, vFiip)
 GO(glUniform1iARB, vFii)