Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions src/emu/x64printer.c

Large diffs are not rendered by default.

20 changes: 18 additions & 2 deletions src/wrapped/generated/functions_list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@
#() cFpp
#() wFpi
#() iFEi
#() iFEu
#() iFEf
#() iFEd
#() iFEL
Expand Down Expand Up @@ -626,6 +627,7 @@
#() iFplp
#() iFpLi
#() iFpLu
#() iFpLf
#() iFpLl
#() iFpLL
#() iFpLp
Expand Down Expand Up @@ -931,6 +933,7 @@
#() vFEpuV
#() vFEpuA
#() vFEpUp
#() vFEpLi
#() vFEpLp
#() vFEppi
#() vFEppp
Expand Down Expand Up @@ -1018,6 +1021,7 @@
#() vFldpl
#() vFllii
#() vFlppl
#() vFLiii
#() vFLuui
#() vFLppi
#() vFLppl
Expand Down Expand Up @@ -1065,6 +1069,7 @@
#() vFpllL
#() vFplpp
#() vFpLii
#() vFpLip
#() vFpLuu
#() vFpLLL
#() vFpLLp
Expand Down Expand Up @@ -1491,6 +1496,7 @@
#() pFiiLp
#() pFiipi
#() pFiipp
#() pFifff
#() pFiddu
#() pFillu
#() pFipip
Expand Down Expand Up @@ -1885,6 +1891,7 @@
#() iFpiuwp
#() iFpiuuu
#() iFpiuLi
#() iFpiupp
#() iFpiUUU
#() iFpiLip
#() iFpiLuu
Expand Down Expand Up @@ -1935,6 +1942,7 @@
#() iFpLilp
#() iFpLiLi
#() iFpLipi
#() iFpLipC
#() iFpLuLi
#() iFpLlpp
#() iFpLLii
Expand Down Expand Up @@ -1999,6 +2007,7 @@
#() iFpSipp
#() iFpSuif
#() iFSppLp
#() IFpLIII
#() IFppIII
#() uFEiupp
#() uFEippp
Expand All @@ -2019,6 +2028,7 @@
#() uFULLUU
#() uFUpUpL
#() uFLpppL
#() uFpiipp
#() uFpCCCC
#() uFpWuip
#() uFpuuui
Expand Down Expand Up @@ -2107,6 +2117,7 @@
#() LFpLppu
#() LFpLppL
#() LFpLppp
#() LFppuup
#() LFpplLp
#() LFpplpl
#() LFppLuu
Expand Down Expand Up @@ -2512,6 +2523,7 @@
#() iFpLiiip
#() iFpLiiuu
#() iFpLipLu
#() iFpLIppp
#() iFpLuipp
#() iFpLuupp
#() iFpLupip
Expand Down Expand Up @@ -2605,6 +2617,7 @@
#() uFULuLLp
#() uFULULLU
#() uFUpUpLp
#() uFpiippp
#() uFpiuppu
#() uFpWuipp
#() uFpWuuCp
Expand All @@ -2616,6 +2629,7 @@
#() uFpupupu
#() uFpupupp
#() uFpupppp
#() uFppiiii
#() uFppuuup
#() uFppuupu
#() uFppLpLp
Expand Down Expand Up @@ -3264,6 +3278,7 @@
#() iFpUuuLpUu
#() iFpduuulul
#() iFpLiiippp
#() iFpLIIIppp
#() iFpLLiippp
#() iFpLLLiipi
#() iFpLLppppp
Expand Down Expand Up @@ -3857,6 +3872,7 @@
#() pFppippipipipipipip
#() pFbuuuuuwwuuuuUUUup
#() vFppuiiiiipuiiiiiiii
#() vFppuuiiiipuuiiiiiii
#() vFpppipppppppppppppp
#() vFpppppppppppppppLLL
#() vFppppppppppppppppLL
Expand Down Expand Up @@ -5541,7 +5557,7 @@ wrappedlibfuse:
- LFppLppU:
- fuse_add_direntry
wrappedlibgl:
- iFi:
- iFu:
- glXSwapIntervalMESA
- pFp:
- glGetVkProcAddrNV
Expand All @@ -5556,7 +5572,7 @@ wrappedlibgl:
- eglDebugMessageControlKHR
- vFipp:
- glProgramCallbackMESA
- vFppi:
- vFpLi:
- glXSwapIntervalEXT
- vFppp:
- eglSetBlobCacheFuncsANDROID
Expand Down
8 changes: 4 additions & 4 deletions src/wrapped/generated/wrappedlibgltypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@
#define ADDED_FUNCTIONS()
#endif

typedef int32_t (*iFi_t)(int32_t);
typedef int32_t (*iFu_t)(uint32_t);
typedef void* (*pFp_t)(void*);
typedef void (*vFpp_t)(void*, void*);
typedef int32_t (*iFpp_t)(void*, void*);
typedef void (*vFipp_t)(int32_t, void*, void*);
typedef void (*vFppi_t)(void*, void*, int32_t);
typedef void (*vFpLi_t)(void*, uintptr_t, int32_t);
typedef void (*vFppp_t)(void*, void*, void*);

#define SUPER() ADDED_FUNCTIONS() \
GO(glXSwapIntervalMESA, iFi_t) \
GO(glXSwapIntervalMESA, iFu_t) \
GO(glGetVkProcAddrNV, pFp_t) \
GO(glXGetProcAddress, pFp_t) \
GO(glXGetProcAddressARB, pFp_t) \
Expand All @@ -30,7 +30,7 @@ typedef void (*vFppp_t)(void*, void*, void*);
GO(glDebugMessageCallbackKHR, vFpp_t) \
GO(eglDebugMessageControlKHR, iFpp_t) \
GO(glProgramCallbackMESA, vFipp_t) \
GO(glXSwapIntervalEXT, vFppi_t) \
GO(glXSwapIntervalEXT, vFpLi_t) \
GO(eglSetBlobCacheFuncsANDROID, vFppp_t)

#endif // __wrappedlibglTYPES_H_
68 changes: 68 additions & 0 deletions src/wrapped/generated/wrapper.c

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions src/wrapped/generated/wrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ void cFpi(x64emu_t *emu, uintptr_t fnc);
void cFpp(x64emu_t *emu, uintptr_t fnc);
void wFpi(x64emu_t *emu, uintptr_t fnc);
void iFEi(x64emu_t *emu, uintptr_t fnc);
void iFEu(x64emu_t *emu, uintptr_t fnc);
void iFEf(x64emu_t *emu, uintptr_t fnc);
void iFEd(x64emu_t *emu, uintptr_t fnc);
void iFEL(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -663,6 +664,7 @@ void iFplL(x64emu_t *emu, uintptr_t fnc);
void iFplp(x64emu_t *emu, uintptr_t fnc);
void iFpLi(x64emu_t *emu, uintptr_t fnc);
void iFpLu(x64emu_t *emu, uintptr_t fnc);
void iFpLf(x64emu_t *emu, uintptr_t fnc);
void iFpLl(x64emu_t *emu, uintptr_t fnc);
void iFpLL(x64emu_t *emu, uintptr_t fnc);
void iFpLp(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -968,6 +970,7 @@ void vFEpup(x64emu_t *emu, uintptr_t fnc);
void vFEpuV(x64emu_t *emu, uintptr_t fnc);
void vFEpuA(x64emu_t *emu, uintptr_t fnc);
void vFEpUp(x64emu_t *emu, uintptr_t fnc);
void vFEpLi(x64emu_t *emu, uintptr_t fnc);
void vFEpLp(x64emu_t *emu, uintptr_t fnc);
void vFEppi(x64emu_t *emu, uintptr_t fnc);
void vFEppp(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -1055,6 +1058,7 @@ void vFlfpl(x64emu_t *emu, uintptr_t fnc);
void vFldpl(x64emu_t *emu, uintptr_t fnc);
void vFllii(x64emu_t *emu, uintptr_t fnc);
void vFlppl(x64emu_t *emu, uintptr_t fnc);
void vFLiii(x64emu_t *emu, uintptr_t fnc);
void vFLuui(x64emu_t *emu, uintptr_t fnc);
void vFLppi(x64emu_t *emu, uintptr_t fnc);
void vFLppl(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -1102,6 +1106,7 @@ void vFplll(x64emu_t *emu, uintptr_t fnc);
void vFpllL(x64emu_t *emu, uintptr_t fnc);
void vFplpp(x64emu_t *emu, uintptr_t fnc);
void vFpLii(x64emu_t *emu, uintptr_t fnc);
void vFpLip(x64emu_t *emu, uintptr_t fnc);
void vFpLuu(x64emu_t *emu, uintptr_t fnc);
void vFpLLL(x64emu_t *emu, uintptr_t fnc);
void vFpLLp(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -1528,6 +1533,7 @@ void pFiiup(x64emu_t *emu, uintptr_t fnc);
void pFiiLp(x64emu_t *emu, uintptr_t fnc);
void pFiipi(x64emu_t *emu, uintptr_t fnc);
void pFiipp(x64emu_t *emu, uintptr_t fnc);
void pFifff(x64emu_t *emu, uintptr_t fnc);
void pFiddu(x64emu_t *emu, uintptr_t fnc);
void pFillu(x64emu_t *emu, uintptr_t fnc);
void pFipip(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -1922,6 +1928,7 @@ void iFpiipp(x64emu_t *emu, uintptr_t fnc);
void iFpiuwp(x64emu_t *emu, uintptr_t fnc);
void iFpiuuu(x64emu_t *emu, uintptr_t fnc);
void iFpiuLi(x64emu_t *emu, uintptr_t fnc);
void iFpiupp(x64emu_t *emu, uintptr_t fnc);
void iFpiUUU(x64emu_t *emu, uintptr_t fnc);
void iFpiLip(x64emu_t *emu, uintptr_t fnc);
void iFpiLuu(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -1972,6 +1979,7 @@ void iFpLiup(x64emu_t *emu, uintptr_t fnc);
void iFpLilp(x64emu_t *emu, uintptr_t fnc);
void iFpLiLi(x64emu_t *emu, uintptr_t fnc);
void iFpLipi(x64emu_t *emu, uintptr_t fnc);
void iFpLipC(x64emu_t *emu, uintptr_t fnc);
void iFpLuLi(x64emu_t *emu, uintptr_t fnc);
void iFpLlpp(x64emu_t *emu, uintptr_t fnc);
void iFpLLii(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -2036,6 +2044,7 @@ void iFppppp(x64emu_t *emu, uintptr_t fnc);
void iFpSipp(x64emu_t *emu, uintptr_t fnc);
void iFpSuif(x64emu_t *emu, uintptr_t fnc);
void iFSppLp(x64emu_t *emu, uintptr_t fnc);
void IFpLIII(x64emu_t *emu, uintptr_t fnc);
void IFppIII(x64emu_t *emu, uintptr_t fnc);
void uFEiupp(x64emu_t *emu, uintptr_t fnc);
void uFEippp(x64emu_t *emu, uintptr_t fnc);
Expand All @@ -2056,6 +2065,7 @@ void uFULULU(x64emu_t *emu, uintptr_t fnc);
void uFULLUU(x64emu_t *emu, uintptr_t fnc);
void uFUpUpL(x64emu_t *emu, uintptr_t fnc);
void uFLpppL(x64emu_t *emu, uintptr_t fnc);
void uFpiipp(x64emu_t *emu, uintptr_t fnc);
void uFpCCCC(x64emu_t *emu, uintptr_t fnc);
void uFpWuip(x64emu_t *emu, uintptr_t fnc);
void uFpuuui(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -2144,6 +2154,7 @@ void LFpLpLp(x64emu_t *emu, uintptr_t fnc);
void LFpLppu(x64emu_t *emu, uintptr_t fnc);
void LFpLppL(x64emu_t *emu, uintptr_t fnc);
void LFpLppp(x64emu_t *emu, uintptr_t fnc);
void LFppuup(x64emu_t *emu, uintptr_t fnc);
void LFpplLp(x64emu_t *emu, uintptr_t fnc);
void LFpplpl(x64emu_t *emu, uintptr_t fnc);
void LFppLuu(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -2549,6 +2560,7 @@ void iFpLiiiL(x64emu_t *emu, uintptr_t fnc);
void iFpLiiip(x64emu_t *emu, uintptr_t fnc);
void iFpLiiuu(x64emu_t *emu, uintptr_t fnc);
void iFpLipLu(x64emu_t *emu, uintptr_t fnc);
void iFpLIppp(x64emu_t *emu, uintptr_t fnc);
void iFpLuipp(x64emu_t *emu, uintptr_t fnc);
void iFpLuupp(x64emu_t *emu, uintptr_t fnc);
void iFpLupip(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -2642,6 +2654,7 @@ void uFULWLLp(x64emu_t *emu, uintptr_t fnc);
void uFULuLLp(x64emu_t *emu, uintptr_t fnc);
void uFULULLU(x64emu_t *emu, uintptr_t fnc);
void uFUpUpLp(x64emu_t *emu, uintptr_t fnc);
void uFpiippp(x64emu_t *emu, uintptr_t fnc);
void uFpiuppu(x64emu_t *emu, uintptr_t fnc);
void uFpWuipp(x64emu_t *emu, uintptr_t fnc);
void uFpWuuCp(x64emu_t *emu, uintptr_t fnc);
Expand All @@ -2653,6 +2666,7 @@ void uFpuUppp(x64emu_t *emu, uintptr_t fnc);
void uFpupupu(x64emu_t *emu, uintptr_t fnc);
void uFpupupp(x64emu_t *emu, uintptr_t fnc);
void uFpupppp(x64emu_t *emu, uintptr_t fnc);
void uFppiiii(x64emu_t *emu, uintptr_t fnc);
void uFppuuup(x64emu_t *emu, uintptr_t fnc);
void uFppuupu(x64emu_t *emu, uintptr_t fnc);
void uFppLpLp(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -3301,6 +3315,7 @@ void iFpupppppp(x64emu_t *emu, uintptr_t fnc);
void iFpUuuLpUu(x64emu_t *emu, uintptr_t fnc);
void iFpduuulul(x64emu_t *emu, uintptr_t fnc);
void iFpLiiippp(x64emu_t *emu, uintptr_t fnc);
void iFpLIIIppp(x64emu_t *emu, uintptr_t fnc);
void iFpLLiippp(x64emu_t *emu, uintptr_t fnc);
void iFpLLLiipi(x64emu_t *emu, uintptr_t fnc);
void iFpLLppppp(x64emu_t *emu, uintptr_t fnc);
Expand Down Expand Up @@ -3894,6 +3909,7 @@ void vFppppppppppppppppL(x64emu_t *emu, uintptr_t fnc);
void pFppippipipipipipip(x64emu_t *emu, uintptr_t fnc);
void pFbuuuuuwwuuuuUUUup(x64emu_t *emu, uintptr_t fnc);
void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fnc);
void vFppuuiiiipuuiiiiiii(x64emu_t *emu, uintptr_t fnc);
void vFpppipppppppppppppp(x64emu_t *emu, uintptr_t fnc);
void vFpppppppppppppppLLL(x64emu_t *emu, uintptr_t fnc);
void vFppppppppppppppppLL(x64emu_t *emu, uintptr_t fnc);
Expand Down
12 changes: 6 additions & 6 deletions src/wrapped/wrappedlibgl.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,22 +229,22 @@ EXPORT void my_eglSetBlobCacheFuncsANDROID(x64emu_t* emu, void* dpy, void* set,
fnc(dpy, find_set_blob_func_Fct(set), find_get_blob_func_Fct(get));
}
// glXSwapIntervalMESA ...
EXPORT int my_dummy_glXSwapIntervalMESA(int interval)
EXPORT int my_dummy_glXSwapIntervalMESA(unsigned int interval)
{
return 5; // GLX_BAD_CONTEXT
}
EXPORT int my_glXSwapIntervalMESA(x64emu_t* emu, int interval)
EXPORT int my_glXSwapIntervalMESA(x64emu_t* emu, unsigned int interval)
{
iFi_t fnc = getBridgeFnc2((void*)R_RIP);
iFu_t fnc = getBridgeFnc2((void*)R_RIP);
if(!fnc) fnc=my->glXSwapIntervalMESA;
if(!fnc) fnc=my_dummy_glXSwapIntervalMESA;
return fnc(interval);
}
// glXSwapIntervalEXT ...
EXPORT void my_dummy_glXSwapIntervalEXT(void* dpy, void* drawable, int interval) {}
EXPORT void my_glXSwapIntervalEXT(x64emu_t* emu, void* dpy, void* drawable, int interval)
EXPORT void my_dummy_glXSwapIntervalEXT(void* dpy, unsigned long drawable, int interval) {}
EXPORT void my_glXSwapIntervalEXT(x64emu_t* emu, void* dpy, unsigned long drawable, int interval)
{
vFppi_t fnc = getBridgeFnc2((void*)R_RIP);
vFpLi_t fnc = getBridgeFnc2((void*)R_RIP);
if(!fnc) fnc=my->glXSwapIntervalEXT;
if(!fnc) fnc=my_dummy_glXSwapIntervalEXT;
fnc(dpy, drawable, interval);
Expand Down
Loading
Loading