History log of /frameworks/native/opengl/libs/EGL/Loader.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
85893499ce0a950ec46827d9c2062a536ec252bc 03-Jul-2017 bohu <bohu@google.com> emulator: update EGL emulation library path

Change it from system/ to vendor/, due to
treble requirement.

Test: build sdk_phone_x86-eng, boot emulator
and surfaceflinger should not complain missing
emulation library and emulator should boot to
homescreen.

Change-Id: I08c5ac22358e464c5522deef93cd40ec3bc508c9
/frameworks/native/opengl/libs/EGL/Loader.cpp
a243e5dc36b5c75fb963d51064b132ea5367372e 20-Jun-2017 Jiyong Park <jiyong@google.com> Mark EGL/GLES libs as vendor_available

EGL/GLES libs are marked as vendor_available, otherwise vendors are not
able to use OpenGL. The libs were not simply declared as LL-NDK because
doing so causes the dual loading of libui.so in vendor processes;
platform version of libui.so is loaded since it is depended by libEGL.so
whereas there also is vendor version of libui.so in /system/lib/vndk.

When libEGL.so is built for vendors, 1) libgraphicsenv is removed from
its dependency list as the lib must not be available to vendors and 2)
eglGetNativeClientBufferANDROID is unusable since the function relies on
AHardwareBuffer_to_ANativeWindowBuffer which isn't available to vendor.

Bug: 37731063
Test: BOARD_VNDK_VERSION=current m -j libEGL.vendor
Test: BOARD_VNDK_VERSION=current m -j libGLESv2.vendor

Change-Id: I83a128b14a5d852bb0f2cd821a8e3f82c66a313f
/frameworks/native/opengl/libs/EGL/Loader.cpp
b732030e847e74f00ecd37ff15a36b103efd97b9 22-May-2017 Justin Yun <justinyun@google.com> EGL: Do not look up default namespace when sphal is defined

If sphal name space exists, try to load drivers from sphal.
This patch stops loading the driver if it fails to find the driver
from sphal, instead of falling back to the default namespace.

Bug: 38435840
Test: sailfish builds and boots
Change-Id: Ib8ba73f57aa25431c4a2efe7c61a3699237cc3d2
/frameworks/native/opengl/libs/EGL/Loader.cpp
27c39e15019ac37029867a12964868d18ae1c109 08-May-2017 Jiyong Park <jiyong@google.com> GraphicsEnv is separated from libui

GraphicsEnv class is separated from libui in order to make libui VNDK.
The class is then built as a standalone library named
'libgraphicsenv.so'. Clients that were using the GraphicsEnv class are
also updated to reference the new library.

Bug: 38097618
Test: sailfish builds and boots

Change-Id: I4c35fdff0e92453b98ea21136ef0f99fab01b6f8
/frameworks/native/opengl/libs/EGL/Loader.cpp
5910dc7365f94ea10a879342710c76d577cb2690 05-Apr-2017 Jiyong Park <jiyong@google.com> Load GL graphics drivers explicitly from sphal namespace

In Treble term, GL wrappers (libEGL.so, libGLES*.so, ...) are called
SP-NDK and actual drivers (libEGL_*.so, libGLESv2_*.so, ...)
are called SP-HALs. (SP = Same-Process).

SP-HALs are developed by vendors and thus they can use only a subset of
framework libraries that we call vndk-stable and subset of NDK
libraries. It consists of libc, libm, liblog, libz, libnativewindow,
libc++, ..., but not framework-only libraries such as libui, libandroid,
etc.

In order to enforce such restriction at run-time, we will use the linker
namespace. Specifically, we create a new namespace named 'sphal' and
configure it so that...
1) it can only search and load libraries from /vendor/lib,
2) it redirects the load/link request to the default namespace when the
allowed list of libraries are requested from the caller, and
3) it rejects to search/load any library other than 1) and 2).

The problem here is, GL wrapper need to tell the linker to load the
drivers from the separate namespace (the 'sphal' namespace other than
the default namespace. To specify the namespace, we need to use
android_dlopen_ext() instead of dlopen().`

Bug: 34407260
Bug: 37049319
Test: none, no op for now since we haven't create sphal namespace.

Change-Id: I376dd9e5cc904452f669c27eb85c59b30b43dc39
/frameworks/native/opengl/libs/EGL/Loader.cpp
65421435a67b881dad79e7008e9dee7fb425f180 08-Mar-2017 Mathias Agopian <mathias@google.com> Remove dependency to most of libutils

Most of libutils is replaced by using the STL,
this is fine in this case because none of it
leaks out of EGL’s internals.

Test: compiled & run
Bug: vndk-stable

Change-Id: I42ded4043ddc98ed7eaa975fbbb2e754cd3219af
/frameworks/native/opengl/libs/EGL/Loader.cpp
311b479d7f50bc9e487cf9b4859843d0f4778382 01-Mar-2017 Mathias Agopian <mathias@google.com> clean-up EGL includes

Test: compile and run
Bug: cleanup

Change-Id: Icb6c70c80d455446d7163a20d51c41d9b6e0b578
/frameworks/native/opengl/libs/EGL/Loader.cpp
991d2545afb325a3ebb8679519c4b0c13e29fada 06-Feb-2017 Mathias Agopian <mathias@google.com> move GraphicEnv from libgui to libui

This breaks a circular dependency between libEGL
and libgui.

Test: compiled and booted a device
Change-Id: I78932bba07fb9ef310d8e1622bd3a47f57e89c45
/frameworks/native/opengl/libs/EGL/Loader.cpp
c7fb44c8b95e585db29eb19dc1f893426f73b950 21-Jan-2017 Jesse Hall <jessehall@google.com> resolve merge conflicts of 1508ae60c to master

Test: make
Change-Id: I414f4299ae637c6cc21d556e568d93378e49fa5d
1508ae60cc02d0ed84f216f3ddd43a932c2ede42 20-Jan-2017 Jesse Hall <jessehall@google.com> libEGL: Add initialization tracing

The first call to eglGetDisplay() loads drivers and initializes
dispatch tables. This currently takes significant time (85-100 ms),
and can must be done before the first frame of an app can be shown.

This change adds systrace markers for the major parts of this process,
as a precursor to optimizing them.

Bug: 34404021
Test: manual systrace of calculator app startup on bullhead
Change-Id: If1ecb5a81f9d33daf72c6f3e5b403972f8529b2d
/frameworks/native/opengl/libs/EGL/Loader.cpp
1966cf622baabcb5e496bb9c9ce4a2f9c438b124 21-Dec-2016 Jesse Hall <jessehall@google.com> EGL: Load updated EGL/GLES drivers

Because the driver namespace is stored in libgui, and libgui depends
on libEGL, this required a hack for libEGL to access the namespace.
See the comment added in GraphicsEnv.h for details; the summary is
that the libgui->libEGL dependency should go away, and then libEGL can
depend on libgui directly.

For system drivers, the loader would happily load anything named
lib{GLES,EGL,GLESv2,GLESv1_CM}_*.so in /vendor/lib[64]/egl, for
backward-compatibility with the old and no-longer-supported egl.cfg
system. However, it preferred unsuffixed names. That's not actually a
good idea, since the DT_SONAME would clash with the system libraries.
For updated drivers, we only look for suffixes from the
ro.hardware.egl and ro.board.platform system properties, similar to
the Vulkan and HAL library search. A future change (tied to a future
release) will do the same for system drivers.

Bug: 33531483
Test: Launch GLES apps w/ and w/o updated driver package
Change-Id: Ibfbb275629b0c6cf9c51314aea1361e81ff72d4b
/frameworks/native/opengl/libs/EGL/Loader.cpp
7a8d83ef77b31097cbccfc89ee93414b3f2c2d03 21-Dec-2016 Jesse Hall <jessehall@google.com> EGL: Load updated EGL/GLES drivers

Because the driver namespace is stored in libgui, and libgui depends
on libEGL, this required a hack for libEGL to access the namespace.
See the comment added in GraphicsEnv.h for details; the summary is
that the libgui->libEGL dependency should go away, and then libEGL can
depend on libgui directly.

For system drivers, the loader would happily load anything named
lib{GLES,EGL,GLESv2,GLESv1_CM}_*.so in /vendor/lib[64]/egl, for
backward-compatibility with the old and no-longer-supported egl.cfg
system. However, it preferred unsuffixed names. That's not actually a
good idea, since the DT_SONAME would clash with the system libraries.
For updated drivers, we only look for suffixes from the
ro.hardware.egl and ro.board.platform system properties, similar to
the Vulkan and HAL library search. A future change (tied to a future
release) will do the same for system drivers.

Bug: 33531483
Test: Launch GLES apps w/ and w/o updated driver package
Change-Id: Ibfbb275629b0c6cf9c51314aea1361e81ff72d4b
/frameworks/native/opengl/libs/EGL/Loader.cpp
e0ea99cc4ba89452b9b6b1baa33bddcb11f3351a 12-Jan-2017 Mark Salyzyn <salyzyn@google.com> resolve merge conflicts of a2c2d11f9 to master

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I84d0ffa430df3beca0dcc6ed205ce220d7be1f87
7823e124e00576e20e47ec717cbe8bc89f0f2bf2 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and rationalize log/log.h and android/log.h

- cutils/log.h treat as deprecated and lead by example
- android/log.h to be used instead of log/log.h if possible
- add system includes that are assumed as side effects
- define LOG_TAG first

Test: compile
Bug: 31289077
Bug: 30465923
Change-Id: I8d99b24c333578c9b5aa9f2a01324bd0bba268dd
/frameworks/native/opengl/libs/EGL/Loader.cpp
c03d283e8b3f830d76dd94822b2a13872c05c730 28-Dec-2016 Mark Salyzyn <salyzyn@google.com> resolve merge conflicts of 525a5f2 to master

Test: build
Change-Id: Id1c6d3d9dd158fb086b0d8ab74f7838ef0a51af1
a5e161b1207ef447a51e99856097d69d4a6111e1 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and rationalize log/log.h and android/log.h

- cutils/log.h treat as deprecated and lead by example
- android/log.h to be used instead of log/log.h if required
- add system includes that are assumed as side effects of log.h
- modules that use SLOG should use SLOG for all logging (installd)
- define LOG_TAG first
- remove logging infrastructure if not used

Test: build
Bug: 31289077
Change-Id: Iea147a0104c7ab7f12451304131d6500f42141e7
/frameworks/native/opengl/libs/EGL/Loader.cpp
feb7c74346159fe08700814a4fc314601152e9d9 15-Dec-2016 Jesse Hall <jessehall@google.com> Remove unused getProcessCmdline function

This was part of a hack that has long since been removed
(see d75f84d641).

Test: mmm frameworks/native/opengl/libs
Change-Id: I42e1e27615e87345f617a45c2ea30a44cc226f2f
/frameworks/native/opengl/libs/EGL/Loader.cpp
69e5b1ab80018817b1d4ffbbdb5695ff70168c95 20-Feb-2016 bohu <bohu@google.com> emulator: load vendor specific egl libraries first

Unless emulator specifically asks for gpu emulation on the host
(with ro.kernel.qemu.gles set to 1), always try to load vendor
supplied egl libraries on the guest and fall back to software
renderer.

qemu.gles will be setup correctly to reflect what gles is actually
used.

Change-Id: Ibaf2209dd1e40fa9f18ff4df27bb137d7ad53007
/frameworks/native/opengl/libs/EGL/Loader.cpp
776951f9db5744c94167d463584e9ee42c849712 06-Nov-2015 Nicolas Capens <capn@google.com> Load the emulation libraries only when qemu.gles=1

Bug 25467020

Change-Id: I4a47f369078af03e4146b3b96a7e7a8e8390da61
(cherry picked from commit 8404ebc7487ebcf317e88c78cbb81e238fb55c3f)
/frameworks/native/opengl/libs/EGL/Loader.cpp
9f8d4e01a02401beeaa3185acd87b140cf881d12 21-Oct-2015 Pablo Ceballos <pceballos@google.com> Revert "Revert "Remove GLTrace support""

This reverts commit e6288e2660e9c310986bff7148fcfb745c13af9a.

Change-Id: Id50a7d471536150bb9e0393e159d66475aa4f473
/frameworks/native/opengl/libs/EGL/Loader.cpp
e6288e2660e9c310986bff7148fcfb745c13af9a 19-Oct-2015 Pablo Ceballos <pceballos@google.com> Revert "Remove GLTrace support"

This reverts commit 5bf6f3b5bf06e04a742bde8d40409d3c9e434c05.

Change-Id: I25a2d9b4a4b219cb76b405db1f68997519361cd6
/frameworks/native/opengl/libs/EGL/Loader.cpp
5bf6f3b5bf06e04a742bde8d40409d3c9e434c05 05-Oct-2015 Pablo Ceballos <pceballos@google.com> Remove GLTrace support

GLTrace is defunct, it does not support newer GL features, breaks
security requirements, and has no supported tooling now that Eclipse
is at end of life.

Bug 22329852

Change-Id: I69e26da04cd78b5a196487c41bce456fd3c725c9
/frameworks/native/opengl/libs/EGL/Loader.cpp
c2466e6f005e9cbeea7764e9d8864fa6bca17633 09-Jul-2015 Evgenii Stepanov <eugenis@google.com> With SANITIZE_TARGET, load EGL libs from the instrumented path.

Bug: 21785137
Change-Id: Iac56419a9ca776c5704bed44d3f0a1a1edd9d172
/frameworks/native/opengl/libs/EGL/Loader.cpp
c0ec5e2333b6350480851b8b48f000c78ea3f88a 27-Jan-2014 Michael Chock <mchock@nvidia.com> Expose core EGL entry points to eglGetProcAddress

Required behavior for EGL_KHR_get_all_proc_addresses.

Change-Id: I1e6209ef3cb9f2fa6f22808b077c35139d4cb814
/frameworks/native/opengl/libs/EGL/Loader.cpp
8edb8f5f2d016e4e31530ad7a0c44a4a7a853f64 16-Feb-2014 Dan Willemsen <dwillemsen@nvidia.com> Use /(vendor|system)/lib64/egl for 64-bit EGL libraries

Change-Id: Ie64806bfe4ba60a3167b84685cf983d4ada1042d
/frameworks/native/opengl/libs/EGL/Loader.cpp
f4486c6ea4bcb728ee0f38df7a8ec75c389d9d2e 29-Aug-2013 Mathias Agopian <mathias@google.com> try to keep omap4 alive

Bug: 10527646
Change-Id: Iec572a910e932115cf4f2e1215142b10cd91bd6f
/frameworks/native/opengl/libs/EGL/Loader.cpp
94cdba97ce1de140623d84c14fb15f12f7da89dd 11-Jul-2013 Jesse Hall <jessehall@google.com> resolved conflicts for merge of 5477d0e4 to master

Change-Id: I7ca75a44018a68bf3a7ac1de17a3ef568a48d2ac
c07b52060acd627c8510c1a9151e0753fce76330 04-Jul-2013 Jesse Hall <jessehall@google.com> Find non-extension GLES wrappers in eglGetProcAddress

This allows apps to find OpenGL ES 3.0 functions using
eglGetProcAddress() instead of dlopen/dlsym.

Bug: 9681677
Change-Id: I7ce6e1636bc47d6b0bf20a4e46bd67235714d129
/frameworks/native/opengl/libs/EGL/Loader.cpp
993814255fc248454368ed9fe34b4703a05eaf99 23-Apr-2013 Mathias Agopian <mathias@google.com> change how the userspace GLES drivers are named

for single library:
/vendor/lib/egl/GLES.so

for multiple libraries:
/vendor/lib/egl/EGL.so
/vendor/lib/egl/GLESv1_CM.so
/vendor/lib/egl/GLESv2.so

EGL_BOARD_CONFIG as well as egl.cfg are not needed anymore.

To facilitate the transition, the loader will also look
for the older naming scheme.

Bug: 8631636
Change-Id: Id4b113468df29bae72b323f76598229914e1c7a1
/frameworks/native/opengl/libs/EGL/Loader.cpp
b4ba50dd833d8b94043635663f2ee1ad0cb54b35 23-Apr-2013 Mathias Agopian <mathias@google.com> fix a typo in EGL loader

the code intended to filter out the software-renderer, but the
test as written was essentially a no-op.

the problem didn't happen most of the time because we had
updated egl.cfg to not even list the software renderer.

the test as written didn't generate a compile-time error
because String8 has a const char* cast operator; but the
end result was to compare pointers instead of the string
itself.

http://code.google.com/p/android/issues/detail?id=54606

Change-Id: I739dd1c838fbc24c5643a631fae19713a8ef1717
/frameworks/native/opengl/libs/EGL/Loader.cpp
39c24a20bbc697630d2b92c251b70c04d6f9d00c 05-Apr-2013 Mathias Agopian <mathias@google.com> fix local include paths

Change-Id: Icb921fa796ec08612dbb2feb7e7161bcb0cf4a99
/frameworks/native/opengl/libs/EGL/Loader.cpp
d75f84d6410da934d1b1760fdc0d05d4ba1e8f35 06-Jun-2012 Mathias Agopian <mathias@google.com> reduce PB size from 2MB to 512KB

this allows us to enable h/w acceleration on low-end
devices while keeping memory usage down.

Bug: 6557760
Change-Id: I8af2de3038dc2579360b8b73aa452cb7a0e506a9
/frameworks/native/opengl/libs/EGL/Loader.cpp
7773c435bc5da8217433e1b242d3a6712a17b5f7 14-Feb-2012 Mathias Agopian <mathias@google.com> EGLConfig is now not remaped to an internal EGLConfig

this is possible now that we support only a single
EGL implementation. this allows a large code simplification.

Change-Id: I7a6b9db4c5d60f4407c6061e7a68729af63d5242
/frameworks/native/opengl/libs/EGL/Loader.cpp
ada798b7ca7cabc255aa159964b64975e7fdb2df 14-Feb-2012 Mathias Agopian <mathias@google.com> remove multiplexing of multiple EGL implementation

from now on, the system can only have one EGL
implementation. this means the software and h/w renderer
cannot be used at the same time on a device. Of course, the
h/w renderer is always prefered; in its absence we
default to the software renderer.

Change-Id: Ib579f58055dd0ce4c4a99144131efa11c16ca3d3
/frameworks/native/opengl/libs/EGL/Loader.cpp
48d438d05f14c2f4bd83ae89f520368cd49122df 29-Jan-2012 Mathias Agopian <mathias@google.com> add support for GL_EXT_debug_marker

This extension is always added to the GL_EXTENSIONS
extension string for the current GL context, regardless
of if it's supported by the h/w driver.

The extension itself will be handled by GLES_trace (eventually),
when GLES_trace is not enabled, it'll result to a no-op.

If the h/w implementation has this extension, we'll call that version
instead of our dummy version.

Change-Id: Ie5dd3387c4d45cd5ed5f03b73bda6045620a96bc
/frameworks/native/opengl/libs/EGL/Loader.cpp
e6f43ddce78d6846af12550ff9193c5c6fe5844b 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/native/opengl/libs/EGL/Loader.cpp
9d4536835248525f32f1504a3d28d5bbfa0a2910 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
/frameworks/native/opengl/libs/EGL/Loader.cpp
0469dd6d55fa331bfd7de9431da98b6340d82271 01-Dec-2011 Siva Velusamy <vsiva@google.com> glestrace: Framework for GLES tracing library

This patch provides a framework for tracing GLES 1.0 and 2.0
functions. It is missing a lot of features, but here are the
things it accomplishes:

- Stop building the glesv2dbg library, and build the
glestrace library instead.
- Replace the hooks for glesv2dbg with the ones for glestrace.
- Add the basics for the trace library. Currently, this
traces all GL functions, but not all required data is
sent for all the functions. As a result, it will not
be possible to reconstruct the entire GL state on the
host side.

The files gltrace.pb.* and gltrace_api.* are both generated
using the tools/genapi.py script.

Change-Id: Id60a468f7278657f008bc6ea1df01f9bdfecfdd3
/frameworks/native/opengl/libs/EGL/Loader.cpp
80b30c24ffc0f67b87d7a6b29f616d1c521d40ae 26-Aug-2011 David 'Digit' Turner <digit@android.com> opengl: EGL: special case for GLES emulation

This patch modifies the library loaded in libEGL.so to
handle the case of GLES emulation as follows:

- if we detect that we run inside the emulator, check the
GPU emulation status through ro.kernel.qemu.gles, which
will be set to 1 if supported, or 0 otherwise.

When trying to run on an older version of the emulator,
the kernel parameter will not be defined at all.

- if GPU emulation is supported, use egl.cfg as usual.
It will contain a line like "0 0 emulation" that will
load libEGL_android.so appropriately.

- nothing is changed if we don't run inside the emulator.

NOTE: Ideally, we would modify libEGL_emulation.so to
redirect all calls to libEGL_android.so in this case.

However, this turns out to be extremely tedious to implement
(too many functions with different signatures).

As such, it is much simpler to make the check before
loading the library.

Change-Id: I9930bc168d9013cc8700feedc57b979384467c37
/frameworks/native/opengl/libs/EGL/Loader.cpp
1cadb25da1ed875bdd078270e642966724a0c39a 24-May-2011 Mathias Agopian <mathias@google.com> fix x86 build

Change-Id: I03cfbfeaeb8b13842248856b14b4a23711036e10
/frameworks/native/opengl/libs/EGL/Loader.cpp
0ad71a97c6061e3b12d2308bd43e02dfeeb63db4 12-May-2011 Mathias Agopian <mathias@google.com> fix (Again) adding OES postfix when looking for gl functions

Change-Id: Ib14723ed5355fdc423226ec20a32e26fe7dd68fe
/frameworks/native/opengl/libs/EGL/Loader.cpp
e647f3c76c5d401d5b1cc0d8a08b314bf467113d 28-Jan-2011 Jeff Boody <jboody@quicinc.com> add OES postfix without truncating function

Change-Id: Id47304cf38914190cec58d703801f456ab916f63
/frameworks/native/opengl/libs/EGL/Loader.cpp
65948aa0466e3e833c5a4e4feec78c787d8769a7 11-Mar-2011 David Li <davidxli@google.com> GLES2Debugger: Added DbgContext and vertex data capturing.

Send VBO related commands to client, which tracks the state.
Maintain index buffer content and vertex attrib pointer/buffer state on server.
During glDrawArrays/Elements, send user memory data to client.

Change-Id: Ia920e90479329b301ae4b5735e833eeb20293c94
Signed-off-by: David Li <davidxli@google.com>
/frameworks/native/opengl/libs/EGL/Loader.cpp
2f5a6557ef6a7b9fd33077cfd8a037904d41e3bd 02-Mar-2011 David Li <davidxli@google.com> Initial commit of GLESv2 debugger server

Use debug.egl.debug_proc property to match process cmdline.
Binds to TCP:5039 and waits for client connection.
Sends function call parameters, textures and shaders using Protobuf.
Java Eclipse client plug-in is next.

Change-Id: I183b755263663f87e86dde1ad12f527d0445fd57
Signed-off-by: David Li <davidxli@google.com>
/frameworks/native/opengl/libs/EGL/Loader.cpp
2b9e4f6a2490864ead44e88a68da78be5cb3da22 20-Sep-2010 Brian Swetland <swetland@google.com> support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl

Change-Id: Idd9ca85ce3ba6c92234375071b53e5365e689062
/frameworks/native/opengl/libs/EGL/Loader.cpp
618fa10949c42eb83fa5fe105fe542bcff833dda 14-Oct-2009 Mathias Agopian <mathias@google.com> fix [2187212] add support for GLESv2 dispatch based on TLS

Instead of using a different function pointer table for ES 1.x and ES 2.x,
we use a single one that is the union (sort|uniq) of both tables. Two
instances of this table are initialized with pointers to GL ES 1.x and GL ES 2.x
entry-points.
When a context is created, we store its version number and when it is bound to a
thread we set the approruiate table based on the stored version.

This introduce no penalty while dispatching gl calls to the right API version.

[Pending Dr No approval for MR1]
/frameworks/native/opengl/libs/EGL/Loader.cpp
8c17384a5edd027376926b857af1fb170dbe9b43 21-Sep-2009 Mathias Agopian <mathias@google.com> log an error when loading an existing GL driver fails
/frameworks/native/opengl/libs/EGL/Loader.cpp
baca89c06a40c6c19ae2294fb4263d893126320c 21-Aug-2009 Mathias Agopian <mathias@google.com> fix a bug in ComponentSizeChooser where it could pick a software EGLConfig instead of a better h/w one.

We now just try to honor the stencil / depth buffer "at least", while doing a "shortest distance" on the colors.
/frameworks/native/opengl/libs/EGL/Loader.cpp
574c16f9f89ab18c7b54e9b262ef3d5359a2a709 29-Jul-2009 Mathias Agopian <mathias@google.com> GLESv2 couldn't be loaded due to wrong path specification
/frameworks/native/opengl/libs/EGL/Loader.cpp
fc865658b455de3bfbac609de391aaa44bea0748 08-Jul-2009 Marco Nelissen <marcone@google.com> Make opengl loader use an absolute path.
/frameworks/native/opengl/libs/EGL/Loader.cpp
f909cb6c69aa3ac8ffb6a2b9cd565b4b1e8b99c0 04-Jun-2009 Mathias Agopian <mathias@google.com> remove some spurious debuging LOGD
/frameworks/native/opengl/libs/EGL/Loader.cpp
acdebe352dc7dadc1122a87d45137fd2441b329a 04-Jun-2009 Mathias Agopian <mathias@google.com> fix/clean these Android.mk following dbort and joeo's comments
/frameworks/native/opengl/libs/EGL/Loader.cpp
de58697644a52a614ad9498aa087e95d4a223673 29-May-2009 Mathias Agopian <mathias@google.com> 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
/frameworks/native/opengl/libs/EGL/Loader.cpp