about summary refs log tree commit diff stats
path: root/src/wrapped
diff options
context:
space:
mode:
Diffstat (limited to 'src/wrapped')
-rw-r--r--src/wrapped/generated/functions_list.txt5
-rw-r--r--src/wrapped/generated/wrappedlibdrmdefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibdrmtypes.h17
-rw-r--r--src/wrapped/generated/wrappedlibdrmundefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri2defs.h8
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri2types.h17
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri3defs.h8
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri3types.h17
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri3undefs.h8
-rw-r--r--src/wrapped/generated/wrapper.c2
-rw-r--r--src/wrapped/generated/wrapper.h1
-rwxr-xr-xsrc/wrapped/wrappedlibdrm.c18
-rwxr-xr-xsrc/wrapped/wrappedlibdrm_private.h198
-rwxr-xr-xsrc/wrapped/wrappedlibxcbdri2.c24
-rwxr-xr-xsrc/wrapped/wrappedlibxcbdri2_private.h68
-rwxr-xr-xsrc/wrapped/wrappedlibxcbdri3.c24
-rwxr-xr-xsrc/wrapped/wrappedlibxcbdri3_private.h50
18 files changed, 489 insertions, 0 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index ddc42db2..3d66c77c 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -1817,6 +1817,7 @@
 #() pFpCuWCCuuCW
 #() pFpuwwWWuCuu
 #() pFpuuuwwwwWW
+#() pFpuuuWWWCCi
 #() pFplllllllll
 #() pFppuiipuuii
 #() pFpppppppppp
@@ -2680,6 +2681,7 @@ wrappedlibdl:
   - dlmopen
 - pFppp:
   - dlvsym
+wrappedlibdrm:
 wrappedlibform:
 wrappedlibformw:
 wrappedlibfuse:
@@ -2961,6 +2963,9 @@ wrappedlibx11:
 wrappedlibx11xcb:
 wrappedlibxau:
 wrappedlibxcb:
+wrappedlibxcbdri2:
+% x my_xcb_cookie_t u
+wrappedlibxcbdri3:
 wrappedlibxcbglx:
 wrappedlibxcbimage:
 wrappedlibxcbkeysyms:
diff --git a/src/wrapped/generated/wrappedlibdrmdefs.h b/src/wrapped/generated/wrappedlibdrmdefs.h
new file mode 100644
index 00000000..77311b0f
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibdrmdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibdrmDEFS_H_
+#define __wrappedlibdrmDEFS_H_
+
+
+#endif // __wrappedlibdrmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibdrmtypes.h b/src/wrapped/generated/wrappedlibdrmtypes.h
new file mode 100644
index 00000000..1f952f16
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibdrmtypes.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibdrmTYPES_H_
+#define __wrappedlibdrmTYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedlibdrmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibdrmundefs.h b/src/wrapped/generated/wrappedlibdrmundefs.h
new file mode 100644
index 00000000..8756a8b1
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibdrmundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibdrmUNDEFS_H_
+#define __wrappedlibdrmUNDEFS_H_
+
+
+#endif // __wrappedlibdrmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri2defs.h b/src/wrapped/generated/wrappedlibxcbdri2defs.h
new file mode 100644
index 00000000..186616f3
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibxcbdri2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibxcbdri2DEFS_H_
+#define __wrappedlibxcbdri2DEFS_H_
+
+
+#endif // __wrappedlibxcbdri2DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri2types.h b/src/wrapped/generated/wrappedlibxcbdri2types.h
new file mode 100644
index 00000000..9091b9c1
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibxcbdri2types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibxcbdri2TYPES_H_
+#define __wrappedlibxcbdri2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedlibxcbdri2TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri2undefs.h b/src/wrapped/generated/wrappedlibxcbdri2undefs.h
new file mode 100644
index 00000000..53416634
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibxcbdri2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibxcbdri2UNDEFS_H_
+#define __wrappedlibxcbdri2UNDEFS_H_
+
+
+#endif // __wrappedlibxcbdri2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri3defs.h b/src/wrapped/generated/wrappedlibxcbdri3defs.h
new file mode 100644
index 00000000..d0072aa7
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibxcbdri3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibxcbdri3DEFS_H_
+#define __wrappedlibxcbdri3DEFS_H_
+
+
+#endif // __wrappedlibxcbdri3DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri3types.h b/src/wrapped/generated/wrappedlibxcbdri3types.h
new file mode 100644
index 00000000..a0780c73
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibxcbdri3types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibxcbdri3TYPES_H_
+#define __wrappedlibxcbdri3TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedlibxcbdri3TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri3undefs.h b/src/wrapped/generated/wrappedlibxcbdri3undefs.h
new file mode 100644
index 00000000..ec4e6a44
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibxcbdri3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibxcbdri3UNDEFS_H_
+#define __wrappedlibxcbdri3UNDEFS_H_
+
+
+#endif // __wrappedlibxcbdri3UNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 2f55c2ff..ecf9dbd0 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -1851,6 +1851,7 @@ typedef void* (*pFEpippppppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*,
 typedef void* (*pFpCuWCCuuCW_t)(void*, uint8_t, uint64_t, uint16_t, uint8_t, uint8_t, uint64_t, uint64_t, uint8_t, uint16_t);
 typedef void* (*pFpuwwWWuCuu_t)(void*, uint64_t, int16_t, int16_t, uint16_t, uint16_t, uint64_t, uint8_t, uint64_t, uint64_t);
 typedef void* (*pFpuuuwwwwWW_t)(void*, uint64_t, uint64_t, uint64_t, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t);
+typedef void* (*pFpuuuWWWCCi_t)(void*, uint64_t, uint64_t, uint64_t, uint16_t, uint16_t, uint16_t, uint8_t, uint8_t, int64_t);
 typedef void* (*pFplllllllll_t)(void*, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t);
 typedef void* (*pFppuiipuuii_t)(void*, void*, uint64_t, int64_t, int64_t, void*, uint64_t, uint64_t, int64_t, int64_t);
 typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@@ -3807,6 +3808,7 @@ void pFEpippppppp(x64emu_t *emu, uintptr_t fcn) { pFEpippppppp_t fn = (pFEpipppp
 void pFpCuWCCuuCW(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCuuCW_t fn = (pFpCuWCCuuCW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32)); }
 void pFpuwwWWuCuu(x64emu_t *emu, uintptr_t fcn) { pFpuwwWWuCuu_t fn = (pFpuwwWWuCuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int16_t)R_RDX, (int16_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint8_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32)); }
 void pFpuuuwwwwWW(x64emu_t *emu, uintptr_t fcn) { pFpuuuwwwwWW_t fn = (pFpuuuwwwwWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32)); }
+void pFpuuuWWWCCi(x64emu_t *emu, uintptr_t fcn) { pFpuuuWWWCCi_t fn = (pFpuuuWWWCCi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint8_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void pFplllllllll(x64emu_t *emu, uintptr_t fcn) { pFplllllllll_t fn = (pFplllllllll_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(intptr_t*)(R_RSP + 24), *(intptr_t*)(R_RSP + 32)); }
 void pFppuiipuuii(x64emu_t *emu, uintptr_t fcn) { pFppuiipuuii_t fn = (pFppuiipuuii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void pFpppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppppp_t fn = (pFpppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)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)); }
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 8c49be58..fad1c565 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1850,6 +1850,7 @@ void pFEpippppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpCuWCCuuCW(x64emu_t *emu, uintptr_t fnc);
 void pFpuwwWWuCuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuwwwwWW(x64emu_t *emu, uintptr_t fnc);
+void pFpuuuWWWCCi(x64emu_t *emu, uintptr_t fnc);
 void pFplllllllll(x64emu_t *emu, uintptr_t fnc);
 void pFppuiipuuii(x64emu_t *emu, uintptr_t fnc);
 void pFpppppppppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibdrm.c b/src/wrapped/wrappedlibdrm.c
new file mode 100755
index 00000000..01f49676
--- /dev/null
+++ b/src/wrapped/wrappedlibdrm.c
@@ -0,0 +1,18 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* libdrmName = "libdrm.so.2";
+#define LIBNAME libdrm
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedlibdrm_private.h b/src/wrapped/wrappedlibdrm_private.h
new file mode 100755
index 00000000..3ded5707
--- /dev/null
+++ b/src/wrapped/wrappedlibdrm_private.h
@@ -0,0 +1,198 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//GO(drmAddBufs, 
+//GO(drmAddContextPrivateMapping, 
+//GO(drmAddContextTag, 
+//GO(drmAddMap, 
+//GO(drmAgpAcquire, 
+//GO(drmAgpAlloc, 
+//GO(drmAgpBase, 
+//GO(drmAgpBind, 
+//GO(drmAgpDeviceId, 
+//GO(drmAgpEnable, 
+//GO(drmAgpFree, 
+//GO(drmAgpGetMode, 
+//GO(drmAgpMemoryAvail, 
+//GO(drmAgpMemoryUsed, 
+//GO(drmAgpRelease, 
+//GO(drmAgpSize, 
+//GO(drmAgpUnbind, 
+//GO(drmAgpVendorId, 
+//GO(drmAgpVersionMajor, 
+//GO(drmAgpVersionMinor, 
+GO(drmAuthMagic, iFiu)
+//GO(drmAvailable, 
+//GO(drmCheckModesettingSupported, 
+//GO(drmClose, 
+//GO(drmCloseOnce, 
+//GO(drmCommandNone, 
+//GO(drmCommandRead, 
+//GO(drmCommandWrite, 
+//GO(drmCommandWriteRead, 
+//GO(drmCreateContext, 
+//GO(drmCreateDrawable, 
+//GO(drmCrtcGetSequence, 
+//GO(drmCrtcQueueSequence, 
+//GO(drmCtlInstHandler, 
+//GO(drmCtlUninstHandler, 
+//GO(drmDelContextTag, 
+//GO(drmDestroyContext, 
+//GO(drmDestroyDrawable, 
+//GO(drmDevicesEqual, 
+//GO(drmDMA, 
+//GO(drmDropMaster, 
+//GO(drmError, 
+//GO(drmFinish, 
+//GO(drmFree, 
+//GO(drmFreeBufs, 
+//GO(drmFreeBusid, 
+//GO(drmFreeDevice, 
+//GO(drmFreeDevices, 
+//GO(drmFreeReservedContextList, 
+GO(drmFreeVersion, vFp)
+//GO(drmGetBufInfo, 
+//GO(drmGetBusid, 
+//GO(drmGetCap, 
+//GO(drmGetClient, 
+//GO(drmGetContextFlags, 
+//GO(drmGetContextPrivateMapping, 
+//GO(drmGetContextTag, 
+//GO(drmGetDevice, 
+//GO(drmGetDevice2, 
+GO(drmGetDeviceNameFromFd, pFi)
+//GO(drmGetDeviceNameFromFd2, 
+//GO(drmGetDevices, 
+//GO(drmGetDevices2, 
+//GO(drmGetEntry, 
+//GO(drmGetHashTable, 
+//GO(drmGetInterruptFromBusID, 
+//GO(drmGetLibVersion, 
+//GO(drmGetLock, 
+GO(drmGetMagic, iFip)
+//GO(drmGetMap, 
+//GO(drmGetNodeTypeFromFd, 
+//GO(drmGetPrimaryDeviceNameFromFd, 
+//GO(drmGetRenderDeviceNameFromFd, 
+//GO(drmGetReservedContextList, 
+//GO(drmGetStats, 
+GO(drmGetVersion, pFi)
+//GO(drmHandleEvent, 
+//GO(drmHashCreate, 
+//GO(drmHashDelete, 
+//GO(drmHashDestroy, 
+//GO(drmHashFirst, 
+//GO(drmHashInsert, 
+//GO(drmHashLookup, 
+//GO(drmHashNext, 
+//GO(drmIoctl, 
+//GO(drmIsMaster, 
+//GO(drmMalloc, 
+//GO(drmMap, 
+//GO(drmMapBufs, 
+//GO(drmMarkBufs, 
+//GO(drmModeAddFB, 
+//GO(drmModeAddFB2, 
+//GO(drmModeAddFB2WithModifiers, 
+//GO(drmModeAtomicAddProperty, 
+//GO(drmModeAtomicAlloc, 
+//GO(drmModeAtomicCommit, 
+//GO(drmModeAtomicDuplicate, 
+//GO(drmModeAtomicFree, 
+//GO(drmModeAtomicGetCursor, 
+//GO(drmModeAtomicMerge, 
+//GO(drmModeAtomicSetCursor, 
+//GO(drmModeAttachMode, 
+//GO(drmModeConnectorSetProperty, 
+//GO(drmModeCreateLease, 
+//GO(drmModeCreatePropertyBlob, 
+//GO(drmModeCrtcGetGamma, 
+//GO(drmModeCrtcSetGamma, 
+//GO(drmModeDestroyPropertyBlob, 
+//GO(drmModeDetachMode, 
+//GO(drmModeDirtyFB, 
+//GO(drmModeFreeConnector, 
+//GO(drmModeFreeCrtc, 
+//GO(drmModeFreeEncoder, 
+//GO(drmModeFreeFB, 
+//GO(drmModeFreeModeInfo, 
+//GO(drmModeFreeObjectProperties, 
+//GO(drmModeFreePlane, 
+//GO(drmModeFreePlaneResources, 
+//GO(drmModeFreeProperty, 
+//GO(drmModeFreePropertyBlob, 
+//GO(drmModeFreeResources, 
+//GO(drmModeGetConnector, 
+//GO(drmModeGetConnectorCurrent, 
+//GO(drmModeGetCrtc, 
+//GO(drmModeGetEncoder, 
+//GO(drmModeGetFB, 
+//GO(drmModeGetLease, 
+//GO(drmModeGetPlane, 
+//GO(drmModeGetPlaneResources, 
+//GO(drmModeGetProperty, 
+//GO(drmModeGetPropertyBlob, 
+//GO(drmModeGetResources, 
+//GO(drmModeListLessees, 
+//GO(drmModeMoveCursor, 
+//GO(drmModeObjectGetProperties, 
+//GO(drmModeObjectSetProperty, 
+//GO(drmModePageFlip, 
+//GO(drmModePageFlipTarget, 
+//GO(drmModeRevokeLease, 
+//GO(drmModeRmFB, 
+//GO(drmModeSetCrtc, 
+//GO(drmModeSetCursor, 
+//GO(drmModeSetCursor2, 
+//GO(drmModeSetPlane, 
+//GO(drmMsg, 
+//GO(drmOpen, 
+//GO(drmOpenControl, 
+//GO(drmOpenOnce, 
+//GO(drmOpenOnceWithType, 
+//GO(drmOpenRender, 
+//GO(drmOpenWithType, 
+//GO(drmPrimeFDToHandle, 
+//GO(drmPrimeHandleToFD, 
+//GO(drmRandom, 
+//GO(drmRandomCreate, 
+//GO(drmRandomDestroy, 
+//GO(drmRandomDouble, 
+//GO(drmRmMap, 
+//GO(drmScatterGatherAlloc, 
+//GO(drmScatterGatherFree, 
+//GO(drmSetBusid, 
+//GO(drmSetClientCap, 
+//GO(drmSetContextFlags, 
+//GO(drmSetInterfaceVersion, 
+//GO(drmSetMaster, 
+//GO(drmSetServerInfo, 
+//GO(drmSLCreate, 
+//GO(drmSLDelete, 
+//GO(drmSLDestroy, 
+//GO(drmSLDump, 
+//GO(drmSLFirst, 
+//GO(drmSLInsert, 
+//GO(drmSLLookup, 
+//GO(drmSLLookupNeighbors, 
+//GO(drmSLNext, 
+//GO(drmSwitchToContext, 
+//GO(drmSyncobjCreate, 
+//GO(drmSyncobjDestroy, 
+//GO(drmSyncobjExportSyncFile, 
+//GO(drmSyncobjFDToHandle, 
+//GO(drmSyncobjHandleToFD, 
+//GO(drmSyncobjImportSyncFile, 
+//GO(drmSyncobjQuery, 
+//GO(drmSyncobjReset, 
+//GO(drmSyncobjSignal, 
+//GO(drmSyncobjTimelineSignal, 
+//GO(drmSyncobjTimelineWait, 
+//GO(drmSyncobjTransfer, 
+//GO(drmSyncobjWait, 
+//GO(drmUnlock, 
+//GO(drmUnmap, 
+//GO(drmUnmapBufs, 
+//GO(drmUpdateDrawableInfo, 
+//GO(drmWaitVBlank, 
diff --git a/src/wrapped/wrappedlibxcbdri2.c b/src/wrapped/wrappedlibxcbdri2.c
new file mode 100755
index 00000000..1a474f9d
--- /dev/null
+++ b/src/wrapped/wrappedlibxcbdri2.c
@@ -0,0 +1,24 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+
+const char* libxcbdri2Name = "libxcb-dri2.so.0";
+#define LIBNAME libxcbdri2
+static library_t *my_lib = NULL;
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibxcbdri2_private.h b/src/wrapped/wrappedlibxcbdri2_private.h
new file mode 100755
index 00000000..d9efcec8
--- /dev/null
+++ b/src/wrapped/wrappedlibxcbdri2_private.h
@@ -0,0 +1,68 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//%S x my_xcb_cookie_t u
+
+//GO(xcb_dri2_attach_format_end, 
+//GO(xcb_dri2_attach_format_next, 
+GO(xcb_dri2_authenticate, pFpuu)
+GO(xcb_dri2_authenticate_reply, pFpup)
+//GO(xcb_dri2_authenticate_unchecked, 
+GO(xcb_dri2_connect, pFpuu)
+//GO(xcb_dri2_connect_alignment_pad, 
+//GO(xcb_dri2_connect_alignment_pad_end, 
+//GO(xcb_dri2_connect_alignment_pad_length, 
+GO(xcb_dri2_connect_device_name, pFp)
+//GO(xcb_dri2_connect_device_name_end, 
+GO(xcb_dri2_connect_device_name_length, iFp)
+//GO(xcb_dri2_connect_driver_name, 
+//GO(xcb_dri2_connect_driver_name_end, 
+//GO(xcb_dri2_connect_driver_name_length, 
+GO(xcb_dri2_connect_reply, pFpup)
+//GO(xcb_dri2_connect_sizeof, 
+//GO(xcb_dri2_connect_unchecked, 
+//GO(xcb_dri2_copy_region, 
+//GO(xcb_dri2_copy_region_reply, 
+//GO(xcb_dri2_copy_region_unchecked, 
+//GO(xcb_dri2_create_drawable, 
+//GO(xcb_dri2_create_drawable_checked, 
+//GO(xcb_dri2_destroy_drawable, 
+//GO(xcb_dri2_destroy_drawable_checked, 
+//GO(xcb_dri2_dri2_buffer_end, 
+//GO(xcb_dri2_dri2_buffer_next, 
+//GO(xcb_dri2_get_buffers, 
+//GO(xcb_dri2_get_buffers_buffers, 
+//GO(xcb_dri2_get_buffers_buffers_iterator, 
+//GO(xcb_dri2_get_buffers_buffers_length, 
+//GO(xcb_dri2_get_buffers_reply, 
+//GO(xcb_dri2_get_buffers_sizeof, 
+//GO(xcb_dri2_get_buffers_unchecked, 
+//GO(xcb_dri2_get_buffers_with_format, 
+//GO(xcb_dri2_get_buffers_with_format_buffers, 
+//GO(xcb_dri2_get_buffers_with_format_buffers_iterator, 
+//GO(xcb_dri2_get_buffers_with_format_buffers_length, 
+//GO(xcb_dri2_get_buffers_with_format_reply, 
+//GO(xcb_dri2_get_buffers_with_format_sizeof, 
+//GO(xcb_dri2_get_buffers_with_format_unchecked, 
+//GO(xcb_dri2_get_msc, 
+//GO(xcb_dri2_get_msc_reply, 
+//GO(xcb_dri2_get_msc_unchecked, 
+//GO(xcb_dri2_get_param, 
+//GO(xcb_dri2_get_param_reply, 
+//GO(xcb_dri2_get_param_unchecked, 
+DATA(xcb_dri2_id, sizeof(void*)+sizeof(int))
+GO(xcb_dri2_query_version, pFpuu)
+GO(xcb_dri2_query_version_reply, pFpup)
+//GO(xcb_dri2_query_version_unchecked, 
+//GO(xcb_dri2_swap_buffers, 
+//GO(xcb_dri2_swap_buffers_reply, 
+//GO(xcb_dri2_swap_buffers_unchecked, 
+//GO(xcb_dri2_swap_interval, 
+//GO(xcb_dri2_swap_interval_checked, 
+//GO(xcb_dri2_wait_msc, 
+//GO(xcb_dri2_wait_msc_reply, 
+//GO(xcb_dri2_wait_msc_unchecked, 
+//GO(xcb_dri2_wait_sbc, 
+//GO(xcb_dri2_wait_sbc_reply, 
+//GO(xcb_dri2_wait_sbc_unchecked, 
diff --git a/src/wrapped/wrappedlibxcbdri3.c b/src/wrapped/wrappedlibxcbdri3.c
new file mode 100755
index 00000000..494fc462
--- /dev/null
+++ b/src/wrapped/wrappedlibxcbdri3.c
@@ -0,0 +1,24 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+
+const char* libxcbdri3Name = "libxcb-dri3.so.0";
+#define LIBNAME libxcbdri3
+static library_t *my_lib = NULL;
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibxcbdri3_private.h b/src/wrapped/wrappedlibxcbdri3_private.h
new file mode 100755
index 00000000..2490657e
--- /dev/null
+++ b/src/wrapped/wrappedlibxcbdri3_private.h
@@ -0,0 +1,50 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(xcb_dri3_buffer_from_pixmap, 
+//GO(xcb_dri3_buffer_from_pixmap_reply, 
+//GO(xcb_dri3_buffer_from_pixmap_reply_fds, 
+//GO(xcb_dri3_buffer_from_pixmap_unchecked, 
+//GO(xcb_dri3_buffers_from_pixmap, 
+//GO(xcb_dri3_buffers_from_pixmap_buffers, 
+//GO(xcb_dri3_buffers_from_pixmap_buffers_end, 
+//GO(xcb_dri3_buffers_from_pixmap_buffers_length, 
+//GO(xcb_dri3_buffers_from_pixmap_offsets, 
+//GO(xcb_dri3_buffers_from_pixmap_offsets_end, 
+//GO(xcb_dri3_buffers_from_pixmap_offsets_length, 
+//GO(xcb_dri3_buffers_from_pixmap_reply, 
+//GO(xcb_dri3_buffers_from_pixmap_reply_fds, 
+//GO(xcb_dri3_buffers_from_pixmap_sizeof, 
+//GO(xcb_dri3_buffers_from_pixmap_strides, 
+//GO(xcb_dri3_buffers_from_pixmap_strides_end, 
+//GO(xcb_dri3_buffers_from_pixmap_strides_length, 
+//GO(xcb_dri3_buffers_from_pixmap_unchecked, 
+//GO(xcb_dri3_fd_from_fence, 
+//GO(xcb_dri3_fd_from_fence_reply, 
+//GO(xcb_dri3_fd_from_fence_reply_fds, 
+//GO(xcb_dri3_fd_from_fence_unchecked, 
+//GO(xcb_dri3_fence_from_fd, 
+//GO(xcb_dri3_fence_from_fd_checked, 
+//GO(xcb_dri3_get_supported_modifiers, 
+//GO(xcb_dri3_get_supported_modifiers_reply, 
+//GO(xcb_dri3_get_supported_modifiers_screen_modifiers, 
+//GO(xcb_dri3_get_supported_modifiers_screen_modifiers_end, 
+//GO(xcb_dri3_get_supported_modifiers_screen_modifiers_length, 
+//GO(xcb_dri3_get_supported_modifiers_sizeof, 
+//GO(xcb_dri3_get_supported_modifiers_unchecked, 
+//GO(xcb_dri3_get_supported_modifiers_window_modifiers, 
+//GO(xcb_dri3_get_supported_modifiers_window_modifiers_end, 
+//GO(xcb_dri3_get_supported_modifiers_window_modifiers_length, 
+DATA(xcb_dri3_id, sizeof(void*)+sizeof(int))
+GO(xcb_dri3_open, pFpuu)
+GO(xcb_dri3_open_reply, pFpup)
+GO(xcb_dri3_open_reply_fds, pFpp)
+//GO(xcb_dri3_open_unchecked, 
+//GO(xcb_dri3_pixmap_from_buffer, 
+GO(xcb_dri3_pixmap_from_buffer_checked, pFpuuuWWWCCi)
+//GO(xcb_dri3_pixmap_from_buffers, 
+//GO(xcb_dri3_pixmap_from_buffers_checked, 
+GO(xcb_dri3_query_version, pFpuu)
+GO(xcb_dri3_query_version_reply, pFpup)
+//GO(xcb_dri3_query_version_unchecked,