#include "fips.h"
+#include "fips-dispatch.h"
+
#include <EGL/egl.h>
#include "dlwrap.h"
} while (0);
+/* 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
+ * 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 *
eglwrap_lookup (char *name)
{
return ret;
}
+
+void (*eglGetProcAddress (char const *func))(void)
+{
+ void *ret;
+
+ /* If our library has this symbol, that's what we want to give. */
+ ret = dlwrap_real_dlsym (NULL, (const char *) func);
+ if (ret)
+ return ret;
+
+ /* Otherwise, just defer to the real eglGetProcAddress */
+ EGLWRAP_DEFER_WITH_RETURN (ret, eglGetProcAddress, func);
+
+ return ret;
+}
+
+EGLBoolean
+eglMakeCurrent (EGLDisplay display, EGLSurface draw, EGLSurface read,
+ EGLContext context)
+{
+ EGLBoolean ret;
+
+ fips_dispatch_init (FIPS_API_EGL);
+
+ EGLWRAP_DEFER_WITH_RETURN (ret, eglMakeCurrent, display, draw, read, context);
+
+ return ret;
+}