| Mathias Agopian | 1cadb25 | 2011-05-23 17:26:14 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | ** Copyright 2011, The Android Open Source Project | 
|  | 3 | ** | 
|  | 4 | ** Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | 5 | ** you may not use this file except in compliance with the License. | 
|  | 6 | ** You may obtain a copy of the License at | 
|  | 7 | ** | 
|  | 8 | **     http://www.apache.org/licenses/LICENSE-2.0 | 
|  | 9 | ** | 
|  | 10 | ** Unless required by applicable law or agreed to in writing, software | 
|  | 11 | ** distributed under the License is distributed on an "AS IS" BASIS, | 
|  | 12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | 13 | ** See the License for the specific language governing permissions and | 
|  | 14 | ** limitations under the License. | 
|  | 15 | */ | 
|  | 16 |  | 
|  | 17 | #ifndef ANDROID_EGLDEFS_H | 
|  | 18 | #define ANDROID_EGLDEFS_H | 
|  | 19 |  | 
|  | 20 | #include "hooks.h" | 
|  | 21 |  | 
|  | 22 | // ---------------------------------------------------------------------------- | 
|  | 23 | namespace android { | 
|  | 24 | // ---------------------------------------------------------------------------- | 
|  | 25 |  | 
|  | 26 | #define VERSION_MAJOR 1 | 
|  | 27 | #define VERSION_MINOR 4 | 
|  | 28 |  | 
|  | 29 | //  EGLDisplay are global, not attached to a given thread | 
|  | 30 | const unsigned int NUM_DISPLAYS = 1; | 
|  | 31 |  | 
|  | 32 | enum { | 
|  | 33 | IMPL_HARDWARE = 0, | 
|  | 34 | IMPL_SOFTWARE, | 
|  | 35 | IMPL_NUM_IMPLEMENTATIONS | 
|  | 36 | }; | 
|  | 37 |  | 
|  | 38 | enum { | 
|  | 39 | GLESv1_INDEX = 0, | 
|  | 40 | GLESv2_INDEX = 1, | 
|  | 41 | }; | 
|  | 42 |  | 
|  | 43 | // ---------------------------------------------------------------------------- | 
|  | 44 |  | 
|  | 45 | struct egl_connection_t | 
|  | 46 | { | 
|  | 47 | inline egl_connection_t() : dso(0) { } | 
|  | 48 | void *              dso; | 
|  | 49 | gl_hooks_t *        hooks[2]; | 
|  | 50 | EGLint              major; | 
|  | 51 | EGLint              minor; | 
|  | 52 | egl_t               egl; | 
|  | 53 | }; | 
|  | 54 |  | 
|  | 55 | // ---------------------------------------------------------------------------- | 
|  | 56 |  | 
|  | 57 | extern gl_hooks_t gHooks[2][IMPL_NUM_IMPLEMENTATIONS]; | 
|  | 58 | extern gl_hooks_t gHooksNoContext; | 
|  | 59 | extern pthread_key_t gGLWrapperKey; | 
|  | 60 | extern "C" void gl_unimplemented(); | 
|  | 61 |  | 
|  | 62 | extern char const * const gl_names[]; | 
|  | 63 | extern char const * const egl_names[]; | 
|  | 64 |  | 
|  | 65 | extern egl_connection_t gEGLImpl[IMPL_NUM_IMPLEMENTATIONS]; | 
|  | 66 |  | 
|  | 67 | // ---------------------------------------------------------------------------- | 
|  | 68 | }; // namespace android | 
|  | 69 | // ---------------------------------------------------------------------------- | 
|  | 70 |  | 
|  | 71 | #endif /* ANDROID_EGLDEFS_H */ |