egldefs.h revision 7773c435bc5da8217433e1b242d3a6712a17b5f7
11cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian/*
21cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** Copyright 2011, The Android Open Source Project
31cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian **
41cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** Licensed under the Apache License, Version 2.0 (the "License");
51cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** you may not use this file except in compliance with the License.
61cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** You may obtain a copy of the License at
71cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian **
81cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian **     http://www.apache.org/licenses/LICENSE-2.0
91cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian **
101cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** Unless required by applicable law or agreed to in writing, software
111cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** distributed under the License is distributed on an "AS IS" BASIS,
121cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
131cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** See the License for the specific language governing permissions and
141cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian ** limitations under the License.
151cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian */
161cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
171cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian#ifndef ANDROID_EGLDEFS_H
181cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian#define ANDROID_EGLDEFS_H
191cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
201cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian#include "hooks.h"
211cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
227773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian#define VERSION_MAJOR 1
237773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian#define VERSION_MINOR 4
247773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian
251cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian// ----------------------------------------------------------------------------
261cadb25da1ed875bdd078270e642966724a0c39aMathias Agopiannamespace android {
271cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian// ----------------------------------------------------------------------------
281cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
291cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian//  EGLDisplay are global, not attached to a given thread
301cadb25da1ed875bdd078270e642966724a0c39aMathias Agopianconst unsigned int NUM_DISPLAYS = 1;
311cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
321cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian// ----------------------------------------------------------------------------
331cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
347773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopianstruct egl_connection_t {
357773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian    enum {
367773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian        GLESv1_INDEX = 0,
377773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian        GLESv2_INDEX = 1
387773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian    };
397773c435bc5da8217433e1b242d3a6712a17b5f7Mathias Agopian
401cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian    inline egl_connection_t() : dso(0) { }
411cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian    void *              dso;
421cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian    gl_hooks_t *        hooks[2];
431cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian    EGLint              major;
441cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian    EGLint              minor;
451cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian    egl_t               egl;
461cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian};
471cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
481cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian// ----------------------------------------------------------------------------
491cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
50ada798b7ca7cabc255aa159964b64975e7fdb2dfMathias Agopianextern gl_hooks_t gHooks[2];
511cadb25da1ed875bdd078270e642966724a0c39aMathias Agopianextern gl_hooks_t gHooksNoContext;
521cadb25da1ed875bdd078270e642966724a0c39aMathias Agopianextern pthread_key_t gGLWrapperKey;
531cadb25da1ed875bdd078270e642966724a0c39aMathias Agopianextern "C" void gl_unimplemented();
5448d438d05f14c2f4bd83ae89f520368cd49122dfMathias Agopianextern "C" void gl_noop();
551cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
561cadb25da1ed875bdd078270e642966724a0c39aMathias Agopianextern char const * const gl_names[];
571cadb25da1ed875bdd078270e642966724a0c39aMathias Agopianextern char const * const egl_names[];
581cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
59ada798b7ca7cabc255aa159964b64975e7fdb2dfMathias Agopianextern egl_connection_t gEGLImpl;
601cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
611cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian// ----------------------------------------------------------------------------
621cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian}; // namespace android
631cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian// ----------------------------------------------------------------------------
641cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian
651cadb25da1ed875bdd078270e642966724a0c39aMathias Agopian#endif /* ANDROID_EGLDEFS_H */
66