X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglwrap_funcs.c;h=01314f2295fb7299e498cbc491fa52605bc2ceef;hb=HEAD;hp=b6bc4d85781acbda61b5c065610e85a3bfc82692;hpb=c6dc0db8e133362e2e6402ba006f99b3b69dfce0;p=gldbg.git diff --git a/source/glwrap_funcs.c b/source/glwrap_funcs.c deleted file mode 100644 index b6bc4d8..0000000 --- a/source/glwrap_funcs.c +++ /dev/null @@ -1,113 +0,0 @@ -/* $Id$ - -This file is part of gldbg -Copyright © 2010 Mikko Rasa, Mikkosoft Productions -Distributed under the GPL -*/ - -#include -#include -#include -#include -#include "arraysize.h" -#include "functions.h" -#include "glwrap.h" - -int in_begin_block = 0; -GLenum cur_error = GL_NO_ERROR; - -static void check_error() -{ - GLenum (*orig_glGetError)() = 0; - GLenum code; - - if(in_begin_block) - return; - - if(!orig_glGetError) - orig_glGetError = glsym("glGetError"); - - code = orig_glGetError(); - if(code!=GL_NO_ERROR) - { - begin_packet(FUNC_GLDERROR); - write_int(code); - send_packet(); - - if(cur_error==GL_NO_ERROR) - cur_error = code; - } -} - -void APIENTRY glBegin(GLenum mode) -{ - static void (*orig)(GLenum); - if(!orig) - orig = glsym("glBegin"); - orig(mode); - - begin_packet(FUNC_GLBEGIN); - write_int(mode); - send_packet(); - - in_begin_block = 1; -} - -void APIENTRY glEnd() -{ - static void (*orig)(); - if(!orig) - orig = glsym("glEnd"); - orig(); - - begin_packet(FUNC_GLEND); - send_packet(); - - in_begin_block = 0; - check_error(); -} - -GLenum APIENTRY glGetError() -{ - GLenum ret = GL_NO_ERROR; - - if(in_begin_block) - { - if(cur_error==GL_NO_ERROR) - cur_error = GL_INVALID_OPERATION; - } - else - { - ret = cur_error; - cur_error = GL_NO_ERROR; - } - - begin_packet(FUNC_GLGETERROR); - write_int(ret); - send_packet(); - - return ret; -} - -void (*glXGetProcAddress(const GLubyte *procname))(void) -{ - void *handle = 0; - void (*ret)() = 0; - - if(glsym((const char *)procname)) - { - handle = dlopen(NULL, RTLD_LAZY); - ret = dlsym(handle, (const char *)procname); - } - - begin_packet(FUNC_GLXGETPROCADDRESS); - write_string((const char *)procname); - write_pointer(ret); - send_packet(); - - return ret; -} - -void (*glXGetProcAddressARB(const GLubyte *))(void) __attribute__((alias("glXGetProcAddress"))); - -#include "gensrc/glwrap.funcs"