Merge branch 'mesa_7_6_branch'
[mesa.git] / src / egl / main / eglcurrent.h
index f9fdf7bd0f074e35cace4287362bbf2f109550d6..9503e0aba0886d30f088be67dd687e6d7fa8365c 100644 (file)
@@ -4,8 +4,16 @@
 #include "egltypedefs.h"
 
 
-#define _EGL_API_NUM_INDICES \
-   (EGL_OPENGL_API - EGL_OPENGL_ES_API + 2) /* idx 0 is for EGL_NONE */
+#define _EGL_API_ALL_BITS \
+   (EGL_OPENGL_ES_BIT   | \
+    EGL_OPENVG_BIT      | \
+    EGL_OPENGL_ES2_BIT  | \
+    EGL_OPENGL_BIT)
+
+
+#define _EGL_API_FIRST_API EGL_OPENGL_ES_API
+#define _EGL_API_LAST_API EGL_OPENGL_API
+#define _EGL_API_NUM_APIS (_EGL_API_LAST_API - _EGL_API_FIRST_API + 1)
 
 
 /**
 struct _egl_thread_info
 {
    EGLint LastError;
-   _EGLContext *CurrentContexts[_EGL_API_NUM_INDICES];
+   _EGLContext *CurrentContexts[_EGL_API_NUM_APIS];
    /* use index for fast access to current context */
    EGLint CurrentAPIIndex;
 };
 
 
-extern EGLBoolean
-_eglInitCurrent(void);
-
-
-extern void
-_eglFiniCurrent(void);
-
-
 /**
- * Return true if a client API enum can be converted to an index.
+ * Return true if a client API enum is recognized.
  */
 static INLINE EGLBoolean
 _eglIsApiValid(EGLenum api)
 {
-   return ((api >= EGL_OPENGL_ES_API && api <= EGL_OPENGL_API) ||
-           api == EGL_NONE);
+   return (api >= _EGL_API_FIRST_API && api <= _EGL_API_LAST_API);
 }
 
 
@@ -46,7 +45,7 @@ _eglIsApiValid(EGLenum api)
 static INLINE EGLint
 _eglConvertApiToIndex(EGLenum api)
 {
-   return (api != EGL_NONE) ? api - EGL_OPENGL_ES_API + 1 : 0;
+   return api - _EGL_API_FIRST_API;
 }
 
 
@@ -57,7 +56,7 @@ _eglConvertApiToIndex(EGLenum api)
 static INLINE EGLenum
 _eglConvertApiFromIndex(EGLint idx)
 {
-   return (idx) ? EGL_OPENGL_ES_API + idx - 1 : EGL_NONE;
+   return _EGL_API_FIRST_API + idx;
 }