summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
* opengl/java/android: Validate created surface before creating eglSurfaceJeykumar Sankaran2011-10-201-1/+7
| | | | | | | | | | This change validates the surface created in GLSurfaceView before passing it for eglSurface creation CRs-Fixed: 291106 (cherry picked from commit b29268a8dfb16aa842ef439129fff354d2eb75e5) Change-Id: Id63158dbf213f7776cdbfa17ce1ccafe11aafc7f
* Merge branch 'gingerbread' of ↵Steve Kondik2011-09-291-0/+43
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.omapzoom.org/platform/frameworks/base into 237 Conflicts: core/java/android/app/ContextImpl.java core/java/android/bluetooth/BluetoothDeviceProfileState.java core/java/android/content/pm/IPackageManager.aidl core/res/res/values-de/strings.xml core/res/res/values-sk/strings.xml core/res/res/values-sv/strings.xml core/res/res/values-zh-rTW/strings.xml packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java services/java/com/android/server/NativeDaemonConnector.java services/java/com/android/server/PackageManagerService.java services/java/com/android/server/WifiService.java telephony/java/com/android/internal/telephony/gsm/GSMPhone.java tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeInflater.java tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeResources.java tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeTypedArray.java tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeXmlBlockParser.java tools/layoutlib/bridge/src/com/android/layoutlib/bridge/bars/CustomBar.java tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/ResourceHelper.java tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/android/BridgeXmlBlockParserTest.java wifi/java/android/net/wifi/WifiStateTracker.java Change-Id: Ia721284ebd8ed7741ab55105d89f2e3f366604d7
| * opengl: Ensure we only load the GLES emulation library when the emulator ↵David 'Digit' Turner2011-09-161-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | supports it. This patch modifies the libEGL.so loader to only load the emulator-specific EGL/GLES libraries if it detects at runtime that the emulator supports it. This prevents the system crashing when booting the platform image under an old emulator version, or one without GPU emulation enabled. Change-Id: I711b3f0a4ee1f3b080263780726ce7ec28ff11d6
| * Fix missing NLBruce Beare2011-07-071-1/+0
| | | | | | | | | | Orig-Change-Id: I323f0c01d2e9ad4c9f07cad24bf6b63edc28ad62 Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
| * egl: fixes for object refcountsMichael I. Gold2011-02-221-20/+31
| | | | | | | | | | | | | | | | | | eglMakeCurrent() would only deref the previous surfaces if the old and new contexts were the same. eglTerminate() should not touch TLS. eglReleaseThread() needs to unbind the current context. Change-Id: I7f4c090a287ee1e29e4708ae10679fb9d7d8c8c5 Related-Bug: 2964479
* | libagl/copybit:change variable type to hold large valuesChetan Kalyan2011-09-251-10/+10
| | | | | | | | | | | | | | | | | | While drawing triangle fans, multiplication operations can go beyond integer values. Change types to long long to prevent wrap around of the value. CRs fixed: 253594 Change-Id: I79fbfc6875b6406b123c8f655ab78327ea512a69
* | frameworks/base/opengl: Change copybit image width to buffer strideOmprakash Dhyade2011-09-241-2/+2
| | | | | | | | | | | | | | Change copybit image width to buffer stride when copybit is used. Change-Id: I3a8fca52c015d91fe567e7bb4e7669ce6d8a7d82 CRs-fixed: 251015
* | libagl: Add missing drawTexiOESWithCopybit for accelerated 2D renderingArne Coucheron2011-09-181-0/+13
| | | | | | | | | | | | It was missing from the following commit: http://tinyurl.com/6x3xj5q Change-Id: I6d26719dff230b220e83f871ee832484889b5b7c
* | libagl: Add eglGetRenderBufferANDROID() extensionArne Coucheron2011-09-183-1/+56
| | | | | | | | | | | | | | | | | | | | which returns the current render buffer as an android_native_buffer_t* This was removed in AOSP for Gingerbread, but at CAF they put it back as part of their patch for re-enabling the usage of copybit for accelerating 2D rendering -> http://tinyurl.com/65mm5p6 Change-Id: I0165bf5b481ae097848c1c644785819f0c127ef1
* | libEGL: Make vendor extensions a device optionRicardo Cerqueira2011-07-172-1/+4
| | | | | | | | | | | | | | Having these hardwired is breaking libEGL on OMAP4. To avoid breaking compatibility, default it to true Change-Id: Ie8a8999aadef0d6d6b0f696115d145a460f3fbe7
* | libagl: Enable CLZ instruction generation for TextureObjectManagerJim Huang2011-06-141-1/+1
| | | | | | | | Change-Id: I54cb4755b64076007a5f631f1faa7eab2272f6e6
* | Merge branch 'gingerbread' of ↵Steve Kondik2011-03-301-20/+31
|\ \ | | | | | | | | | git://android.git.kernel.org/platform/frameworks/base into HEAD
| * | egl: fixes for object refcountsMichael I. Gold2011-03-291-20/+31
| |/ | | | | | | | | | | | | | | | | eglMakeCurrent() would only deref the previous surfaces if the old and new contexts were the same. eglTerminate() should not touch TLS. eglReleaseThread() needs to unbind the current context. Change-Id: I7f4c090a287ee1e29e4708ae10679fb9d7d8c8c5 Related-Bug: 2964479
* | Merge branch 'gingerbread' of ↵Steve Kondik2011-02-281-10/+27
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://android.git.kernel.org/platform/frameworks/base into 233-merge Conflicts: api/current.xml core/java/android/content/pm/PackageParser.java core/java/android/net/ConnectivityManager.java core/java/android/widget/TextView.java core/java/com/android/internal/os/BatteryStatsImpl.java core/res/res/drawable-mdpi/btn_check_off.png core/res/res/drawable-mdpi/btn_check_off_disable.png core/res/res/drawable-mdpi/btn_check_off_disable_focused.png core/res/res/drawable-mdpi/btn_check_off_pressed.png core/res/res/drawable-mdpi/btn_check_off_selected.png core/res/res/drawable-mdpi/btn_check_on.png core/res/res/drawable-mdpi/btn_check_on_disable.png core/res/res/drawable-mdpi/btn_check_on_disable_focused.png core/res/res/drawable-mdpi/btn_check_on_pressed.png core/res/res/drawable-mdpi/btn_check_on_selected.png core/res/res/values-ca/strings.xml core/res/res/values-de/strings.xml core/res/res/values/config.xml include/media/AudioSystem.h include/media/mediarecorder.h media/java/android/media/MediaRecorder.java media/libmedia/AudioSystem.cpp media/libstagefright/StagefrightMediaScanner.cpp media/libstagefright/rtsp/ARTSPConnection.cpp media/libstagefright/rtsp/ASessionDescription.cpp media/libstagefright/rtsp/MyHandler.h policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java policy/src/com/android/internal/policy/impl/LockScreen.java policy/src/com/android/internal/policy/impl/PhoneWindowManager.java policy/src/com/android/internal/policy/impl/RecentApplicationsDialog.java services/audioflinger/AudioPolicyManagerBase.cpp services/java/com/android/server/PackageManagerService.java services/java/com/android/server/am/ActivityManagerService.java test-runner/src/android/test/mock/MockPackageManager.java voip/java/android/net/sip/SipProfile.java voip/java/com/android/server/sip/SipService.java wifi/java/android/net/wifi/WifiStateTracker.java Change-Id: Ia65d02a66c6206b5f4ed95c3a64e3f28a03e7329
| * fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/CrespoMathias Agopian2010-12-081-2/+2
| | | | | | | | | | | | | | eglQueryContext(..., EGL_CONFIG_ID, ...) is dereferencing an uninitialized pointer due to a typo. Change-Id: I100addf3150f19cb6dfbce9987fb5239dd240878
| * [3229973, 3247470, ...] set EGLNativeWindowSurface's format in EGLMathias Agopian2010-12-031-8/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (there are multiple bugs this should fix) we now use the EGL_NATIVE_VISUAL_ID of a config to set the ANativeWindow's format from eglCreateWindowSurface(), this guarantees that the surface's format will match whatever EGLConfig the user chose. this should fix all current and future config/surface format mismatch and allow users to easily select 32-bits surfaces. Change-Id: I3835d0eb70c75eeecded3c3509a0a8207554c98b
* | Fix missing NLBruce Beare2011-01-211-1/+0
| | | | | | | | | | Change-Id: I323f0c01d2e9ad4c9f07cad24bf6b63edc28ad62 Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
* | libagl: Allow use of copybit to accelerate 2D renderingRicardo Cerqueira2010-12-229-1/+795
| | | | | | | | | | | | | | | | This appears to fix the 2D performance issues on msm7225 and msm7227, no more stutter in animations or transitions Enable with TARGET_LIBAGL_USE_GRALLOC_COPYBITS := true Change-Id: If1e06dc2b7836e370053d1c664fe5192619e3015
* | [opengl] implement work around for tegra errata 657451Gary King2010-12-214-2/+41
| | | | | | | | | | | | | | copy the tegra errata work around compile flags from bionic, to pick up the correct __get_tls implementation Change-Id: Ifccd4f5f382cc05328222c92da7f621faa1ec507
* | [egl] return error code for NULL num_config output parameterGary King2010-12-211-0/+1
| | | | | | | | | | | | | | if a client passes NULL for num_config to eglGetConfigs, set EGL_BAD_PARAMETER and return rather than crash Change-Id: I62d3843b67289a1da50ec94f2d558c2ab17f662c
* | [egl] add support for vendor-specific GL extensionsGary King2010-12-211-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on implementations which have a single EGL backend, it is straight- forward to query the EGL implementation for the supported GL extensions the mechanism added in this commit will only work on implementations which have a single EGL backend; on implementations which have multiple backends, this feature should be disabled at compile-time for EGLImage extensions, call into a wrapper layer implementation to translate the meta-EGL object into the vendor object before calling into the vendor's EGLImage implementation Change-Id: Ie0e9b2dedebc534be9bca7ba0556b75eae9d006f
* | egl: return success for eglSwapIntervalGary King2010-12-211-1/+5
|/ | | | | | | default shouldn't return an error, since this would preclude hardware implementations which implement this function correctly Change-Id: Iee73305520cb67d1d278a17db1ce8cf30d26a099
* Merge "DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the ↵Mathias Agopian2010-11-101-0/+4
|\ | | | | | | wrong pointer for some GL extensions" into gingerbread
| * DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong ↵Mathias Agopian2010-11-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | pointer for some GL extensions We just make sure eglGetProcAddress() will return NULL for glEGLImageTargetTexture2DOES glEGLImageTargetRenderbufferStorageOES which is better than returning the address of the wrong implementation. the correct fix is more involved. Change-Id: I585a1f40e564f862e5dd382224609ccd069cd3b5
* | Refresh EGL header to work with the NDKDavid 'Digit' Turner2010-11-071-12/+11
|/ | | | | | | | | | | | | This change allows to use this header with the NDK's standalone toolchain. For the record, the NDK toolchain defines __ANDROID__ as a compiler built-in macro, this is however not the case currently for the prebuilt binaries that are being used by the full Android build system, which otherwise defines ANDROID. This change allows the header to be used by all toolchains properly. Note however that we should properly should change our toolchain and sources to provide and rely on __ANDROID__ instead of ANDROID though. Change-Id: Iaa1aa1146985b5f24dcf3a83d9ddb9b4b59dc328
* fix eglChooseConfig() for special attributes.Mathias Agopian2010-10-251-4/+7
| | | | | | | | | | | affects software renderer (emu) only. per EGL spec: If EGL_MAX_PBUFFER_WIDTH, EGL_MAX_PBUFFER_HEIGHT, EGL_MAX_PBUFFER_PIXELS, or EGL_NATIVE_VISUAL_ID are specified in attrib list, then they are ignored Change-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6
* fix [3119687] [Maps][4.6.0] Force close in street viewMathias Agopian2010-10-211-2/+2
| | | | | | | | The EGLConfig attributes MUST be sorted, because they're used in a binary search. A recent change introduced a bug where 2 of the configs had improperly sorted attributes. Change-Id: I1ac53e4463d62f27125ca9f82ed946e6c98ddba0
* Merge "Add a test application to dump all the EGLConfig available" into ↵Mathias Agopian2010-10-202-0/+105
|\ | | | | | | gingerbread
| * Add a test application to dump all the EGLConfig availableMathias Agopian2010-10-202-0/+105
| | | | | | | | Change-Id: Iddf27f2a9dd51733f6b90081a523ca37bfe310fa
* | software renderer: fix [3117351] GL driver doesn't set the EGL_NATIVE_VISUAL_IDMathias Agopian2010-10-201-0/+8
|/ | | | Change-Id: I371bc0abfee6065247bc6f04b0e0451645eb2dbf
* fix [2236865] STOPSHIP: bump soft gl and egl minor version numberMathias Agopian2010-10-192-2/+2
| | | | Change-Id: Ibf46b18d7493348e189f2c93e969a6cac61f68b5
* 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