summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
* better fix for [3028370] GL get error should return a valid error if no ↵Mathias Agopian2010-09-233-9/+4
| | | | | | | | | | | | | | | 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
* fix [3028370] GL get error should return a valid error if no context is bound.Mathias Agopian2010-09-231-0/+9
| | | | | | | glGetError() will now always return GL_INVALID_OPERATION if called from a thread with no GL context bound. Change-Id: I28ba458871db051bb4f5a26668a1fa123526869c
* fix small bug in EGL error managementMathias Agopian2010-09-211-2/+4
| | | | | | | make sure to clear our EGL implementation's error when returning an error from an underlying implementation Change-Id: Ibce4726cef1f900e4c7f16002345d7a07f8cdf41
* support loading EGL libraries from /vendor/lib/egl as well as /system/lib/eglBrian Swetland2010-09-202-14/+16
| | | | Change-Id: Idd9ca85ce3ba6c92234375071b53e5365e689062
* surfaceflinger / GL extensions cleanupMichael I. Gold2010-09-152-10/+16
| | | | | | | Add correct enumerants for OES_EGL_image_external to glext.h. SurfaceFlinger now checks for the correct extension name. Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
* option to enable multisamplingMathias Agopian2010-09-091-61/+71
| | | | | | | multisampling can be enabled by specifying the number of samples desired on the command line. Change-Id: I5f93c93ae7ada54bcd646c1065e07890d0cb9808
* Merge "Fix a few typos in EGL wrapper" into gingerbreadMathias Agopian2010-09-091-2/+2
|\
| * Fix a few typos in EGL wrapperMathias Agopian2010-09-091-2/+2
| | | | | | | | Change-Id: I3b815ca6ec334ca12088f9721eece33df42b2e46
* | add a fps counter to sanangeles demoMathias Agopian2010-09-081-9/+18
|/ | | | Change-Id: I9a9473ce213301cc7661fddfb1ef5a6ffcb346d4
* cleanup EGL a bit. remove unused extension.Mathias Agopian2010-08-273-55/+0
| | | | Change-Id: Ia87120b076ab1bf7b28f06087878d8161fb46c88
* reserve android.opengl.GLWallpaperService name for future useMathias Agopian2010-08-251-0/+25
| | | | Change-Id: I7a217593a1ca39214dda26ddb3af3ddc30a8a95a
* fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.Mathias Agopian2010-08-181-2/+2
| | | | | | | a typo prevented the last 2 vertices of a batch to be copied to the front of the next batch. Instead, the 2 very first vertices were used. Change-Id: I3c344784dac1cef64df2fb6f6efb2f901cc788db
* fix [2931161] crash in labyritnth when completing a levelMathias Agopian2010-08-181-32/+35
| | | | Change-Id: I821d67effaf73d7008b2828d06f5489d1f976a1e
* fix [2912927] Can't get NV_draw_path extension to workMathias Agopian2010-08-131-2/+3
| | | | | | | there was a problem with eglGetProcAddress() which would only work with GLES 1.x contexts. Change-Id: I4747671cbf7ed469bb471a377f1d6f36550d24df
* improve a bit the implementation of eglGetProcAddressMathias Agopian2010-08-091-86/+32
| | | | Change-Id: Ie07f33ae2162830df1e4f3d3b5e00fcfb8c350d6
* fix [2421247] implement eglGetProcAddress(), needed in the ndkMathias Agopian2010-08-024-51/+233
| | | | Change-Id: I5027a27b43c0dd449a404024087853ca05bb8e4e
* remove copybit hack from software opengl (libagl)Mathias Agopian2010-07-299-811/+1
| | | | | | | | | h/w acceleration is not supported through software gl + copybit anylonger, instead, h/w opengl must be used. in the system compositor, a new h/w composition api will be introduced to allow h/w accelerated composition with overlays and/or 2D blocks. Change-Id: I04949cb074ba8c4d637319ace23497c16a58d5bf
* fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for ↵Mathias Agopian2010-07-261-98/+138
| | | | | | | | | | | | | | | | | | | | | | | eglQuerySurface(). rework how our EGL wrapper manages EGLConfig: - we now store the EGLConfig with the EGLSurface and EGLContext so that we can have easy access to it from eglQueryContext and eglQuerySurface. - EGLConfig now are an index into a sorted table of egl_config_t, we use a binary search to retrieve our EGLConfig (the index) from the implementation's EGLConfig. - egl_config_t keeps track of the implementation's index, EGLConfig and CONFIG_ID as well as our CONFIG_ID. In many ways, this implementation is simpler and more robust, as it doesn't assume anything about the number of implementations nor what EGLConfig is made of (the previous code assumed EGLConfig didn't usem more than 24-bits). Change-Id: Id5abe923aacb6e1fd2b63bd8c15d7b04ae824922
* Fix deadlock when switching between two GLSurfaceViewsJack Palevich2010-07-131-18/+74
| | | | | | | | | | | | | | | | Some devices only support a single active EGL context. On those devices, when a second activity that uses a GLSurfaceView is started in the same process, the second activity can potentially hang in GLSurfaceView.onWindowResize waiting for its GLSurfaceView render thread to draw a frame. The second activity's render thread is waiting to acquire an EGL context, but the first activity's render thread doesn't know it should release the EGL context. The fix is to detect the potential hang, and ask the first activity's render thread to release the EGL context. Change-Id: Ibb342c68772297744c973bcf5010581cd132db67
* Merge "Fix a bug that prevented the creation of EGL shared contexts." into ↵Mathias Agopian2010-07-021-0/+4
|\ | | | | | | gingerbread
| * Fix a bug that prevented the creation of EGL shared contexts.Jamie Gennis2010-07-021-0/+4
| | | | | | | | Change-Id: I6b0ec5ef86abdd4e9083067ba297107cfb094df3
* | Introduce official public NativeWindow type.Dianne Hackborn2010-06-302-7/+8
|/ | | | | | | Not yet hooked up to anything in the NDK, but requires renaming the existing android_native_window_t type everywhere. Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
* Some ActivityThread/ActivityManager cleanup.Dianne Hackborn2010-06-241-2/+2
| | | | | | | | | | | - Move PackageInfo out of ActivityThread, renaming to LoadedApk. - Rename some of the other PacakgeInfo inner classes to better represent what they are. - Rename HistoryRecord to ActivityRecord. - Introduce AppGlobals, to eventually let ActivityThread become package scoped. Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
* Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.Jack Palevich2010-06-224-2/+104
| | | | Change-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b
* Added support for the GL_TEXTURE_EXTERNAL targetMathias Agopian2010-06-152-0/+20
| | | | | | This will allow us to support YUV surfaces. Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
* update EGL headers to the latestMathias Agopian2010-06-095-10/+99
| | | | | | note that this doesn't update the EGL stubs. Change-Id: I00274431a490249d93eb6b5ba13f274b7f2682ae
* update GL ES stub libraries with the new GL ES headersMathias Agopian2010-06-095-58/+268
| | | | Change-Id: I83be94049ddfe3fd7f5bee71a21172ade1498dd5
* fix OpenGL ES extension headers from khronosMathias Agopian2010-06-092-26/+26
| | | | | | | the official headers have a couple typos, which this CL fixes. Change-Id: I0359531a05a4a62ddbdce70c5841ec1c355feb3b
* update the OpenGL ES headers to the latestMathias Agopian2010-06-096-104/+783
| | | | Change-Id: Iceef1e95504897a5e3759b0401cf7031c9e74547
* fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and ↵Mathias Agopian2010-05-241-1/+0
| | | | | | | | fail force all SurfaceView to 565 Change-Id: I8ebfa1239d8e4fa097c2e544677fb92fa20b39bd
* fix a crasher in our EGL wrapper when attrib_list is NULL in eglChooseConfigMathias Agopian2010-05-172-6/+13
| | | | | | | the EGL specification states that this should be treated as though it was an empty list terminated with EGL_NONE. Change-Id: I294104370a86b5e5c34c7bcf15c5459eab464631
* am fb234bbe: merge from open-source masterThe Android Open Source Project2010-05-122-1/+5
|\ | | | | | | | | | | | | | | | | Merge commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2' into kraken * commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2': Notify user regarding invalid number during MO call. Build software AGL library with correct get_tls() macro for ARMv7 based platforms Fix glReadPixels() to verify that both x and y are non-negative.
| * merge from open-source masterThe Android Open Source Project2010-05-122-1/+5
| |\ | | | | | | | | | Change-Id: I022d0781a232396e2b8a67a420ecf50e64b87d8c
| | * Merge "Build software AGL library with correct get_tls() macro for ARMv7 ↵Mathias Agopian2010-05-101-0/+4
| | |\ | | | | | | | | | | | | based platforms"
| | | * Build software AGL library with correct get_tls() macro for ARMv7 based ↵Magnus Landqvist2010-02-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | platforms This prevents crashes on snapdragon processors.
| | * | Merge "Fix glReadPixels() to verify that both x and y are non-negative."Mathias Agopian2010-05-101-1/+1
| | |\ \
| | | * | Fix glReadPixels() to verify that both x and y are non-negative.Mike Playle2010-01-291-1/+1
| | | |/
| | | * merge from eclairJean-Baptiste Queru2009-11-1579-2255/+8451
| | | |\
| | | | * eclair snapshotJean-Baptiste Queru2009-11-1381-2259/+8462
| | | | |
* | | | | am 06798769: am 7305f416: Merge "Quietly handle EGL_BAD_NATIVE_WINDOW ↵Jack Palevich2010-04-191-5/+19
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | errors" into froyo Merge commit '0679876997a5523a7539b8fe2c74a39434b17820' into kraken * commit '0679876997a5523a7539b8fe2c74a39434b17820': Quietly handle EGL_BAD_NATIVE_WINDOW errors
| * | | | am 7305f416: Merge "Quietly handle EGL_BAD_NATIVE_WINDOW errors" into froyoJack Palevich2010-04-191-5/+19
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '7305f4166306dac08fc63056f2c85e91015df879' into froyo-plus-aosp * commit '7305f4166306dac08fc63056f2c85e91015df879': Quietly handle EGL_BAD_NATIVE_WINDOW errors
| | * | | | Quietly handle EGL_BAD_NATIVE_WINDOW errorsJack Palevich2010-04-191-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We believe these errors happen when the window manager has told surface flinger to close the native window. If this error happens while we are creating the EGL surface we exit the render loop (and therefore exit the render thread.) If the error happens while swapping the surface we ignore it. In either situation, we expect that the application is about to be shut down by the window manager, so it should not be necessary to try and recover from the error.
* | | | | | small cleanup. gEGLImpl should have been staticMathias Agopian2010-04-092-1/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | also added a ctor to initialized it in case we use it ont he stack one day. Change-Id: I2736b9bce3d8ba3b74fd029de4c18cca2cdbbf60
* | | | | merge from open-source masterThe Android Open Source Project2010-03-311-1/+2
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
| * | | gl_code : add end of line.Jae-Hyung Ahn2010-03-241-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Jae-Hyung Ahn <jerry.ahn@windriver.com>
| * | | am 6d0f6c78: Merge "DO NOT MERGE A library for encoding and decoding ETC1 ↵Jack Palevich2010-01-093-0/+792
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | textures." into eclair Merge commit '6d0f6c78037225ef5648d10e45a513a2e7c612b5' into eclair-plus-aosp * commit '6d0f6c78037225ef5648d10e45a513a2e7c612b5': DO NOT MERGE A library for encoding and decoding ETC1 textures.
| | * | | DO NOT MERGE A library for encoding and decoding ETC1 textures.Jack Palevich2010-01-083-0/+792
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ETC1 compressed texture format is commonly supported by OpenGL ES 2.0-capable devices. This change adds a host-only version of the library. It is used by the etc1tool.
| * | | | am e3449553: Merge change I49c9a3a3 into eclairJack Palevich2009-12-221-0/+29
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'e344955393133ac2f99f06cc6a4fe97fbf76f62e' into eclair-plus-aosp * commit 'e344955393133ac2f99f06cc6a4fe97fbf76f62e': Fix bug 2325244 screen turns black for a brief period of time
| | * | | Fix bug 2325244 screen turns black for a brief period of timeJack Palevich2009-12-221-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was a black first frame when creating a surface, or a garbage frame when the surface was resized. The cause was lack of synchronization between the render thread and the UI thread. The UI thread would typically return before the render thread had a chance to draw its first frame. The fix was to make the UI thread wait until at least one frame had been rendered by the rendering thread. The waiting is done in the surfaceChanged method because we know that surfaceChanged will be called in both the surface created and surface changed cases.
| * | | | am 533a2803: Merge change I18ffb549 into eclairMathias Agopian2009-11-301-1/+1
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '533a2803506cc4f196403fdfafd948bd4f8e60d9' into eclair-plus-aosp * commit '533a2803506cc4f196403fdfafd948bd4f8e60d9': fix [2069023] STOPSHIP: disable DEBUG_COPYBIT