X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=eglwrap.c;h=fe7f736243195c0c51eaaedfa007dac30ed07e08;hb=c60ce62ccb73402852eb4537dc435b6334a1538b;hp=8317334c8595bca959f5e55101fb5dc844458fd4;hpb=7ca2f1e135d95263282b7cb01dff7e301f2146cf;p=fips diff --git a/eglwrap.c b/eglwrap.c index 8317334..fe7f736 100644 --- a/eglwrap.c +++ b/eglwrap.c @@ -25,6 +25,8 @@ #include +#include "context.h" +#include "eglwrap.h" #include "dlwrap.h" #include "metrics.h" @@ -50,14 +52,10 @@ /* Note: We only need to perform a lookup in libEGL.so.1, (not * libGLESv2.so.2). This is because the functions we wrap, (currently - * wglSwapBufers, eglGetProcAddress, and eglMakeCurrent), exist only + * eglSwapBufers, eglGetProcAddress, and eglMakeCurrent), exist only * in libEGL.so.1. - * - * If we *do* later add wrappers for functions that lib in - * libGLESv2.so.2 then those might more naturally live in a file named - * gleswrap.c or so. */ -static void * +void * eglwrap_lookup (char *name) { const char *libegl_filename = "libEGL.so.1"; @@ -81,8 +79,13 @@ eglSwapBuffers (EGLDisplay dpy, EGLSurface surface) EGLBoolean ret; EGLWRAP_DEFER_WITH_RETURN (ret, eglSwapBuffers, dpy, surface); + + metrics_counter_stop (); + metrics_end_frame (); + metrics_counter_start (); + return ret; } @@ -107,9 +110,11 @@ eglMakeCurrent (EGLDisplay display, EGLSurface draw, EGLSurface read, { EGLBoolean ret; - fips_dispatch_init (FIPS_API_EGL); + context_leave (); EGLWRAP_DEFER_WITH_RETURN (ret, eglMakeCurrent, display, draw, read, context); + context_enter (FIPS_API_EGL, context); + return ret; }