Reduce duplication

master
Graham 3 years ago
parent 92caf4f4bd
commit e96e3cd0ca
  1. 34
      gl-natives/src/main/c/jaggl.c

@ -98,45 +98,35 @@
#define JAGGL_RELEASE_STRING(env, str) \
(*env)->ReleaseStringUTFChars(env, str, str ## _str)
#if defined(JAGGL_EGL)
#define PFNGLCLIENTACTIVETEXTUREPROC PFNGLCLIENTACTIVETEXTUREARBPROC
#define PFNGLMULTITEXCOORD2FPROC PFNGLMULTITEXCOORD2FARBPROC
#define PFNGLMULTITEXCOORD2IPROC PFNGLMULTITEXCOORD2IARBPROC
#define JAGGL_FORCE_LOCK(env) _JAGGL_GET(env)
#define JAGGL_FORCE_UNLOCK(env)
#define JAGGL_LOCK(env)
#define JAGGL_UNLOCK(env)
#define JAGGL_PROC_ADDR(name) eglGetProcAddress(name)
#elif defined(JAGGL_GLX)
#if defined(JAGGL_EGL) || defined(JAGGL_GLX)
// Mesa is missing some non-ARB PFN typedefs
#define PFNGLCLIENTACTIVETEXTUREPROC PFNGLCLIENTACTIVETEXTUREARBPROC
#define PFNGLMULTITEXCOORD2FPROC PFNGLMULTITEXCOORD2FARBPROC
#define PFNGLMULTITEXCOORD2IPROC PFNGLMULTITEXCOORD2IARBPROC
#endif
#if defined(JAGGL_GLX)
// GLX requires locking around every OpenGL call
#define JAGGL_FORCE_LOCK(env) _JAGGL_GET_AND_LOCK(env)
#define JAGGL_FORCE_UNLOCK(env) _JAGGL_UNLOCK(env)
#define JAGGL_LOCK(env) _JAGGL_GET_AND_LOCK(env)
#define JAGGL_UNLOCK(env) _JAGGL_UNLOCK(env)
#define JAGGL_PROC_ADDR(name) glXGetProcAddressARB((const GLubyte *) name)
#elif defined(JAGGL_WGL)
#else
#define JAGGL_FORCE_LOCK(env) _JAGGL_GET(env)
#define JAGGL_FORCE_UNLOCK(env)
#define JAGGL_LOCK(env)
#define JAGGL_UNLOCK(env)
#endif
#if defined(JAGGL_EGL)
#define JAGGL_PROC_ADDR(name) eglGetProcAddress(name)
#elif defined(JAGGL_GLX)
#define JAGGL_PROC_ADDR(name) glXGetProcAddressARB((const GLubyte *) name)
#elif defined(JAGGL_WGL)
#define JAGGL_PROC_ADDR(name) wglGetProcAddress(name)
#elif defined(JAGGL_CGL)
#define JAGGL_FORCE_LOCK(env) _JAGGL_GET(env)
#define JAGGL_FORCE_UNLOCK(env)
#define JAGGL_LOCK(env)
#define JAGGL_UNLOCK(env)
#define JAGGL_PROC_ADDR(name) jaggl_proc_addr(name)
#else
#error Unsupported platform

Loading…
Cancel
Save