History log of /frameworks/native/opengl/libs/EGL/getProcAddress.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c3685dfb03b8fbcde865ff6c485b77d7481acca1 17-May-2016 Mike Stroyan <stroyan@google.com> Preserve parameters to getProcAddress functions

The contents of register r0 parameter were overwritten after commit
4690754. That used an "r" register to hold larger offsets, but doing
that overwrote r0 before it was passed on to the next call.
Applying the offset as two parts allows the total largest offset of
3588+1020 to be reached without using a register to hold that value.
Use an "addne" instruction to add the _api offset of up to 1020 within
the extensions array.
Use a "ldrne" offset to add the offset to the start of the extensions
array.

Bug: 26541117
Change-Id: Ie19e4aa584c9fa6fdec4de18e858777ac59d8dbd
/frameworks/native/opengl/libs/EGL/getProcAddress.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
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
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
/frameworks/native/opengl/libs/EGL/getProcAddress.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
/frameworks/native/opengl/libs/EGL/getProcAddress.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
/frameworks/native/opengl/libs/EGL/getProcAddress.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>
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
30a41aa1ccc47de41642308a243fa5df2bfeec06 31-May-2014 Jesse Hall <jessehall@google.com> Add aarch64 EGL/GLES trampolines

Change-Id: Ia90e18d26ff3bdb7e643aff8d77cbaddd2ac2a03
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
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>
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
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
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
39c24a20bbc697630d2b92c251b70c04d6f9d00c 05-Apr-2013 Mathias Agopian <mathias@google.com> fix local include paths

Change-Id: Icb921fa796ec08612dbb2feb7e7161bcb0cf4a99
/frameworks/native/opengl/libs/EGL/getProcAddress.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
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
46b4253b760916ea8f64c8c32a51ae85ec3b050e 27-Mar-2013 Duane Sand <duane.sand@imgtec.com> [MIPS] Add MIPS architecture support to opengl framework

Change-Id: Id7704d35bed14d96a85dc1f29db0566cd03872b5
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
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
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
a6d86e5ea748a7bcde4ff30b0b1f882dca36a8f3 31-Jan-2012 Mathias Agopian <mathias@google.com> add all needed GL extension wrappers

when increasing MAX_NUMBER_OF_GL_EXTENSIONS to 256
we also needed to create all the corresponding wrappers.

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

Change-Id: I03cfbfeaeb8b13842248856b14b4a23711036e10
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
7f781d155221c4067c93f85b4153c204423f49f2 10-Aug-2010 Mathias Agopian <mathias@google.com> improve a bit the implementation of eglGetProcAddress

Change-Id: Ie07f33ae2162830df1e4f3d3b5e00fcfb8c350d6
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp
24035338ed6329e4d85fb00cf99a91e2cdd55ba5 03-Aug-2010 Mathias Agopian <mathias@google.com> fix [2421247] implement eglGetProcAddress(), needed in the ndk

Change-Id: I5027a27b43c0dd449a404024087853ca05bb8e4e
/frameworks/native/opengl/libs/EGL/getProcAddress.cpp