3621 Commits

Author SHA1 Message Date
Mark Salyzyn
6f773a0d87 Replace cutils/log.h and android/log.h with log/log.h
Test: compile
Bug: 34250038
Change-Id: I42185a879beaa9bb244f53a968800392b854ac45
2017-01-12 20:29:11 +00:00
Ben Wagner
610fbb3afd Merge "Use FatVector instead of SkAutoMalloc in VulkanManager." 2017-01-12 18:41:51 +00:00
Mark Salyzyn
22221f6981 Merge "resolve merge conflicts of ec7e2a164c37 to master" 2017-01-12 17:23:01 +00:00
Ben Wagner
eec27d51d2 Use FatVector instead of SkAutoMalloc in VulkanManager.
Skia is looking to make SkAutoMalloc private and will be moving it.
Using FatVector instead will make this code both less dependent on Skia
internals and more performant.

Test: refactoring CL. Existing unit tests still pass.

Change-Id: If9de10059775b75e1ab89078eacede2e20e91299
2017-01-12 11:52:31 -05:00
Mark Salyzyn
173215d1b2 resolve merge conflicts of ec7e2a164c37 to master
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I49c6e41b79061e2b3c0352e3ac8fa5ebb152b6f5
2017-01-12 08:28:30 -08:00
Mark Salyzyn
ec7e2a164c Merge "Replace cutils/log.h and log/logger.h with android/log.h or log/log.h (part deux)" am: 2225a0640b am: d1740f0f5b
am: 6dacea63d9

Change-Id: Ife229cc450dbbb5f43941fcd1b08b86f0e41a779
2017-01-12 15:59:48 +00:00
Mark Salyzyn
6dacea63d9 Merge "Replace cutils/log.h and log/logger.h with android/log.h or log/log.h (part deux)" am: 2225a0640b
am: d1740f0f5b

Change-Id: I78430cd21cf1186ccc2b48ee4ee8a9b07decde5e
2017-01-12 15:46:20 +00:00
Seigo Nonaka
ba3028c1fc Introduce set/getFontVariationSettings.
This CL enables developers to specify axis values to the underlying
font collection. The specification of the font variation settings is
the same as the CSS font-variation-settings attribute in CSS working
draft as of 2016-11-30.

Code example: Here is an example to set width 100 and weight 1.5.

  TextView tv = (TextView) findViewById(R.id.textView);
  tv.setFontVariationSettings("'wdth' 100, 'wght' 1.5");

Bug: 33062398
Test: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases
      and CtsWidgetTestCases
Change-Id: I249d464f8cdaa56017a987588b94ed685aadeb58
2017-01-12 18:11:03 +09:00
TreeHugger Robot
e4e375c749 Merge "Follow minikin::FontFamily constructor signature change." 2017-01-12 07:43:53 +00:00
Mark Salyzyn
96bf5985d5 Replace cutils/log.h and log/logger.h with android/log.h or log/log.h
(part deux)

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I7417936c4d3666608fccfe51a312c90ecefba2fb
2017-01-11 15:30:30 -08:00
TreeHugger Robot
4a07b95746 Merge "Fix Skia merge by fixing API mismatch." 2017-01-11 21:20:02 +00:00
TreeHugger Robot
ba5124b48b Merge "Fix dirty Z prop" 2017-01-11 20:55:09 +00:00
Derek Sollenberger
624ad836ec Fix Skia merge by fixing API mismatch.
Test: compile
Change-Id: Ie524af03fd3c85cceac13abdcdd9af8ef6ca6bb9
2017-01-11 14:57:34 -05:00
John Reck
41282b7629 Fix dirty Z prop
Test: none
Change-Id: I886d50e58d6f404c6d19860a3032ca1b2854e073
2017-01-11 11:26:48 -08:00
Greg Daniel
6efc30e1b7 Merge "Add support for dummy draws for Vulkan webview and texture views." 2017-01-11 19:01:52 +00:00
Greg Daniel
63b18b3fda Merge "Break Layer class into Gl and Vulkan subclasses" 2017-01-11 19:00:34 +00:00
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
Seigo Nonaka
a0a4828614 Follow minikin::FontFamily constructor signature change.
minikin::FontFamily no longer has addFont function, instead it accept
vector of Fonts in its constructor. To follow this signature change,
holding minikin::Font instance in native and build minikin::FontFamily
instance in FontFamily.freeze() method.

Test: hwui test passed
Change-Id: Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87
2017-01-11 17:57:59 +09: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
Greg Daniel
45ec62ba72 Add support for dummy draws for Vulkan webview and texture views.
Test: manual testing
Change-Id: Iaec8c3a34367673c281665ff6c6e97d1ce532265
2017-01-10 15:54:14 -05:00
Greg Daniel
8cd3edfa15 Break Layer class into Gl and Vulkan subclasses
Test: manual testing
Change-Id: Ibd2beed39de3ac6da7448e96496253cfe427dfbb
2017-01-10 15:05:07 -05: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
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
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
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