• Home
  • History
  • Annotate
  • only in /frameworks/native/opengl/libs/GLES2/
History log of /frameworks/native/opengl/libs/GLES2/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5f1af0457a8a6c2922a0d5e55cb6c248ec539f7f 10-Mar-2017 Mathias Agopian <mathias@google.com> get rid of the dependency on utils/CallStack.h

this makes it more explicit that we depend on
libbacktrace (and therefore libbase, libunwind).

this also completely get rid of our direct
dependency on libutils

Test: compiled
Bug: treble
Change-Id: Ib7b9d6be4f08cef401afe0d3d347e0250924a94f
l2.cpp
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
l2.cpp
880e74ef01fea3def5a5c9b53784bba55e6f7ec0 28-Mar-2016 Stephen Hines <srhines@google.com> Merge "Switch GLES wrappers over to using Clang (and fix inline assembly)."
am: e9aeab8

* commit 'e9aeab858e950fa33062ebabe43ddeb00c08d2f4':
Switch GLES wrappers over to using Clang (and fix inline assembly).
3e8fce48a6c768036c11290b93116665e8e8bdda 23-Mar-2016 Stephen Hines <srhines@google.com> Switch GLES wrappers over to using Clang (and fix inline assembly).

Bug: http://b/18003438

The GLES wrapper implementations make direct calls to their underlying
function without specifying that they are retaining the original
argument register(s). This change makes the retention of these argument
registers more explicit, and then removes the LOCAL_CLANG override,
since Clang no longer optimizes the code into a bad state.

We also switch to "naked" functions, so that we control all stack layout
information. This prevents us from accidentally still corrupting
arguments on x86 (and for other functions with many parameters).

Change-Id: I37f2ef4a697373388950b41f0a292393c9fcbac7
l2.cpp
4690754ec38f77431431910ce878850e1c60ab79 27-Oct-2015 Pablo Ceballos <pceballos@google.com> opengl: Update headers and registry and regenerate *api.in

- Update the registry xml files and python scripts in glgen2. Took
r32166 from:
https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/

- Update the GLES headers (and add gl32.h). Took r32166 from:
https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api/

- Include gl32.h in libs/hooks.h

- Update glgen2/glgen.py to properly handle glPathGlyphIndexRangeNV
which uses an explicit array parameter (and is the only GL extension
that does this). This modification also fixes a bunch of whitespace
issues in the *.in files.

- Get rid of the remaining bits of glTrace code in glgen2/glgen.py

- Regenerate the *.in files with glgen2

- The official glext.h hasn't been updated and differs from the
registry in the second to last argument to glMultiDrawElementsEXT.
This file was previously modified to match the registry and this
modification has been carried forward in this commit.

- getProcAddress.cpp was failing to compile for ARM because the
inline assembly for loading the function pointer now exceeds the
limit of 4095 for an immediate offset to the ldr instruction on ARM.
Modify it to instead load the offset into a register and add it with
an add instruction before the ldr instruction.

- Khronos has added #ifdef GL_GLEXT_PROTOTYPES guards to the function
prototypes in gl2/3.h. In order to keep existing code compiling add
#define GL_GLEXT_PROTOTYPES to include/KHR/khrplatform.h for now.
This should be fixed upstream and when it is this can be removed.

Change-Id: I952ace43879557d7c363810b83d65159ad2ad1e3
l2_api.in
l2ext_api.in
edfe72ed6738d3798c5384b7aec8ab73af549d79 22-May-2015 Alistair Strachan <alistair.strachan@imgtec.com> Fix EGL shim extension injection for GL ES 3 drivers.

The Android EGL shim injects GL_EXT_debug_marker into the ES driver
EXTENSIONS string for the OpenGL ES 1.x and 2.0/3.0/3.1 drivers if
the extension is not already provided. This feature is used by
GLES_trace.

In Open GL ES 3.0 it became possible to query an indexed version of
the EXTENSIONS string via GetStringi(). NUM_EXTENSIONS Gets were
also added to the specification (taken from Open GL).

If the shim does not have to inject the extension, then there is no
problem, as glGetString() and glGetStringi() / NUM_EXTENSIONS will
be consistent. However, if the Android EGL shim injects the
extension, NUM_EXTENSIONS and GetStringi() will report one less
extension than is really available.

Consistency between these methods is tested by the dEQP framework
with the dEQP-GLES3.functional.state_query.string.extensions test.
If the driver does not provide GL_EXT_debug_marker, this test
fails.

This change wraps all of the affected entry points so that the
wrapped driver extensions are never visible directly to dEQP,
eliminating the inconsistency.
l2.cpp
l2_api.in
ecacc3f164f2bf2c8c4ff5a20496511249d2cd4b 03-Feb-2015 Duane Sand <duane.sand@imgtec.com> [MIPS] Fix mips32r1 build

Fix regression from 6701fbe5f0d799c5245b0cdf3a69ecdcbfd9fb08 .
The rdhwr instruction is unsupported by mips32r1 cpus, but is
supported via kernel emulation on those cpus.

Change-Id: Ieb3343fff0f0da54003044f451c90e1c761208eb
l2.cpp
5f5f65183c9a77bd4b5dc63b5767af69ac938b39 26-Dec-2014 Nikola Veljkovic <Nikola.Veljkovic@imgtec.com> Use register numbers instead of register names

Avoid ambiguity by using register numbers. Register names are
interpreted depending on the ABI. Fixes the issue with mips64 gcc,
where registers t0-t4 are translated into $8-$11 (o32 ABI) instead
of $12-$15 (o64 ABI).

Also, use t9 ($25) for storing function address
(in getProcAddress.cpp).

Change-Id: I12ef5cd98bf14dab3c01f2756889cc02856c1cd8
l2.cpp
6701fbe5f0d799c5245b0cdf3a69ecdcbfd9fb08 26-Nov-2014 Duane Sand <duane.sand@imgtec.com> [MIPS] Further opengl support for mips64 and mipsr6

Combines 4 patches by Dragoslav and Douglas:

Use t9 to hold the address of the called function.
Add support for gl binding.
Fix inline assembly code to be R6 compatible.
Fix some more inline assembly code to be R6 compatible.

Change-Id: I0b899813790b2ba4ca538bb21692014cc1933f66
l2.cpp
701048cbe8d35fcd7e00c875e128fae022b27607 08-Aug-2014 Michal Wajdeczko <michal.wajdeczko@intel.com> EGL: make x86/64 wrappers resistant to -fno-omit-frame-pointer flag

Wrapper functions were broken on builds that forced -fno-omit-frame-pointer flag.

Change-Id: I5a80f9587fb3db821b4156af56acda59a0b4579b
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
l2.cpp
83142a12fbc1249c53551765e3d99b4471b58f19 06-Aug-2014 Jesse Hall <jessehall@google.com> am e2e17e5b: Merge "GlES2: Add NULL check"

* commit 'e2e17e5b238ccd214c72ec1a1864cf391425f09f':
GlES2: Add NULL check
0627071cc983aadb8d7447fe222b05d15c7c25be 05-Nov-2013 Anshuman Dani <adani@codeaurora.org> GlES2: Add NULL check

Check for NULL before calling thread specific glGetString.

CRs-fixed: 569609

Change-Id: Ifee8257152ba7ca7a05df5d7b113171b71d16c82
l2.cpp
0d7271527fa48c26b657d689faffbc94c93e5b3c 07-Jun-2014 Jesse Hall <jessehall@google.com> am 17cbadf0: am 6fa169fa: Merge "Add aarch64 EGL/GLES trampolines"

* commit '17cbadf0f598b0d02179262ad5b6b270850ccb94':
Add aarch64 EGL/GLES trampolines
30a41aa1ccc47de41642308a243fa5df2bfeec06 31-May-2014 Jesse Hall <jessehall@google.com> Add aarch64 EGL/GLES trampolines

Change-Id: Ia90e18d26ff3bdb7e643aff8d77cbaddd2ac2a03
l2.cpp
c2774f9b7341980c626c52a70e4fdf64d1b426e8 28-May-2014 Jesse Hall <jessehall@google.com> am 92374318: am 618c78c0: am dc273621: Merge "EGL: add x86/64 assembly code for EGL/GLES wrappers"

* commit '92374318b82945f3d03461f3d0c659adb8409fc5':
EGL: add x86/64 assembly code for EGL/GLES wrappers
c80aafa61d619087a879dc1095ddf1ca2a5e69fb 26-May-2014 mwajdecz <michal.wajdeczko@intel.com> EGL: add x86/64 assembly code for EGL/GLES wrappers

There was no explicit support for x86/64 architecture in EGL/GLES wrappers.
This resulted either in failures or sub-optimal implementation of the wrapper functions.

Change-Id: I20d99d7372fbf642ee4b94a05c8cb971cba29988
Signed-off-by: Wajdeczko, Michal <michal.wajdeczko@intel.com>
l2.cpp
fca1b54031a1ba2a3c82bbbbe71716cd7e6a61d7 18-May-2014 Jesse Hall <jessehall@google.com> opengl: Regenerate code with ES 3.1 and new extensions

Enable ES 3.1 generation in glgen.py, and regenerate everything to add
support for that as well as these new extensions in the registry:
- EXT_copy_image
- EXT_draw_buffers_indexed
- EXT_geometry_shader
- EXT_gpu_shader5
- EXT_primitive_bounding_box
- EXT_shader_implicit_conversions
- EXT_shader_io_blocks
- EXT_tessellation_shader
- EXT_texture_border_clamp
- EXT_texture_buffer
- EXT_texture_cube_map_array
- EXT_texture_view

Bug: 15028495
Change-Id: I3f45a7ef5367c70e54ce6b36a8c030ae11033434
l2.cpp
l2_api.in
l2ext_api.in
3703f7f014846b8bf83e08a8bf25450dd0dcd7af 14-May-2014 Jesse Hall <jessehall@google.com> opengl: Update GLES headers and generate *.in from registry XML

Import GLES headers from Khronos SVN r26322:
https://cvs.khronos.org/svn/repos/registry/trunk/public/gles/api

There are many non-functional whitespace and parameter name changes
included here. These were introduced upstream when converting from the
old .spec registry to the new XML registry.

There are also some new extensions added. Unfortunately there isn't a
version of the XML that matches the headers the previous versions of
the *.in files were generated from, so I can't separate out the
non-functional changes from the new extensions (other than temporarily
hacking them out of the XML). See below for a list.

Finally, I had to hack the official glext.h. Khronos hasn't updated
the official GLES1 headers since switching to the XML registry, and
there is one critical difference: a "const void**" parameter in the
official header is "const void* const*" in the registry. I changed the
header to avoid build errors with code generated from the registry.

Dependencies on the *.in files required manually updating some
GLES_trace/ files as well:

- gltrace_api.{h,cpp} must be manually re-generated using
tools/genapi.py.
- New GL prototypes must be manually added to gltrace.proto.
- gltrace.pb.{h,cpp} must be regenerated using aprotoc (see dev.make)

New GLES extensions in libs/GLES_CM/glext_api.in:
- GL_OES_byte_coordinates
- GL_EXT_map_buffer_range
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync

New GLES2 extensions in libs/GLES2/gl2ext_api.in:
- GL_KHR_blend_equation_advanced
- GL_KHR_debug
- GL_OES_sample_shading
- GL_OES_texture_storage_multisample_2d_array
- GL_EXT_disjoint_timer_query
- GL_EXT_draw_buffers
- GL_EXT_draw_instanced
- GL_EXT_instanced_arrays
- GL_EXT_map_buffer_range
- GL_EXT_map_buffer_range
- GL_EXT_multiview_draw_buffers
- GL_EXT_separate_shader_objects
- GL_ANGLE_instanced_arrays
- GL_ANGLE_translated_shader_source
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync
- GL_INTEL_performance_query
- GL_NV_blend_equation_advanced
- GL_NV_copy_buffer
- GL_NV_draw_instanced
- GL_NV_framebuffer_blit
- GL_NV_framebuffer_multisample
- GL_NV_instanced_arrays
- GL_NV_non_square_matrices

Bug: 15028495
Change-Id: I902517c23354e14f9c63b1584db286d682315bb5
l2_api.in
l2ext_api.in
0b96e6c44b3c4549bd947fd2947540f4b62a038e 20-May-2014 Jesse Hall <jessehall@google.com> Revert "opengl: Generate *.in from registry XML"

This reverts commit 4a73962c694bfe57eb2bea40ed6fb626be7006aa.

Change-Id: I1fa5cbe4d0b86f6df69d616157b3fec68d706d7a
l2_api.in
l2ext_api.in
4a73962c694bfe57eb2bea40ed6fb626be7006aa 14-May-2014 Jesse Hall <jessehall@google.com> opengl: Generate *.in from registry XML

There are many non-functional whitespace and parameter name changes
included here. These were introduced upstream when converting from the
old .spec registry to the new XML registry.

There are also some new extensions added. Unfortunately there isn't a
version of the XML that matches the headers the previous versions of
the *.in files were generated from, so I can't separate out the
non-functional changes from the new extensions (other than temporarily
hacking them out of the XML). See below.

Finally, I had to hack the official glext.h. Khronos hasn't updated
the official GLES1 headers since switching to the XML registry, and
there is one critical difference: a "const void**" parameter in the
official header is "const void* const*" in the registry. I changed the
header to avoid build errors with code generated from the registry.

Dependencies on the *.in files required manually updating some
GLES_trace/ files as well:

- gltrace_api.{h,cpp} must be manually re-generated using
tools/genapi.py.
- New GL prototypes must be manually added to gltrace.proto.
- gltrace.pb.{h,cpp} must be regenerated using aprotoc (see dev.make)

New GLES extensions in libs/GLES_CM/glext_api.in:
- GL_OES_byte_coordinates
- GL_EXT_map_buffer_range
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync

New GLES2 extensions in libs/GLES2/gl2ext_api.in:
- GL_KHR_blend_equation_advanced
- GL_KHR_debug
- GL_OES_sample_shading
- GL_OES_texture_storage_multisample_2d_array
- GL_EXT_disjoint_timer_query
- GL_EXT_draw_buffers
- GL_EXT_draw_instanced
- GL_EXT_instanced_arrays
- GL_EXT_map_buffer_range
- GL_EXT_map_buffer_range
- GL_EXT_multiview_draw_buffers
- GL_EXT_separate_shader_objects
- GL_ANGLE_instanced_arrays
- GL_ANGLE_translated_shader_source
- GL_APPLE_copy_texture_levels
- GL_APPLE_sync
- GL_INTEL_performance_query
- GL_NV_blend_equation_advanced
- GL_NV_copy_buffer
- GL_NV_draw_instanced
- GL_NV_framebuffer_blit
- GL_NV_framebuffer_multisample
- GL_NV_instanced_arrays
- GL_NV_non_square_matrices

Bug: 15028495
Change-Id: Ib3fa700a146adf7f1487a93e459b1e6df0dcdc42
l2_api.in
l2ext_api.in
bbbddb83bbd3ca2032294b55c91b1023acc927ac 14-May-2014 Jesse Hall <jessehall@google.com> Disable warnings when generating GL wrappers

Bug: 15028495
Change-Id: Ic0c974e868d05632a06748c90cedbdd409ce2aa8
l2.cpp
4c0596f4cc7d3a0bbbe5862cb38585a58ef4d0a3 14-May-2014 Jesse Hall <jessehall@google.com> Rationalize GLES2/3 .in files.

We weren't using gl2_api.in, since gl3_api.in was a superset. And
gl3ext_api.in was empty, and Khronos has decided to keep it that way
(any GLES2/3/... extensions will be in gl2ext.h).

Since libGLES2.so will have all future backwards-compatible GLES APIs,
it makes sense to just use gl2_api.in and gl2ext_api.in to build its
contents. This changes renames gl3_api.in to gl2_api.in and updates
uses of it, and removes gl3ext_api.in and references.

Bug: 15028495
Change-Id: I0745eda27ec91ee625f03e957e4fdb22035dd781
l2.cpp
l2_api.in
l3_api.in
l3ext_api.in
e0ea89ceef3b0fc5f3efc5d709a8156f0628c6c8 15-Jun-2013 Mathias Agopian <mathias@google.com> improve GLES jumptables

in the common case this saves one instructions per jump
(which will help with the i-cache).

this change also gets rid of the "use slow tls" option,
which was useless. So at least now architectures that don't have
assembly bindings will perform much better.

Change-Id: I31be6c06ad2136b50ef3a1ac14682d7812ad40d2
l2.cpp
39c24a20bbc697630d2b92c251b70c04d6f9d00c 05-Apr-2013 Mathias Agopian <mathias@google.com> fix local include paths

Change-Id: Icb921fa796ec08612dbb2feb7e7161bcb0cf4a99
l2.cpp
441f69463ec595ad42fdaad1bbfbb0f7a932437c 31-Mar-2013 Jesse Hall <jessehall@google.com> Fix MIPS assembly variable names to not conflict with GL API parameter names

Change-Id: I8e93fb55018de53a596cb176d48dbfdf1fd396e4
l2.cpp
ea116f1acb911963751d72515714803aeae95d59 29-Mar-2013 Keun-young Park <keunyoung@google.com> am 111d920b: am d3b2c029: Merge "[MIPS] Add MIPS architecture support to opengl framework"

* commit '111d920bb588669006bdd8699e786d6305f14c36':
[MIPS] Add MIPS architecture support to opengl framework
46b4253b760916ea8f64c8c32a51ae85ec3b050e 27-Mar-2013 Duane Sand <duane.sand@imgtec.com> [MIPS] Add MIPS architecture support to opengl framework

Change-Id: Id7704d35bed14d96a85dc1f29db0566cd03872b5
l2.cpp
f5c7cb316cc8c8e2d6ae93a659ac771420cbfa2b 24-Feb-2013 Jesse Hall <jessehall@google.com> Merge changes Ic344ef63,If9bb02be,Ic8f94634

* changes:
Symlink /system/lib/libGLESv3.so -> libGLESv2.so
Add ES3 support to libGLESv2 and tracing tools
Import OpenGL ES 3.0 headers from Khronos SVN
751402c866968204af050f95d14a38cb3c3fa134 23-Feb-2013 Jesse Hall <jessehall@google.com> Merge changes I45836219,I70a4075e

* changes:
Regenerate API/trace files for constness change
Import constness fix from gl3.h into gl2.h.
288870ebc3da8121b7a237a53280bd8b931b7a2f 14-Feb-2013 Elliott Hughes <enh@google.com> Simplify OpenGL TLS access on ARM.

bionic now assumes the TLS register is available, so OpenGL can too.

Change-Id: If2b56a4c08de9f887759b78f70022026a181dc47
l2.cpp
4774338bd0ad1ebe42c311fd0c72f13786b5c800 08-Feb-2013 Jesse Hall <jessehall@google.com> Add ES3 support to libGLESv2 and tracing tools

Since ES3 is backwards compatible with ES2, a new wrapper isn't
necessary, and the Khronos implementation guidelines recommend
supporting both versions with the same library.

Change-Id: If9bb02be60ce01cc5fe25d1f40c4e7f37244ebf6
l2.cpp
l3_api.in
l3ext_api.in
7c95911157999d30fbadf8f964155396d17c49da 21-Jan-2013 Alistair Strachan <alistair.strachan@imgtec.com> Import constness fix from gl3.h into gl2.h.

This change has been made in Khronos SVN for GLES2 already, however it
is mildly controversial and discussion is on-going.

This change is necessary for Android because otherwise applications
cannot include both GLES2/gl2.h and GLES3/gl3.h as the glShaderSource()
prototype mismatches. Native programs may include framework headers
(which now include GLES3 headers only) but already have included GLES2
headers, creating an incompatibility.

Change-Id: I70a4075e079ee063e76cef5a227abb0ae70aebb4
l2_api.in
5e530e02bc3073a2e2469df3c333ae14f1b37433 07-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> am a151a19d: Merge "Fix return type of glGetAttribLocation and glGetUniformLocation"

* commit 'a151a19db2fa07295837027fb5d84c02401cc78d':
Fix return type of glGetAttribLocation and glGetUniformLocation
300ad09822db1013d9f28c4bca3680f865533ab6 06-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> Fix return type of glGetAttribLocation and glGetUniformLocation

from int to GLint.

See:
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml

Change-Id: I4a9f8e9e34b8c3cca239ae84bfe8f3cdfd94802a
l2_api.in
16928bfeca8858a0acae6942fc68c14a040b92ff 19-Oct-2012 Romain Guy <romainguy@google.com> Add runtime debugging capabilities to OpenGL

The shell property debug.egl.trace can now be set to:

0
disables tracing
1
logs all GL calls
error
checks glGetError after every GL call, logs a stack trace on error
systrace
logs each GL call to systrace

Change-Id: I34a2a2d4e19c373fd9eaa1b0cd93e67c87378996
l2.cpp
8d5d2019805df1f27cbec07eeca47dd5ab453dad 08-Oct-2012 Chet Haase <chet@google.com> Revert "Add GL Error logs (temporary)"

This reverts commit 2da2c15068327a4fdad411f638905abcb2209d8a.
l2.cpp
2da2c15068327a4fdad411f638905abcb2209d8a 05-Oct-2012 Chet Haase <chet@google.com> Add GL Error logs (temporary)

Adding logs to tell which specific methods throw OpenGL errors.

Change-Id: I1d73c7566ed1ea6610392020411762c6255a0ede
l2.cpp
e8b0fac720b249639fa1cf2f3a06f7d88d207b76 28-Sep-2012 Chet Haase <chet@google.com> Re-enable FAST_TLS in gl2 code

Temporarily changed USE_FAST_TLS_KEY ifdef during debugging. Changing it
back now.

Change-Id: I7c2fcf7265b3d545e31ff7683bd7614100fad3e5
l2.cpp
f12fe43e8c280923fde743f22cea238e48c929f1 28-Sep-2012 Romain Guy <romainguy@google.com> New compile-time flags to make debugging easier for us poor souls
Bug #7195815

Change-Id: I23e7ac991891b9586cb8ed20b1305c8b1b3e2b43
l2.cpp
7e5099a9ece6a3ed7edb1b5bf60a43422428326c 02-Aug-2012 Jesse Hall <jessehall@google.com> Add compile-time option to systrace GL-ES calls

Change-Id: Ibec103bbf159626ad9745d0e071192ad424bc0e9
l2.cpp
7c0441ac271f4e00a2d63eb3048c037ebffa90b9 15-Feb-2012 Mathias Agopian <mathias@google.com> Don't wrap EGLImageKHR and EGLSyncKHR anymore

this simplify our EGL wrapper implementation a lot.
This wrapping is no longer needed now that we can only
support a single underlaying EGL implementation.

Change-Id: I8213df7ac69daac447f1fe6e37044b78aac4e9a9
l2.cpp
l2ext_api.in
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
l2.cpp
l2_api.in
31272606149d83437a097800074b21e9e6a205ad 28-Jan-2012 Mathias Agopian <mathias@google.com> update GLES headers and add support for corresponding new extensions.

Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
l2ext_api.in
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
l2.cpp
30faafb7d3544ab013958fbc920c1bc4d3f05472 24-Sep-2010 Mathias Agopian <mathias@google.com> am 4eb1ad5e: am 524a6d8e: Merge "better fix for [3028370] GL get error should return a valid error if no context is bound." into gingerbread

Merge commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e'

* commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e':
better fix for [3028370] GL get error should return a valid error if no context is bound.
6f0871222f04dfeb479d37fe9753d491e3150e42 24-Sep-2010 Mathias Agopian <mathias@google.com> better fix for [3028370] GL get error should return a valid error if no context is bound.

it turns out that we cannot return INVALID_OPERATION from glGetError() because the
GL spec says that it must be called in a loop until it returns GL_NO_ERROR.

now, we always return 0 from GL functions called from a thread with no
context bound. This means that glGetError() will return NO_ERROR in this case,
which is better than returning a random value (which could trap the app in a loop).

if this happens in the main thread of a process, we LOG an error message once.

Change-Id: Id59620e675a890286ef62a257c02b06e0fdcaf69
l2.cpp
761eaed2ffc5022606de252997630dbcd9e805d9 10-Aug-2010 Romain Guy <romainguy@google.com> Fix tons of bugs and add new text rendering support.

Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
l2.cpp
11cca925b23a5226d0582e9da52a1627eaa4a9b3 10-Jun-2010 Mathias Agopian <mathias@google.com> update GL ES stub libraries with the new GL ES headers

Change-Id: I83be94049ddfe3fd7f5bee71a21172ade1498dd5
l2_api.in
l2ext_api.in
8fb47ec10e7f4dad630fcac4ed47d243d4f33375 30-Mar-2010 Mathias Agopian <mathias@google.com> Fix Android's glEGLImageTargetRenderbufferOES() wrapper

glEGLImageTargetRenderbufferOES() pass the wrapped EGLImage
to the implementation, rather than the unwrapped one.

Change-Id: I149f9ed73e6ab9089110600e1db4311ba7a8c83a
l2.cpp
673d2dbaae647abc58b08de873fd364f0b2fa3f5 14-Oct-2009 Mathias Agopian <mathias@google.com> Use the TLS register if HAVE_ARM_TLS_REGISTER is defined

this will be needed for SMP, but would improve dispatching GL calls a bit
on armv6 and above.
l2.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]
l2.cpp
l2_entries.in
l2ext_entries.in
b1a39d67be99fe6c4545b25e10ac82a5dd1df634 28-May-2009 Mathias Agopian <mathias@google.com> Added most of the support needed for GLES 2.x
l2.cpp
l2_api.in
l2_entries.in
l2ext_api.in
l2ext_entries.in