Fixed XRenderComposite wrapped function signature

This commit is contained in:
ptitSeb committed 2022-05-26 13:33:20 +02:00
1 parent 3dec81b9eb
commit fb2047853c
4 files changed
+11 -2

No files matched your search

+2
View File
@@ -659,6 +659,7 @@
#() vFppdd
#() vFppdp
#() vFpplp
#() vFppLp
#() vFpppi
#() vFpppI
#() vFpppu
@@ -2006,6 +2007,7 @@
#() vFuiiiiiiiiiuup
#() vFuuuuuuuuuuuuu
#() vFuffffffffffff
#() vFpipppiiiiiiuu
#() vFpippppppppppp
#() vFppiiiiiiiiiii
#() vFppiipppiiiiii
+5
View File
@@ -693,6 +693,7 @@ typedef void (*vFppdu_t)(void*, void*, double, uint64_t);
typedef void (*vFppdd_t)(void*, void*, double, double);
typedef void (*vFppdp_t)(void*, void*, double, void*);
typedef void (*vFpplp_t)(void*, void*, intptr_t, void*);
typedef void (*vFppLp_t)(void*, void*, uintptr_t, void*);
typedef void (*vFpppi_t)(void*, void*, void*, int64_t);
typedef void (*vFpppI_t)(void*, void*, void*, int64_t);
typedef void (*vFpppu_t)(void*, void*, void*, uint64_t);
@@ -2040,6 +2041,7 @@ typedef void (*vFEpppppppiippp_t)(x64emu_t*, void*, void*, void*, void*, void*,
typedef void (*vFuiiiiiiiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
typedef void (*vFuuuuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
typedef void (*vFuffffffffffff_t)(uint64_t, float, float, float, float, float, float, float, float, float, float, float, float);
typedef void (*vFpipppiiiiiiuu_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
typedef void (*vFpippppppppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
typedef void (*vFppiiiiiiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
typedef void (*vFppiipppiiiiii_t)(void*, void*, int64_t, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
@@ -2764,6 +2766,7 @@ void vFppdu(x64emu_t *emu, uintptr_t fcn) { vFppdu_t fn = (vFppdu_t)fcn; fn((voi
void vFppdd(x64emu_t *emu, uintptr_t fcn) { vFppdd_t fn = (vFppdd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
void vFppdp(x64emu_t *emu, uintptr_t fcn) { vFppdp_t fn = (vFppdp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (void*)R_RDX); }
void vFpplp(x64emu_t *emu, uintptr_t fcn) { vFpplp_t fn = (vFpplp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); }
void vFppLp(x64emu_t *emu, uintptr_t fcn) { vFppLp_t fn = (vFppLp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
void vFpppi(x64emu_t *emu, uintptr_t fcn) { vFpppi_t fn = (vFpppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
void vFpppI(x64emu_t *emu, uintptr_t fcn) { vFpppI_t fn = (vFpppI_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
void vFpppu(x64emu_t *emu, uintptr_t fcn) { vFpppu_t fn = (vFpppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
@@ -4111,6 +4114,7 @@ void vFEpppppppiippp(x64emu_t *emu, uintptr_t fcn) { vFEpppppppiippp_t fn = (vFE
void vFuiiiiiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(void**)(R_RSP + 56)); }
void vFuuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuuu_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(uint64_t*)(R_RSP + 56)); }
void vFuffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffffffff_t fn = (vFuffffffffffff_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32)); }
void vFpipppiiiiiiuu(x64emu_t *emu, uintptr_t fcn) { vFpipppiiiiiiuu_t fn = (vFpipppiiiiiiuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(uint64_t*)(R_RSP + 56)); }
void vFpippppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpippppppppppp_t fn = (vFpippppppppppp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
void vFppiiiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiiiiiiii_t fn = (vFppiiiiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56)); }
void vFppiipppiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiipppiiiiii_t fn = (vFppiipppiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56)); }
@@ -4754,6 +4758,7 @@ int isSimpleWrapper(wrapper_t fun) {
if (fun == &vFppdd) return 3;
if (fun == &vFppdp) return 2;
if (fun == &vFpplp) return 1;
if (fun == &vFppLp) return 1;
if (fun == &vFpppi) return 1;
if (fun == &vFpppI) return 1;
if (fun == &vFpppu) return 1;
+2
View File
@@ -692,6 +692,7 @@ void vFppdu(x64emu_t *emu, uintptr_t fnc);
void vFppdd(x64emu_t *emu, uintptr_t fnc);
void vFppdp(x64emu_t *emu, uintptr_t fnc);
void vFpplp(x64emu_t *emu, uintptr_t fnc);
void vFppLp(x64emu_t *emu, uintptr_t fnc);
void vFpppi(x64emu_t *emu, uintptr_t fnc);
void vFpppI(x64emu_t *emu, uintptr_t fnc);
void vFpppu(x64emu_t *emu, uintptr_t fnc);
@@ -2039,6 +2040,7 @@ void vFEpppppppiippp(x64emu_t *emu, uintptr_t fnc);
void vFuiiiiiiiiiuup(x64emu_t *emu, uintptr_t fnc);
void vFuuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
void vFuffffffffffff(x64emu_t *emu, uintptr_t fnc);
void vFpipppiiiiiiuu(x64emu_t *emu, uintptr_t fnc);
void vFpippppppppppp(x64emu_t *emu, uintptr_t fnc);
void vFppiiiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
void vFppiipppiiiiii(x64emu_t *emu, uintptr_t fnc);
+2 -2
View File
@@ -4,8 +4,8 @@
GO(XRenderAddGlyphs, vFppppipi)
GO(XRenderAddTraps, vFppiipi)
GO(XRenderChangePicture, vFppup)
GO(XRenderComposite, vFppup)
GO(XRenderChangePicture, vFppLp)
GO(XRenderComposite, vFpipppiiiiiiuu)
GO(XRenderCompositeDoublePoly, vFpipppiiiipii)
GO(XRenderCompositeString16, vFpippppiiiipi)
GO(XRenderCompositeString32, vFpippppiiiipi)