summaryrefslogtreecommitdiff
path: root/opengl/java/android
AgeCommit message (Collapse)Author
2014-06-30Fix onTrimMemory for HardwareRendererJohn Reck
Also fixes detachFunctor possibly drawing after return Bug: 15189843 Bug: 15990672 Change-Id: I64c48cb674c461a8eeaba407b697e09f72c98ce3
2014-05-21opengl: Un-hide GLES31 and GLES31Ext classesJesse Hall
Bug: 15028495 Change-Id: Icda236ee12a06ef2eb9902253d272dee2b61f6ef
2014-05-21opengl: Add GLES31 and GLES31Ext classesJesse Hall
Bug: 15028495 Change-Id: Ie967c1938060edb42864dd48efa668ae7bf5cd76
2014-04-21am 43cea7ea: am 650a8860: am fc3c6a0e: Merge "EGL_OPENGL_ES3_BIT_KHR is set ↵Jesse Hall
as ES 3 context is requested." * commit '43cea7eadbcb3930887eadfa3f278e1a666449d0': EGL_OPENGL_ES3_BIT_KHR is set as ES 3 context is requested.
2014-04-15EGL_OPENGL_ES3_BIT_KHR is set as ES 3 context is requested.Jin Zhebin
OpenGL ES have 3 configuration: 1(EGL10.EGL_RENDERABLE_TYPE), 2(EGL_OPENGL_ES2_BIT), 3(EGL_OPENGL_ES3_BIT_KHR). The driver should be get the according configuration parameter. Now 1 is set to driver when Configuration 3 is set from user. Specification EGL_OPENGL_ES3_BIT_KHR is set to driver when a OpenGL ES 3 context is requested in setEGLContextClientVersion(). Change-Id: I980d9d8dbe5754295f8329fcf9378962d669fa89 Signed-off-by: Jin Zhebin <zhebinx.jin@intel.com> Signed-off-by: bdeng3X <bingx.deng@intel.com>
2014-03-06Revert "Revert "Workaround apps not calling super.onDetachedFromWindow()""John Reck
This reverts commit bac16fae7e6fceb1e516252ede673844b772e7c3. Change-Id: I61e997b23fac1aa984129fdc0328426ff8891bdd
2014-03-06Revert "Workaround apps not calling super.onDetachedFromWindow()"Bart Sears
Requested by jreck to fix the build. This reverts commit 198d20842a537f3df3584ea084e74220e172b086. Change-Id: I733065cc124b59bf914034f5bac5e2e951a5b604
2014-03-06Workaround apps not calling super.onDetachedFromWindow()John Reck
Bug: 13338698 Move the releasing of hardware resources to a new @hide onDetachedFromWindowInternal Change-Id: I52b4e6ba4d5b3ce20b89cabffa248d1d780e3e81
2014-02-28Fix bad link tag in javadoc.Narayan Kamath
Java7 javadoc tools seem to accept this without complaint but not all targets use java7 yet. Change-Id: Ib025d12550f5fd68edce5760747f9225a2be50c6
2014-02-27API changes for 64 bit platforms.Narayan Kamath
EGLObjectHandle.<init>(int) and int EGLObjectHandle.getHandle() have now been deprecated and replaced with variants that take and return java longs. bug: 13181704 Change-Id: I67bef5fbf064e85205b8a85e00f91f4ffcf60d19
2014-02-27am 7aec4109: am 7aeb4307: am 2525acf5: am e4dae5f2: Merge "AArch64: Make ↵Narayan Kamath
eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY" * commit '7aec4109c53371e69bec111c69767810f45c301c': AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
2014-02-26AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAYAshok Bhat
Note that files changed in this patch have been automatically generated by running frameworks/native/opengl/tools/glgen/gen script This will allow eglGetDisplay(int) to work on both 32-bit and 64-bit systems when EGL_DEFAULT_DISPLAY is passed as a parameter. Change-Id: Idf27d6e00d623d331bb2d4d7f85fa450e0db26c9 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-25Merge "Tabs -> spaces in frameworks/base."John Spurlock
2014-02-25Tabs -> spaces in frameworks/base.John Spurlock
Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
2014-02-25am d8410d38: am 614b00de: am a88abfb3: am 6ab07fac: Merge "Use long for ↵Narayan Kamath
pointers in opengl/EGL classes" * commit 'd8410d38cf2eb133dab29aec722dce862584d115': Use long for pointers in opengl/EGL classes
2014-02-24Use long for pointers in opengl/EGL classesAshok Bhat
Note that files changed in this patch have been automatically generated by running frameworks/native/opengl/tools/glgen/gen script This patch updates EGL classes in frameworks/base to support 64-bit platforms. Key changes in the EGL classes include [x] EGLObjectHandle class - EGLObjectHandle class has two public methods (constructor and getHandle) that assume handles are 32-bit. They have not been changed. Instead, two new hidden methods (EGLObjectHandle(long) and getNativeHandle) have been added. [x] EG14 class - Two public methods eglGetDisplay and eglCreatePbufferFromClientBuffer assume that handles are 32-bit. They have been changed to throw unsupported operation exception on non 32-bit machines. Two new methods eglGetDisplay(long) and eglCreatePbufferFromClientBuffer(...long buffer..) have been added to support 64-bit handles. Change-Id: I9e0f064e5b33700eb0baa2e1841a21f931f7a765 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-19Hide three malformed GL bindingsAndy McFadden
They were replaced with correct bindings a while back, but the broken methods weren't hidden. Bug 6006380 Change-Id: I3432d37a6bf411bbd2b3ea363749e32fcff28672
2013-12-15Merge "Fix incorrect name in eglSwapBuffers log wrapper"Jesse Hall
2013-12-10Fix incorrect name in eglSwapBuffers log wrapperBrian Harris
Correctly identify eglSwapBuffers in EGLLogWrapper, which had been labeled as "eglInitialize". Change-Id: I67c61e100e2f84400ceebc28712f036e5a055017
2013-06-24Merge "Fix wrapper equals()"Andy McFadden
2013-06-21Fix wrapper equals()Andy McFadden
Make it faster and correcter. Bug 9204146 Change-Id: Ieeb97b72005e831ec6b94fc24ed2c3bc03307c2a
2013-06-21Minor fixes to android.opengl.MatrixAndy McFadden
This has a minor API change: deprecation of the nullary constructor. The class is entirely composed of static methods, and was written without a constructor, but the compiler dutifully generated a default implementation and the API tool slurped it up. The other changes are to the documentation: - Added warnings about the use of overlapping input and output on certain methods. - Fixed a few inaccuracies (e.g. transposeM() returns a transposed matrix, not an inverted matrix). - Tidied up the formatting. - Generally placated the consistency hobgoblins. Bug 8868762 Change-Id: Ie3f86b98c477d8dc82d9dcaa311959bd4d191359
2013-05-01Add android.opengl.EGLExt class for EGL extensionsJesse Hall
Add the ES-relevant constants from the EGL_KHR_create_context extension. These allow apps to check which EGLConfigs (if any) support ES3 contexts. Otherwise, the app has to create a context with an EGLConfig and then check whether it is an ES2 or ES3 context. Also move eglSetPresentationTimeANDROID from EGL14 to EGLExt, since it's an extension function. It's new in API 18. Bug: 8678160 Change-Id: I3cba6e59ebb0a3a4c4012aa54a36b940c288bcec
2013-04-19Revert all recent GLSurfaceView changes.Jeff Brown
Several issues have been identified that will need to be resolved carefully before we attempt to make similar changes. 1. Some applications make assumptions about the fact that all Runnables posted with queueEvent() will be executed before the next draw. Because the Choreographer may post messages in the past (due at the frame time), these Runnables were not always running at the expected time. 2. Some applications apparently hijack the GLThread and try to run their own Looper on it. This obviously won't work if we are already running one of our own. We may need to add new rendering modes or target API checks to provide an opportunity for applications to opt-in to the changes in the future. Bug: 8649804 Change-Id: I6289c3392a98cdbfaf28c7f4f7a8040f2138a3b4
2013-04-18Fix change of behavior in Looper.quit().Jeff Brown
It seems some applications rely on Looper.quit() terminating the loop immediately without processing all messages. Rather than risk breaking them, make the safer behavior optional. Also take care to properly drain the message queue before quitting so that all of the Message instances are recycled. This may help release storage sooner in case the Looper doesn't get GC'd promptly and its remaining queue of undelivered messages sticks around. Improve docs on runWithScissors. Bug: 8596303 Change-Id: I8cbeb6f7a5f6b8e618b5109f87a03defc1486b9f
2013-04-18don't trigger a render when setting the rendermodeMathias Agopian
also don't cache the rendermode, to mimic the older behaviour. Bug: 8656076 Change-Id: Id9383852bed073927db2364f7ac30a1be28b4cd8
2013-04-16Merge "Unhide android.opengl.GLES30 class and contents" into jb-mr2-devJesse Hall
2013-04-16Merge "Add android.opengl.GLES30, hidden for now" into jb-mr2-devJesse Hall
2013-04-15Unhide android.opengl.GLES30 class and contentsJesse Hall
Bug: 8566953 Change-Id: I5273fb3bff642da5ff1eecb5899e8051402b19ca
2013-04-15Add android.opengl.GLES30, hidden for nowJesse Hall
Bug: 8566953 Change-Id: Ia5a01d5e857b4fce12a451e2dcab0359758ad648
2013-04-10Don't draw synchronously in onResume()Mathias Agopian
this could cause a dead-lock if the applicaltion's draw implementation blocks until something happenson the main ui thread. note: we're still doing this synchronous draw in onWindowResize() because that's what the previous implementation did. Technically, it has the same problem. Bug: 8586305 Change-Id: I782568289cc9419346aeea73775d86faa28b3058
2013-04-09rework GLSurfaceView so it can use the choreographerMathias Agopian
GLSurfaceView will now automatically use the Choreographer to schedule render updates on VSYNC. This happens only in RENDERMODE_CONTINUOUSLY. GLSurfaceView was rewriten to use a Looper and a HandlerThread instead of a custom thread. The basic mode of operation is unchanged, however the implementation is largely different. Removed support for older GPUs which had a limited number of contexts. Bug: 8485730 Change-Id: I7b270f7ad7bb1259e858429054b1c8c9cc159dc6
2013-03-18Fix createSurface / eglCreateWindowSurface race.Jack Palevich
Previously we could have returned from createSurface on the main thread before calling eglCreateWindowSurface on the GLThread. That could lead to a problem because the surface could be destroyed before eglCreateWindowSurface got a chance to run. Bug: 8328715 Change-Id: I273149f7d4b165abbe218a91ff54083f3f498cb0
2013-03-07Publish new MediaCodec APIAndy McFadden
Un-hide two new methods in MediaCodec, one new constant, and a new EGL extension. Bug 7991062 Bug 8191230 Change-Id: I028669132d9ffda1e4b34a561bab3997bbd7dae5
2013-03-05Add eglPresentationTimeANDROIDAndy McFadden
Added EGL extension to set a timestamp on a surface. Bug 8191230 Change-Id: Ie73bd7d1217348c9c64b8c68da38d671d48355f7
2013-02-25regenerate GLES java bindingsMathias Agopian
- added most missing validation checks - glGet* validation reimplement from khronos documentation Bug: 7402895 Change-Id: I92a805bb1aba1600d3372dc2db22eab08c975d7f
2013-02-22regenerate egl/gles stubs from glgenMathias Agopian
those are minor cosmetic changes. Change-Id: I84ee5383577f0ca33ed7cc32d03e53c1475f068d
2012-12-19DdmServer: add controls for OpenGL tracingSiva Velusamy
Add a new JDWP packet to allow control of OpenGL tracing. Change-Id: Ic89e2f6299238a612df2f914581049f2cbba088c
2012-09-18GLSurfaceView defaults to 888 instead of 565Mathias Agopian
Change-Id: Ie00fe578136365031e4bb878a04b68dc40e24b9e
2012-08-08Enable use of Surface as a native window in EGL14 wrapper.Jeff Brown
Change-Id: Ia3546fd02f9b60d4505fbc0602522b95e3e5b6be
2012-07-31Improve gradientsRomain Guy
Avoid using textures for common gradients (two stops from 0.0 to 1.0) Change-Id: Iff55d21b126c8cfc4cfb701669f2339c8f6b131a
2012-07-30Fix android.opengl.Matrix frustum's generationRomain Guy
External bug report: http://code.google.com/p/android/issues/detail?id=35646 Change-Id: I845783c05da46855f0c1d824c9a367f0e4673b85
2012-07-19updated gles20 bindings, fixes broken methodsThomas Tafertshofer
this adds correct versions of the broken GLES20 methods glGetShaderSource, glGetActiveAttrib and glGetActiveUniform. the old functions are still there and need to be @hide later. Bug: 6006380 Change-Id: I8127a77c4b89aa8a9a54bea88774077535e2139d
2012-07-13EGL 1.4 API without @hideThomas Tafertshofer
Change-Id: If03d23082b011aaba41594712601495dcbd70f6a
2012-07-10EGL 1.4 bindings generated by glgenThomas Tafertshofer
Change-Id: I1c3da57101f4ea089a12f1796f25b72d6852141e
2012-04-16Improve GLSurfaceView Pausing.Jack Palevich
When pausing we want to do three separate things, in order: + release the EGL surface + optionally release the EGL context + optionally terminate Egl Previously we would only do these things if we had an EGL surface. But it is possible that we don't have an EGL Surface, but still have an EGL context. And in that situation we still want to release the EGL context. Now we check the preconditions for the three cases separately. Bug: 6338235 Change-Id: I804683b3d5c136cc98ea3f5051067eea18152ddf
2012-04-10Notify monitor waiters when changing mSurfaceIsBad value.Jack Palevich
Otherwise the waiters might not wake up, leading to ANRs. Bug: 6307843 Change-Id: I0646b4e8368f80dbff46342f75709992796973fd
2012-03-29Try to survive a failure return from eglMakeCurrent.Jack Palevich
Assume a failure in eglMakeCurrent occurs because the SurfaceView surface has been destroyed. See b/6257956 for an example of this failure happening during rotation stress testing. Change-Id: I4618703b5291aba3a3f0c6bd83c3435a67b97d33
2012-03-29Make GLSurfaceView handle eglSwapBuffers errors more robustly.Jack Palevich
A careful reading of the EGL spec, as well as experience with many different EGL drivers, has shown that it is error prone to attempt to discriminate between different error conditions. We now treat any error besides EGL_CONTEXT_LOST as an indication that the EGL context is in a bad state, most likely due to the window manager having removed the underlying surface flinger surface. In addition, we changed the way we deal with this kind of error: Previously we would ignore the error and keep rendering. But if the EGL context and surface has become invalid, it would be better to stop drawing. We now stop drawing until the surface view surface is recreated. See b/6032663 for an example of this problem affecting the GMM app, but note that GMM is using their own version of GLSurfaceView, so this change won't help them directly. They'll have to make a similar change to their version of GLSurfaceView. Change-Id: Iffe3e1e3a3c7a91d03140fd34391eadeaecf777e Signed-off-by: Jack Palevich <jackpal@google.com>
2012-03-22Merge "Remove EGL context limit for Adreno GPUs."Jack Palevich