summaryrefslogtreecommitdiffstats
path: root/opengl/libs
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't swallow eglCreateContext errorsJesse Hall2013-08-121-6/+0
| | | | | | | | | | If the implementation eglCreateContext failed, we called eglGetError(), so we could check that it set the EGL error properly. But since we'd already called this, when the app called eglGetError() it would get EGL_SUCCESS! Bug: 10181333 Change-Id: Ic45d3a8fcb8c4421e04844c6d2f52761790b5948
* make sure we have a context when creating the 1st surfaceMathias Agopian2013-08-081-0/+5
| | | | | | | also add an option to dump the stack trace when calling a GL function without a context. Change-Id: I57b72bb8c322ac4253c3077bf150621bd9863b69
* Add EGL_KHR_get_all_proc_addresses to extension stringJesse Hall2013-08-062-18/+26
| | | | | | | | | We've had the extended behavior since Android 4.3, but the extension hadn't been ratified by Khronos yet so we couldn't add it to the extension string. Bug: 9681677 Change-Id: I78842316a3ab7a3f66a0ac1a4742d837de664c4c
* Drop frames based on presentation timestampAndy McFadden2013-08-011-5/+0
| | | | | | | | | | | | | If there are two or more buffers pending that are ready for immediate presentation, drop all but the last one. Any code that didn't explicitly specify timestamps for buffers was using the default value (auto-generated "now"). As a result, surfaceflinger would drop frames whenever more than one buffer was queued. We now use zero as the auto-generated timestamp, and we don't set the timestamp in eglBeginFrame(). Change-Id: I187f42d33de227cd3411ff0dcd3b9ce1961457eb
* Make Flattenable not virtualMathias Agopian2013-07-301-4/+2
| | | | | | | | | | | | | | | | | Fallout from the Flattenable change, update all its uses. Additionnaly, fix/tighten size checks when (un)flatten()ing things. Removed the assumption by some flattenables (e.g.: Fence) that the size passed to them would be exact (it can and will be larger in some cases) The code in Parcel is a bit complicated so that we don't have to expose the full implementation (and also to keep the code smallish). Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
* EGL: fix eglTerminate blob cache behaviorJamie Gennis2013-07-301-6/+3
| | | | | Bug: 9610573 Change-Id: I258e7e0d82ab76fbacf0b9c25d4f92fca6df04ac
* am 082fc1ca: am ae961022: Merge "EGL: Fix error for eglCreateWindowSurface"Jesse Hall2013-07-171-1/+1
|\ | | | | | | | | * commit '082fc1cae6a0c283de3ad0d848e0757de3154d0b': EGL: Fix error for eglCreateWindowSurface
| * am ae961022: Merge "EGL: Fix error for eglCreateWindowSurface"Jesse Hall2013-07-171-1/+1
| |\ | | | | | | | | | | | | * commit 'ae9610220b5f509687b840532f95f3638ee0146b': EGL: Fix error for eglCreateWindowSurface
| | * EGL: Fix error for eglCreateWindowSurfaceJonathan Hamilton2013-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The EGL 1.4 spec section 3.5.1 states that EGL_BAD_ALLOC should be set if the supplied window already has an associated EGLSurface, not EGL_BAD_NATIVE_WINDOW as is currently set. Change-Id: If1598617f4e31904f2045560ae1cdf49d8a697dc
* | | resolved conflicts for merge of 5477d0e4 to masterJesse Hall2013-07-113-24/+55
|\ \ \ | |/ / | | | | | | Change-Id: I7ca75a44018a68bf3a7ac1de17a3ef568a48d2ac
| * | am c07b5206: Find non-extension GLES wrappers in eglGetProcAddressJesse Hall2013-07-093-1/+32
| |\ \ | | | | | | | | | | | | | | | | * commit 'c07b52060acd627c8510c1a9151e0753fce76330': Find non-extension GLES wrappers in eglGetProcAddress
| | * | Find non-extension GLES wrappers in eglGetProcAddressJesse Hall2013-07-043-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows apps to find OpenGL ES 3.0 functions using eglGetProcAddress() instead of dlopen/dlsym. Bug: 9681677 Change-Id: I7ce6e1636bc47d6b0bf20a4e46bd67235714d129
* | | | improve GLES jumptablesMathias Agopian2013-07-016-133/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | am db8c267e: am 3c0425cd: am 0ecf0b8d: Merge "Additional parameter ↵Jean-Baptiste Queru2013-06-251-6/+11
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | validation for EGL functions" * commit 'db8c267ec26997771eb718c29d3dacd4e738051b': Additional parameter validation for EGL functions
| * | | am 0ecf0b8d: Merge "Additional parameter validation for EGL functions"Jean-Baptiste Queru2013-06-251-6/+11
| |\ \ \ | | |/ / | |/| / | | |/ | | | * commit '0ecf0b8db74682222bf095a235e28edefff871a5': Additional parameter validation for EGL functions
| | * Merge "Additional parameter validation for EGL functions"Jean-Baptiste Queru2013-06-251-6/+11
| | |\
| | | * Additional parameter validation for EGL functionsMichael Chock2012-09-121-6/+11
| | | | | | | | | | | | | | | | Change-Id: I841d005647559799edbc2c4824c61ea5791cf893
* | | | free EGL resources associated to a thread when it terminatesMathias Agopian2013-05-304-20/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | destroyed but current-to-a-thread resources are only destroyed when they're made not-current; however, we were not destroying those when the thread itself terminated, causing these resources to be leaked forever. we now install a tls-key destructor that takes care of this by calling eglReleaseThread upon thread termination. Bug: 9209776 Change-Id: I88298a34e3a27488eb81eab76717715569c7d57c
* | | | Merge "change how the userspace GLES drivers are named"Mathias Agopian2013-05-022-63/+127
|\ \ \ \
| * | | | change how the userspace GLES drivers are namedMathias Agopian2013-04-262-63/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | am 8369c473: am f6d1c393: EGL: expose the EGL_KHR_create_context extensionJamie Gennis2013-04-291-0/+1
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / | | | | * commit '8369c4739a58367e9636c84facc272cf8ddcb070': EGL: expose the EGL_KHR_create_context extension
| * | | EGL: expose the EGL_KHR_create_context extensionJamie Gennis2013-04-251-0/+1
| | | | | | | | | | | | | | | | | | | | Bug: 8616866 Change-Id: Ic60f9f21397a1760c552b6f141d5177d1cbaf1f8
* | | | fix a typo in EGL loaderMathias Agopian2013-04-231-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | fix "traceGpuCompletion" debug featureMathias Agopian2013-04-161-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | eglCreateSyncKHR requires a call to glFlush which we were not doing. fixed by moving the code above eglSwapBuffers(), which both fixes the problem and gives us a slightly better idea of when the GPU is done drawing. Change-Id: Ic826ef1fe25a6247742c3d49d0cb69f4031e3593
* | | Add liblogYing Wang2013-04-092-4/+4
| | | | | | | | | | | | | | | Bug: 8580410 Change-Id: I2ca4fa00dde0b574df3619134836bcb9315bd506
* | | fix local include pathsMathias Agopian2013-04-0411-22/+20
| | | | | | | | | | | | Change-Id: Icb921fa796ec08612dbb2feb7e7161bcb0cf4a99
* | | Fix MIPS assembly variable names to not conflict with GL API parameter namesJesse Hall2013-03-303-22/+22
| | | | | | | | | | | | Change-Id: I8e93fb55018de53a596cb176d48dbfdf1fd396e4
* | | Merge "don't use compile-time configuration of libgui as much as possible" ↵Mathias Agopian2013-03-291-4/+19
|\ \ \ | | | | | | | | | | | | into jb-mr2-dev
| * | | don't use compile-time configuration of libgui as much as possibleMathias Agopian2013-03-291-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now detect at runtime which sync features to use, which allows us to remove a lot of the compile-time configuration options. There is still one option though, to disable KHR_fence_sync on some devices (which are more efficient without it). - added a backdoor to get the vendor's EGL strings the new logic is: - use always ANDROID_native_fence_sync if available - fallback to KHR_fence_sync if available and not disabled by the compile-time option - use KHR_wait_sync if available and either of the above is enabled Change-Id: I9c4b49d9ff1151faf902cc93bd53ea5f205aaabf
* | | | am 111d920b: am d3b2c029: Merge "[MIPS] Add MIPS architecture support to ↵Keun-young Park2013-03-284-1/+116
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | opengl framework" * commit '111d920bb588669006bdd8699e786d6305f14c36': [MIPS] Add MIPS architecture support to opengl framework
| * | [MIPS] Add MIPS architecture support to opengl frameworkDuane Sand2013-03-284-1/+116
| | | | | | | | | | | | Change-Id: Id7704d35bed14d96a85dc1f29db0566cd03872b5
* | | replace eglWaitSyncANDROID by eglWaitSyncKHRMathias Agopian2013-03-282-18/+34
| | | | | | | | | | | | Change-Id: I22f1b3588011c88389e249f738f1e6915cc97e72
* | | cleanup EGL extensions strings and entry-pointsMathias Agopian2013-03-283-40/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - move all the code related to EGL extensions in one place - add missing extension strings: EGL_KHR_lock_surface EGL_KHR_reusable_sync - add public extensions strings and entry-points EGL_ANDROID_wait_sync EGL_ANDROID_presentation_time - add missing entry-points for EGL_KHR_reusable_sync Change-Id: Ifd98966b549e8efd8ef5385eba0efde8c4cbc77b
* | | improved CallStack a bitMathias Agopian2013-03-212-6/+2
| | | | | | | | | | | | | | | | | | | | | - added a ctor that updates and dumps the stack immediately - added a "logtag" parameter to dump() Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
* | | Add eglPresentationTimeANDROIDAndy McFadden2013-03-051-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added EGL extension to set a timestamp on a surface. Also, fix JNI encoding of "long" in glgen. Bug 8191230 Change-Id: I38b7334bade3f8ff02bffe600bb74469ef22c164
* | | Merge changes Ic344ef63,If9bb02be,Ic8f94634Jesse Hall2013-02-2421-124/+6622
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | Symlink /system/lib/libGLESv3.so -> libGLESv2.soJesse Hall2013-02-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The platform has a unified GLES2/GLES3 wrapper in libGLESv2.so, which is what bundled binaries should link against. The NDK will have separate GLES2 and GLES3 libraries so that applications will get a link error if they accidentally use GLES3 entry points in a GLES2 application. This symlink allows GLES3 NDK apps to load using the unified wrapper. Change-Id: Ic344ef63c334047fccebb55b7cb2fb23a4c2d61b
| * | | Add ES3 support to libGLESv2 and tracing toolsJesse Hall2013-02-1220-124/+6608
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge changes I45836219,I70a4075eJesse Hall2013-02-235-5/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | * changes: Regenerate API/trace files for constness change Import constness fix from gl3.h into gl2.h.
| * | | Regenerate API/trace files for constness changeJesse Hall2013-02-114-4/+4
| | | | | | | | | | | | | | | | Change-Id: I45836219fc0e97607d83d458de9babb44f4c7534
| * | | Import constness fix from gl3.h into gl2.h.Alistair Strachan2013-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | am 45b0e435: Merge "Simplify OpenGL TLS access on ARM."Elliott Hughes2013-02-145-56/+3
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | # Via Elliott Hughes (1) and Gerrit Code Review (1) * commit '45b0e4350d3404bd194edc569e36ecca017c3d76': Simplify OpenGL TLS access on ARM.
| * | Simplify OpenGL TLS access on ARM.Elliott Hughes2013-02-135-56/+3
| | | | | | | | | | | | | | | | | | bionic now assumes the TLS register is available, so OpenGL can too. Change-Id: If2b56a4c08de9f887759b78f70022026a181dc47
* | | Force a specific locale for sortingJesse Hall2013-02-111-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Avoids irrelevant output differences based on the user's locale. The current output files were generated with a C or POSIX locale, and sort differently under en_US.UTF-8. Change-Id: I0dd85475e9ee2d58e7fa9fe2a4f86ad5c8142e00
* | | am 873ab60e: am 75b83e4d: Merge "Gfx-3d: fix GetProcAddress in egl extention"Jesse Hall2013-02-011-1/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | # By luliuhui # Via Android Git Automerger (1) and others * commit '873ab60e94811488caea1906eb98133329a3e28f': Gfx-3d: fix GetProcAddress in egl extention
| * | am 75b83e4d: Merge "Gfx-3d: fix GetProcAddress in egl extention"Jesse Hall2013-02-011-1/+4
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | # By luliuhui # Via Gerrit Code Review (1) and Shuo Gao (1) * commit '75b83e4dc7d8055a70e590f868f7307fdaf656a7': Gfx-3d: fix GetProcAddress in egl extention
| | * | Gfx-3d: fix GetProcAddress in egl extentionluliuhui2013-01-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch can fix issue when Proc address return NULL. Glbench10, egl-ext and conformance test need this patch to run pass. Change-Id: I275c7cb6f77cb334c3ee7fa23cd696bba1c5a458 Author: Liuhui Lu <liuhui.lu@intel.com> Signed-off-by: Shuo Gao <shuo.gao@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 52622
| * | | am c859084c: am a9a4cd48: gltrace: Make sure device is debuggable.Siva Velusamy2012-11-201-0/+6
| |\ \ \ | | |/ / | |/| | | | | | | | | | * commit 'c859084ca303ca1ab69bdc78f864d39c9c81ab0b': gltrace: Make sure device is debuggable.
| | * | gltrace: Make sure device is debuggable.Siva Velusamy2012-11-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit 6482fa4db0a7ac99cd3503d6bf170f80b26fb695) Change-Id: I205aabcab1932025c12e7ba3d1b3cf94684f6758
* | | | gltrace: Add support for tracing running applications.Siva Velusamy2012-12-205-47/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, to activate OpenGL tracing, an application has to be start with --opengl-trace option (or have a debug prop set). This CL adds support for tracing an application which may already be running. This is implemented as follows: - DDMS initiates a JDWP message to the VM indicating that opengl traces be enabled. - When that message is received, a flag is set that indicates that tracing should be enabled. - The trace flag is checked during every eglSwap() operation, and if it finds that tracing should be active and it isn't, then it starts the tracing component. Change-Id: I3347fe89fc06c7404d7aa9360f4b21e5bf36ebcb