Commit Graph

264 Commits

Author SHA1 Message Date
Trevor Black
16ed37a876 Revert "Revert "Deprecate setRotateEulerM and replace with setRo..."
Revert submission 2382753-revert-2208281-opengl-matrix-VRTQUTHPDK

Reason for revert: Revert-Revert-with-fix

Reverted changes: /q/submissionid:2382753-revert-2208281-opengl-matrix-VRTQUTHPDK

Change-Id: Ie6b4eee4f06c1b8b6b8e97bdbce76d01e05f15d1
2023-01-13 19:57:59 +00:00
Trevor Black
449f4269e2 Revert "Revert "Move Matrix operations multiplyMM and MultiplMV ..."
Revert submission 2382753-revert-2208281-opengl-matrix-VRTQUTHPDK

Reason for revert: Revert-Revert-with-fix

Reverted changes: /q/submissionid:2382753-revert-2208281-opengl-matrix-VRTQUTHPDK

Change-Id: I8bde74db4e9fde278a6d53c1784d3a65530c5173
2023-01-13 00:02:48 +00:00
Lei Ju
b2dc0c947a Merge "Revert "Deprecate setRotateEulerM and replace with setRotateEulerM2"" 2023-01-10 16:51:26 +00:00
Lei Ju
ee260c951f Merge "Revert "Move Matrix operations multiplyMM and MultiplMV out of jni"" 2023-01-10 16:51:26 +00:00
Flare Chiu
01be251f81 Revert "Deprecate setRotateEulerM and replace with setRotateEulerM2"
Revert submission 2373309-opengl-matrix2

Reason for revert: b/264967121

Reverted changes: /q/submissionid:2373309-opengl-matrix2

Change-Id: Icae70f12fa51212062b70a071a9626561d22215e
2023-01-10 13:30:11 +00:00
Flare Chiu
89fe5f3e92 Revert "Move Matrix operations multiplyMM and MultiplMV out of jni"
Revert submission 2208281-opengl-matrix

Reason for revert: b/264967121

Reverted changes: /q/submissionid:2208281-opengl-matrix

Change-Id: Ie4c0ba1fc38fb27c8f5f307aa110771f6dc57847
2023-01-10 13:20:02 +00:00
Trevor David Black
b52f95daaf Deprecate setRotateEulerM and replace with setRotateEulerM2
Bug: 159034015
Test: Build
Change-Id: I99e0124c2c9baf7fd2e05a59660746bd7bbaa999
2023-01-04 15:17:49 +00:00
Trevor David Black
dd7fc9f1a3 Move Matrix operations multiplyMM and MultiplMV out of jni
Bug: 245018194
Test: Build
Change-Id: I64b12470d4108641e23cd35e7ab38543d9897b4f
2023-01-01 22:27:43 +00:00
Bowen Li
044fce0b82 fix lost old callback when continuous call requestRenderAndNotify
If continuous call requestRenderAndNotify before trigger old
callback, old callback will lose, cause VRI will wait for SV's
draw to finish forever not calling finishDraw.

Bug: 253536483

Signed-off-by: Bowen Li <libowen1@xiaomi.corp-partner.google.com>
Change-Id: I8d28ad2bfc077db6343e04d3f454cd06055f9b52
2022-10-21 11:19:17 +08:00
Cole Faust
584140c83a Fix array-related errorprone warnings
The ArrayEquals, ArrayHashCode, ArrayToString, and
ArraysAsListPrimitiveArray errorprone findings were
demoted from errors to warnings. Fix existing
occurrences of them so they can be made errors again.

Bug: 242630963
Test: RUN_ERROR_PRONE=true m javac-check
Change-Id: Ia6f216cc36ad0a5758f39fd9b34962cd4adf9d8e
2022-08-25 10:57:12 -07:00
John Reck
1ce46f750a Add ability to make SyncFence from EGL
Bug: 217776226
Test: atest android.graphics.cts.EGL15Test#testEGL15AndroidNativeFence
Change-Id: I5e1356739831f63426521561c45e719fc5f419d9
2022-02-10 19:48:45 -05:00
Bob Badour
de423b7a58 [LSC] Add LOCAL_LICENSE_KINDS to frameworks/base
Added SPDX-license-identifier-Apache-2.0 to:
  drm/java/Android.bp
  graphics/java/Android.bp
  identity/Android.bp
  identity/java/Android.bp
  keystore/java/Android.bp
  location/java/Android.bp
  location/tests/Android.bp
  lowpan/java/Android.bp
  media/mca/effect/java/Android.bp
  media/mca/filterfw/java/Android.bp
  media/mca/filterpacks/java/Android.bp
  mime/java/Android.bp
  mms/java/Android.bp
  opengl/java/Android.bp
  rs/java/Android.bp
  sax/java/Android.bp
  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp
  telecomm/java/Android.bp
  telephony/common/Android.bp
  tests/FlickerTests/test-apps/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
  telephony/java/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I2ee0af9ce8f74de2172b359b41d2c52a8b8f7e6c
2021-03-31 19:55:25 -07:00
Anton Hansson
9b2c4a650b Move framework java filegroups into subdirectories
All the java code used to build the framework jar and run metalava
was previously defined in the toplevel Android.bp files. Move these
into the subdirs where the source actually lives.

This simplifies the rules themselves (no path and needless prefix) and
declutters the top level Android.bp.

Test: m
Change-Id: I97086e309eacb879d16facb8497d9940fa5ddaf6
2021-03-30 12:26:55 +01:00
Jeff Sharkey
fab0ab3c9c Improve OWNERS coverage across frameworks/base/.
As general background, OWNERS files expedite code reviews by helping
code authors quickly find relevant reviewers, and they also ensure
that stakeholders are involved in code changes in their areas.

Some teams under frameworks/base/ have been using OWNERS files
successfully for many years, and we're ready to expand them to cover
more areas.  Here's the historical coverage statistics for the last
two years of changes before these new OWNERS changes land:

-- 56% of changes are fully covered by OWNERS
-- 17% of changes are partially covered by OWNERS
-- 25% of changes have no OWNERS coverage

Working closely with team leads, we've now identified clear OWNERS on
a per-package basis, and we're using "include" directives whenever
possible to to simplify future maintenance.  With this extensive
effort, we've now improved our coverage as follows:

-- 98% of changes are fully covered by OWNERS
-- 1% of changes are partially covered by OWNERS
-- 1% of changes have no OWNERS coverage

This specific change is automatically generated by a script from
detailed ownership information confirmed by team leads.

Bug: 174932174
Test: manual
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Merged-In: I9789c97c1de8e5d962b48c29c57d82fe83729eba
Change-Id: I9789c97c1de8e5d962b48c29c57d82fe83729eba
2020-12-08 08:36:27 -07:00
Mathew Inwood
5d123b6775 Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-11-04 09:45:53 +00:00
Artur Satayev
9a5c3105dd Replace dalvik..UnsupportedAppUsage annotation.
The new annotation to be used is android.compat.annotation.UnsupportedAppUsage.

Test: m
Bug: 145132366
Change-Id: Ib2101605fb385b4f778893e5181a954dccbea037
Exempt-From-Owner-Approval: roll-forward previously approved change
2020-01-23 18:35:07 +00:00
Artur Satayev
2ebb31c00c Use new UnsupportedAppUsage annotation.
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.

Bug: 145132366
Test: m && diff unsupportedappusage_index.csv \
      git diff HEAD^ HEAD | grep '^[+-][^+-]' | grep -v '.import'

Change-Id: I853372f3c6fef905553bb31be4f1bb48df735f7a
2020-01-08 16:06:00 +00:00
Automerger Merge Worker
90dc909c3a Merge "Revert "Use new UnsupportedAppUsage annotation."" am: edf7ce4f38 am: 019286764f am: f6253ef435
Change-Id: Id33f64eb9c8aa7d68cc52f7359b4f0a3d2675d8a
2019-12-19 12:13:32 +00:00
Austin Wang
a63a2c0130 Revert "Use new UnsupportedAppUsage annotation."
This reverts commit a5264903e2.

Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=sdk_phone_armv7-sdk&lkgb=6083299&lkbb=6085371&fkbb=6083313, bug b/146533269

Change-Id: Ie5b031d7b277cf0e09b0a9776b26bf74f5f69e70
2019-12-19 06:38:19 +00:00
Automerger Merge Worker
277353090c Merge "Use new UnsupportedAppUsage annotation." am: 1385dca8f6 am: 068a9faf3d am: c7f44bacbe
Change-Id: I30839db2fe99ba4670ec1b39d5e64540fdd15f69
2019-12-18 16:31:41 +00:00
Artur Satayev
a5264903e2 Use new UnsupportedAppUsage annotation.
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.

Bug: 145132366
Test: m && diff unsupportedappusage_index.csv \
      git diff HEAD^ HEAD | grep '^[+-][^+-]' | grep -v '.import'
Change-Id: I087bb1cecbe59f1cf0c2e770c735d7a433722c6f
2019-12-18 12:07:36 +00:00
Artur Satayev
751e55114c Add @UnsupportedAppUsage annotations for greylist.
go/cleanup-greylist-txt

These have already been greylisted, however due to bugs/omissions in the tooling have been kept in go/greylist-txt instead of being annotated in the code.

This is partial merge of aosp/Id6c1f5e403a0e66edb1102ee45f3bf19f244fb09. Telephony greylist cleanup has been done separately. Note that annotations outside of frameworks/base/ have been merged from AOSP.

Bug: 137350495
Test: m
Exempt-From-Owner-Approval: merge
Change-Id: I015c466e8b69cc0fed5e9d394ba865aad11d8ba6
2019-11-19 15:05:35 +00:00
Artur Satayev
fc46be7dbd Add @UnsupportedAppUsage annotations for greylist.
go/cleanup-greylist-txt

These have already been greylisted, however due to bugs/omissions in the tooling have been kept in go/greylist-txt instead of being annotated in the code.

Bug: 137350495
Test: m

Change-Id: Id6c1f5e403a0e66edb1102ee45f3bf19f244fb09
Merged-In: Id6c1f5e403a0e66edb1102ee45f3bf19f244fb09
2019-11-08 16:17:13 +00:00
Derek Sollenberger
9ca5bbe39f Create C API for accessing android.graphics.Bitmap in native code.
Restrict access to SkBitmap for libandroid_runtime.so to be only within
the boundaries of the graphics module.

Test: CtsUiRenderingTestCases
Bug: 137655431
Change-Id: I4d0ea227e91d22068966513c4e3a55021b9e924f
2019-09-10 14:50:02 -04:00
Courtney Goeltzenleuchter
43ef0c3d9b EGLAttrib requires special handling in JNI
EGLAttrib is defined for a C / C++ interface and is
intended to be the size of a pointer. That can change
depending on which abi the code is built for but Java doesn't
have a way of dealing with such types. Java defines EGLAttrib
as a jlong, so need to convert jlong to 32bit when running on
a 32bit device.

Bug: 124382141
Test: atest --all-abi CtsGraphicsTestCases:EGL15Test
Change-Id: I966f6a3716b2710e17d10e0d0cb58314853675e0
2019-04-04 11:02:54 -06:00
Leon Scroggins III
71fae62f5f Pass Bitmap's native instance to JNI where feasible
Test: CtsGraphicsTestCases, CtsUiRenderingTestCases,
      CtsRenderscriptTestCases

This is significantly faster than passing the Java object down and then
calling a JNI method to retrieve the pointer. See
https://buganizer.corp.google.com/issues/16656908#comment19

In some cases this changes what used to be native crashes (due to
android::BitmapWrapper:assertValid's LOG_ALWAYS_FATAL_IF) into
NullPointerExceptions (if a caller used a null Bitmap).

In addition:
- Remove unnecessary JNIEnv param from toBitmap(jlong)
- Change instances of toBitmap(JNIEnv*, jobject) to the above
- Replace calls to GraphicsJNI::getSkBitmap() to inline calls to
  toBitmap/getSkBitmap
- make Canvas#nInitRaster @FastNative (FIXME: Could these be
  @CriticalNative?)

Change-Id: I6194097be1b6e6952eba70e1e7052a5a250eed93
2019-03-27 13:39:23 -04:00
Courtney Goeltzenleuchter
986992f2cd Make EGL15 class final
Updates from API review feedback.
Bug: 118296391
Test: manually inspect code

Change-Id: If79f03497e77dfce65909a734bafbb6e08c39155
2018-10-24 09:25:55 -06:00
Courtney Goeltzenleuchter
6e8c60ccc1 Add EGL15: eglCreateImage, eglDestroyImage
Also change eglCreatePlatformPixmapSurface to throw an
unsupported extension rather than call the native function
which will return an error indicating it's unsupported.

Bug: 80297325
Test: atest CtsGraphicsTestCases:EGL15Test
Change-Id: I94f2d39678515fdacf9b2fccd1c531365930ad1b
2018-10-23 07:44:56 -06:00
Courtney Goeltzenleuchter
367ed8b190 Update to EGL 1.5
Test: compile
Bug: 80239516
Change-Id: I1c00ac5e55900260b724e1c298edca15f87f3a01
(cherry picked from commit 63584195b9d15daa9973d280381fd619cd7a0f89)
2018-10-16 14:10:20 -06:00
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