summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'ics-mr1' of ↵Steve Kondik2011-12-1633-4225/+989
|\ | | | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into aosp Conflicts: core/res/res/values/strings.xml policy/src/com/android/internal/policy/impl/GlobalActions.java services/java/com/android/server/WifiService.java services/sensorservice/SensorDevice.cpp telephony/java/com/android/internal/telephony/RIL.java Change-Id: I89ec56d5ff282a2eb879ca40fb6d74ebcf752837
| * add a way to access the version string of the h/w implementation of EGLMathias Agopian2011-11-292-1/+10
| | | | | | | | | | | | | | we use a hidden egl extension. the version string is printed in SF's dumpsys log. Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
| * Hide ManagedEGLContext until we are sure this is the correct API.Romain Guy2011-11-211-0/+2
| | | | | | | | Change-Id: If54942d342ca8ea348e10231b2aed3e5d3bd701b
| * Merge "Notify views when EGL resources are about to be destroyed Bug ↵Romain Guy2011-11-211-3/+2
| |\ | | | | | | | | | #5639899" into ics-mr1
| | * Notify views when EGL resources are about to be destroyedRomain Guy2011-11-211-3/+2
| | | | | | | | | | | | | | | | | | Bug #5639899 Change-Id: I7c5d8bebf02294426f5b3ab1358a31c38a4fd064
| * | Merge "EGL: Use cache sizes defined in the BoardConfig" into ics-mr1Jamie Gennis2011-11-212-3/+18
| |\ \
| | * | EGL: Use cache sizes defined in the BoardConfigJamie Gennis2011-11-212-3/+18
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Merge "GLES: add image external enums" into ics-mr1Jamie Gennis2011-11-172-1/+9
| |\ \
| | * | GLES: add image external enumsJamie Gennis2011-11-152-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds Java definitions for the enums of the GL_OES_EGL_image_external OpenGL ES extension. Bug: 3482193 Change-Id: Ib50326f8be9b9cc9021753855c3846ddcdc5eaa2
| * | | 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
| * | | Add new ManagedEGLContext class to help apps participate in memory trimming.Dianne Hackborn2011-11-161-0/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This class provides an API for an application to know when it is time to destroy its EGL context when memory is being trimmed. By having this in the framework, we can still detect whether it will be useful to destroy any EGL contexts (because we know if doing so will destroy all of them). Change-Id: I1eac8d640052778052926b875c7928008f752182
| * | | rework a bit how we manage EGL extensionsMathias Agopian2011-11-1416-4149/+82
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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-145-57/+59
| |\ \ | | |/ | |/|
| | * EGL: add the ANDROID suffix to the blob cache extJamie Gennis2011-11-115-57/+59
| | | | | | | | | | | | | | | | | | | | | 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-104-1/+20
| |\ \ | | |/ | |/|
| | * Terminate EGL when an app goes in the backgroundRomain Guy2011-11-104-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | 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-085-5/+293
| | | | | | | | | | | | | | 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-074-16/+167
| | | | | | | | | | | | | | | | 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-045-1/+139
| | | | | | | | | | | | | | This change adds a stub cache implementation that gets passed to the underlying EGL implementation at initialization time. Change-Id: I14437c5b6f91b7a34a19bb02ad802e6e54f88d2a
| * am 09848bc8: Merge "docs: add developer guide cross references, Project ↵Joe Fernandez2011-10-293-1/+25
| |\ | | | | | | | | | | | | | | | | | | ACRE, round 3" into ics-mr0 * commit '09848bc89de999416e2de82a7693b2deec6bf802': docs: add developer guide cross references, Project ACRE, round 3
| * | Work around race condition when shutting down a surface flinger surface.Jack Palevich2011-10-141-3/+17
| | | | | | | | | | | | | | | | | | Works around b/4588890 Change-Id: Ie0cf1f212686aec93cda85bf112f4b7ab4197256
* | | graphics: Add directives for compatibility with older EGL blobsRicardo Cerqueira2011-12-063-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Define MISSING_EGL_EXTERNAL_IMAGE for EGL libraries without GL_OES_GLES_image_external - Define MISSING_GRALLOC_BUFFERS for gralloc HALS without the 0x800 (USAGE_HW_COMPOSER) usage - Define MISSING_EGL_PIXEL_FORMAT_YV12 for libraries who don't recognize the Android YV12 colorspace - Define FORCE_EGL_CONFIG=<value> for blobs which mis-identify the usable EGL configuration (pick the value from a CM7 log) A typical GB library set will need COMMON_GLOBAL_CFLAGS += -DMISSING_EGL_EXTERNAL_IMAGE -DMISSING_EGL_PIXEL_FORMAT_YV12 -DMISSING_GRALLOC_BUFFERS Change-Id: I85ae813c604d3d2fc41a291c9cb13d1ecd35368f
* | | [opengl] implement work around for tegra errata 657451Gary King2011-11-184-2/+41
| |/ |/| | | | | | | | | | | copy the tegra errata work around compile flags from bionic, to pick up the correct __get_tls implementation Change-Id: Ifccd4f5f382cc05328222c92da7f621faa1ec507a
* | docs: add developer guide cross references, Project ACRE, round 3Joe Fernandez2011-10-283-1/+25
|/ | | | Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
* don't log EGL errors due to unimplemented proprietary extensionsMathias Agopian2011-10-053-15/+24
| | | | Change-Id: Icfc33d4f55d1e7fb49390ce0921ba37a438c9fc2
* Avoid allocating temporary memory for Matrix operations.Jack Palevich2011-09-201-80/+111
| | | | | | | Also fix a bug where Matrix.invertM was not returning false when the matrix could not be inverted. Change-Id: I68b172032093d9f257e88c802de936633bb4912c
* fix EGL debuggerMathias Agopian2011-09-198-33/+29
| | | | | | | always use GL_RGBA, GL_UNSIGNED_BYTE for screen capture and make sure to handle GL_BGRA_EXT used on some gpu. Change-Id: If9c973677fec8a5c4e72be22e7ef7d4bf5f008f4
* cleanup: fix typos in logsMathias Agopian2011-09-161-1/+1
| | | | Change-Id: Ib5744564a873ea2b84100174673dc4d3ae109fcf
* Add (support for) EGL_NV_system_time extension.Jonas Yang2011-09-133-0/+67
| | | | | 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
* fix another bug that prevented the gl debugger to workMathias Agopian2011-09-011-1/+1
| | | | | | we didn't set the debug tls properly Change-Id: Iad9cc5b5d230a8eb7f680c4b70925c5e43e73051
* 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
* Merge "EGL: move disconnect to surface dtor"Jamie Gennis2011-08-252-9/+9
|\
| * 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
* | Add OpenGL backend to ImageWallpaperRomain Guy2011-08-241-1/+48
|/ | | | | | | | Bug #5204874 Currently disabled. Change-Id: I5e7b35dce2981b0691f107e39c6394b260466543
* implement EGL_TEXTURE_EXTERNAL_OES in libaglMathias Agopian2011-08-182-4/+7
| | | | | | this allows the emulator to display some graphics Change-Id: Ib4671ad70b8df598d02307f2b9c5b843421cea25
* fix test-opengl-swapintervalMathias Agopian2011-08-151-6/+10
| | | | | | EGLConfig selection should now work on any device Change-Id: I4d4580e891d1faf817fa853838406fb49d12e50a
* fix an issue where the screen could be stale after a surface size changeMathias Agopian2011-08-011-0/+10
| | | | | | | | | | | | | | | | | | some GLES drivers dequeue buffers before a frame is started (which is allowed), which can cause a that frame to be rendered into a buffer of the wrong size. Such buffer will be ignored by the compositor. If the application draws only once after a size change, the screen might stay in this stale state. this can be avoided by telling the GL driver to purge all its pending buffers, which is done by making the surface not current and then current again. this solution is specific to android, but acceptable because handled solely in the framework. Bug: 2263168 Change-Id: I3d3c9a019979a9186e329d3160fa54adac78d3f7
* 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
* Add new OpenGL testRomain Guy2011-07-192-0/+486
| | | | Change-Id: Icab48d71945bf94dd53f58b728a951d46380d945
* EGL: update EGL_ANDROID_recordable extension.Jamie Gennis2011-07-172-5/+37
| | | | | | | | This change adds an enum value and a description of the expected implementations to the EGL_ANDROID_recordable extension specification. It also adds the new enum value to the 'eglext.h' header. Change-Id: Ia0de2d5613708445ff83b85a7e550f9417531ee4
* Merge "fix typo in a comment"Mathias Agopian2011-07-121-1/+1
|\
| * fix typo in a commentMathias Agopian2011-07-121-1/+1
| | | | | | | | Change-Id: If913611a65e8b578021e9f9a9546f05e0ce6ef44