Пример #1
0
extern "C" void* dlvsym(void* handle, const char* symbol, const char* version) {
	glinject_init_hooks();
	for(unsigned int i = 0; i < sizeof(hook_table) / sizeof(Hook); ++i) {
		if(strcmp(hook_table[i].name, symbol) == 0) {
			fprintf(stderr, "[SSR-GLInject] Hooked: dlvsym(%s,%s).\n", symbol, version);
			return hook_table[i].address;
		}
	}
	return g_glinject_real_dlvsym(handle, symbol, version);
}
Пример #2
0
GLXextFuncPtr glinject_my_glXGetProcAddressARB(const GLubyte *proc_name) {
	glinject_init_hooks();
	for(unsigned int i = 0; i < sizeof(hook_table) / sizeof(Hook); ++i) {
		if(strcmp(hook_table[i].name, (const char*) proc_name) == 0) {
			fprintf(stderr, "[SSR-GLInject] Hooked: glXGetProcAddressARB(%s).\n", proc_name);
			return (GLXextFuncPtr) hook_table[i].address;
		}
	}
	return g_glinject_real_glXGetProcAddressARB(proc_name);
}
Пример #3
0
extern "C" int XNextEvent(Display* display, XEvent* event_return) {
	glinject_init_hooks();
	return glinject_my_XNextEvent(display, event_return);
}
Пример #4
0
extern "C" GLXextFuncPtr glXGetProcAddressARB(const GLubyte *proc_name) {
	glinject_init_hooks();
	return glinject_my_glXGetProcAddressARB(proc_name);
}
Пример #5
0
extern "C" void glXSwapBuffers(Display* dpy, GLXDrawable drawable) {
	glinject_init_hooks();
	glinject_my_glXSwapBuffers(dpy, drawable);
}
Пример #6
0
extern "C" GLXWindow glXCreateWindow(Display* dpy, GLXFBConfig config, Window win, const int* attrib_list) {
	glinject_init_hooks();
	return glinject_my_glXCreateWindow(dpy, config, win, attrib_list);
}