• Home
  • History
  • Annotate
  • only in /frameworks/base/libs/hwui/hwui/
History log of /frameworks/base/libs/hwui/hwui/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4277d8f3e6d967e9fdca181d7bbc9516f9a1fe0e 23-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix recent apps in system UI for Skia pipeline" into oc-dev
f5f27cd828084456bbc01520b44688df2b49b4b2 22-May-2017 Stan Iliev <stani@google.com> Fix recent apps in system UI for Skia pipeline

Enable HW Bitmaps for Skia pipelines by using a readback to
convert GraphicBuffer into a raster SkImage. Both BitmapShader
and drawing HW bitmaps into a canvas are supported.

Test: recent apps work, no memory leaks, CTS graphics and
UiRendering tests passed, HWUI unit test passed
bug: 38136140
Change-Id: I23fed5febad3b1009e0417fb7e21a347a8d11b0d
Merged-In: I23fed5febad3b1009e0417fb7e21a347a8d11b0d
itmap.cpp
9a814875c4e3a98fea99dae623f22268a9afa38a 23-May-2017 John Reck <jreck@google.com> Improve time to texture destruction

Eliminate textureCache.mGarbage which is only cleared
in a trimMemory. Instead when we hit ~Bitmap post a
message to RenderThread to release the texture immediately

Bug: 38258699
Test: manual
Change-Id: I962ba275e89afb628ba02f74769287edbab9fed4
itmap.cpp
9363d33262631651e39c4882a13a06ee4319c4fd 17-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Fix recent apps in system UI for Skia pipeline"" into oc-dev
576b6a8a7994f649c0dbacfc34611d1580e16bd6 17-May-2017 John Reck <jreck@google.com> Revert "Fix recent apps in system UI for Skia pipeline"

This reverts commit 625dd56a45bfe95c5f1baa1891529503ff3374a9.

Reason for revert: Caused a memory leak, b/38330767
Bug: 38136140
Bug: 38330767
Test: manual, verified memory isn't leaking doing the steps in b/38330767

Change-Id: I998bea04788d58ba6bad71c1691d5a3b33190c1b
Merged-In: I98b2dfd750be57a15785808e2d5723616e2ce20a
itmap.cpp
itmap.h
dad0ba155e4d16ee7bae92a69943d7d2a3e9ee71 13-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix recent apps in system UI for Skia pipeline" into oc-dev
625dd56a45bfe95c5f1baa1891529503ff3374a9 06-May-2017 Stan Iliev <stani@google.com> Fix recent apps in system UI for Skia pipeline

Enable HW Bitmaps for Skia pipeline just enough to make
recent apps list working by adding support for BitmapShader.
Drawing HW bitmaps in a canvas is also supported.

Test: recent apps work, HWUI unit tests pass, CTS tests pass.
bug: 38136140
Change-Id: Ibd06c859c86dc213310d5ce5272497e1882d0cc6
Merged-In: Ibd06c859c86dc213310d5ce5272497e1882d0cc6
itmap.cpp
itmap.h
373b15bda93c8b400c5e1271bc93cbef26af503f 02-May-2017 Seigo Nonaka <nona@google.com> Fix double bolding

resolveStyle increases minikinStyle's weight value based on Skia's style
value. Since we compute Skia's style based on given weight value, we
should not add extra bold weight to minikinStyle.

This CL also fixes misunderstanding of base weight.
The base weight is only used for computing weight relative to the
weighted alias. Thus, base weight should not be updated except for
createWeightAlias method.

To be clear, this CL changes the function names but keeps the same
semantics as before.

Test: adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Test: am instrument -w -e class android.graphics.cts.TypefaceTest\
android.graphics.cts/android.support.test.runner.AndroidJUnitRunner
Bug: 37880319
Merged-In: Ied73189b11792fb062da46f45afd2db664e6ecb4

Change-Id: I82350a1bfb99ce198b955f127949e21bccccb1cb
ypeface.cpp
ypeface.h
9fd259c9b0878ba52fec86173d76976e70977fcd 04-May-2017 sergeyv <sergeyv@google.com> Add StrictMode.noteSlowCall to calls that result in hw bitmap readback

bug:37748500
Test: BitmapTest:*inStrictMode
Change-Id: Ifea1c6f0c50ba2f409c96b7ccf7eb31c89ef81c8
itmap.cpp
d154829cb15d61f1469f939d608e691256e2a765 12-Apr-2017 Seigo Nonaka <nona@google.com> Use provided style for fallback font selection

If the developer gives some weight/italic to the Typeface.Builder
the fallback used the metadata in the font file. We should use
provided data instead.

This CL also adjusts upper and lower limits on weight, from 100..900 to
1..1000

Bug: 37257745
Bug: 37251569
Test: android.graphics.cts.TypefaceTest passes
Change-Id: I7cf390d96b49afcce359928373698b0c9a9babd8
ypeface.cpp
ypeface.h
729a515e5ebcf38e3472bb8fee4e9400745c400c 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Introduce setFallbackTypeface" into oc-dev
5b6347a6af668ba47b3fab14cefbe03cc440c3a4 31-Mar-2017 Seigo Nonaka <nona@google.com> Introduce setFallbackTypeface

setFallbackTypeface is returned by Builder.build() method when the
provided font is not loaded due to some reasons.
The fallback family is resolved with width/italic passed to Builder.

Bug: 36794225
Test: android.graphics.cts.TypefaceTest passes
Change-Id: I65e220aca823fd815a52437b11c8e6dc952de8e2
ypeface.cpp
ypeface.h
44dc270830758d5b0f5b099e7c0e308bdf027dfb 13-Apr-2017 Matt Sarett <msarett@google.com> Add SkiaCanvas::captureCanvasState()

Test: Verified bug is fixed. Wrote unit test.

Bug: 37268771

Change-Id: I9deb7db353cd2129ad245e7f65419670463bb717
anvas.h
8242656f495847c50c9ceaea92839dce78218a75 05-Apr-2017 Romain Guy <romainguy@google.com> Color management, the missing pieces

Implement missing color management pieces for bitmaps:

- Bitmap.createBitmap(Bitmap src, ...) now creates a bitmap
in the same color space as the source bitmap
- Bitmap.createScaledBitmap() now creates a bitmap in the
same color space as the source bitmap
- Bitmap.createBitmap(..., ColorSpace colorSpace) to create
bitmaps in a specific color space
- Fix copy from A8 to F16
- Copying bitmaps in F16 or with a color space does not work,
it's currently a limitation in Skia

Bug: 36905374
Test: BitmapColorSpaceTest
Change-Id: I0092fe4432511db50daa3a9393389a9db05e0c2a
itmap.cpp
itmap.h
c273784c91fa938586eda2a91b7268e431e838d5 06-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I6f00614d,I987eeab2 into oc-dev

* changes:
Convert 16 bit bitmaps to 8 bit on devices that do not have GLES3.0
Fix HardwareBitmapTests.testBitmapConfigFromRGB565
7c98f5da3d95ef383de04fb5e941adec4fe1a4cf 06-Apr-2017 Romain Guy <romainguy@google.com> Fix HardwareBitmapTests.testBitmapConfigFromRGB565

Bug: 37077304
Test: HardwareBitmapTests.testBitmapConfigFromRGB565
Change-Id: I987eeab243f93f9ee8fe8d1b6a12ddbd23225651
itmap.cpp
ea70d22dc8dc5d61f075edf6d03f86f6a68169cd 29-Mar-2017 Matt Sarett <msarett@google.com> Xform bitmaps to sRGB on SW and PDF canvases

For picture-backed canvases, we will defer the xform
until playback.

Test: Unit tests and cts test.
Bug: 32984164
Change-Id: Ib74663bcb688b74b6ba8792b403b0475126732af
anvas.h
caaaa66e57293e4a6f312649bf472eab84d5c7fe 27-Mar-2017 Romain Guy <romainguy@google.com> Convert bitmaps to sRGB/scRGB when they have a color profile

This change also fixes an issue with RGBA16F bitmaps when modulated
with a color (for instance by setting an alpha on the Paint object).

The color space conversion is currently done entirely in the shader,
by doing these operations in order:

1. Sample the texture
2. Un-premultiply alpha
3. Apply the EOTF
4. Multiply by the 3x3 color space matrix
5. Apply the OETF
6. Premultiply alpha

Optimizations:
- Steps 2 & 6 are skipped for opaque (common) bitmaps
- Step 3 is skipped when the color space's EOTF is close
to sRGB (Display P3 for instance). Instead, we use
a hardware sRGB fetch (when the GPU supports it)
- When step 3 is necessary, we use one of four standard
EOTF implementations, to save cycles when possible:
+ Linear (doesn't do anything)
+ Full parametric (ICC parametric curve type 4 as defined
in ICC.1:2004-10, section 10.15)
+ Limited parametric (ICC parametric curve type 3)
+ Gamma (ICC parametric curve type 0)

Color space conversion could be done using texture samplers
instead, for instance 3D LUTs, with or without transfer
functions baked in, or 1D LUTs for transfer functions. This
would result in dependent texture fetches which may or may
not be an advantage over an ALU based implementation. The
current solution favor the use of ALUs to save precious
bandwidth.

Test: CtsUiRenderingTests, CtsGraphicsTests
Bug: 32984164
Change-Id: I10bc3db515e13973b45220f129c66b23f0f7f8fe
itmap.cpp
51218e80f70601193e43d90aaf1599a7f6d11062 14-Mar-2017 Seigo Nonaka <nona@google.com> Pass FontCollection to doLayout's argument instead of ctor

Test: minikin_unit_tests
Test: minikin_stress_tests
Bug: 36223724
Change-Id: I55aca62eab4df0c138fec764d616984b50bd73f1
inikinUtils.cpp
2bd7d98fe844ebd6632a55eee9abf6d18651caf5 28-Feb-2017 Mathias Agopian <mathias@google.com> fallout from getting rid of IGraphicBufferAlloc

Test: compiled & run
Bug: cleanup
Change-Id: I1590105d3abef985c2ae7c1a03cdf5fd2ec4bef9
itmap.cpp
efb4b06493fe7b1604c762a448b13c7af2845a8d 27-Feb-2017 Romain Guy <romainguy@google.com> Add ColorSpace information on Bitmap

This is the first step toward interpreting color spaces at render time.

Bug: 32984164
Test: BitmapColorSpaceTest in CtsGraphicsTestCases

Change-Id: I0164a18f1ed74a745874fe5229168042afe27a04
itmap.cpp
c7064146f959caec058980ced144942c8044a169 10-Feb-2017 Seigo Nonaka <nona@google.com> Follow Minikin's signature changes.

Minikin now uses shared_ptr instead of MinikinRefCounted.

Bug: 28119474
Test: manually tested
Test: hwui_unit_tests passed.
Change-Id: Ie0564851a8a798af112679e15f7a07db000a977e
anvas.cpp
inikinSkia.cpp
inikinSkia.h
inikinUtils.cpp
inikinUtils.h
ypeface.cpp
ypeface.h
b216c21acdbcb0e8a2b970d6ff9f72e9bf185623 22-Feb-2017 Mike Reed <reed@google.com> underline is now only tracked by android

Change-Id: I189c57dd47ad413b8964d7e5805dfd6d4af11982
anvas.cpp
7a18b799617465a0a27dde1cf0c5f48c52db7980 13-Feb-2017 Seigo Nonaka <nona@google.com> Implement getAxes() method.

getAxes() is necessary for calling hb_font_set_variations.

Test: None
Change-Id: Iec4759189b0653aa483ba85682d10b2b81beaab8
inikinSkia.cpp
inikinSkia.h
ypeface.cpp
89ddb1f1644e0b47de060d2c9aaf6d5387c38f2f 10-Feb-2017 Matt Sarett <msarett@google.com> Update framework to use new SkColorSpace API

Test: This compiles with SK_USE_LEGACY_NAMED_COLOR_SPACE
turned off.

Change-Id: Ie573f59e0aa475bab06b38589db3c6158ad82c5a
itmap.cpp
9f4a82f5692831ad80f515fa831fddfdfe50b7b0 02-Feb-2017 sergeyv <sergeyv@google.com> Hardware bitmaps: Destroy texture ID generated for the copy

Test: manual
bug:34807359
Change-Id: Idb1ef2a2efcb3cf7fb96e2a1f0554a06e7cd0fc2
itmap.cpp
9ff994d98846d24bc488939af6e7dc440149a4bc 30-Nov-2016 Seigo Nonaka <nona@google.com> Introduce set/getFontVariationSettings.

This is 2nd attempt of I249d464f8cdaa56017a987588b94ed685aadeb58.
The original CL was reverted due to conflicting with another CL submitted
before.
Nothing has changed except for following class name changes.

Here is the original commit message of reverted change.

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: I9cdfbdecc87c995d805096883ef2652768c6c21e
inikinSkia.cpp
inikinSkia.h
ypeface.cpp
ypeface.h
8b48e624457e438fcc2b6b9363329036ef2f7743 07-Jan-2017 Seigo Nonaka <nona@google.com> Follow minikin::FontFamily constructor signature change.

This is 2nd attempt of Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87.
The root caus of crash is due touching null pointer in nUnrefFamily.
After above change, native object may not be created on error case.
In that case, nUnrefFamily can not be called. In addition to this issue
there is also memory leak on error case. This fixes it by introducing
abortCreation method.

Also this contains fix of layout lib breakage done by jgaillard@.
Originally submitted by Ic8872a43993bcb0a157c5e3f0ce423af9b47f606

Here is original commit message of reverted 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.

Bug: 34042446
Bug: 28119474
Bug: 34378805
Test: hwui test has passed
Test: m layoutlib layoutlib-tests
Change-Id: Ic34ebaa8191273d4c9f49c43124f15a1da5f7b78
ypeface.cpp
c0d685b87aa544bc23c1ed1c01e88f6c04855f72 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Follow minikin::FontFamily constructor signature change."

This reverts commit a0a4828614edfd633ab86f04408e7f4e55b491dd.

Bug: 34378805
Change-Id: Icbdbfbde2efe8eaebbe4334a679e3b3247057388
ypeface.cpp
24fac986ecad9a4c8b7ccdf545abebbfc0532678 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Merge "Revert "Introduce set/getFontVariationSettings.""
a3b9f2e3c66ec485f3b712560d52e31632a9cbe8 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Introduce set/getFontVariationSettings."

This reverts commit ba3028c1fc9fca2d45acc841557da2c9a83923bf.

Bug: 34378805
Change-Id: I8250c87af5d65fb45789632580be4ae1b8711372
inikinSkia.cpp
inikinSkia.h
ypeface.cpp
ypeface.h
6f773a0d8717162f81ff21d943baaa539a2d6c7e 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and android/log.h with log/log.h

Test: compile
Bug: 34250038
Change-Id: I42185a879beaa9bb244f53a968800392b854ac45
itmap.cpp
ba3028c1fc9fca2d45acc841557da2c9a83923bf 30-Nov-2016 Seigo Nonaka <nona@google.com> 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
inikinSkia.cpp
inikinSkia.h
ypeface.cpp
ypeface.h
e4e375c7493a06af89151b7cbd44cf07930d521b 12-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Follow minikin::FontFamily constructor signature change."
db15537e6e0d35c7ed3b1bef45e421760be70683 11-Jan-2017 Mark Salyzyn <salyzyn@google.com> resolve merge conflicts of 082a1721b516 to master

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I17f178f425975c1c0dbd48091d25b101956d505e
a0a4828614edfd633ab86f04408e7f4e55b491dd 07-Jan-2017 Seigo Nonaka <nona@google.com> 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
ypeface.cpp
52eb4e01a49fe2e94555c000de38bbcbbb13401b 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and log/logger.h with log/log.h

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
inikinSkia.cpp
inikinUtils.cpp
b29b16e5423fe7deab8ebf3da512c6d2192f19b5 04-Jan-2017 Derek Sollenberger <djsollen@google.com> 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
anvas.h
8b6fe1d8948bbd6479387ab1015a306022b55db4 19-Dec-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Support Bitmap.copy for hardware bitmaps"
05126d151eb3caa85bd3a039cffb6e37940c3fa4 16-Dec-2016 sergeyv <sergeyv@google.com> Support Bitmap.copy for hardware bitmaps

Test: android.uirendering.cts.testclasses.HardwareBitmapTests#testBitmapConfig*
bug:30999911
Change-Id: I2e80dff914bfa0666290701072ac93d30d218e8d
itmap.cpp
9505a6552764461c22ce48f1ac13d025d23e1579 14-Dec-2016 Romain Guy <romainguy@google.com> 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
itmap.cpp
91d6354cde90b6625d4af6a5d909d886bf602a49 15-Dec-2016 sergeyv <sergeyv@google.com> HWUI: fix support RGB_565 for hardware bitmaps

Test: hwuimacro hwBitmap565
bug:30999911
Change-Id: Ie4128aba95a92041b7388c46d0b2109feaae302a
itmap.cpp
cd55852fcd840f7f4c4d7a0a7253a2995c77afa2 17-Nov-2016 Greg Daniel <egdaniel@google.com> Make buffer age work in Vulkan

Test: manual testing in skiavk mode

Change-Id: I5b9d8af7d9cecf2f022ef104ec33a5b7477e9e0c
itmap.cpp
6e49c9f007c879f05b035c40c0ba543c00f9d0d0 02-Dec-2016 Mike Reed <reed@google.com> switch over clip calls to use SkClipOp instead of SkRegion::Op

Change-Id: I67d23c487b5249bc31d96e3b2393f693c0b2bcff
anvas.h
9a029876422926e313f646f44ab3592cfd4f9933 29-Nov-2016 sergeyv <sergeyv@google.com> Add createHardwareBitmap on GraphicBuffer for SysUI

Test: none
bug:30999911
Change-Id: Ic396e25d9e587665e634c3192e14ef4bc3dc78f7
itmap.cpp
itmap.h
57624d1f2ecbd717cd60241f00751c63f21f1490 18-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Support readback from hardware bitmaps"
59eecb526adc5bd7041e7b6147bfcc40dd2c200e 18-Nov-2016 sergeyv <sergeyv@google.com> Support readback from hardware bitmaps

Test: hwuimacro readbackFromHBitmap --onscreen.
bug:30999911
Change-Id: I369c069c40cb0f9adae5a94501815f29c2d7df0f
itmap.cpp
b7e33a09843302c578e433a06e56583f0ff241d2 18-Oct-2016 Seigo Nonaka <nona@google.com> Remove obsolete interface GetTable.

GetTable is only used in test.
To use production interface, need to pass the raw buffer and size to the
MinikinSkia. This CL does not change any production behaviors.

Test: ran hwui microbench, macrobench, hwui_unit_tests
Change-Id: Ia657a0d061984d705f333ed3944effb1eba8ca4d
inikinSkia.cpp
inikinSkia.h
ypeface.cpp
1a625911a22a5b4a0e42bb21c2dbf4c8df16e77a 17-Nov-2016 Seigo Nonaka <nona@google.com> Merge "Add wordSpacing parameter to Paint"
5e3935eca26848a070a612933305d640eece0a7b 16-Nov-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Support hardware bitmaps in bitmap shaders"
219e2c79490296b03e58ec36a3a4ff4a2ebf52e3 15-Nov-2016 Seigo Nonaka <nona@google.com> Add wordSpacing parameter to Paint

Adds the ability to control word spacing from Java, wiring up the
plumbing to the corresponding change that adds it at the Minikin
level.

Bug: 31707212
Test: ran graphicstests
Change-Id: I568186aca961d51ee5231cb0331f882b7b005e90
inikinUtils.cpp
aint.h
aintImpl.cpp
554ffeb8b7c836da43a637c59eedfc617895b19d 16-Nov-2016 sergeyv <sergeyv@google.com> Support hardware bitmaps in bitmap shaders

Test: hwuimacro bitmapShaderEglImage --onscreen.
bug:30999911
Change-Id: I9d16a1c217a4474841794cf27ce49e3f7823678e
itmap.cpp
itmap.h
9669487d00cfa1f1fa8f5572c6e2fbd3dcc5ac69 16-Nov-2016 Seigo Nonaka <nona@google.com> Merge "Move test only initialization to each test setup."
199ab1f175927db87bf9ddd7099039b11ef37bb7 15-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use layered version of graphic buffer allocation calls."
b6e20139755afbb4968ec0ac71182c179ea33ac0 14-Nov-2016 Seigo Nonaka <nona@google.com> Move test only initialization to each test setup.

Global default typeface initialization is only used by test code.
It is good to do in test and remove from production.

Test: ran hwuimicro hwui_unit_tests hwuimacro
Change-Id: I7090b1794828072112540b4e357a6d24bf8f664a
ypeface.cpp
ypeface.h
0b5c6430442067cae8f01e17b2deb405468abe6a 11-Nov-2016 John Reck <jreck@google.com> Fix unit tests

This is a partial revert of e2179925df2ce174d81dd6f7abae626cc859ce00
with the TODO comment replaced with why this can happen.

Test: Ran hwui's unit tests
Change-Id: I0d35eef773a401585bb8e75415da66de5aeb27d1
ypeface.cpp
850054cb46b25e20c1ae0b409734c0fa5c634b18 26-Oct-2016 Craig Donner <cdonner@google.com> Use layered version of graphic buffer allocation calls.

Allocators now require a layer count, but in these cases we can
assume that a single layer is sufficient, since that's what they
effectively do now.

Bug: 31686534
Test: manual
Change-Id: I30e498f8cb3e27c497f7bab9fbf2e7b4dad842d5
itmap.cpp
4b5617742903aeec0c924c298bc42fe0ffa9e5bc 07-Nov-2016 Seigo Nonaka <nona@google.com> Merge "Make sure the Typeface is loaded before calling measureText."
40800725d2dec2915607af0231f04f40c5cd221b 03-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement Skia pipelines for OpenGL and Vulkan."
1106b82ea13be80d59eee728a6cf8d4bfa4e3119 03-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Reference ctable when adopting pointer in Bitmap"
500a0c30d4dcd012218c3e44a62926a1c34a259f 26-Oct-2016 Stan Iliev <stani@google.com> Implement Skia pipelines for OpenGL and Vulkan.

Implement Skia pipelines for OpenGL and Vulkan:
base SkiaPipeline, SkiaOpenGLPipeline and SkiaVulkanPipeline.
Write unit tests for SkiaPipeline.

Test: Built and run manually on angler-eng.
Change-Id: Ie02583426cb3547541ad9bf91700602a6163ff58
anvas.cpp
003f14256271a6955baacba93e54f09d366f1c3b 03-Nov-2016 sergeyv <sergeyv@google.com> Reference ctable when adopting pointer in Bitmap

Change-Id: I56aea10928f0ec73756ed055488a3e3516a9096e
Test: manual.
bug:32621254, 32561595
itmap.cpp
ab12c1fe73734a18ac19a06b97f276528f6d027a 03-Nov-2016 Mike Reed <reed@google.com> update callers to newer Skia APIs

Test: refactoring CL. Existing unit tests still pass.

Change-Id: I47e73e00f14f78dd9d4c48a142ac9853e7e4cad7
itmap.cpp
97cc85fd4b5ab6070ce75c2792369d4611625eaf 01-Nov-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Routine to upload hardware bitmaps"
694d499662838123f474f41b31dea84ec5d563f0 27-Oct-2016 sergeyv <sergeyv@google.com> Routine to upload hardware bitmaps

Change-Id: Id8283a0975325e6830d55fd1e33c5f292a1e9be0
Test: refactoring cl.
bug:30999911
itmap.cpp
itmap.h
fda66672fedf73d08d9061a2823ec7bd2c9cd774 28-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge changes I94b1c31c,Ib0b16c87

* changes:
Add target to texture
Use Bitmap in Texture.upload
7de73858975fc4dbccfa1c188f6d1a12d39ce2c5 26-Oct-2016 Matt Sarett <msarett@google.com> Implement getTransparentRegion() using SkLatticeIter

This allows us to delete utils/NinePatchImpl.cpp and
utils/NinePatch.h

Test: Passed cts tests - DrawableTest, NinePatchTest,
NinePatchDrawableTest.

Change-Id: I6b5d09fa3479e758d8b931fa0e977c25f4435a7c
anvas.h
e2179925df2ce174d81dd6f7abae626cc859ce00 27-Oct-2016 Seigo Nonaka <nona@google.com> Make sure the Typeface is loaded before calling measureText.

This is a clean up CL by resolving TODO in hwui/Typeface.cpp

Usually Typeface is listed in preloaded-classes and loaded during Zygote
initialization. However, on some devices, class preloading is disabled.
Paint.measureText can not be called before Typeface static initializer
and it may not load Typeface class.

To ensure that the font preloading happens in ZygoteInit even on such
devices, refer Typeface.DEFAULT static field in TextView.preloadFontCache
in TextView which also happens during zygote initialization.

Bug: 32374752
Test: Manually done
Change-Id: I773c154671c170bebad3aa0f9c04eee5a664b849
ypeface.cpp
98fa4f9e7b33a3004ce9142c9acd4300391b9a0e 25-Oct-2016 sergeyv <sergeyv@google.com> Use Bitmap in Texture.upload

Test: refactoring cl.
bug:32216791

Change-Id: Ib0b16c878d8371e0471e9a502f55626ec5999c60
itmap.h
6af8c0968e96b760aeab78e50556aee092de3e35 25-Oct-2016 Seigo Nonaka <nona@google.com> Merge "Revert "Remove obsolete interface GetTable.""
436f8ac7867e28b43f890020663b222f43de5ce6 25-Oct-2016 Seigo Nonaka <nona@google.com> Revert "Remove obsolete interface GetTable."

This reverts commit 9cd73b6828e4e7475ab430c373efa2cd6dc69cea.

This causes a crash on Android Auto.
Bug: 32374752

Change-Id: I7fd0a52eb2458772ff50f246ca1c7d3397554133
inikinSkia.cpp
inikinSkia.h
0dd9902595d36525fc0b1f8a595cbb2f7c883d93 21-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge changes I1d8a9a6e,I5adcd59d

* changes:
Use Bitmap in DisplayList & RecordedOps instead of SkBitmap Test: refactoring cl. bug:32216791
Pass Bitmap instead of SkBitmap in drawNinePatch & drawBitmapMesh Test: refactoring cl. bug:32216791
ec4a4b13eae2241d1613890c1c1c096bed891845 21-Oct-2016 sergeyv <sergeyv@google.com> Use Bitmap in DisplayList & RecordedOps instead of SkBitmap
Test: refactoring cl.
bug:32216791

Change-Id: I1d8a9a6e772e2176b6c2409409a910478b45f8db
itmap.cpp
itmap.h
cc97d86da8de3d89c68e9b2b06da4f4b6c483d2d 21-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Pass Bitmap instead of SkBitmap for bitmap rect operation Test: refactoring cl. bug:32216791"
5fd2a1cb2726afa7d40fe4750e9defd89c24ed37 21-Oct-2016 sergeyv <sergeyv@google.com> Pass Bitmap instead of SkBitmap in drawNinePatch & drawBitmapMesh
Test: refactoring cl.
bug:32216791

Change-Id: I5adcd59daf752d36012456b0a9960c59d07e2e3d
anvas.h
fc9999505a36c66892d7ccce85187936105f4f36 17-Oct-2016 sergeyv <sergeyv@google.com> Pass Bitmap instead of SkBitmap for bitmap rect operation
Test: refactoring cl.
bug:32216791

Change-Id: I66d19194c57b3aa2c400aa87acffc774a533776a
itmap.cpp
itmap.h
anvas.h
4d2a1dc01fb6dd4a8265e58c259374fc1e742d84 20-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Pass Bitmap instead of SkBitmap in canvas.drawBitmap(Bitmap, float,float,Paint) Test: refactoring cl. bug:32216791"
638afc8b0fc7ad896ba311331ac752ac5dbbd02e 20-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Rename hwui/PixelRef to hwui/Bitmap Test: refactoring cl. bug:32216791"
aed7f58fb05a25ce2112829e77c0eb5dd268e8a7 15-Oct-2016 sergeyv <sergeyv@google.com> Pass Bitmap instead of SkBitmap in canvas.drawBitmap(Bitmap, float,float,Paint)
Test: refactoring cl.
bug:32216791

Change-Id: If9f9fbc19e683b14cce6c3c268258bd832d495d2
itmap.cpp
itmap.h
anvas.h
c1c54062f8cc9d47bdea820ae5ab6aef260b4488 20-Oct-2016 sergeyv <sergeyv@google.com> Rename hwui/PixelRef to hwui/Bitmap
Test: refactoring cl.
bug:32216791

Change-Id: I26de43f71027bccb43a5011f84080ab4631b2883
itmap.cpp
itmap.h
ixelRef.cpp
ixelRef.h
ebeb8179668ff20ad737dd797bc25d3d5461268b 20-Oct-2016 Seigo Nonaka <nona@google.com> Merge "Remove obsolete interface GetTable."
0154feef22d9fa5490f0285c2c3d83951b12bcc8 19-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Initial refactoring to enable reuse of SkiaDisplayList on a per RenderNode basis. With Skia renderer we see 30% speed improvement in Invalidate Tree UI Jank test, when SkiaDisplayList objects are reused."
7ca5ad1d06c94d99f17b2f1f27cd853d47b5bcf4 19-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Move allocatePixelRef methods to hwui. This patch also makes tests to use SkBitmap backed by hwui/PixelRef, Test: refactoring cl. bug:27762775"
ca9b1ed9f0d8638637c83931f96f184889a72fa4 18-Oct-2016 Mike Reed <reed@google.com> Merge "use SkBlendMode instead of SkXfermode use sk_sp versions of paint setters/getters"
9cd73b6828e4e7475ab430c373efa2cd6dc69cea 18-Oct-2016 Seigo Nonaka <nona@google.com> Remove obsolete interface GetTable.

Test: Manually done.

Change-Id: Ib9f50610454a6ddd7179c40d5f31c74916bcff84
inikinSkia.cpp
inikinSkia.h
21c2e9e60c9e66e848fc9276b878c1ab1bd66aa9 17-Oct-2016 Mark Salyzyn <salyzyn@google.com> Merge "missing includes" am: 78929f3ee0 am: 6a8f0d70b0
am: 6e60ab12e7

Change-Id: I1b5c6f49d2ae565ebd59c6ce8d590512ab306487
c0e7a90f1f5f98e85dbeda021fac0dff79725933 13-Oct-2016 Stan Iliev <stani@google.com> Initial refactoring to enable reuse of SkiaDisplayList
on a per RenderNode basis. With Skia renderer we
see 30% speed improvement in Invalidate Tree UI Jank test,
when SkiaDisplayList objects are reused.

Test: manually built and run on angler-eng.
Change-Id: Ie4ec50ddb2015150e3ec678dde7ebed0c8d90067
anvas.cpp
anvas.h
4d6c372eaebc6d227f7222a92950a64c76fd4baf 17-Oct-2016 Mark Salyzyn <salyzyn@google.com> missing includes

Assumptions are made about header side effects

Test: compile
Bug: 30465923
Change-Id: Icc9415aed5e54b2bc00b70aa0da6df4148f30654
ypeface.cpp
c36bd6c16ddfc160732ff7e4518564714c8aa66e 12-Oct-2016 sergeyv <sergeyv@google.com> Move allocatePixelRef methods to hwui.
This patch also makes tests to use SkBitmap backed by hwui/PixelRef,
Test: refactoring cl.
bug:27762775

Change-Id: Ib936e81877790849118420f5e565fc8f4466c1be
ixelRef.cpp
ixelRef.h
260ab726486317496bc12a57d599ea96dcde3284 07-Oct-2016 Mike Reed <reed@google.com> use SkBlendMode instead of SkXfermode
use sk_sp versions of paint setters/getters

Change-Id: I86591a0a8ec92e6039776cbf00424ea24f585b28
anvas.h
163f88140e18f13575886e88af0336e0ab1ec846 08-Oct-2016 sergeyv <sergeyv@google.com> Move PixelRef to hwui
Test: refactoring cl.
bug:27762775

Change-Id: Idd13b865ce22d4c51ced9b0fe3e9174452e87c6e
ixelRef.cpp
ixelRef.h
25c9f6cede5705406294a5043363952c316facb2 01-Sep-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix google-explicit-constructor warnings in libs/hwui." am: 7207562ff7 am: d7a69e04eb am: 842f1e48e7
am: 1f50f80aab

Change-Id: I713bd07fee150cc684e630045e02872b23062a5a
a619ec70cf765d9166f0862e74653711b87307b3 29-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings in libs/hwui.

* Add explicit keyword to conversion constructors,
or add NOLINT for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: Id8ca42433a4fc3652e4cb13787c4cb169f20d9a9
aint.h
81be3a96e080f8f30653f926934fc072143ef368 05-Aug-2016 Ben Wagner <bungeman@google.com> Move SkTypeface::CreateXXX to SkTypeface::MakeXXX.

Skia is moving to returning smart pointers from its factory methods.
This updates uses of SkTypeface::CreateXXX to SkTypeface::MakeXXX and
generally updates use of SkTypeface to sk_sp. This will allow for the
removal of the SK_SUPPORT_LEGACY_TYPEFACE_PTR define.

Change-Id: I017ceb681d2c338e6913aa267915d03a7d3a898b
inikinSkia.cpp
inikinSkia.h
ypeface.cpp
7e03ffa772481387beba66e33a0a056af2642aa7 29-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use Canvas::create_recording_canvas instead of RecordingCanvas ctor"
06152cdd06da50762716cd455dcf7ab0117f25b0 27-Jul-2016 Stan Iliev <stani@google.com> Use Canvas::create_recording_canvas instead of RecordingCanvas ctor

Modify HWUI tests to support different recording canvases. Delete
TestCanvas class and use base Canvas class instead. Use
Canvas::create_recording_canvas to create recording canvas instances
instead of RecordingCanvas constructor.

Change-Id: I651fb9bb4add0874d7110bac467a2eb1012357fc
anvas.h
afc221499d943386256feb9db46c119ff834bf79 18-Jul-2016 Yuqian Li <liyuqian@google.com> More efficient text rendering on path

Change-Id: I004c15473b527df0f296c54a6a3e9b29505fd9b9
anvas.cpp
anvas.h
5e00c7ce063116c11315639f0035aca8ad73e8cc 07-Jul-2016 Chris Craik <ccraik@google.com> Delete old rendering pipeline

fixes: 30002246

Change-Id: I45df0e924708526cee045b14c291bd23aa1a92db
anvas.cpp
anvas.h
9688a3d33451134d6ff54f7b60f8db7a338a40f1 30-Jun-2016 John Reck <jreck@google.com> Fix compile issue

Change-Id: Ic3423cfb23c6057210efb2e9110551b694c0101c
anvas.h
ae1aa85d0c7305bb621f1f8003bd674285aa3b63 09-Jun-2016 Seigo Nonaka <nona@google.com> Follow the minikin namespace changes

Bug: 29233740
Change-Id: I0ec7c5c88e64daa626751d3a03e24b9c36521c17
anvas.cpp
inikinSkia.cpp
inikinSkia.h
inikinUtils.cpp
inikinUtils.h
aint.h
aintImpl.cpp
ypeface.cpp
ypeface.h
cd1c3eba69d044b551cededad75474038f919890 14-Apr-2016 John Reck <jreck@google.com> Add a callback for when a gl functor is released

Bug: 27709981

Change-Id: Id5be3e8f88d6d84a9c59c7ed23e7e8862feefbe8
anvas.h
b93872ad64afaafa1799a293850f48a96708182e 11-Apr-2016 Seigo Nonaka <nona@google.com> Follow the constructor signature change in Minikin.

Bug: 28105730
Change-Id: I933521ba08e89c0538b5aa9efa5dcc5e2a17b905
inikinSkia.cpp
inikinSkia.h
296bf8c55aaba0025f3e5b904fda3b6e15686753 07-Apr-2016 Raph Levien <raph@google.com> Avoid copying of font table data, provide raw font bytes

Minikin is changing its approach to table access to use HarfBuzz to
access the tables, based on raw font data, rather than calling the
MinikinFont::GetTable() virtual method. This patch provides raw access
to the font data to make this work.

There's a bit of plumbing to make sure fonts get a pointer to the raw
data as well.

Bug: 27860101
Change-Id: I638e18cf363644bf22fbc9fb9b3358a9e731087f
inikinSkia.cpp
inikinSkia.h
ypeface.cpp
79abbf22d4f672208327546661e694d837f564a9 24-Mar-2016 Derek Sollenberger <djsollen@google.com> Update HWUI tests to use minikin to layout fonts.

This update is a precondition for landing additional tests
that depend on the minkin layout implementation.

bug: 27675371
Change-Id: I9bb98bae6b39462246e42cf8acb968b7df05292d
anvas.cpp
anvas.h
aint.h
aintImpl.cpp
bad99183916ba2bac6659efc8a28273e344ba511 17-Mar-2016 sergeyv <sergeyv@google.com> Clean up and rename TypefaceImpl

bug:25865834
Change-Id: I77e8a627163e040a5c25865054a8a936052af367
anvas.cpp
anvas.h
inikinUtils.cpp
inikinUtils.h
ypeface.cpp
ypeface.h
ypefaceImpl.cpp
ypefaceImpl.h
dccca44ffda4836b56a21da95a046c9708ffd49c 21-Mar-2016 sergeyv <sergeyv@google.com> Reland: Move text logic from jni to hwui level

Initial CL: https://googleplex-android-review.git.corp.google.com/#/c/886854/

Change-Id: I9dfd85fe1d2a2c44f4360c8a29fd58d80e6f31c8
anvas.cpp
anvas.h
inikinSkia.cpp
inikinSkia.h
inikinUtils.cpp
inikinUtils.h
aint.h
aintImpl.cpp
ypefaceImpl.cpp
ypefaceImpl.h
afbd0f1fef46ef0ddf633dfde0de724db3da1405 21-Mar-2016 Sergei Vasilinetc <sergeyv@google.com> Revert "Move text logic from jni to hwui level"

This reverts commit a7f6bba1a3565c19715e878dfe7f0e01022944ff.

Change-Id: If4f36f87a85411b6128fd92d391313803ccaf9dd
anvas.cpp
anvas.h
inikinSkia.cpp
inikinSkia.h
inikinUtils.cpp
inikinUtils.h
aint.h
aintImpl.cpp
ypefaceImpl.cpp
ypefaceImpl.h
a7f6bba1a3565c19715e878dfe7f0e01022944ff 16-Mar-2016 sergeyv <sergeyv@google.com> Move text logic from jni to hwui level

bug:25865834
Change-Id: I2d8c9c9544afcb5ce1784f732aed3e54e0eda372
anvas.cpp
anvas.h
inikinSkia.cpp
inikinSkia.h
inikinUtils.cpp
inikinUtils.h
aint.h
aintImpl.cpp
ypefaceImpl.cpp
ypefaceImpl.h