927 Commits

Author SHA1 Message Date
Mathew Inwood
b6c9782f5a Add @UnsupportedAppUsage annotations
For packages:
  javax.microedition.khronos.opengles
  javax.microedition.khronos.egl

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I3615f60789c14c44284c896c3a9ea291100dff8e
2018-08-17 15:23:54 +01:00
Mathew Inwood
c04326d7ca Add @UnsupportedAppUsage annotations
For packages:
  android.opengl

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I747cf5d5e6e211dc368545472fee65fd20cdae74
2018-08-09 17:38:56 +01:00
Mike Reed
287a1310ac remove unused private field
Test: CtsGraphicsTests

Change-Id: I611f5dc127636f67dc219ef15adc0a591a72a95e
2017-05-01 10:22:44 -04:00
John Reck
e7f4286c8a Workaround apps that override surfaceCreated
Fixes: 34512969
Test: manual, tested repro in bug and verified
basic GLSurfaceView usage in ApiDemos works
without warnings

Change-Id: I0ce9128874af681e9cfbd3b0b2ef5e2df7080154
2017-04-21 17:14:45 -07:00
Ricardo Loo
5e490d677a docs: Update gluUnProject parameter description. am: 232c4900ac am: cb6a5fc0f3 am: 94122af913
am: 7ade93fedf

Change-Id: Ifbdb0953222e7d2a5dd1a61ba1cf7880573563a2
2017-02-06 21:00:33 +00:00
Ricardo Loo
232c4900ac docs: Update gluUnProject parameter description.
Adding missing variable in the output vector.

Originally reported in
http://code.google.com/p/android/issues/detail?id=25143

Change-Id: I91d9ce7e53a9d9cdd890899a0edd49830d533b9b

Bug: 5991013
2017-02-03 18:40:27 -06:00
Kalle Raita
ebce2a7680 Add EGL_RECORDABLE_ANDROID enum in EGLExt
Test: CtsMediaTestCases on N5X
Bug: 29402583
Change-Id: I2520fdc51d363998d4404b033722fabf0d839113
2017-01-12 10:26:05 -08:00
Robert Carr
25cfa13483 Provide non-blocking SurfaceView draw notification path.
SurfaceView needs to notify the window manager that
drawing has been completed, so that animations and such
can begin. Currently this is implemented through
having the SurfaceView user block in surfaceRedrawNeeded
(called from  UI thread) until a frame has been completed.
This blocking can be unnecessary serialization during startup, and
also clumsy to implement for some users.

Test: GLSurfaceView and takeSurface API Demos, android.server.cts.SurfaceViewTests
Bug: 31850030
Change-Id: Idda02098a635f25cf392f2d59a3abbe54a1d64d4
2017-01-09 10:44:58 -08:00
Romain Guy
986af188b6 Guarantee that glMapBufferRange/glGetBufferPointv return a ByteBuffer
Bug: 24950082
Test: CtsGraphicsTestCases
Change-Id: I2835128bbd5d1b8a234324323c74eca6e55d8726
2016-11-30 17:14:57 -08:00
Romain Guy
1f071dd8c3 Deprecate eglCreatePixmapSurface
This function was never properly supported. It had partial support in our JNI
layer in EGL10 but not implementation in EGL14. It has never been tested and
it is unlikely that drivers support pixmap rendering.

Bug: 11257511
Test: CtsGraphicsTestCases
Change-Id: I209fff470c715cd97148a32b2f41ecf7e5283bab
2016-11-30 10:20:29 -08:00
John Reck
a6546e47d9 Merge \"Merge \\"update GlSurfaceView:onPause/Resume docs\\" into nyc-mr1-dev am: ee557b2b99\" into nyc-mr1-dev-plus-aosp
am: acfdf0eab5

Change-Id: I533118b55db988d8498b08806b3bb360b7a65deb
2016-07-01 22:09:47 +00:00
John Reck
cf89019e50 update GlSurfaceView:onPause/Resume docs
fixes: 22448595

Also delete some epically outdated code to
match the documented behavior

Change-Id: I2bb5b475433ebff8ca82db385e228fef11e32e20
2016-06-29 14:40:42 -07:00
Aurimas Liutikas
35ff3b3e9d Correct spelling error in GLSurfaceView.
Bug:
https://code.google.com/p/android/issues/detail?id=56762

Change-Id: I55f8000a6f29172dadd99221ad5ffe3789a3500a
2016-06-07 16:10:40 -07:00
John Reck
fd3cee138e Make surfaceRedrawNeeded forgiving
Fixes: 27071678

It's semi-common for apps to not realize surfaceRedrawNeeded
is a callback they can (and should) be handling, so have it be
more tolerant in lifecycle handling.

Specifically allow a renderer to have not yet been set on
GLSurfaceView, even though it was supposed to have been set already.
Apps are overriding the other lifecycle methods that require this
(created, changed, an destroyed) but not noticing this method.

Change-Id: I6cebca541eeec6e9949bdb55f687b095768a17b2
2016-04-18 13:26:48 -07:00
Pablo Ceballos
86a27f343c Merge "Fix glGetTransformFeedbackVarying JNI" into nyc-dev 2016-02-29 22:58:56 +00:00
Pablo Ceballos
68981ff03b Add glReadPixels with buffer-offset argument
- For reading into PBOs on GLES3, add an overloaded version of
  glReadPixels that takes an offset argument.

Bug 18878609

Change-Id: I744483deab6358a66b0dc5e87be1ae2b96560ac1
2016-02-22 11:50:31 -08:00
Pablo Ceballos
59fb43e7bd Fix glGetTransformFeedbackVarying JNI
- Deprecate the broken version that takes a byte argument.
- Implement a new version that takes a byte buffer argument.

Bug 19478262

Change-Id: I5ea4f11940e93b5964b66dbf5700b7ff8b80339e
2016-02-09 16:09:28 -08:00
Robert Carr
d4393b2897 Fix reentrant deadlock in GLSurfaceView.
It is possible for clients to call SurfaceView
methods e.g. setFormat from the GLSurfaceView#Renderer
drawFrame callback. In this case, SurfaceView#updatewindow
will understand that a redraw is required, and will request
it back to GLSurfaceView. Remember, we are still on the GLThread
though (from the drawFrame callback). So these methods
(requestRenderAndWait, windowSizeChanged), need to be reentrant.
Also fix a data race around mWantRenderNotification, which was
accessed out of lock.

Bug: 26770615
Change-Id: Ic66a36c886ae0b085dd456a4220f0d4f270fb016
2016-01-26 18:26:46 +00:00
Robert Carr
2b3bf720bf Implement surfaceRedrawNeeded for GLSurfaceView
GLSurfaceView was not supporting the surfaceRedrawNeeded protocol
which leads to issues with report draw. Thus far this has mostly
been fine as the main surface will not render
a transparent hole until the SurfaceView has finished drawing. However
in the case of SurfaceView replacement the hole in the parent surface
will be preexisting and we must be able to tell that our new SurfaceView
has actually drawn before removing the replacee. This is part of a
series of fixes to 26070641.

Bug: 26070641
Change-Id: Iecc16647f9979aa057449e8bafa540885881ed64
2016-01-08 15:13:54 -08:00
Pablo Ceballos
38c1a7e732 Add GLES32 class and JNI
Change-Id: I05ff0c14a35f51c2015edbd762dc9e6fe43347b9
2015-12-18 13:12:58 -08:00
Pablo Ceballos
dce45fd66b Merge "Add missing OpenGLES 3.1 bitfield constants." 2015-10-27 17:57:28 +00:00
Pablo Ceballos
a4d4e82927 Remove GLTrace support
GLTrace is defunct, it does not support newer GL features, breaks
security requirements, and has no supported tooling now that Eclipse
is at end of life.

Bug 22329852

Change-Id: I64c58464f8c2c7ae6125f5d5c7884e3fd34d68ea
2015-10-06 15:18:40 -07:00
Pablo Ceballos
3cdc93c6b4 Add missing OpenGLES 3.1 bitfield constants.
Bug 23892570

Change-Id: I92c7bb9bafb84259bdc42927193e989a6a95d4df
2015-09-29 23:25:54 +00:00
Chris Craik
59b429d106 Add tracing to GLSurfaceView
bug:21195272

Change-Id: I96bce6d6021fc720c73993202ba90997b0fc0e09
2015-06-08 17:40:00 -07:00
John Reck
f4faeac352 Cleanup Bitmap JNI attempt #2
Original version missed a spot

This reverts commit c02977e3bbfaaedcb1b1d67e1692becc7dddd59b.

Change-Id: I56244ce10d709fcdef42a001fe4c6ba7b6bbb04d
2015-03-05 13:56:16 -08:00
Chad Jones
c02977e3bb Revert "Cleanup Bitmap JNI"
This reverts commit b2915245b74b3b5541b123e38403f8e26426b4b7.

Change-Id: Idd7d7f33eec4ea5024c83de6b10d3d1a6ab2b17a
2015-03-05 19:34:26 +00:00
John Reck
b2915245b7 Cleanup Bitmap JNI
Fix a bunch of places where mNativeBitmap was being
poked at directly, switch them either to the NDK API
or to GraphicsJNI where it made sense

Change-Id: I6b3df3712d6497cba828c2d3012e725cb4ebb64d
2015-03-05 09:55:02 -08:00
John Reck
77e4a5250f Re-allow suppressing onDetachedFromWindow
Bug: 17578553

Games seem to be doing this to prevent destruction of their
GL contexts, and they assume it works even if it doesn't. However,
GLSurfaceView is clunky here, so while the app is doing something
questionable we don't really offer a better way. For now revert
back to kitkat behavior.

Change-Id: Icfa9e496279b9cfa47f9bc7f6848d9313caed0d5
2014-10-01 10:38:07 -07:00
John Reck
f47a594f52 Fix onTrimMemory for HardwareRenderer
Also fixes detachFunctor possibly drawing after return

 Bug: 15189843
 Bug: 15990672

Change-Id: I64c48cb674c461a8eeaba407b697e09f72c98ce3
2014-06-30 16:36:26 -07:00
Jesse Hall
61b2dfe224 opengl: Un-hide GLES31 and GLES31Ext classes
Bug: 15028495
Change-Id: Icda236ee12a06ef2eb9902253d272dee2b61f6ef
2014-05-21 21:04:20 -07:00
Jesse Hall
7ab63acdd0 opengl: Add GLES31 and GLES31Ext classes
Bug: 15028495
Change-Id: Ie967c1938060edb42864dd48efa668ae7bf5cd76
2014-05-21 21:04:20 -07:00
Jesse Hall
4660c9e064 am 43cea7ea: am 650a8860: am fc3c6a0e: Merge "EGL_OPENGL_ES3_BIT_KHR is set as ES 3 context is requested."
* commit '43cea7eadbcb3930887eadfa3f278e1a666449d0':
  EGL_OPENGL_ES3_BIT_KHR is set as ES 3 context is requested.
2014-04-21 19:49:40 +00:00
Jin Zhebin
28a5c59357 EGL_OPENGL_ES3_BIT_KHR is set as ES 3 context is requested.
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-04-15 05:11:58 +08:00
John Reck
b14dfe20ef Revert "Revert "Workaround apps not calling super.onDetachedFromWindow()""
This reverts commit bac16fae7e6fceb1e516252ede673844b772e7c3.

Change-Id: I61e997b23fac1aa984129fdc0328426ff8891bdd
2014-03-06 14:12:35 -08:00
Bart Sears
bac16fae7e Revert "Workaround apps not calling super.onDetachedFromWindow()"
Requested by jreck to fix the build.

This reverts commit 198d20842a537f3df3584ea084e74220e172b086.

Change-Id: I733065cc124b59bf914034f5bac5e2e951a5b604
2014-03-06 21:09:51 +00:00
John Reck
198d20842a Workaround apps not calling super.onDetachedFromWindow()
Bug: 13338698
 Move the releasing of hardware resources to a new
 @hide onDetachedFromWindowInternal

Change-Id: I52b4e6ba4d5b3ce20b89cabffa248d1d780e3e81
2014-03-06 12:40:49 -08:00
Narayan Kamath
80009c0298 Fix bad link tag in javadoc.
Java7 javadoc tools seem to accept this without complaint
but not all targets use java7 yet.

Change-Id: Ib025d12550f5fd68edce5760747f9225a2be50c6
2014-02-28 14:06:44 +00:00
Narayan Kamath
1801b180da API changes for 64 bit platforms.
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-27 14:17:48 +00:00
Narayan Kamath
e5f98941ba am 7aec4109: am 7aeb4307: am 2525acf5: am e4dae5f2: Merge "AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY"
* commit '7aec4109c53371e69bec111c69767810f45c301c':
  AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
2014-02-27 13:33:23 +00:00
Ashok Bhat
64d38d9f48 AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
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-26 19:07:54 +00:00
John Spurlock
a77cf87354 Merge "Tabs -> spaces in frameworks/base." 2014-02-25 19:57:33 +00:00
John Spurlock
8a985d24ce Tabs -> spaces in frameworks/base.
Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
2014-02-25 09:49:29 -05:00
Narayan Kamath
58908b02f3 am d8410d38: am 614b00de: am a88abfb3: am 6ab07fac: Merge "Use long for pointers in opengl/EGL classes"
* commit 'd8410d38cf2eb133dab29aec722dce862584d115':
  Use long for pointers in opengl/EGL classes
2014-02-25 13:20:47 +00:00
Ashok Bhat
84bbeb9e0c Use long for pointers in opengl/EGL classes
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-24 15:50:22 +00:00
Andy McFadden
9ba6ecb275 Hide three malformed GL bindings
They were replaced with correct bindings a while back, but the
broken methods weren't hidden.

Bug 6006380

Change-Id: I3432d37a6bf411bbd2b3ea363749e32fcff28672
2014-02-19 10:34:54 -08:00
Ashok Bhat
863f98bbb3 Use long to store pointers in GLES_JNI/EGL classes
Change-Id: I43b32f2a85c07b3f59c57e28e3d03e8d1cabcd8b
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-01-31 16:27:30 +00:00
Jesse Hall
a0ab49bb52 Merge "Fix incorrect name in eglSwapBuffers log wrapper" 2013-12-15 00:11:21 +00:00
Brian Harris
544604098c Fix incorrect name in eglSwapBuffers log wrapper
Correctly identify eglSwapBuffers in EGLLogWrapper, which had been
labeled as "eglInitialize".

Change-Id: I67c61e100e2f84400ceebc28712f036e5a055017
2013-12-10 15:36:46 -08:00
Andy McFadden
066bdcfe83 Merge "Fix wrapper equals()" 2013-06-24 17:42:25 +00:00
Andy McFadden
a017553638 Fix wrapper equals()
Make it faster and correcter.

Bug 9204146

Change-Id: Ieeb97b72005e831ec6b94fc24ed2c3bc03307c2a
2013-06-21 16:21:05 -07:00