summaryrefslogtreecommitdiffstats
path: root/opengl/libs/EGL/hooks.cpp
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2009-05-28 17:39:03 -0700
committerMathias Agopian <mathias@google.com>2009-05-28 20:31:40 -0700
commit9d17c057bdb9da5fa991a2c3efebe453106ca0a7 (patch)
tree13c7d86fc365a810213910f2ccf62967db55831b /opengl/libs/EGL/hooks.cpp
parente9d7445acea438b731273ac91114426bf1e5056c (diff)
downloadframeworks_base-9d17c057bdb9da5fa991a2c3efebe453106ca0a7.zip
frameworks_base-9d17c057bdb9da5fa991a2c3efebe453106ca0a7.tar.gz
frameworks_base-9d17c057bdb9da5fa991a2c3efebe453106ca0a7.tar.bz2
implement a real loader for EGL drivers
we now look for a config file in /system/lib/egl/egl.cfg that describes the association of a display to a driver. these drivers are named: /system/lib/egl/lib{[EGL|GLESv1_CM|GLESv2] | GLES}_$TAG.so
Diffstat (limited to 'opengl/libs/EGL/hooks.cpp')
-rw-r--r--opengl/libs/EGL/hooks.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/opengl/libs/EGL/hooks.cpp b/opengl/libs/EGL/hooks.cpp
new file mode 100644
index 0000000..2246366
--- /dev/null
+++ b/opengl/libs/EGL/hooks.cpp
@@ -0,0 +1,67 @@
+/*
+ ** Copyright 2009, The Android Open Source Project
+ **
+ ** Licensed under the Apache License, Version 2.0 (the "License");
+ ** you may not use this file except in compliance with the License.
+ ** You may obtain a copy of the License at
+ **
+ ** http://www.apache.org/licenses/LICENSE-2.0
+ **
+ ** Unless required by applicable law or agreed to in writing, software
+ ** distributed under the License is distributed on an "AS IS" BASIS,
+ ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ** See the License for the specific language governing permissions and
+ ** limitations under the License.
+ */
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#include <cutils/log.h>
+
+#include "hooks.h"
+
+// ----------------------------------------------------------------------------
+namespace android {
+// ----------------------------------------------------------------------------
+
+void gl_unimplemented() {
+ LOGE("called unimplemented OpenGL ES API");
+}
+
+
+// ----------------------------------------------------------------------------
+// GL / EGL hooks
+// ----------------------------------------------------------------------------
+
+#undef GL_ENTRY
+#undef EGL_ENTRY
+#define GL_ENTRY(_r, _api, ...) #_api,
+#define EGL_ENTRY(_r, _api, ...) #_api,
+
+char const * const gl_names[] = {
+ #include "GLES_CM/gl_entries.in"
+ #include "GLES_CM/glext_entries.in"
+ NULL
+};
+
+char const * const gl2_names[] = {
+ #include "GLES2/gl2_entries.in"
+ #include "GLES2/gl2ext_entries.in"
+ NULL
+};
+
+char const * const egl_names[] = {
+ #include "egl_entries.in"
+ NULL
+};
+
+#undef GL_ENTRY
+#undef EGL_ENTRY
+
+
+// ----------------------------------------------------------------------------
+}; // namespace android
+// ----------------------------------------------------------------------------
+