summaryrefslogtreecommitdiffstats
path: root/opengl/libs/EGL
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-063-6/+6
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* gltrace: transport buffering and context managementSiva Velusamy2012-01-042-2/+8
| | | | | | | | | | | This patch adds two improvements: 1. Protobuf messages are buffered and sent in chunks. 2. Multiple EGL contexts are handled properly: Corresponding to each EGLContext, a GLTraceContext with a unique ID is created. On eglMakeCurrent, the appropriate GLTraceContext is set and is used while tracing subsequent GL Calls in that thread. Change-Id: I34076376d3e5af205c87c7396ea47659844abd6e
* Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-034-25/+25
| | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
* Merge "glestrace: Framework for GLES tracing library"Siva Velusamy2011-12-026-48/+32
|\
| * glestrace: Framework for GLES tracing librarySiva Velusamy2011-12-026-48/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | add a way to access the version string of the h/w implementation of EGLMathias Agopian2011-11-291-0/+8
|/ | | | | | | we use a hidden egl extension. the version string is printed in SF's dumpsys log. Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
* Merge "EGL: Use cache sizes defined in the BoardConfig" into ics-mr1Jamie Gennis2011-11-211-2/+10
|\
| * EGL: Use cache sizes defined in the BoardConfigJamie Gennis2011-11-211-2/+10
| | | | | | | | | | | | | | | | | | | | | | This change introduces two new BoardConfig variables to control the size limits of the EGL blob cache. MAX_EGL_CACHE_ENTRY_SIZE is the size limit for values inserted into the cache, and MAX_EGL_CACHE_SIZE is the size limit for all entries in the entire cache (including both keys and values). If either of these BoardConfig variables are not defined then a default size limit is used instead. Change-Id: I6703d93f966b6389c6499f23d841e42339f9c9d7
* | EGL: default to swap interval 1Jamie Gennis2011-11-211-0/+5
|/ | | | | | | This change explicitly sets swap interval 1 on the window when an EGLSurface is created to render to it. Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
* Merge "EGL: fix blob cache extension detection" into ics-mr1Jamie Gennis2011-11-171-1/+1
|\
| * EGL: fix blob cache extension detectionJamie Gennis2011-11-171-1/+1
| | | | | | | | | | Bug: 5474671 Change-Id: I6359063ccf23f076fc84c80b8a2f6731a65eef18
* | be a bit more defensive when parsing extension stringsMathias Agopian2011-11-161-9/+13
| | | | | | | | | | | | | | hopefully this will fix a crash in the emulator. Bug: 5624674 Change-Id: I96586e29ea20efd73c4ad50870df5b7368bf3c3b
* | rework a bit how we manage EGL extensionsMathias Agopian2011-11-143-41/+77
|/ | | | | | | | | | | | | - don't advertise extensions that are not supported by any implementation - remove EGL_ANDROID_swap_rectangle which is not implemented by anybody and confuses people - add some comments about mandatory extensions Bug: 5428001 Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
* fix crash when validating an invalid EGL objectsMathias Agopian2011-11-146-41/+48
| | | | | | | | | | | | the code that validated EGL objects dereferenced the object to access its EGLDisplay -- needed for validation (!). This was wrong for two reasons, first we dereferenced the object before validating it (potentially leading to a crash), secondly we didn't validate that the object existed in the right EGLDisplay. We now use the EGLDisplay passed by the user API. Change-Id: I66f9e851d4f8507892a6b1fee3065f124c4e7138
* Merge "EGL: add the ANDROID suffix to the blob cache ext" into ics-mr1Jamie Gennis2011-11-143-24/+26
|\
| * EGL: add the ANDROID suffix to the blob cache extJamie Gennis2011-11-113-24/+26
| | | | | | | | | | | | | | This change adds the ANDROID suffix to the all the types and functions defined by the EGL_ANDROID_blob_cache extension. Change-Id: I087875b96d9a7053efb9c8d5614f9f765eed799d
* | Merge "Terminate EGL when an app goes in the background" into ics-mr1Romain Guy2011-11-101-0/+2
|\ \ | |/ |/|
| * Terminate EGL when an app goes in the backgroundRomain Guy2011-11-101-0/+2
| | | | | | | | | | | | | | | | This does not happen on high end gfx devices. This happens only if only one EGL context is initialized in the current process. Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
* | EGL: add deferred saving of the cacheJamie Gennis2011-11-082-0/+34
|/ | | | | | | | This change causes any insertions into the EGL cache to trigger an attempt to save the cache contents to disk. The save operation is deferred to allow multiple cache insertions to be batched up. Change-Id: I6cfec9c0dbbef94d3f8880860e2a365dccc296c7
* EGL: implement loading and saving the cacheJamie Gennis2011-11-083-5/+179
| | | | | | | This change adds support for saving and loading the contents of the EGL cache. It also adds some simple tests for the EGL cache. Change-Id: I18e5e789e0897a0783d29d1c1e64d26de2dd44c4
* EGL: use an in-memory the blob cacheJamie Gennis2011-11-073-16/+152
| | | | | | | | This change makes the makes the stub EGL_ANDROID_blob_cache callbacks actually use a BlobCache object. Bug: 5474671 Change-Id: I5cbaae2dea3aad2fe306c9f57029c3f215a0863a
* EGL: Add stubs for EGL_ANDROID_blob_cacheJamie Gennis2011-11-044-0/+138
| | | | | | | This change adds a stub cache implementation that gets passed to the underlying EGL implementation at initialization time. Change-Id: I14437c5b6f91b7a34a19bb02ad802e6e54f88d2a
* don't log EGL errors due to unimplemented proprietary extensionsMathias Agopian2011-10-053-15/+24
| | | | Change-Id: Icfc33d4f55d1e7fb49390ce0921ba37a438c9fc2
* cleanup: fix typos in logsMathias Agopian2011-09-161-1/+1
| | | | Change-Id: Ib5744564a873ea2b84100174673dc4d3ae109fcf
* Add (support for) EGL_NV_system_time extension.Jonas Yang2011-09-132-0/+53
| | | | | Change-Id: I62bf0fcb5ccdc77c042b425a42054fb3122575b6 Signed-off-by: Mathias Agopian <mathias@google.com>
* add an option to EGL to dump stack traces on errorsMathias Agopian2011-09-062-4/+18
| | | | | | enable by setting debug.egl.callstack to 1 Change-Id: I7fad9ce71b4c4c5ece97d4f9d139348eab742a3c
* opengl: EGL: special case for GLES emulationDavid 'Digit' Turner2011-09-021-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* this should fix the GL debuggerMathias Agopian2011-09-011-3/+3
| | | | | | we were checking against to the wrong variable Change-Id: Iff3f5ab2d6ba5ac0d3d8161011b38e673ee7e67b
* fix logging of eglMakeCurrent() errorsMathias Agopian2011-08-251-0/+3
| | | | Change-Id: Ie22cabff822a8fb3186f082491234b9503b431c3
* EGL: move disconnect to surface dtorJamie Gennis2011-08-242-9/+9
| | | | | | | | | This change moves the call to native_window_api_disconnect from eglDestroySurface to the egl_surface_t destructor. The egl_surface_t can outlive the external EGLSurface if eglDestroySurface is called while the surface is made current on a thread. Change-Id: I0df6117a5633c2a19935fe356579abdd76fc471f
* connect/disconnect is now called from our EGL wrapperMathias Agopian2011-08-011-2/+17
| | | | | | | | | | | the original connect/disconnect hooks are deprecated and replace by api_connect/api_disconnect. the original hooks are no no-ops. api_connect/api_disconnect is now only called from the android framework. Bug: 5057915 Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
* Merge "EGL: fix the ANativeWindow size/fmt override"Jamie Gennis2011-07-111-1/+6
|\
| * EGL: fix the ANativeWindow size/fmt overrideJamie Gennis2011-07-111-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes how the Android EGL layer overrides the size and format of an ANativeWindow in eglCreateWindowSurface. The new behavior is to leave the size untouched when overriding the format. The previous behavior was to reset the ANativeWindow to use the default size set by the ANativeWindow implementation. It also adds two new 'perform' methods to the ANativeWindow interface: set_buffers_dimensions and set_buffers_format, and redefines the behavior of set_buffers_geometry to be the combination of these two new methods. Additionally, this change adds an error check for the return value of the new native_window_set_buffers_format call, which required adding a (stub) handler for to FramebufferNativeWindow. Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
* | Always make GL calls with a valid EGL context.Romain Guy2011-07-111-0/+5
|/ | | | | | Bug #5010760 Change-Id: If7500ef69683948e727df1406f458f18b11259d1
* fix x86 buildMathias Agopian2011-05-238-65/+159
| | | | Change-Id: I03cfbfeaeb8b13842248856b14b4a23711036e10
* eglTerminate() now actually frees up all active egl objectsMathias Agopian2011-05-166-160/+176
| | | | | | | | as specified by the EGL specification, terminated objects's handles become invalid, the objects themselves are destroyed when they're not current to some thread. Change-Id: Id3a4a5736a5bbc3926a9ae8385d43772edb88eeb
* refactor EGL source codeMathias Agopian2011-05-168-1976/+2367
| | | | | no changes is functionality. split various objects into their own files. make egl_display objec's lock internal.
* fix (Again) adding OES postfix when looking for gl functionsMathias Agopian2011-05-111-9/+6
| | | | Change-Id: Ib14723ed5355fdc423226ec20a32e26fe7dd68fe
* add OES postfix without truncating functionJeff Boody2011-05-111-4/+6
| | | | Change-Id: Id47304cf38914190cec58d703801f456ab916f63
* EGL: Allow creating a SurfaceTexture EGLSurface.Jamie Gennis2011-04-251-10/+0
| | | | | | | This change removes the check that disallowed the creation of an EGLSurface that would send frames to a SurfaceTexture. Change-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9
* GLES2Dbg: use dump.gles2dbg file when fails to create socketDavid Li2011-04-121-4/+10
| | | | | | | | | | | | setprop debug.egl.debug_forceUseFile 1: always use file setprop debug.egl.debug_maxFileSize <int MB>: exit when reached setprop debug.egl.debug_filePath <path>: may need to make the file writable first. setprop debug.egl.debug_port <unsigned short> setprop debug.egl.debug_proc <proc cmdline>: to match debuggee process Change-Id: I34ca1f3092f3abf17e2ded9d1689d0cdef6e07e8 Signed-off-by: David Li <davidxli@google.com>
* GLES2Dbg: change GLES2_dbg to shared libraryDavid Li2011-04-121-26/+11
| | | | | Change-Id: I493e9bff431bd939f4e80e1e9c614dd557307fa2 Signed-off-by: David Li <davidxli@google.com>
* Initialize reference counter for egl_display_tEric Hassold2011-03-311-1/+1
| | | | | | | Add missing member initialization for reference counter, used to determine if a context is ready. Change-Id: I45f81177ac2851129681f827afe015b60b3cd73c
* Make objects collection a member of egl_display objectEric Hassold2011-03-251-68/+68
| | | | | | | | | | | Move EGL objects (contexts, surfaces, ...) collection from global static into EGL display object. Since EGL implementation currently supports only one display, this doesn't change current logic. This aims at preparing for next coming changes in eglTerminate() to support per-display cleanup. Bug: 4152714 Change-Id: I5e424781b89c3c275f9922f943463d5f6b1f6bc6
* Check for initialized EGLDisplay when required by specificationEric Hassold2011-03-231-77/+115
| | | | | | | | | Check for initialized display, and set EGL error to EGL_NOT_INITIALIZED whenever it isn't, for all EGL functions taking an EGLDisplay as argument and requiring it to have been initialized. Bug: 3366011 Change-Id: Ib1d8a3a207257995518f4430fe97f8c406c7fc13
* Merge "GLES2Debugger: Make command exchange async to improve performance."David Li2011-03-171-2/+4
|\
| * GLES2Debugger: Make command exchange async to improve performance.David Li2011-03-111-2/+4
| | | | | | | | | | | | | | | | In message loop, use select to check for available commands from client, rather than always expecting commands in eglSwapBuffers. Change-Id: Ifc34dd77c2528c8b9c71f594e3eda4f93400cd2b Signed-off-by: David Li <davidxli@google.com>
* | am 9405d987: am a05a8ac5: am af831a7b: Merge "fix [4107131] nvidia driver ↵Mathias Agopian2011-03-161-4/+5
|\ \ | | | | | | | | | | | | | | | | | | call takes a very long time" into honeycomb-mr1 * commit '9405d98705db1c8102b77ef960f344ac416d165c': fix [4107131] nvidia driver call takes a very long time
| * | fix [4107131] nvidia driver call takes a very long timeMathias Agopian2011-03-161-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | We were leaking all EGLSyncKHR objects, over time the list would grow and become very slow to operate on. Bug: 4107131 Change-Id: I6c82daf49fe3189d04550781d64d57c30c95f552
* | | am 0ea44ac0: am 00f47af8: Merge "SurfaceTexture: disallow unsupported uses." ↵Jamie Gennis2011-03-151-0/+10
|\ \ \ | |/ / | | / | |/ |/| | | | | into honeycomb-mr1 * commit '0ea44ac0deb5cc95d60dd512c3a8f6a1bb69f5d1': SurfaceTexture: disallow unsupported uses.