8402 Commits

Author SHA1 Message Date
Mark Salyzyn
db15537e6e resolve merge conflicts of 082a1721b516 to master
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I17f178f425975c1c0dbd48091d25b101956d505e
2017-01-11 08:30:17 -08:00
Mark Salyzyn
082a1721b5 Merge "Replace cutils/log.h and log/logger.h with log/log.h" am: e7fcbcb991 am: 6143cbf1e5
am: ef8ccc8510

Change-Id: If6673f44c7d08960f3a0a86703cebf577bd21f1b
2017-01-11 15:45:46 +00:00
Mark Salyzyn
ef8ccc8510 Merge "Replace cutils/log.h and log/logger.h with log/log.h" am: e7fcbcb991
am: 6143cbf1e5

Change-Id: Id192d8dd973fe9e70acab72bae9856bc8a62ac75
2017-01-11 15:40:24 +00:00
Mark Salyzyn
e7fcbcb991 Merge "Replace cutils/log.h and log/logger.h with log/log.h" 2017-01-11 15:24:11 +00:00
John Reck
d645ac4d10 Merge "Fix a use-of-uninitialized-value warning." am: 95ef9ec5b1 am: 44e14d0d2b am: 5f3ed9b7de
am: 68dce922af

Change-Id: Id1c35f315618663a6139c2729871cdfd02fe451f
2017-01-11 01:41:03 +00:00
John Reck
68dce922af Merge "Fix a use-of-uninitialized-value warning." am: 95ef9ec5b1 am: 44e14d0d2b
am: 5f3ed9b7de

Change-Id: I6e35191f4ddda2590eae4cfac9af5c781d0e493b
2017-01-11 01:30:59 +00:00
John Reck
5f3ed9b7de Merge "Fix a use-of-uninitialized-value warning." am: 95ef9ec5b1
am: 44e14d0d2b

Change-Id: I5e5243c75f446d46bb81252583cfa46e47d60309
2017-01-11 01:21:30 +00:00
John Reck
95ef9ec5b1 Merge "Fix a use-of-uninitialized-value warning." 2017-01-11 00:57:35 +00:00
George Burgess IV
a483173c78 Fix a use-of-uninitialized-value warning.
This warning was generated by the static analyzer:
warning: The left expression of the compound assignment is an
uninitialized value. The computed value will also be garbage
        *mDirtyMask |= animator->dirtyMask();

This can be fixed by initializing dirtyMask before using it in
AnimateFunctor.

Bug: None
Test: Static analyzer no longer complains about this.
Change-Id: I892749079cf93a012f1bed059a3f0c8bbaed9d7e
2017-01-10 15:33:57 -08:00
John Reck
cfc07d4b2b Merge "Support EGL_KHR_partial_update without EGL_EXT_buffer_age" am: f66126c828 am: 620d4c24de
am: 43818c45a4

Change-Id: Ia093688d4c9fc2e923daf5da6d5b6d67c6b56975
2017-01-10 00:49:35 +00:00
John Reck
43818c45a4 Merge "Support EGL_KHR_partial_update without EGL_EXT_buffer_age" am: f66126c828
am: 620d4c24de

Change-Id: I4fdb8ecba5a08f712871d3b99e0286c61f6d0806
2017-01-10 00:44:29 +00:00
John Reck
1deac99c55 Support EGL_KHR_partial_update without EGL_EXT_buffer_age
Bug: 31334677
Test: manual && hwuimacro --onscreen partialdamage

Change-Id: I9b346b4053ec12c8a78a143a4dc0e708c44888a2
2017-01-09 14:35:37 -08:00
Mark Salyzyn
52eb4e01a4 Replace cutils/log.h and log/logger.h with log/log.h
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
2017-01-09 14:31:34 -08:00
Derek Sollenberger
c543713bab Merge "Remove clipRegion from the public API." 2017-01-09 18:01:50 +00:00
TreeHugger Robot
1198e13594 Merge "libandroidfw: Revert null check in ApplyStyle" 2017-01-07 02:20:17 +00:00
Adam Lesinski
06d3e8fec7 libandroidfw: Revert null check in ApplyStyle
The out parameter `out_indices` is expected to be non-null
and so the extra null check adds a cost to performance
and opens the door to misusing the API by not supplying
`out_indices`.

Test: make libandroidfw_tests
Change-Id: Ie66fd837c5e24ec2838156e7b67f54c15cd27933
2017-01-06 16:51:48 -08:00
Stan Iliev
770e0b5007 Implement image draw functions in SkiaCanvasProxy
Implement onDrawImage, onDrawImageRect and onDrawImageLattice in
SkiaCanvasProxy. This allows to replay SkPicture with HWUI pipeline.
This CL is needed to keep up with other changes in SkiaRecordingCanvas,
because Canvas::drawBitmap is translated to SkCanvas::drawImage.

Test: Built and ran angler-userdebug, ran HWUI unit tests.
Change-Id: Icd6cfd3bc51628a2c336faf4c95dfd5366a949a9
2017-01-05 16:53:14 -05:00
Derek Sollenberger
b29b16e542 Remove clipRegion from the public API.
This API is difficult to support for printing and has other negative
effects as it does not respect the current matrix/clip.

Test: compile
Bug: 14650725
Change-Id: I71f9bd687d446c7ce8910d755421aad8e09458db
2017-01-04 14:57:43 -05:00
Sergei Vasilinetc
8b6fe1d894 Merge "Support Bitmap.copy for hardware bitmaps" 2016-12-19 18:41:21 +00:00
sergeyv
05126d151e Support Bitmap.copy for hardware bitmaps
Test: android.uirendering.cts.testclasses.HardwareBitmapTests#testBitmapConfig*
bug:30999911
Change-Id: I2e80dff914bfa0666290701072ac93d30d218e8d
2016-12-16 17:46:10 -08:00
Stan Iliev
b66b8bb4a0 Ensure root render node clip cannot expand beyond dirty area
Use new Skia API to enfore clip restriction for root render node.
This brings Skia pipeline in line with HWUI. Unit test is
updated to reflect the new behaviour.

Test: Built and ran angler-eng, ran HWUI unit tests.

Change-Id: Iffce70fd37b6aff45eb6a23c8b1a64f45b5f1463
2016-12-16 14:42:33 -05:00
TreeHugger Robot
6df179cd73 Merge "Revert "try to stop using exotic clipps"" 2016-12-16 19:28:49 +00:00
TreeHugger Robot
cf4d807481 Merge "Add new RGBA_F16 bitmap config" 2016-12-16 19:02:06 +00:00
Joe Onorato
10e237e5c8 Merge changes from topic 'incident_1'
* changes:
  First checkin of incident reporting.
  Add a native class to interact with DropBoxManager.
2016-12-16 18:19:50 +00:00
Chris Craik
66b9d4486a Revert "try to stop using exotic clipps"
This reverts commit 834653bcf80a3879c4d80004469053f205d45b69.

Change-Id: Ie8cb787490832a0be154ec1263313982157faa81
2016-12-16 17:49:48 +00:00
Romain Guy
9505a65527 Add new RGBA_F16 bitmap config
This configuration uses 64 bits per pixel. Heach component is stored as a
half precision float value (16 bits). Half floats can be decoded/encoded
using android.util.Half.

RGBA_F16 bitmaps are used to decode wide-gamut images stored in 16 bit
formats (PNG 16 bit for instance). aapt is currently not aware of PNG
16 bits so such files must be placed in raw/ resource directories.

This first pass provides only partial drawing support with hardware
acceleration. RGBA_F16 bitmaps are stored in linear space and need
to be encoded to gamma space with the appropriate OETF to be rendered
properly on Android's current surfaces. They are however suitable for
linear blending. Full rendering support will be provided in a future
CL (BitmapShaders might be a bit tricky to handle properly during
shader generation).

Bug: 32984164
Test: bit CtsGraphicsTestCases:android.graphics.cts.BitmapRGBAF16Test

Change-Id: I328e6b567441a1b9d152a3e7be944a2cf63193bd
2016-12-16 09:15:07 -08:00
TreeHugger Robot
e59dc4124a Merge "try to stop using exotic clipps" 2016-12-16 15:49:47 +00:00
TreeHugger Robot
984c73ba73 Merge "Modify savelayer to save matrix and clip for Skia pipeline" 2016-12-16 00:01:06 +00:00
John Reck
4c80f87820 Merge "HWUI: prepare script for marlin & sailfish Test: this is a bench infrastucture" 2016-12-15 23:37:22 +00:00
TreeHugger Robot
711911bb95 Merge "Actually fix pixelcopy for 90/180/270 rotation" 2016-12-15 21:47:58 +00:00
Stan Iliev
68885e38b8 Modify savelayer to save matrix and clip for Skia pipeline
Modify SkiaCanvas::saveLayer to always save matrix and clip and
match HWUI behaviour. Also ensure android state tracking
behavior matches that of the Skia API (partial saves not
supported). This change is fixing SaveLayerAnimation
macrobench when buffer age is disabled.
Add a HWUI unit test that verifies clip and matrix are restored.

Test: built and ran angler-eng, ran hwui unit tests
bug:33429678
Change-Id: I62e429f9746518fef67663b0dd99ac499bf31af3
2016-12-15 16:47:34 -05:00
Mike Reed
834653bcf8 try to stop using exotic clipps
Change-Id: Id11d7744daa69c19fdc9b7723862b3d71ad21384
2016-12-15 16:01:42 -05:00
Joe Onorato
1754d744a7 First checkin of incident reporting.
There are a few major pieces here:

incidentd
---------
This daemon (started by init) runs and accepts incoming requests to take
incident reports.  When prompted, it calls into various system services
and fills in an IncidentProto data structure, and then writes the report
into dropbox.

The next steps for incidentd:
    - Security review of SELinux policies. These will be a subset of
      the dumpstate permissions.  Until this is done, incidentd is
      not started at boot time.

incident
--------
This shell command calls into incidentd, and can initiate an incident
report and either capture the output or leave for dropbox.

incident_report
---------------
This host side tool can call adb shell with the correct parameters
and also format the incident report as text.  This formatting code
was left of the device on purpose.  Right now it's pretty small, but
as the number of fields increases, the metadata and code to do the
formatting will start to grow.

The incident_report command also contains a workaround to let it
work before incidentd is turned on by default.  Right now, it is
implemented to call adb shell dumpsys <service> --proto directly,
whereas in the future it will go through the full incidentd flow.

incident_section_gen
--------------------
A build-time tool that generates a stripped down set of information
about the fields that are available.

libincident
-----------
This library contains the code to connect to incidentd, and the
meta proto definitions that are used by the framework protos.
The basics are here now, but they are not fully fleshed out yet.
The privacy.proto file contains annotations that can go in the
proto file that we will later use to filter which fields are
uploaded, and which are used by local sources.  For example, a
device in a test lab is safe to upload much much more information
than a real user.  These will share the same mechanism, but the
user's output will be filtered according to these annotations.

frameworks/core/proto
---------------------
These .proto files contain the definitions of the system's
output.  There is one master android.os.IncidentProto file that
is the top level of an incident report, but some other services
(notification, fingerprint, batterystats, etc) will have others
that are used directly by the logging mechanism.

Other files which are shared by several of the services also go
here, such as ComponentName, Locale, Configuration, etc.  There
will be many more.

There is also a first iplementation of a dump method handling
--proto in the fingerprint service.

IncidentManager
---------------
The java API to trigger an incident report.

Test: Not written yet
Change-Id: I59568b115ac7fcf73af70c946c95752bf33ae67f
2016-12-15 11:23:05 -08:00
Joe Onorato
de5b027d2c Add a native class to interact with DropBoxManager.
Test: Not written yet
Change-Id: I63ed888bd76f75c78a244a1bffae2d26f3b5f055
2016-12-15 11:23:05 -08:00
John Reck
eb418edae4 Actually fix pixelcopy for 90/180/270 rotation
Bug: 33421965
Test: PixelCopyTest testWindow* CTS tests
Change-Id: I1b49b3643c5d030c3d2de95de4a0ce3a4ff0111d
2016-12-15 10:26:33 -08:00
Stan Iliev
ed4d58cc33 Fix failing SkiaPipeline unit tests
Fix SkiaPipeline unit tests failure, caused by double deallocation
of SkCanvas in DeferLayer.

Test: build and ran angler-eng, ran HWUI unit tests.
Change-Id: I4a0a0113588e40a8ed32093d57efc6af3c0d7745
2016-12-15 09:52:15 -05:00
Colin Cross
0a2afc5061 Move hwui private headers to frameworks/base/libs/hwui/private am: 19def9943a am: 174d150673 am: 6b629b7f38
am: 904b4077ca

Change-Id: I2de0fa2990aab71b1afdc46bce63830c8b3ec904
2016-12-15 07:45:37 +00:00
Colin Cross
a515f11cc5 Convert libstorage to Android.bp am: 3ac2be93a9 am: f12ae4bed7 am: 791d02818a
am: fe9ffc29ff

Change-Id: Ia785d394bebb10757b031f14e368133e849c4c42
2016-12-15 07:44:37 +00:00
Colin Cross
87ba88ce6f Move libstorage includes into frameworks/base/lib/storage am: e78f853e46 am: afef87b1ba am: f142640afb
am: e6120caf2a

Change-Id: I2617bff54282647c2af5755349bf35d650f3d4c8
2016-12-15 07:43:29 +00:00
Colin Cross
904b4077ca Move hwui private headers to frameworks/base/libs/hwui/private am: 19def9943a am: 174d150673
am: 6b629b7f38

Change-Id: Ic62fcf3d48ad58c1dec0fc6ddf3eaacc8140cc18
2016-12-15 07:30:25 +00:00
Colin Cross
fe9ffc29ff Convert libstorage to Android.bp am: 3ac2be93a9 am: f12ae4bed7
am: 791d02818a

Change-Id: I73bb8a7332a6ba9aebf413cf9f0889ff9d98a5de
2016-12-15 07:29:24 +00:00
Colin Cross
e6120caf2a Move libstorage includes into frameworks/base/lib/storage am: e78f853e46 am: afef87b1ba
am: f142640afb

Change-Id: I9f084034f960478ee6141158a0a0c5119d1879a4
2016-12-15 07:28:24 +00:00
Colin Cross
6b629b7f38 Move hwui private headers to frameworks/base/libs/hwui/private am: 19def9943a
am: 174d150673

Change-Id: I0d97c3bc96c0beebc5988e4dca22ba4d5d1f982c
2016-12-15 07:16:31 +00:00
Colin Cross
791d02818a Convert libstorage to Android.bp am: 3ac2be93a9
am: f12ae4bed7

Change-Id: I1255ee2b166b73a79b19035d59994204bb268c82
2016-12-15 07:15:32 +00:00
Colin Cross
f142640afb Move libstorage includes into frameworks/base/lib/storage am: e78f853e46
am: afef87b1ba

Change-Id: Iff9c41710528af37a788973ac4a1080024808c95
2016-12-15 07:14:32 +00:00
sergeyv
91d6354cde HWUI: fix support RGB_565 for hardware bitmaps
Test: hwuimacro hwBitmap565
bug:30999911
Change-Id: Ie4128aba95a92041b7388c46d0b2109feaae302a
2016-12-14 16:34:55 -08:00
Colin Cross
19def9943a Move hwui private headers to frameworks/base/libs/hwui/private
hwui already exports most of its headers, move its private headers
into its source directory.

Bug: 33630870
Test: m -j native
Change-Id: I4968d5aaaa68d9e92c826841d20f29cef349c9d8
2016-12-14 13:35:40 -08:00
Colin Cross
3ac2be93a9 Convert libstorage to Android.bp
See build/soong/README.md for more information.

Test: m -j native
Change-Id: Ieb34d79af10e4e7cd146d0d40fd6946499dd1da0
2016-12-14 13:28:56 -08:00
Colin Cross
e78f853e46 Move libstorage includes into frameworks/base/lib/storage
Move the libstorage includes out of the global include path and into
frameworks/base/lib/storage/include, and export it.

Bug: 33630870
Test: m -j native
Change-Id: Idc0735360abc703496b9bc46d1a76ce8039af0d1
2016-12-14 13:28:46 -08:00
TreeHugger Robot
94b5c92a35 Merge "SkClipOp is now an enum class" 2016-12-14 18:29:58 +00:00