X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglwrap.funcs.t;h=bcee77166ec5053ad5238f25b60dd1e4d0f71075;hb=fab9ed5163a8f4ef5314bc67e48d1690d1126649;hp=17e711b870124d46244a37789995d955384dddf4;hpb=4aba13fc7690cf79e949d9765b371e85e7530207;p=gldbg.git diff --git a/source/glwrap.funcs.t b/source/glwrap.funcs.t index 17e711b..bcee771 100644 --- a/source/glwrap.funcs.t +++ b/source/glwrap.funcs.t @@ -4,42 +4,45 @@ !handcode glGetError !handcode glXGetProcAddress !handcode glXGetProcAddressARB +!handcode eglGetProcAddress wl('%s APIENTRY %s(%s)', ret.ctype, func.name, ", ".join([p.ctype+" "+p.name for p in params])) wl('{') -wl(' static %s (*orig)(%s);', ret.ctype, ", ".join([p.ctype for p in params])) +wl(' static %s (*orig)(%s) = NULL;', ret.ctype, ", ".join([p.ctype for p in params])) +wl(' GlPacket *pkt;') if ret.ctype!='void': wl(' %s ret;', ret.ctype) wl(' if(!orig)') wl(' orig = glsym("%s");', func.name) -wl(' begin_packet(FUNC_%s);', func.name.upper()) +wl(' pkt = packet_begin(FUNC_%s);', func.name.upper()) head_sent = False for p in params: if p.direction=="out" and not head_sent: - wl(' send_partial_packet();') + wl(' packet_send_partial(pkt, get_out_fd());') w(' ') if ret.ctype!='void': w('ret = ') wl('orig(%s);', ", ".join([q.name for q in params])) head_sent = True if p.kind=="value": - wl(' write_%s(%s);', p.io[0].replace(' ', '_'), p.name) + wl(' packet_write_%s(pkt, %s);', p.io[0].replace(' ', '_'), p.name) elif p.kind=="array" and p.io and p.io[0]=="string": - wl(' write_string_array(%s, %s);', p.name, p.csize) + wl(' packet_write_string_array(pkt, %s, %s);', p.name, p.csize) elif p.csize: - wl(' write_data(%s, %s);', p.name, p.csize) + wl(' packet_write_data(pkt, %s, %s);', p.name, p.csize) else: - wl(' write_pointer(%s);', p.name) + wl(' packet_write_pointer(pkt, %s);', p.name) if ret.ctype!='void': if not head_sent: - wl(' send_partial_packet();') + wl(' packet_send_partial(pkt, get_out_fd());') wl(' ret = orig(%s);', ", ".join([p.name for p in params])) head_sent = True - wl(' write_%s(ret);', ret.io[0].replace(' ', '_')) -wl(' send_packet();') + wl(' packet_write_%s(pkt, ret);', ret.io[0].replace(' ', '_')) +wl(' packet_send(pkt, get_out_fd());') if not head_sent: wl(' orig(%s);', ", ".join([p.name for p in params])) if not func.name.startswith("glX"): wl(' check_error();') +#wl(' receive_packet();') if ret.ctype!='void': wl(' return ret;') wl('}')