History log of /frameworks/base/libs/hwui/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
/frameworks/base/libs/hwui/Android.mk
005275d238454dcadc21f4946d4104380f691b24 20-Apr-2017 Chris Craik <ccraik@google.com> Revert "Temporarily enable GL validation"

Fixes: 35387665
Test: none

This reverts commit b5544d0308613dbcfee5d27f26bda2248d0a5e33.

Change-Id: I4cf3fa0c65aaee38d0fa9cfea15b72c8ef42acb1
/frameworks/base/libs/hwui/Android.mk
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
/frameworks/base/libs/hwui/Android.mk
46c6f4c5ea7846fee4e6ef40c035ef2bee1adcbb 21-Feb-2017 Roozbeh Pournader <roozbeh@google.com> Frameworks support for hyphenation for various complex cases

This adds better support for Arabic script languages, Armenian,
Catalan, Hebrew, Kannada, Malayalam, Polish, Tamil, and Telugu by
adding various hyphenation types and edits appropriate for the
locales.

The actual implementations are in Minikin. This CL takes care of the
changes needed in frameworks, to support different end-of-line and
start-of-line hyphen edits.

Two bugs in TextLine.java are also fixed:

1. Where hyphen edits on non-spanned texts were not eliminated in
handleRun() when they should have. This had manifested itself in
double hyphenation in some bidi paragraphs.

2. Some no op assignments and comparions around the change for the
above bug are removed.

Test: thorough manual testing for various cases
Bug: 19756624
Bug: 19950445
Bug: 19955011
Bug: 25623243
Bug: 26154469
Bug: 26154471
Bug: 33387871
Bug: 33560754
Bug: 33752592
Bug: 33754204
Change-Id: I48c047d1f6a75c39a78a6ea38a0a3282f63326ec
/frameworks/base/libs/hwui/Android.mk
df1742ed47da1e9b61afeae16fa448d5302a8aa0 20-Jan-2017 John Reck <jreck@google.com> Overhaul GraphicsStatsService

* LRU cache of recently-used is dead, replaced
disk storage
* ASHMEM size is read from native by the system service,
no longer requires keeping a sizeof() in sync with a
constant in Java
* Supports dumping in proto format by passing --proto
* Rotates logs on a daily basis
* Keeps a history of the most recent 3 days

Bug: 33705836
Test: Manual. Verified log rotating works by setting it up to
rotate every minute instead of day. Confirmed /data/system/graphicsstats
only has the most recent 3 entries after several minutes

Change-Id: Ib84bafb26c58701cc86f123236de4fff01aaa4aa
/frameworks/base/libs/hwui/Android.mk
c5ae595e6f71798109c730cd835a2cca79a8877c 09-Feb-2017 Po-Chien Hsueh <pchsueh@google.com> Remove build flag ANDROID_ENABLE_RENDERSCRIPT

remove this flag and consider renderscript is always enabled

Bug: 34693640
Test: compile
Change-Id: I22464e1d64f2a55a60ba9f8ab1510f2811605552
/frameworks/base/libs/hwui/Android.mk
1d5b9778bbd01ec0e9eea2a6d12fac7539fdda87 06-Feb-2017 Miao Wang <miaowang@google.com> Merge "Remove uncessary dependency of libhwui"
83809fec686b47da73ee0aaa80d226de7e33aab9 01-Feb-2017 sergeyv <sergeyv@google.com> Properly clear textures for Hardware Bitmaps

Test: manual (Description in the bug)
bug:34858530
Change-Id: I13eb89077c43ca28436509a7af5b7c11374446c4
/frameworks/base/libs/hwui/Android.mk
629fd3d48ba1dbedc6e84e91a26f72fb1fba0e22 01-Feb-2017 Miao Wang <miaowang@google.com> Remove uncessary dependency of libhwui

- libRS.so is not directly used. It is accessed by libRScpp.so.

Test: mm, and boot-up test on sailfish
Change-Id: I5742d2ee3b34ef09bcb997524408affce1ace8fd
/frameworks/base/libs/hwui/Android.mk
b5544d0308613dbcfee5d27f26bda2248d0a5e33 26-Jan-2017 John Reck <jreck@google.com> Temporarily enable GL validation

Bug: 34206215
Test: none
Change-Id: Ifc2855ca399f4ae42376349dd5c660f60b327c04
/frameworks/base/libs/hwui/Android.mk
45ec62ba72c5017fae7d8baab20bfb0d4c99c627 04-Jan-2017 Greg Daniel <egdaniel@google.com> Add support for dummy draws for Vulkan webview and texture views.

Test: manual testing
Change-Id: Iaec8c3a34367673c281665ff6c6e97d1ce532265
/frameworks/base/libs/hwui/Android.mk
8cd3edfa15cc9cdbffa935d19ab894426b08d174 09-Jan-2017 Greg Daniel <egdaniel@google.com> Break Layer class into Gl and Vulkan subclasses

Test: manual testing
Change-Id: Ibd2beed39de3ac6da7448e96496253cfe427dfbb
/frameworks/base/libs/hwui/Android.mk
7a7c921e189774c1ea174891da749e918533b598 12-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add more Skia pipeline unit tests."
52771272f4f018f4fc6846224bf047497e784af1 17-Nov-2016 Stan Iliev <stani@google.com> Add more Skia pipeline unit tests.

Add more Skia pipeline unit tests and fix an issue
in backdrop/content bounds clip logic.

Test: built and run angler-eng and HWUI unit tests.
Change-Id: Ie41f80ff7ce9802a4d76e8b14f1695dbc9771a2b
/frameworks/base/libs/hwui/Android.mk
8600928705b9458d7ad39367f0050c587263ee9a 12-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Make HWUI makefile include external/skia/src/utils"
82c581dac38490d582bd61986776f0bac3aa4967 12-Dec-2016 Leon Scroggins III <scroggo@google.com> Make HWUI makefile include external/skia/src/utils

Test: none. No new code; this just makes it explicit that HWUI is
depending on headers in Skia's src/utils directory.

This is needed for SkTextureCompressor.h, which itself is pulled in
transitively through SkGlyphCache.h. Adding this here means that Skia
need not list src/utils as an exported include dir.

Change-Id: I3f2b022504486b7a640236fb98a497b599b42a6b
/frameworks/base/libs/hwui/Android.mk
cd55852fcd840f7f4c4d7a0a7253a2995c77afa2 17-Nov-2016 Greg Daniel <egdaniel@google.com> Make buffer age work in Vulkan

Test: manual testing in skiavk mode

Change-Id: I5b9d8af7d9cecf2f022ef104ec33a5b7477e9e0c
/frameworks/base/libs/hwui/Android.mk
e9bf7c843664c16aaeac4cd79550a7461ae00b5d 01-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Introduce PathInterpolator to native animators"
9e9eeeeb78d94804cda00c2b36e56fdaca5552d6 29-Nov-2016 Doris Liu <tianliu@google.com> Introduce PathInterpolator to native animators

For interpolators defined with a path, PathInterpolator is more accurate
and likely less costly for longer animations than what are currently
using as a substiute - LUTInterpolator.

Test: manual test and added a unit test
BUG: 32830741
Change-Id: I867c7a28e4261392cce9c45a2992ab4fd120c496
/frameworks/base/libs/hwui/Android.mk
71c4477bee8297189e12a666bbb178f461ad2859 30-Nov-2016 sergeyv <sergeyv@google.com> Add hwui test for correct refcounting of SkColorTable in Bitmap

Test: BitmapTests.colorTableRefCounting
bug:32561595
Change-Id: I505c735feffbac18d406b6b2f9dff51d81700cd8
/frameworks/base/libs/hwui/Android.mk
db45a4bfaff1120a9b23073e46a0cc6d39f56023 08-Nov-2016 Stan Iliev <stani@google.com> Fix Skia render node projection to match HWUI

Fix Skia render node projection to match HWUI. Port
FrameBuilderTests_projectionReorder test for Skia pipeline.
Add new tests in both HWUI and Skia to cover more projection
use cases.

Test: built and run on angler-eng
Change-Id: Ibf27af211452ae95d595aca7723ea63f48b0b282
/frameworks/base/libs/hwui/Android.mk
c4fbada76aa840105553b2c2bce2204e673d2983 07-Nov-2016 Derek Sollenberger <djsollen@google.com> Support Surface and Layer Readback in the SkiaPipelines.

Test: CTS TextureViewTests and UIRendering
Change-Id: I2969c8f5a975bfd9aebcbb585c64d1fcbb2487c2
/frameworks/base/libs/hwui/Android.mk
0e3cba31460e0698def0310003b7d291f1174afa 09-Nov-2016 Derek Sollenberger <djsollen@google.com> Handle vulkan windowing directly in SkiaVulkanPipeline

Test: manual testing in skiavk mode
Change-Id: I2fab80bae2787bfdacbc70d0402e98450e59406d
/frameworks/base/libs/hwui/Android.mk
cf2c05c652190ddc66f873192c17d193478138a1 26-Oct-2016 Matt Sarett <msarett@google.com> Add SkiaProfileRenderer to draw visual debugging info

This adds support for debug.hwui.profile and
debug.hwui.show_dirty_regions to the Skia pipelines.

There still may be some follow up work for profiling
with visual bars. The speed at which the renderer
is able to draw the rects in the graph is having a
noticeable effect on the actual data in the graphs.

Test: Verified that the features work as expected.

BUG:32370375

Change-Id: I24430da2bab3eb54f6a771f9c984f8ae0008a5a7
/frameworks/base/libs/hwui/Android.mk
40800725d2dec2915607af0231f04f40c5cd221b 03-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement Skia pipelines for OpenGL and Vulkan."
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
/frameworks/base/libs/hwui/Android.mk
f0503b0b6fa7ad963dd4bb9b63eb5528b191bfea 03-Nov-2016 John Reck <jreck@google.com> Merge "Add benchmarks for View inflation"
3acf0382da22cda88234e599cd81b1ff5441cc35 02-Nov-2016 John Reck <jreck@google.com> Add benchmarks for View inflation

Also speed up RenderNode creation:

Use finalizer() instead of NativeAllocationRegistry, this
shaves ~3us off of creation currently

Avoid instanceof, instead have SurfaceView explicitly ask
for updates.

Remove unused method call.

Test: ran benchmarks
Change-Id: I3117fdf72313a4e6a9965baca9f2a8b855c19b34
/frameworks/base/libs/hwui/Android.mk
021693b967a2c5556dddd183eb0247df4079e1ad 17-Oct-2016 Stan Iliev <stani@google.com> Implement SkiaRecordingCanvas, RenderNodeDrawable and other drawables.

Implement SkiaRecordingCanvas, RenderNodeDrawable, GLFunctorDrawable,
LayerDrawable, StartReorderBarrierDrawable, EndReorderBarrierDrawable.
Move AnimatedRoundRect and AnimatedCircle in a separate file.
All Skia pipeline files are moved in hwui/pipeline/skia folder.
Add unit tests for RenderNodeDrawable, StartReorderBarrierDrawable,
EndReorderBarrierDrawable and SkiaRecordingCanvas.

Test: I tested manually on 6P devices and did run the unit tests.
Change-Id: If2a347bd1fc4689953822294ce5bf98c7f3f57c7
/frameworks/base/libs/hwui/Android.mk
c024377dcfd0006b3f639834fd107ec04eff5a55 27-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement getTransparentRegion() using SkLatticeIter"
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
/frameworks/base/libs/hwui/Android.mk
daf7229047c44947b9b02ee187fe5b13f30ebd4b 25-Oct-2016 Derek Sollenberger <djsollen@google.com> Move OpenGL specific details behind renderPipeline interface.

Test: new and existing unit tests still pass.
Change-Id: I6164f30f45ebe450788ed8d949eca5af9a44e585
/frameworks/base/libs/hwui/Android.mk
de97307362c26b64e2376b21ccde8414088cdc8b 25-Oct-2016 Matt Sarett <msarett@google.com> Make FrameInfoVisualizer use an IRenderPipeline to draw

Removing the direct uses of the BakedOpRenderer should make
it easier for the SkiaGL pipeline to take advantage of these
debugging features.

Test: Verified that debug.hwui.show_dirty_regions and
debug.hwui.profile still behave as expected.

BUG:32370375

Change-Id: I2818bda4a18ec183c9c39ca080ad34a4dc89b5cd
/frameworks/base/libs/hwui/Android.mk
c1c54062f8cc9d47bdea820ae5ab6aef260b4488 20-Oct-2016 sergeyv <sergeyv@google.com> Rename hwui/PixelRef to hwui/Bitmap
Test: refactoring cl.
bug:32216791

Change-Id: I26de43f71027bccb43a5011f84080ab4631b2883
/frameworks/base/libs/hwui/Android.mk
6e68bedacc3086f49b0cff6d20e006bcc6559603 13-Oct-2016 Derek Sollenberger <djsollen@google.com> Merge "Initial refactoring to enable the addition of the SkiaOpenGLPipeline."
21986f2ae73e9ae3395a37dd3976af55e75d4f9d 12-Oct-2016 Romain Guy <romainguy@google.com> Merge "Linear blending, step 1"
253f2c213f6ecda63b6872aee77bd30d5ec07c82 29-Sep-2016 Romain Guy <romainguy@google.com> Linear blending, step 1

NOTE: Linear blending is currently disabled in this CL as the
feature is still a work in progress

Android currently performs all blending (any kind of linear math
on colors really) on gamma-encoded colors. Since Android assumes
that the default color space is sRGB, all bitmaps and colors
are encoded with the sRGB Opto-Electronic Conversion Function
(OECF, which can be approximated with a power function). Since
the power curve is not linear, our linear math is incorrect.
The result is that we generate colors that tend to be too dark;
this affects blending but also anti-aliasing, gradients, blurs,
etc.

The solution is to convert gamma-encoded colors back to linear
space before doing any math on them, using the sRGB Electo-Optical
Conversion Function (EOCF). This is achieved in different
ways in different parts of the pipeline:

- Using hardware conversions when sampling from OpenGL textures
or writing into OpenGL frame buffers
- Using software conversion functions, to translate app-supplied
colors to and from sRGB
- Using Skia's color spaces

Any type of processing on colors must roughly ollow these steps:

[sRGB input]->EOCF->[linear data]->[processing]->OECF->[sRGB output]

For the sRGB color space, the conversion functions are defined as
follows:

OECF(linear) :=
linear <= 0.0031308 ? linear * 12.92 : (pow(linear, 1/2.4) * 1.055) - 0.055

EOCF(srgb) :=
srgb <= 0.04045 ? srgb / 12.92 : pow((srgb + 0.055) / 1.055, 2.4)

The EOCF is simply the reciprocal of the OECF.
While it is highly recommended to use the exact sRGB conversion
functions everywhere possible, it is sometimes useful or beneficial
to rely on approximations:

- pow(x,2.2) and pow(x,1/2.2)
- x^2 and sqrt(x)

The latter is particularly useful in fragment shaders (for instance
to apply dithering in sRGB space), especially if the sqrt() can be
replaced with an inversesqrt().

Here is a fairly exhaustive list of modifications implemented
in this CL:

- Set TARGET_ENABLE_LINEAR_BLENDING := false in BoardConfig.mk
to disable linear blending. This is only for GLES 2.0 GPUs
with no hardware sRGB support. This flag is currently assumed
to be false (see note above)
- sRGB writes are disabled when entering a functor (WebView).
This will need to be fixed at some point
- Skia bitmaps are created with the sRGB color space
- Bitmaps using a 565 config are expanded to 888
- Linear blending is disabled when entering a functor
- External textures are not properly sampled (see below)
- Gradients are interpolated in linear space
- Texture-based dithering was replaced with analytical dithering
- Dithering is done in the quantization color space, which is
why we must do EOCF(OECF(color)+dither)
- Text is now gamma corrected differently depending on the luminance
of the source pixel. The asumption is that a bright pixel will be
blended on a dark background and the other way around. The source
alpha is gamma corrected to thicken dark on bright and thin
bright on dark to match the intended design of fonts. This also
matches the behavior of popular design/drawing applications
- Removed the asset atlas. It did not contain anything useful and
could not be sampled in sRGB without a yet-to-be-defined GL
extension
- The last column of color matrices is converted to linear space
because its value are added to linear colors

Missing features:
- Resource qualifier?
- Regeneration of goldeng images for automated tests
- Handle alpha8/grey8 properly
- Disable sRGB write for layers with external textures

Test: Manual testing while work in progress
Bug: 29940137

Change-Id: I6a07b15ab49b554377cd33a36b6d9971a15e9a0b
/frameworks/base/libs/hwui/Android.mk
e9eefce9f86385ccd227fd56c3ad53fd80f1db35 11-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Move PixelRef to hwui Test: refactoring cl. bug:27762775"
0728f0872f9e094b27cef3da64f4fcc323246767 11-Oct-2016 sergeyv <sergeyv@google.com> resolve merge conflicts of e830f35 to master

Change-Id: I4d2b10a6a2ac983986775f1f925c4a09734bb70d
e830f351e14733a92eb1d2bb0fd66fb1ecbc828b 11-Oct-2016 sergeyv <sergeyv@google.com> Turn off additional logging in text rendering am: 5bb5626599
am: 4778f6a43e

Change-Id: If031a1d480d8c2e75e9f6268d15c8ccc098a0268
5bb5626599c936fdbea9f0fea30505924d784c73 10-Oct-2016 sergeyv <sergeyv@google.com> Turn off additional logging in text rendering

Change-Id: If5f11489c05e320e4436fb57680857b29228a755
b:30427106
/frameworks/base/libs/hwui/Android.mk
163f88140e18f13575886e88af0336e0ab1ec846 08-Oct-2016 sergeyv <sergeyv@google.com> Move PixelRef to hwui
Test: refactoring cl.
bug:27762775

Change-Id: Idd13b865ce22d4c51ced9b0fe3e9174452e87c6e
/frameworks/base/libs/hwui/Android.mk
0df6209a02d0ea99d2dff3a46ed9febd5925df4b 27-Sep-2016 Derek Sollenberger <djsollen@google.com> Initial refactoring to enable the addition of the SkiaOpenGLPipeline.

Test: existing and new HWUI unit tests all pass.
Change-Id: I4f5c1dc839a2ed15d8b0f6245fe030684501b083
/frameworks/base/libs/hwui/Android.mk
dcbc0e9e25bf99600d487f3c6f5e26487545cd9c 14-Sep-2016 sergeyv <sergeyv@google.com> resolve merge conflicts of 0ec2fd7 to master

Change-Id: I113ede26ab42e3f9a36a52a756c38d365731e16d
0ec2fd7bc5f3c57f7783425608732d2f95f53c4a 13-Sep-2016 sergeyv <sergeyv@google.com> HWUI: track upload & recent usage in font cache am: af102bee51
am: 42c01cf62f

Change-Id: Ieb80108d520aa629c54a40d7c533bf74a71849c4
af102bee518191f1e6ad843f06dcd7a64611462d 10-Sep-2016 sergeyv <sergeyv@google.com> HWUI: track upload & recent usage in font cache

FontCacheHistoryTracker should be turned off before shipping: b/31438876

bug:30427106
Change-Id: Ic26b25e790d4ee69e484ca0cb23dc9cc522b2ed3
/frameworks/base/libs/hwui/Android.mk
63d8aa930f8859978200b7af8664aefc33fd2a51 31-Jul-2016 Hugo Benichi <hugobenichi@google.com> Merge \\\"Fix missing IpConnectivity metrics\\\" into nyc-mr1-dev am: 66e7752ad1 am: b2db402899
am: fb5c675b7e

Change-Id: Iba1f81a892acd9f541b9dd564203bfebc56c9c73
fb5c675b7e1fee074f19cf1866b5dda0785dbe64 29-Jul-2016 John Reck <jreck@google.com> resolve merge conflicts of 67daab6 to nyc-mr1-dev-plus-aosp

Change-Id: I35f867b8d6408a7eae9cf5643f0908259de90cb1
2d5b8d73929a38b019c6b6276d4a19542b990f0c 29-Jul-2016 John Reck <jreck@google.com> Teach JankTracker about new swap behaviors

Bug: 30440166

If we are using HWC2, there's a change in timing
when in triple buffering with the pipelined offsets.
This changes JankTracker to recognize that and silently
erase that from the total duration

Change-Id: Ib1fd4209070f17dbd2baed707c8cf73fb11c3cf2
/frameworks/base/libs/hwui/Android.mk
56ad6ec42f814e9e61030ff819cac4e5d31def8b 22-Jul-2016 Derek Sollenberger <djsollen@google.com> Remove LayerRenderer.

There is only one caller each for the static functions here so this
CL moves the logic to the caller. Also by moving some of the code
into the pipeline it makes it easier for future changes to configure
how a pipeline handles a layer.

Change-Id: Ib735b5154325cbb658fd151f7a19dbf434ab44b7
/frameworks/base/libs/hwui/Android.mk
f1b0e07e7f0d8e496404ae187f5d144eb760a6de 19-Jul-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Move hwuimacro to common native benchmark infrastructure"
768e39335b668e8ef25fef30ab42b2d6d29a4735 09-Jul-2016 Stan Iliev <stani@google.com> Refactor CanvasContext: move OpenGL specific code

Move OpenGL specific code from CanvasContext into a new class
OpenGLPipeline.

Change-Id: I4363053f890701a4235927b59ec588861488ea8f
/frameworks/base/libs/hwui/Android.mk
202c10b7b54a7a344415b19d4c3f93266de4ad25 12-Jul-2016 sergeyv <sergeyv@google.com> Move hwuimacro to common native benchmark infrastructure

Change-Id: I2d2b358d205b1ed950ddc9caa57360b68001893b
/frameworks/base/libs/hwui/Android.mk
5e00c7ce063116c11315639f0035aca8ad73e8cc 07-Jul-2016 Chris Craik <ccraik@google.com> Delete old rendering pipeline

fixes: 30002246

Change-Id: I45df0e924708526cee045b14c291bd23aa1a92db
/frameworks/base/libs/hwui/Android.mk
f1480761c1a83aecd09cdd473ec797a41d1a2f3f 04-Jul-2016 John Reck <jreck@google.com> Benchmark-mode for macrobench

Adds googlebench output format support
Adds offscreen rendering for >60fps benchmarking
Adds 'all' alias to run all registered TestScenes

Change-Id: I2579e40f2f4c941bfbd90c75efbee384c08a116b
/frameworks/base/libs/hwui/Android.mk
422e2b4829e28e422f0010e0e3ce04f45fb9efd8 21-Jun-2016 sergeyv <sergeyv@google.com> HWUI: move microbench to APCT infrastructure

bug:29515780
Change-Id: I06f0518e2948d4268a1fa8ec99e08b5fcaaa3afd
/frameworks/base/libs/hwui/Android.mk
7dc370bfe3223dfbcb368e0006c688dfd668ab01 17-Jun-2016 sergeyv <sergeyv@google.com> HWUI: add leak check for macrobench

Change-Id: Id2037921fdbe599b3c722f2e1d17b99f3b74361c
/frameworks/base/libs/hwui/Android.mk
06a62f6f5379aa5f11f6da3e7ee066e9f640b91a 16-Jun-2016 sergeyv <sergeyv@google.com> Test scene that mocks list view with text items faded on left edge.

Change-Id: I6159f02fa511241beaff4f0eb605c4f0bee360d1
/frameworks/base/libs/hwui/Android.mk
cbcc3d5c3ade6212e7c48cbf3ef0a79151cc9594 10-Jun-2016 Chris Craik <ccraik@google.com> Merge \\\"Fix framebuffer incomplete errors\\\" into nyc-dev am: 4bcf66030d am: 7156913021
am: 22696fc0e4

Change-Id: Ib824dd0b3df68c37e3fd7ff5613b99d0687add69
715691302185d12bcbb2769715a536cb22581c5b 10-Jun-2016 Chris Craik <ccraik@google.com> Merge \"Fix framebuffer incomplete errors\" into nyc-dev
am: 4bcf66030d

Change-Id: I478d99bc0b1f1f10fef38505282711e95b7f5a09
d4fe4d3b30aaefcaaae6a6d1b8dc4bf59e034768 10-Jun-2016 Chris Craik <ccraik@google.com> Fix framebuffer incomplete errors

bug:29127615

Primarily fixes case where 0 dimensioned layers could be
created/updated. Additionally, adds more logging in incomplete
framebuffer cases, if they still occur.

Change-Id: Ib90dbbafd6905aca3c8f46e64064e13a308f713d
/frameworks/base/libs/hwui/Android.mk
0353c378badf58c7385bd77f4bd019c0eb8859d3 17-May-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Add gmock to hwui library"
8bd5edf804d5995fe266f3f612b70ee0ee104130 14-May-2016 sergeyv <sergeyv@google.com> Add gmock to hwui library

Change-Id: I1dec4cd234e5ee8bb01140b969d0cf817a849047
/frameworks/base/libs/hwui/Android.mk
bd2edfca03bf09143a941c3859c4fbd3f8115aba 17-May-2016 Chris Craik <ccraik@google.com> Merge "Fix hw layer overdraw/update visualization" into nyc-dev
am: 189e3e5ec5

* commit '189e3e5ec5b698f1062fb98692fa75d3750148e0':
Fix hw layer overdraw/update visualization

Change-Id: Ic4c49b25e0d1709d34974adb828c3ab4644415e5
37413289478a965336239c731ebfea37ac4dde28 13-May-2016 Chris Craik <ccraik@google.com> Fix hw layer overdraw/update visualization

Fixes: 28748255

Change-Id: I83b531cdf5e4407fd17edd72d96e6189924926fa
/frameworks/base/libs/hwui/Android.mk
42935274055b0760a61d234f73a7c69bebc163f9 21-Apr-2016 Chris Craik <ccraik@google.com> Merge "Fix shadow radius too large for RS" into nyc-dev
am: 924d8227c4

* commit '924d8227c4c790f05fb90d6140de15fa8abb704b':
Fix shadow radius too large for RS

Change-Id: I14e606d89f456bedb240f564acc7867b629bf8ed
f3754a84289680782b2c7caac30fda18207a5c23 20-Apr-2016 Chris Craik <ccraik@google.com> Fix shadow radius too large for RS

bug:28276925

Change-Id: I3d962ace75be7bbf49f5a95320390d8f5a9bf951
/frameworks/base/libs/hwui/Android.mk
93b93ed22883e7c9a737c9825644ee6524add646 15-Apr-2016 John Reck <jreck@google.com> Merge "Turn off HWUI_ENABLE_OPENGL_VALIDATION" into nyc-dev
am: b8563f1

* commit 'b8563f1ae4c56da7ca7839739c1427ed0ca6a281':
Turn off HWUI_ENABLE_OPENGL_VALIDATION

Change-Id: I9f46cbffaa702e62310dc4dfccb4b4c004206bf3
756619da203bcdb9db19238ba6712c5bfb062009 15-Apr-2016 John Reck <jreck@google.com> Turn off HWUI_ENABLE_OPENGL_VALIDATION

Fixes: 28212865

Disable glGetError() checking after every gl call

Change-Id: I849934172a56150122a8d0114b0307515d988fe7
/frameworks/base/libs/hwui/Android.mk
f3c2dee3e117433c76e04513047b39cad2d2b5e6 12-Apr-2016 John Reck <jreck@google.com> Merge "Framework-side of SurfaceView#getBitmap" into nyc-dev
am: d2eec0e

* commit 'd2eec0efb2e47b23b2a12ab2967e422f0be49094':
Framework-side of SurfaceView#getBitmap

Change-Id: I4da75d89a536c11dbaa9ee1feba8e5838fbb5a41
10dd0585c11dcedb5a271d54e645594f1d215d5c 01-Apr-2016 John Reck <jreck@google.com> Framework-side of SurfaceView#getBitmap

Bug: 27708453

Change-Id: Ie6fd7eca522d3e6549d8af587c975fd7e6053649
/frameworks/base/libs/hwui/Android.mk
6e5c652347a4a260adaa197e6ceeff5829a3fb12 08-Apr-2016 Chris Craik <ccraik@google.com> Merge "Support replace op in new pipeline" into nyc-dev
am: d306065

* commit 'd30606575783acd8689cfac604cba51e537b6b77':
Support replace op in new pipeline

Change-Id: Iab37f13a5fca72b2e581a897f7e03c17f9ce0b84
04d46eb69fb4f4c4c332c36c6ae845da3b2ae848 07-Apr-2016 Chris Craik <ccraik@google.com> Support replace op in new pipeline

bug:26562461

Change-Id: Ie48d2da30f5e9d9abe88a5cd973dfb26e38abf63
/frameworks/base/libs/hwui/Android.mk
3c77e5aa9d219193ba8a8e5f33ad23e63f55d4f5 31-Mar-2016 John Reck <jreck@google.com> Merge "Add a callback for rendernode parentcount=0" into nyc-dev
am: bbb4c2e

* commit 'bbb4c2eb2e871977289a9c48f414962e46b56ddc':
Add a callback for rendernode parentcount=0

Change-Id: I8168b028ce61413da8ecea76e6531c5dde9ddb46
44b49f070aafe8ad44efae87341121cce49ff11c 25-Mar-2016 John Reck <jreck@google.com> Add a callback for rendernode parentcount=0

Bug: 27709981
Fixes: 22565656

Change-Id: I1cb4461baf9069dc4e7ca6de10d5862578c107f4
/frameworks/base/libs/hwui/Android.mk
a4d8ea14bf138af2e10b377fc6d9adf81f63f3e8 29-Mar-2016 John Reck <jreck@google.com> Merge "Add a font microbench" into nyc-dev
am: a5c4545

* commit 'a5c45459d3f114f125da3357c36b5a3f659d2229':
Add a font microbench

Change-Id: Ib992cc06dcc7063283bee9840ec1b290f378adf5
2c0f93798b2c435307bfb1dfe194a6203e6e6ee5 28-Mar-2016 John Reck <jreck@google.com> Add a font microbench

Also remove a low-signal high-frequency trace mark

Fixes: 27894187

Change-Id: I090122a0db8e455eaa9dbce2b0f5b6778a218188
/frameworks/base/libs/hwui/Android.mk
cf512aa31e915e5aaf0459c170dc5993e10a07d2 28-Mar-2016 Derek Sollenberger <djsollen@google.com> Merge "Compute text bounds on a per glyph basis when drawing from an SkPicture." into nyc-dev
am: b64da4c

* commit 'b64da4cac43ad66dc1a1d6e8c963a263cbf932c8':
Compute text bounds on a per glyph basis when drawing from an SkPicture.
35934cccabf72879603ef37222da2195445f027e 23-Mar-2016 Derek Sollenberger <djsollen@google.com> Compute text bounds on a per glyph basis when drawing from an SkPicture.

bug: 27665826
Change-Id: I031c08a348b2488c85f74e708ee90019b24d707f
/frameworks/base/libs/hwui/Android.mk
6b8e2c0886a4084b86b71b86ccead5218cd9b451 22-Mar-2016 sergeyv <sergeyv@google.com> Merge "Clean up and rename TypefaceImpl" into nyc-dev
am: ef8ee4c

* commit 'ef8ee4c7bb606778274bfed5b479f97583bc7fae':
Clean up and rename TypefaceImpl
b08bd4e2a3dedeee184e7de7436ecf0402653008 22-Mar-2016 sergeyv <sergeyv@google.com> Merge "Reland: Move text logic from jni to hwui level" into nyc-dev
am: d8e91f6

* commit 'd8e91f65ae038a5223d6efd4ca4e382c7764bd4e':
Reland: Move text logic from jni to hwui level
bad99183916ba2bac6659efc8a28273e344ba511 17-Mar-2016 sergeyv <sergeyv@google.com> Clean up and rename TypefaceImpl

bug:25865834
Change-Id: I77e8a627163e040a5c25865054a8a936052af367
/frameworks/base/libs/hwui/Android.mk
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
/frameworks/base/libs/hwui/Android.mk
30e2bb845a66c3103cb23fa01d616a84b6fa565d 21-Mar-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Revert "Move text logic from jni to hwui level"" into nyc-dev
am: 6847953

* commit '6847953955502caa0bd0ba255d879a89aeccbd24':
Revert "Move text logic from jni to hwui level"
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
/frameworks/base/libs/hwui/Android.mk
b568e44f1ba32a3e879a820558eeaf2c2349090e 21-Mar-2016 sergeyv <sergeyv@google.com> Merge "Move text logic from jni to hwui level" into nyc-dev
am: 49658d4

* commit '49658d43802dc74c0ad68b7f5ba509832c1dec81':
Move text logic from jni to hwui level
a7f6bba1a3565c19715e878dfe7f0e01022944ff 16-Mar-2016 sergeyv <sergeyv@google.com> Move text logic from jni to hwui level

bug:25865834
Change-Id: I2d8c9c9544afcb5ce1784f732aed3e54e0eda372
/frameworks/base/libs/hwui/Android.mk
0874ce797c620d1ae06154e7761b3a6d3031fa06 14-Mar-2016 Chris Craik <ccraik@google.com> Merge "Fix flickering when layers resize in-place" into nyc-dev
am: c33609cb8b

* commit 'c33609cb8b91e048045a1a051a18ba0e1c6926cc':
Fix flickering when layers resize in-place
02806288d1c56475413888a934c796e6e4eb11c5 12-Mar-2016 Chris Craik <ccraik@google.com> Fix flickering when layers resize in-place

bug:27248275
Change-Id: Ia11c93ebc1097f3735071204b6f14ca079bb9fc4
/frameworks/base/libs/hwui/Android.mk
677a8765208c5ab609bd038c89e299be57ecb247 12-Mar-2016 sergeyv <sergeyv@google.com> Merge "Add GlopBuilder test for snapping" into nyc-dev
am: 67bd3b5256

* commit '67bd3b52563335c1773ca2b8cadcd52137ef8ea9':
Add GlopBuilder test for snapping
67bd3b52563335c1773ca2b8cadcd52137ef8ea9 12-Mar-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Add GlopBuilder test for snapping" into nyc-dev
f42bf3e2573bccb01babec448f925e9395bf224c 11-Mar-2016 sergeyv <sergeyv@google.com> Add GlopBuilder test for snapping

Change-Id: I7aa5cddef6f0a0e78f3ade67b0446c1f76cf3d13
/frameworks/base/libs/hwui/Android.mk
03bfc8bbe602ad991de03a4fa1f328a0729b5e51 10-Mar-2016 Chris Craik <ccraik@google.com> Merge "Add initial BakedOpDispatcher tests" into nyc-dev
am: c17232598b

* commit 'c17232598b0455af288955a70fcbdb699954af4c':
Add initial BakedOpDispatcher tests
c17232598b0455af288955a70fcbdb699954af4c 10-Mar-2016 Chris Craik <ccraik@google.com> Merge "Add initial BakedOpDispatcher tests" into nyc-dev
419a1e7ef53468e494d21c66ea7f63c0c522d208 09-Mar-2016 Chris Craik <ccraik@google.com> Add initial BakedOpDispatcher tests

bug:26571145
bug:26923968
bug:27389290

Change-Id: If8ba33732d09b335171f87d5efc419641bafa126
/frameworks/base/libs/hwui/Android.mk
2bee0dd94418c8d6f48dbd9d83af7dd67717d3ff 09-Mar-2016 John Reck <jreck@google.com> resolve merge conflicts of 77bf1bb928 to nyc-dev-plus-aosp

Change-Id: Ia876298e41f42af1fd0c3f9832468e03ea9129bc
77bf1bb928a448ca44a03026b2c8c1539691b70c 09-Mar-2016 John Reck <jreck@google.com> Merge "Switch hwui to google-benchmark" into nyc-dev
9a9bb774cd5d5a0d8e7a6ac41a419a3d3da6466a 08-Mar-2016 John Reck <jreck@google.com> Merge "Add leak-checking to unit tests" into nyc-dev
am: 328653d74c

* commit '328653d74cb6514cd26a0bce4565f2d79411595e':
Add leak-checking to unit tests
dc87c52cd5645dd87380114462211574b63e6353 29-Feb-2016 John Reck <jreck@google.com> Add leak-checking to unit tests

Initial pass at leak-detection on the unit
tests. Due to quirks in jemalloc we need
to run the leak check on both the main thread
and the RT thread to get decent leak coverage.

Change-Id: I0dce754aef5593f1ef5c3bed86e1168437a34b74
/frameworks/base/libs/hwui/Android.mk
0418afa362630e69bd853121770b115750ee46a4 07-Mar-2016 John Reck <jreck@google.com> Switch hwui to google-benchmark

Change-Id: Ia2b24b8288cb8dc4f9176f4132a24ddcae9b6edd
/frameworks/base/libs/hwui/Android.mk
e9c205be2cc3d7c591d9db6580aa99882e12014f 07-Mar-2016 Dan Willemsen <dwillemsen@google.com> Don't export all includes from libhwui_static

The behavior of LOCAL_WHOLE_STATIC_LIBRARIES is changing to also
reexport include directories in addition to every object in the library.
So remove the directories that were added to libhwui_static for local
use, and just set LOCAL_C_INCLUDES in those modules directly.

Change-Id: I30948734797d3e586cbfb2a0fc7ecccc61fe5b5d
/frameworks/base/libs/hwui/Android.mk
485e41d51067f9cd1f7de245533f1288e3a3d822 04-Mar-2016 Chris Craik <ccraik@google.com> Merge "Revert "Disable HWUI_NEW_OPS"" into nyc-dev
f0a76088f8132ca3ea10241c55c5e81aebe072c2 03-Mar-2016 Chris Craik <ccraik@google.com> Revert "Disable HWUI_NEW_OPS"

bug:27366026

This reverts commit 0bed032eb2d19c339ecaa89a6e3159c0e2ac98de.

Change-Id: I4d569a11bb2b8db73b9984c50941c78ec5c91fe9
/frameworks/base/libs/hwui/Android.mk
b878a99f235b806b0558d8c141fe4a6984c42f25 29-Feb-2016 Chris Craik <ccraik@google.com> Merge "Fix matrix mapping of negative rects" into nyc-dev
261725fdb2962271c222a049fcdf57bbdc8363c7 29-Feb-2016 Chris Craik <ccraik@google.com> Fix matrix mapping of negative rects

bug:27381362

Also rejects ops with empty clip at record time, and short circuits clip
intersection, when one is empty.

Change-Id: I842612da14ad8fd9f1ba5e9e4fd027ba4e08d365
/frameworks/base/libs/hwui/Android.mk
0bed032eb2d19c339ecaa89a6e3159c0e2ac98de 26-Feb-2016 John Reck <jreck@google.com> Disable HWUI_NEW_OPS

Bug: 27365711

Change-Id: Ife7ecc7c688738df4028f30847a2ff914e433b99
/frameworks/base/libs/hwui/Android.mk
91eff22b5d7f8fe551bae01331948858ce932a96 22-Feb-2016 Chris Craik <ccraik@google.com> Support op dumping in new pipeline

bug:26565102

Change-Id: I266e420a2f18ba9ad62942b8a0de295dfa3a2a88
/frameworks/base/libs/hwui/Android.mk
6cc3a25db5b5479f3896afa18615d2476fc3a569 19-Feb-2016 John Reck <jreck@google.com> Temporarily enable fine-grained error checking

Bug: 27186019

Quick testing shows negligable performance impact, so turn
this on temporarily to track down some GL errors

Change-Id: I5700075d5640af0951d832acfde3179ec7511912
/frameworks/base/libs/hwui/Android.mk
11f02d7e522ec8742f7ef533c252e04e24b93f6b 13-Feb-2016 Andres Morales <anmorales@google.com> allow for slow FrameMetricsListeners

A slow listener could cause a race in the NotifyHandler
where the single reference to the buffer to send would get
updated when it shouldn't have been.

Switch to a queue of available buffers to prevent this race.

Also, stop setting and clearing the observer reference and instead
incStrong/decStrong to mark temporary strong ownership without
colliding with other owners in flight.

Bug: 27097094
Change-Id: Iee647bfae8b80019b6d8290179eed3973230901f
/frameworks/base/libs/hwui/Android.mk
991da31d4073396768f215c5c3e77e54368da75f 11-Feb-2016 Derek Sollenberger <djsollen@google.com> Update HWUI makefiles to support use by other targets (e.g. Skia)

(1) Update both static and shared lib to export libhwui headers
(2) Work around problem in current make system where a static
libraries dependencies are not transitively included by moving
those dependencies into a file that can be included by targets
using libhwui_static.
(3) Do not expose protobuf headers to clients outside of HWUI

Change-Id: I08470c02a83ae64116081eff0c2050878990c6ed
/frameworks/base/libs/hwui/Android.mk
b251a2f51e636d036598ad27473b9cc55fdac1d7 08-Feb-2016 Chris Craik <ccraik@google.com> Revert "Revert "TaskManager bench""

This reverts commit 9640477e3cc075b0f303e817a3ebcc72d7bc878b.

Change-Id: I3aa8f2830b43b9c7b211c5792a311d0bc698c51a
/frameworks/base/libs/hwui/Android.mk
1697c3daed0be1390b2707110e7e8718d55f1afd 06-Feb-2016 Chris Craik <ccraik@google.com> Use clang to build microbench

Change-Id: I7ae8049fe05e99fadf905abd18553cb28596ba7f
/frameworks/base/libs/hwui/Android.mk
0b69467d424dcc4e1dcf29bcd96b239a13393591 05-Feb-2016 John Reck <jreck@google.com> Merge "Add a debug assert to track down infinite loop"
83c9b5bf638d75a3395f57c2c57c31c959632f9d 05-Feb-2016 John Reck <jreck@google.com> Add a debug assert to track down infinite loop

Bug: 26980851
Change-Id: I326983ab367782048311b6cf06d800f72837e38e
/frameworks/base/libs/hwui/Android.mk
9640477e3cc075b0f303e817a3ebcc72d7bc878b 05-Feb-2016 Daniel Chapin <chapin@google.com> Revert "TaskManager bench"

This reverts commit 02db03ca0584371504fd29ced77c00d601cb0971.

Change-Id: I86bdf5e6774e99f9add59a657bfc50d45ebfda1d
/frameworks/base/libs/hwui/Android.mk
3ff6b15d47d89d92dcfa0d420ff730f70ac50f2a 05-Feb-2016 Chris Craik <ccraik@google.com> Merge "TaskManager bench"
766431aa57c16ece8842287a92b2e7208e3b8ac3 04-Feb-2016 Doris Liu <tianliu@google.com> Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""

This reverts commit 5a11e8d0ba21624025b89ac63bbd18befa55be0e.

Change-Id: I7a48b59c4f930dad65ddc8590c25a12636244ea2
/frameworks/base/libs/hwui/Android.mk
02db03ca0584371504fd29ced77c00d601cb0971 04-Feb-2016 Chris Craik <ccraik@google.com> TaskManager bench

bug:26964750

Change-Id: Ibda0cd2e5e64331a4367d4985d6acfd6f3baeda1
/frameworks/base/libs/hwui/Android.mk
5a11e8d0ba21624025b89ac63bbd18befa55be0e 04-Feb-2016 Doris Liu <tianliu@google.com> Revert "VectorDrawable native rendering - Step 4 of MANY"

b/26949340 and b/26975469, b/26975079 as well

This reverts commit f276acd98457bcaabc9e79a17a736b3b484f005e.

Change-Id: I4b55177daf0d289bc03604c71fd4bf579f65073a
/frameworks/base/libs/hwui/Android.mk
3fd03b718d336ddb492125a07df62d3050d08bd4 04-Feb-2016 Chris Craik <ccraik@google.com> Merge "Add SkiaBehaviorTests"
07d8d59e21125fe7cba09b10e3dd7ecb9c49e8d8 04-Feb-2016 Chris Craik <ccraik@google.com> Add SkiaBehaviorTests

Change-Id: Ie2983f7a0c9e8bdd8c8de507d70ecf3aefdd9425
/frameworks/base/libs/hwui/Android.mk
a72d52bbed043b5149c98a1697bf7022e00050b3 03-Feb-2016 Doris Liu <tianliu@google.com> Merge "VectorDrawable native rendering - Step 4 of MANY"
f276acd98457bcaabc9e79a17a736b3b484f005e 07-Jan-2016 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 4 of MANY

This CL runs VectorDrawable animation on RenderThread. The changes in this CL
include:
- Convert all the animators in AnimatorSet for AVD into a set of RenderNodeAnimators.
- Hook up the new animators with RenderThread
- Add drawOp in RecordingCanvas for drawing VD so that during the animation
on RenderThread, all the property changes on VD can be reflected on the screen.

TODO:
- Implement reverse and reset for AVD.

Change-Id: I2df1d754f2db0ad098d9c15dde4bb2bdfafc2315
/frameworks/base/libs/hwui/Android.mk
c3127a78b996a540cd002e5a87861e8a2adeb336 30-Jan-2016 John Reck <jreck@google.com> Fix TextDropShadowCache infinite loop

Bug: 26862239

Switch TextDropCacheShadow to use the tracked objectSize()
instead of the optional bitmapSize. A mismatch here
results in ::get() infinite looping trying to free space in
the cache since the LRU removal callback would always
decrement mSize by 0 since bitmapSize was not being set.

Also prevent the infinite loop in the future by crashing if
this scenario happens again.

Change-Id: Ib4e9fbe1c8327af2335ad650fd694a1627d9824f
/frameworks/base/libs/hwui/Android.mk
c52ac0b9e2dc9d060f21498ac59404ec7fd1e846 26-Jan-2016 John Reck <jreck@google.com> Merge "Add fine-grained debug layer"
975591a7af883d866d86ab819e164c6004694744 23-Jan-2016 John Reck <jreck@google.com> Add fine-grained debug layer

Full GLES error checking layer via -include
trickery. Change DEBUG_OPENGL to a level system.

HIGH = every GL call is error checked
MODERATE = checkpointing at interesting spots
LOW = only asserts there are no errors at the end of a frame
or when the FBO changes
NONE = AIN'T GOT NO TIME FOR ERRORS GOTTA GO FAST!

Change-Id: Ibe81aae93d942059c4ddf1cbb11c828b7ce4c10b
/frameworks/base/libs/hwui/Android.mk
06f5bc70a667a02b14e31d3f53f91d3661e30666 16-Dec-2015 Andres Morales <anmorales@google.com> expose hwui frame stats through FrameStatsObserver

Change-Id: I88884bafc8e2f6d7f67a36d3609490e83cf8afd5
/frameworks/base/libs/hwui/Android.mk
dcdbba7c95c8495cf5b25b020b33af186e127bf2 19-Jan-2016 John Reck <jreck@google.com> Re-enable new pipeline

Change-Id: I0d0b2a109a3756d404e4e244348a863a9afa3f9b
/frameworks/base/libs/hwui/Android.mk
1b94f9b77cb1a241b42f894572d819cc1153932f 19-Jan-2016 John Reck <jreck@google.com> Revert "Switch to new rendering pipeline"

This reverts commit 3daf4d3272f2cc6ce3b5a572b9d4dcce1654086d.

Temporarily disable due to high rate of crashes from endLayer check

Bug: 26609444
Change-Id: I7583a77bf5cc1e722fa4042db0542f80cd978760
/frameworks/base/libs/hwui/Android.mk
7db5ffb7dbd30202468459e2ef4426e91d4fcbb3 15-Jan-2016 John Reck <jreck@google.com> Revert "Revert "Fix leak in unclipped save layer""

This reverts commit a6fc36d4cd7f27147fd304960acdd1d2f47fc1c6.

Change-Id: I6b96afe4a32dc894d5b17cfb870b45063257aed2
/frameworks/base/libs/hwui/Android.mk
a6fc36d4cd7f27147fd304960acdd1d2f47fc1c6 15-Jan-2016 Daniel Chapin <chapin@google.com> Revert "Fix leak in unclipped save layer"

This reverts commit 8e068d5fd38dd103a122215fb6d185135182edf3.

Change-Id: Icd8ad5a2450db34aacecf748d6103df9faaa4c81
/frameworks/base/libs/hwui/Android.mk
8e068d5fd38dd103a122215fb6d185135182edf3 15-Jan-2016 John Reck <jreck@google.com> Fix leak in unclipped save layer

Change-Id: I31f146af2cb6f5cb8dd19bb0feff0ae35b864eba
/frameworks/base/libs/hwui/Android.mk
cbc5bd57f0f528743fce5ec02b0739dc6368311f 14-Jan-2016 John Reck <jreck@google.com> Merge "Track texture memory globally"
e5da4ef971258193cd1e89737a12b95b6ac244bb 14-Jan-2016 John Reck <jreck@google.com> Trap SIGABRT in RenderThread for unit tests

Change-Id: Icc1039543d975497808a8062e9d909537c4a29c9
/frameworks/base/libs/hwui/Android.mk
38e0c32852e3b9d8ca4a9d3791577f52536419cb 10-Nov-2015 John Reck <jreck@google.com> Track texture memory globally

Also mostly consolidates texture creation

Change-Id: Ifea01303afda531dcec99b8fe2a0f64cf2f24420
/frameworks/base/libs/hwui/Android.mk
48cb62018c7d86f1c09935b511dfb8aa1c26ceab 13-Jan-2016 Chris Craik <ccraik@google.com> Fix the build

Change-Id: I11aaa6dabdc3998155ee7f1ee58083bb88f19aad
/frameworks/base/libs/hwui/Android.mk
3daf4d3272f2cc6ce3b5a572b9d4dcce1654086d 13-Jan-2016 Chris Craik <ccraik@google.com> Switch to new rendering pipeline

bug:22480459

Change-Id: I3ca94c4b6c556ba6d133e2314ac0307e874651fa
/frameworks/base/libs/hwui/Android.mk
f158b49c888f722194afe5a80539a2b020c130bc 12-Jan-2016 Chris Craik <ccraik@google.com> Rename Reorderers to Builders

Change-Id: I9bb5a2e70055e2f6d14912fbd86ab72ac0d6e20c
/frameworks/base/libs/hwui/Android.mk
5ea1724be4d3b6039818f91fc087e1216c1463d5 11-Jan-2016 Chris Craik <ccraik@google.com> Rename OpReorderer to FrameReorderer

Also separate LayerReorderer into its own files.

Change-Id: Iafb6a156f760f62f831f6288fd0dadf1db25da24
/frameworks/base/libs/hwui/Android.mk
f5baedb000e25497ca6875204dbe559970268543 05-Jan-2016 Chris Craik <ccraik@google.com> Merge "Stencil support in new recorder/reorderer"
e4db79de127cfe961195f52907af8451026eaa20 23-Dec-2015 Chris Craik <ccraik@google.com> Stencil support in new recorder/reorderer

bug:22480459
bug:26358504

Adds complex (non-rectangular) clipping support, and overdraw
visualization. Doesn't support stencil clipping in layers.

Change-Id: I8d10c7f1d2769ab5756774ca672344cc09901f87
/frameworks/base/libs/hwui/Android.mk
4bbc2931263b232fba61807fca00e127573eff42 02-Dec-2015 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 3 of MANY

- Refactored VPathRenderer & VectorDrawableState
- Moved all the VD rendering into native
- Set up hooks for VD's property changes in JNI for animated VD

TODO: JNI calls can be further reduced when we convert the animation
in AVD to use RenderNodeAnimator, in which case animation will be
driven from native and therefore most of the JNI hooks for changing
VD's properties during animation will no longer be needed.

Change-Id: I52021f4d7bea057b83ace54085d870dd45acae0f
/frameworks/base/libs/hwui/Android.mk
e60a52a23686557174dc86b482a914dfd31addae 17-Dec-2015 Chris Craik <ccraik@google.com> Fix build

Change-Id: I1fc72636afc070257526ce1500e96e9b39089640
/frameworks/base/libs/hwui/Android.mk
d2dfd8f128b632ed99418ab2b32949c939a9a369 16-Dec-2015 Chris Craik <ccraik@google.com> Add TextureView support to new renderer/reorderer

bug:22480459

Change-Id: I2e4c0bc6b904706132f3f5087ededc9cac9b40fb
/frameworks/base/libs/hwui/Android.mk
27e58b4f54d693ff1db7ab2edb5d47ca296c1278 07-Dec-2015 Chris Craik <ccraik@google.com> Build hwui test scenes as common test code

And start using them in other non-macrobench tests

Change-Id: If155b531f3c89f97491001c06d1996df527b9f85
/frameworks/base/libs/hwui/Android.mk
8160f20b0aca8c6595d4b385d673f59b6bcd16a4 02-Dec-2015 Chris Craik <ccraik@google.com> Reorganize hwui test directories

Now test-only common files reside in tests/common, and each test
executable type (macrobench, microbench, and unit) has a subdir there.

This change means the shared lib no longer has test code in it, and
sets up a means for scenes to be shared between tests.

Change-Id: I37b081f6977300e03fdd961b8e6439fde730605e
/frameworks/base/libs/hwui/Android.mk
9b9eca5cc597a4245bd814f81a993f39c1591c84 25-Nov-2015 Chris Craik <ccraik@google.com> Merge "Support projection in OpReorderer"
8d1f2120fe80b23ab03c7168e3b6b2d13bafe2e7 25-Nov-2015 Chris Craik <ccraik@google.com> Support projection in OpReorderer

bug:22480459

Change-Id: Iceb71732dc50957cfb47fa1ba9b8e18e6fc51132
/frameworks/base/libs/hwui/Android.mk
9e7fcfda28fde747ba4e026772007cea77374e16 25-Nov-2015 Chris Craik <ccraik@google.com> Move BakedOpDispatcher to separate file

Change-Id: If7aad6db6b7e54a33eac9b9eddbe8cd844207282
/frameworks/base/libs/hwui/Android.mk
a1717271caac5e8ea3808c331d4141ac01a42134 19-Nov-2015 Chris Craik <ccraik@google.com> Initial text support in new reorderer/renderer

Removes obsolete drawPosText codepath, and unifies text decoration behavior.

Change-Id: I9c563249ab688a3394445a0e7fe1b9d0661f6f7c
/frameworks/base/libs/hwui/Android.mk
16c9d6a92e1b86d448c00c52a1630f3e71e6df76 18-Nov-2015 John Reck <jreck@google.com> Refactor hwuitest

Yank animations out into their own files

Change-Id: Iea522ee032752019c07ff308c3a3993011054308
/frameworks/base/libs/hwui/Android.mk
804618d0863a5d8ad1b08a846bd5319be864a1cb 17-Nov-2015 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 2 of MANY

Introduced PathData in Java, which is effectively a thin layer around the
native instance. PathData holds the verbs and points which is being used
in path morphing/interpolation. The verbs and points can be interpreted
into skia path commands, which is now done in native and therefore saves
a handful of JNI calls during path creation.

Removed the old PathDataNode mechanism and changed the PathEvaluator
to use PathData instead.

Also added tests and a microbench. Also ran CTS tests for VectorDrawable
and AnimatedVectorDrawable, and passed all of the existing tests.

Change-Id: Ia166f5172ff031fe18b154327967f911a62caec1
/frameworks/base/libs/hwui/Android.mk
98787e6c9b2c10b1ab7820bdac168686025b924a 13-Nov-2015 Chris Craik <ccraik@google.com> Finish shadow support in new reorderer/renderer

Now passes alphas and light radius, and correctly transforms light
center for layers.

Also fixes begin-frame/layer clears to be damage rect aware.

Change-Id: I3b1415cd7bf1518c510145ebebdb745f494a2542
/frameworks/base/libs/hwui/Android.mk
9fded232a9548a304e0145011df8849fba0dcda7 12-Nov-2015 Chris Craik <ccraik@google.com> Recycle OffscreenBuffers

Change-Id: Ia2e219026f211a5308ecf8209c5f986bb888aadd
/frameworks/base/libs/hwui/Android.mk
f59cb788ba6d06d13b440b2b7d3f9d4480052c2f 10-Nov-2015 Doris Liu <tianliu@google.com> Add microbench for PathParser

Change-Id: I95d6c3153480e3ea56032ffe73707110186fbb0f
/frameworks/base/libs/hwui/Android.mk
30bcf69df9cfae40b621335958656cb0e4afd7d5 04-Nov-2015 Doris Liu <tianliu@google.com> VectorDrawable native rendering - Step 1 of MANY

Implement path parsing from string to skia path in native. The parsing
contains two main stages:
1) Parse string into a list of nodes that contains one operation (such
as move) and a vector of floats as params for that operation.
2) Interpret the operations defined in the nodes into SkPath operations,
and create a skia path

Also provided unit test for parsing a string path into a list of nodes,
and then to a skia path.

Change-Id: I0ce13df5e3bb90987dcdc80fe8b039af175ad2e2
/frameworks/base/libs/hwui/Android.mk
704bed0da7cc75d0c517d425445de70ceb58060b 05-Nov-2015 John Reck <jreck@google.com> add DeviceInfo

This reverts commit 096895550b9d5430d7a001d491566decf4f9791b.

Change-Id: Ib2ed1e96d8f7f88302f5e27fe735687194553104
/frameworks/base/libs/hwui/Android.mk
41925b1ccd4c189bb64ad225804fb639b8fa73e4 05-Nov-2015 John Reck <jreck@google.com> Merge "Revert "add DeviceInfo""
096895550b9d5430d7a001d491566decf4f9791b 05-Nov-2015 John Reck <jreck@google.com> Revert "add DeviceInfo"

This reverts commit b2442896e3a226c7ebe9d47fa80b257e98a6a34d.

Change-Id: I50f6555451f71067505245333c8e558b5e3b2b3b
/frameworks/base/libs/hwui/Android.mk
5655c7cdd36a27674f5a286e545cceade54fef69 04-Nov-2015 John Reck <jreck@google.com> Merge "add DeviceInfo"
b2442896e3a226c7ebe9d47fa80b257e98a6a34d 04-Nov-2015 John Reck <jreck@google.com> add DeviceInfo

Change-Id: I4c122278a7e88b6f47c4dd3c5fc553df7d3c900d
/frameworks/base/libs/hwui/Android.mk
967bb181c1ee4e4779e457a1f765b3bdc7f0a230 04-Nov-2015 John Reck <jreck@google.com> Merge "Fix GCC build"
c90ed759cf06072f2aecc57dc82d7be8cbfd6d73 04-Nov-2015 John Reck <jreck@google.com> Fix GCC build

Change-Id: I990993b8b751bdaf41ce4db1aa7e28823f296777
/frameworks/base/libs/hwui/Android.mk
0b7e8245db728d127ada698be63d78b33fc6e4da 29-Oct-2015 Chris Craik <ccraik@google.com> Initial HW layer support in new reorderer/renderer

Shares vast majority of clipped savelayer code, with only minor
differences in lifecycle.

Doesn't yet handle fill region, resize, or window transform.

Change-Id: Iabdd71811590d2b937eb11e1b01ce556ade54a5a
/frameworks/base/libs/hwui/Android.mk
76ace115f7870fed9899a9db7d3852e21b5fb258 29-Oct-2015 Chris Craik <ccraik@google.com> Add FatVector

FatVector uses an inlined allocation to avoid malloc costs for small
vectors, especially those which are constructed/destructed frequently.

Change-Id: I9809dfd1255cfe98b4ce2b1124ca0fd6ca33dfe0
/frameworks/base/libs/hwui/Android.mk
550780745fa28ae9a87d02331841ca5ce4f9c763 31-Jul-2015 Leon Scroggins III <scroggo@google.com> Merge six commits from master-skia to master

Include external/skia/include/private
use SrcConstraint for drawBitmapRect
clean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS
don't call DEPRECATED getDevice()
update to newer API for drawBitmapRect
asABitmap is deprecated, used isABitmap

Change-Id: I519f54f97321a7a365ea81a3b78cb03b9bdca021
previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e
previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56
previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab
previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b
previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec
previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec
/frameworks/base/libs/hwui/Android.mk
7bd3721bc61a011310267a29acfae264a0a09bde 23-Oct-2015 John Reck <jreck@google.com> Merge "Add ShadowBench"
64bb63f0eeee73df64b22b9d1edd1962b8b9ba36 23-Oct-2015 Tom Hudson <tomhudson@google.com> Merge "Remove direct dependency of external/skia on frameworks/native"
b2f5bd2d6043132d8c1d0f3e2e7e454c2693f499 15-Oct-2015 Tom Hudson <tomhudson@google.com> Remove direct dependency of external/skia on frameworks/native

Moves all code that needs to link with libgui or libui into
frameworks/native/hwui/utils/TestWindowContext. This allows us to
run Skia automated tests against a HWUI backend to watch for
performance or correctness regressions on Android.

BUG=23556017
TEST=After this change, we can remove libui and frameworks/native/include
from external/skia/Android.mk
R=djsollen@google.com

Change-Id: I6f02a5ff98101e448606a1e892686e2c648b6c8a
/frameworks/base/libs/hwui/Android.mk
82f5e0c5cd0fcbacd8094b7963a50a2e30e0846f 23-Oct-2015 John Reck <jreck@google.com> Add ShadowBench

Drop -O3 & -ffast-math as they don't
help on clang and just hit SIGBUS issues

Change-Id: I8e9a8f4cd9ddf136103a6b7f69902e9f3a730c57
/frameworks/base/libs/hwui/Android.mk
0a24b146cd3dacf372ce98424044423a5b2fbf2a 20-Oct-2015 Chris Craik <ccraik@google.com> Add initial OpReorderer benchmarks

Change-Id: I6ca8ea89be2159331b2ad7031769c65f54161918
/frameworks/base/libs/hwui/Android.mk
5fbd9db67a8b2f11f472358fd70e2e6f0cc236e8 19-Oct-2015 Chris Craik <ccraik@google.com> Use null GL for unit tests/microbench

Change-Id: Ie6234f03d8561b71fc2ebd149ddd7334f275d7c5
/frameworks/base/libs/hwui/Android.mk
81a1d2a15927b06b84359f839ab03ac8a20970bd 16-Oct-2015 Chris Craik <ccraik@google.com> Add LinearStdAllocator

Also fixes microbench DisplayListData leak.

Change-Id: I1c46f6d0d38650327f3df90e7b278fa7765083dc
/frameworks/base/libs/hwui/Android.mk
b565df13a9e5c7b1d7d93bdfa4a793752d66d3cc 05-Oct-2015 Chris Craik <ccraik@google.com> Initial commit of new Canvas operation recording / replay

Done:
- drawRect, drawBitmap, drawColor, drawPaint, drawRenderNode, drawRegion
- Recording with new DisplayList format
- batching & reordering
- Stateless op reorder
- Stateless op rendering
- Frame lifecycle (clear, geterror, cleanup)

Not done:
- SaveLayer (clipped and unclipped)
- HW layers
- Complex clipping
- Ripple projection
- Z reordering
- Z shadows
- onDefer prefetching (text + task kickoff)
- round rect clip
- linear allocation for std collections
- AssetAtlas support

Change-Id: Iaf98c1a3aeab5fa47cc8f9c6d964420abc0e7691
/frameworks/base/libs/hwui/Android.mk
4a4bc892e826849bd58606d99408f1bfbceddc3b 12-Oct-2015 John Reck <jreck@google.com> Microbench hackery

Change-Id: I35428350e16982824bb4e8a0015a4cb98b1c0799
/frameworks/base/libs/hwui/Android.mk
e702c9cd6a2b9b1378f740a79b0e349a9b02660f 07-Oct-2015 John Reck <jreck@google.com> Shove the tests into a different file

Also add descriptions because those are nice

Change-Id: I2d0480acf17af2700c8b7fb7228203e16a068f6b
/frameworks/base/libs/hwui/Android.mk
6e6646c03788f198a9878763680c05342d7622f3 15-Sep-2015 Chris Craik <ccraik@google.com> Unify extensions parsing behavior

Removes remnants of EGL extension support, and persistence of
GL extension list.

Change-Id: I35aec12d900bdb33549ea47654bb8146f350ef48
/frameworks/base/libs/hwui/Android.mk
9557106c6f84640382a068997b1fc125099d6019 02-Sep-2015 Chris Craik <ccraik@google.com> Add CanvasState tests

Change-Id: Idcd022f6e4015e074d8e73b4c116e0788fd4f045
/frameworks/base/libs/hwui/Android.mk
e248bd1b2c3fcf8088429507e73b31f45ee2544b 05-Aug-2015 John Reck <jreck@google.com> Serializing display lists

This is a WIP prototype

Change-Id: Id4bfcf2b7bf905221c3734b7b6887c9b2efd37e6
/frameworks/base/libs/hwui/Android.mk
4c5efe9290543b723b76a8bd48518da1ae1dcb26 10-Jul-2015 Derek Sollenberger <djsollen@google.com> Add ninePatch support to Canvas.h

Change-Id: Ic095291fe55911c6501c1bdefa4b8da973c77319
/frameworks/base/libs/hwui/Android.mk
773bbe0357b17a16d095ce57c30980992a9c977f 18-Aug-2015 John Reck <jreck@google.com> Revert "Add ninePatch support to Canvas.h"

This reverts commit edca320a2b42011f98c308fdf25fc0494c6a5454.

Change-Id: I30ee93cfc1cac391ce152f03e9e13a1ad24dc91b
/frameworks/base/libs/hwui/Android.mk
d2e72141797e92ced2f076f6b3899a6b450966b4 17-Aug-2015 John Reck <jreck@google.com> Makefile re-jiggering

Change-Id: I6a8d7c9ecbc4f1af8bc4a6e1409787f215d6fc5b
/frameworks/base/libs/hwui/Android.mk
849911a9c4315fc552faa38516c842b2541b1909 20-Jan-2015 John Reck <jreck@google.com> Move Canvas

Change-Id: I83d557af30fc2d5c69d06eedc0f4d52ac41c4210
/frameworks/base/libs/hwui/Android.mk
a2732a2bf98f7dbd063f4e5679f5b8bfcbec2698 18-Dec-2014 John Reck <jreck@google.com> Stop pretending USE_OPENGL_RENDERER is a thing

Change-Id: I732b490431fe90eafa00a00f3b5429f0d3a067e6
/frameworks/base/libs/hwui/Android.mk
35cf58ab283a784b0dbdeeb8fa5a620a34030b35 18-Dec-2014 John Reck <jreck@google.com> Split hwui's makefile

Change-Id: I7ad1a692e708cad052e8ca5b412c17e25992862c
/frameworks/base/libs/hwui/Android.mk
64bb413a664001c95c8439cf097dc3033f4ed733 22-Nov-2014 Andreas Gampe <agampe@google.com> Revert "resolved conflicts for merge of 220c3f4f to master"

Reverted as hwui doesn't agree.

This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9.

Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
/frameworks/base/libs/hwui/Android.mk
8a902d9f24e83c87b054adb5836b4a5b8a257be9 22-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 220c3f4f to master

Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
42ddc18d108f789705ad4eb697ce9599ad322507 21-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Unused parameters in hwui

Remove Clang cutout for unused parameters. Fix warnings.

Remove Clang cutout for deprecated Skia function usage. Has been
fixed in the L push.

Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
/frameworks/base/libs/hwui/Android.mk
45670c1dc55c3d853c03a252623428aeffa731e7 12-Nov-2014 Dan Albert <danalbert@google.com> am b28ff487: resolved conflicts for merge of 5e6cf242 to lmp-mr1-dev-plus-aosp

* commit 'b28ff487fb6db4a44e4d18aa17d8253f00a63bb6':
Move frameworks/base over to libc++.
ff1d8a6635fb6441615778a47e2881129574a5b1 12-Nov-2014 Dan Albert <danalbert@google.com> Move frameworks/base over to libc++.

Bug: 15193147
Change-Id: I96109d2d383f0c8a4aaa611f29fcf887afb3c69e
/frameworks/base/libs/hwui/Android.mk
edaecc1db0584fa017822dfc2da0c968b53967e6 11-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp

(cherry picked from commit 1272887050a269d6d506b42099c2857847ad100b)

Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
/frameworks/base/libs/hwui/Android.mk
1e19674107e1aa2224c2b8c7d12bfa057efe80ea 11-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in libs/hwui

Turn on -Wall -Werror in libs/hwui. Fix errors.

Change-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd
/frameworks/base/libs/hwui/Android.mk
984162fb7e4010b6e2908352dbff17ed47eecf06 10-Oct-2014 Tom Hudson <tomhudson@google.com> Replace StatefulBaseRenderer inheritance with CanvasState member

Incrementally disentangles DisplayListRenderer and OpenGLRenderer.
Introduces abstract CanvasStateClient class to share three functions
between the two.

Design doc at https://docs.google.com/a/google.com/document/d/1PY1JF7AfPEF2UOUAnETS5j_4_tnJShTAMExvpCJfP8o/edit?usp=sharing.

BUG:15672762
R=djsollen@google.com,ccraik@google.com,jreck@google.com

Change-Id: Ic9fdffe18808e7d921ad06d01ea1ca25b2ad6f23
/frameworks/base/libs/hwui/Android.mk
4ed472ab33e78391c0b084ed3908019e06b7dfe5 29-Oct-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 3028394c to stage-aosp-master

Change-Id: I980e4c95cdc6a4778cef3298338692656d23e7c6
d3448e437ac247e96455014e95f15a3ddd5cb328 15-Sep-2014 Chih-Hung Hsieh <chh@google.com> Suppress Clang compilation warnings.

Ignore warnings about unused parameters and initialization of static
constant float data members.

Change one potential error of allocating variable length
array of non-POD element type on stack.

Fix mismatch of class and struct declaration tags.

BUG: 17512760
Change-Id: I3a09c945fb1c17f27aff74a7e439dd4c35d1fb32
/frameworks/base/libs/hwui/Android.mk
c04d92cac93fdbbdc6d104f15f6496d197753e92 20-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 1a4527ce to lmp-dev-plus-aosp

Change-Id: Iee4e93e3a2b049ec5f13166dbbffdd77b301fe5c
88ba339aefd74ffe0ea978ebb659a430f82940f0 12-Sep-2014 Dan Albert <danalbert@google.com> Clean up makefile cruft.

The build system already takes care of all these things.

Change-Id: Idef80b554e07cef5e5ed2adf1b5740a76f13ef6d
/frameworks/base/libs/hwui/Android.mk
119907cd2575c56b1ebf66348b52e67aaf6a88d8 14-Aug-2014 John Reck <jreck@google.com> Animator stuff

Bug: 17228458

Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
/frameworks/base/libs/hwui/Android.mk
a7c2ea20c43ab797bef5801530687e22e83def8f 08-Aug-2014 John Reck <jreck@google.com> Fix damage for layers for projection receivers

Bug: 16880228

Change-Id: I59ab760a21f49cc2cac0d8936b173cff292e6114
/frameworks/base/libs/hwui/Android.mk
68bfe0a37a0dcef52abd81688d8520c5d16e1a85 25-Jun-2014 John Reck <jreck@google.com> Animator refactoring & fixes

Tweaks animators to have less unnecessary refcounting

Pull animator management out into seperate class

More control to tweak animator lifecycle, such as doing
Java-side handling of start delay by attaching but not
starting the animator

Change-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c
/frameworks/base/libs/hwui/Android.mk
07126e12cc4409e31e64c47a8cf7eb620806ff29 23-Jun-2014 Derek Sollenberger <djsollen@google.com> Cleanup unused includes in the hwui library.

Change-Id: I94c188403f5fa541e47a03a3bd1c7cf00c29bf4e
/frameworks/base/libs/hwui/Android.mk
3b20251a355c88193c439f928a84ae69483fb488 23-Jun-2014 John Reck <jreck@google.com> No-fail invokeFunctor

Bug: 15513308
Bug: 15449247

Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
/frameworks/base/libs/hwui/Android.mk
1e5cf9aced40e6e14262e542d0ed0e24cda877a0 10-Jun-2014 Chris Craik <ccraik@google.com> am b1c76a1a: Merge "Tessellate on worker threads" into lmp-preview-dev

* commit 'b1c76a1abcfb2f33e12fef37ec71d20724863b5e':
Tessellate on worker threads
05f3d6e5111fd08df5cd9aae2c3d28399dc0e7f5 03-Jun-2014 Chris Craik <ccraik@google.com> Tessellate on worker threads

Tessellate and cache (where possible) shadow and round rect
tessellation tasks.

Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
/frameworks/base/libs/hwui/Android.mk
e4267ea4f20740c37c01bfb6aefcf61fddc4566a 04-Jun-2014 John Reck <jreck@google.com> Even FASTER damage calculations!

* Now with more native!
* Less matrix math thanks to bulk-property-update support!
* Zero JNI on the View.damageInParent() path!
* Fully aware of RT-driven animators!
* Likely full of new and exciting bugs!
* But it also fixes at least 1 existing invalidate bug!

Change-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f
/frameworks/base/libs/hwui/Android.mk
ce444ca4006cfe0e2151d858da732fc413a716bd 03-Jun-2014 John Reck <jreck@google.com> Cleanup

Change-Id: Ie366390272724a2c1dfda99b0e85806b7a612744
/frameworks/base/libs/hwui/Android.mk
fe5e7b7346a54537b980796ceeca66bfdbd05561 24-May-2014 John Reck <jreck@google.com> Enable debug stuffs

Bug: 14596762
* dumpsys gfxinfo implemented
* profile GPU visual_bars implemented

Change-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b
/frameworks/base/libs/hwui/Android.mk
e4aa95e3627226bcb0d8cc3e42dca6e4df8f421c 08-May-2014 Chris Craik <ccraik@google.com> Add logging utility methods

Change-Id: I0f316830dcc0bbf438292a6d0fbe9f8154368500
/frameworks/base/libs/hwui/Android.mk
18f16e6fba74eda173e1e7c869e6e2e2acc073ff 03-May-2014 John Reck <jreck@google.com> TIME LORD!

Bug: 14444180

Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
/frameworks/base/libs/hwui/Android.mk
e45b1fd03b524d2b57cc6c222d89076a31a08bea 15-Apr-2014 John Reck <jreck@google.com> RenderThread animator support

Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
/frameworks/base/libs/hwui/Android.mk
668f0e38ef0277d55d3118af37e17b8c435df85c 26-Mar-2014 John Reck <jreck@google.com> Async drawing!

Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
/frameworks/base/libs/hwui/Android.mk
113e0824d6bddf4376240681f9cf6a2deded9498 18-Mar-2014 John Reck <jreck@google.com> Move RenderNode to own file

Change-Id: I9380d161fd3ddd7b569c262dd8e7aa0c96151b1e
/frameworks/base/libs/hwui/Android.mk
acb6f07623b7df3d4179f70ae03ade574616ffa6 13-Mar-2014 John Reck <jreck@google.com> Split out RenderProperties

Change-Id: Ia9888b4fb2c849d95a8c395cafef2e2294a23aae
/frameworks/base/libs/hwui/Android.mk
950fe8f8d4d654e645fa7205ca275b5a03feb214 27-Feb-2014 Derek Sollenberger <djsollen@google.com> Cleanup unnecessary includes for libskia.

The libskia target exports all of its public includes directories so
redefining them here is redundant. Also this cleans up and makes it
obvious where the framework is making using of private Skia headers.

Change-Id: Ie7ecc9ddd3df780bed6b9af54ba58ca58274e043
/frameworks/base/libs/hwui/Android.mk
04fc583c3dd3144bc6b718fcac4b3e1afdfdb067 06-Feb-2014 John Reck <jreck@google.com> Refactor HardwareLayer

Defer all the things!
Groundwork to allow hardware layers to work in a renderthread world

Change-Id: Ib3aa47525f393083621254a743dbaa6352f933bd
/frameworks/base/libs/hwui/Android.mk
76d3a1b8d035d27bc80b0f2fc480a903bd001514 10-Dec-2013 Derek Sollenberger <djsollen@google.com> Removing SkiaColorFilter and inspecting the native object directly.

bug: 10650594
Change-Id: I4fcf66d008765afa0e35d011f58bc792183cb74f
/frameworks/base/libs/hwui/Android.mk
4f02bf4eef6af47f35c70c4dda5b7b9523d89ca0 04-Jan-2014 John Reck <jreck@google.com> Native-side proxy

Remove RemoteGLRenderer
Remove reflection-based control

Change-Id: If17c2bbb61c7141986d88c4763def77ed1074985
/frameworks/base/libs/hwui/Android.mk
8a3452e7e1cc7b6edf719b155e9d95ec8fbf573a 13-Jan-2014 ztenghui <ztenghui@google.com> Merge "Calculate and show the shadow from a spot light."
7b4516e7ea552ad08d6e7277d311ef11bd8f12e8 07-Jan-2014 ztenghui <ztenghui@google.com> Calculate and show the shadow from a spot light.

Change-Id: Ia558852e8cde5d33866b22875eb501e4c6858819
/frameworks/base/libs/hwui/Android.mk
23b797ab5151eb2474f3bdd679f2f07bfd723042 04-Jan-2014 John Reck <jreck@google.com> EGL migration to native

Move EGL state management to native side for RemoteGLRenderer

Change-Id: I12b0fed70246564d4caebf87374e8bbca655c572
/frameworks/base/libs/hwui/Android.mk
564acf7c9bff822f608cda0d5df0a64a9f9aaefd 03-Jan-2014 Chris Craik <ccraik@google.com> Fix Clang warnings/errors

Fix several build warnings (struct != class, int != size_t) and errors
(variable leng non-POD arrays).

Change-Id: I70b4e784365514303d8954bfcb1f39d7c22c1321
/frameworks/base/libs/hwui/Android.mk
14e513058ed4168c94e015638d16f5f87fd8063a 31-Dec-2013 Chris Craik <ccraik@google.com> Move Snapshot management to intermediate StatefulBaseRenderer class

The eventual goal is for the StatefulBaseRenderer to serve as the
common base class between the DisplayListRenderer and OpenGLRenderer.

This will separate DisplayList recording, Snapshot stack management,
and the GL in OpenGLRenderer.

Additionally, avoid sp<> parameters, and use const parameters in
several places, with the intent of greatly reducing the surface area
where renderer subclasses can modify snapshot stack.

Next steps:
-move bulk of clipping logic into StatefulBaseRenderer
-disable direct snapshot access

Change-Id: Ibc3c6747134ec7daf8ea535866239fa73b874390
/frameworks/base/libs/hwui/Android.mk
55bfb4e728fe1db619af5d2c287f4abe711b3343 03-Dec-2013 ztenghui <ztenghui@google.com> Calculate and show Ambient shadow.

Basically we compute the shadow as a strip of triangles, whose alpha value
is the strength of the shadow.
We use the normal to extend the geometry.
And we use static function and try to avoid new/malloc in the computation.

Change-Id: I382286f1cad351bd5ff983f76f446c075819dcaf
/frameworks/base/libs/hwui/Android.mk
cec24ae16e9a0a7c3075f1a8d9149bb7fb3813fc 05-Nov-2013 John Reck <jreck@google.com> RenderThread work

Hacky prototype needs a private API to enable

Change-Id: I21e0ddf3cdbd38a4036354b5d6012449e1a34849
/frameworks/base/libs/hwui/Android.mk
e63f7c622a2086aefa80983c6f41b74fb166bb42 17-Oct-2013 Chris Craik <ccraik@google.com> Clean unused parameters, disable warnings

Change-Id: Iddb872f53075dd022eeef45265594d1c6a9e2bc0
/frameworks/base/libs/hwui/Android.mk
250b1cfc831fd2a271c09cab547efcc5e3d5f828 01-Aug-2013 Tim Murray <timmurray@google.com> Handle updates to RS C++ API.

Change-Id: I73127fc7369643b94d4a49f31a516b50c74b54ac
/frameworks/base/libs/hwui/Android.mk
8aa195d7081b889f3a7b1f426cbd8556377aae5e 05-Jun-2013 Romain Guy <romainguy@google.com> Introduce Caches::bindTexture() to reduce glBindTexture calls

Change-Id: Ic345422567c020c0a9035ff51dcf2ae2a1fc59f4
/frameworks/base/libs/hwui/Android.mk
1212c9dafe932f70956651338568c5e1fdf21bcf 03-May-2013 Romain Guy <romainguy@google.com> Remove warning

Change-Id: Ia1523d02dc2b7f58ca26a142a5aef710792a5f3d
/frameworks/base/libs/hwui/Android.mk
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 18-Apr-2013 Romain Guy <romainguy@google.com> Pack preloaded framework assets in a texture atlas

When the Android runtime starts, the system preloads a series of assets
in the Zygote process. These assets are shared across all processes.
Unfortunately, each one of these assets is later uploaded in its own
OpenGL texture, once per process. This wastes memory and generates
unnecessary OpenGL state changes.

This CL introduces an asset server that provides an atlas to all processes.

Note: bitmaps used by skia shaders are *not* sampled from the atlas.
It's an uncommon use case and would require extra texture transforms
in the GL shaders.

WHAT IS THE ASSETS ATLAS

The "assets atlas" is a single, shareable graphic buffer that contains
all the system's preloaded bitmap drawables (this includes 9-patches.)
The atlas is made of two distinct objects: the graphic buffer that
contains the actual pixels and the map which indicates where each
preloaded bitmap can be found in the atlas (essentially a pair of
x and y coordinates.)

HOW IS THE ASSETS ATLAS GENERATED

Because we need to support a wide variety of devices and because it
is easy to change the list of preloaded drawables, the atlas is
generated at runtime, during the startup phase of the system process.

There are several steps that lead to the atlas generation:

1. If the device is booting for the first time, or if the device was
updated, we need to find the best atlas configuration. To do so,
the atlas service tries a number of width, height and algorithm
variations that allows us to pack as many assets as possible while
using as little memory as possible. Once a best configuration is found,
it gets written to disk in /data/system/framework_atlas

2. Given a best configuration (algorithm variant, dimensions and
number of bitmaps that can be packed in the atlas), the atlas service
packs all the preloaded bitmaps into a single graphic buffer object.

3. The packing is done using Skia in a temporary native bitmap. The
Skia bitmap is then copied into the graphic buffer using OpenGL ES
to benefit from texture swizzling.

HOW PROCESSES USE THE ATLAS

Whenever a process' hardware renderer initializes its EGL context,
it queries the atlas service for the graphic buffer and the map.

It is important to remember that both the context and the map will
be valid for the lifetime of the hardware renderer (if the system
process goes down, all apps get killed as well.)

Every time the hardware renderer needs to render a bitmap, it first
checks whether the bitmap can be found in the assets atlas. When
the bitmap is part of the atlas, texture coordinates are remapped
appropriately before rendering.

Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
/frameworks/base/libs/hwui/Android.mk
09d3636485eb1601c5beaf0d8682bb3027d2271d 16-Apr-2013 Romain Guy <romainguy@google.com> Fix indentation

Change-Id: If54b7d7c016acb5e7300323d2eada57142a814c0
/frameworks/base/libs/hwui/Android.mk
e48da96ab5837f305ef55d5ea9d3215930884f83 12-Apr-2013 Romain Guy <romainguy@google.com> resolved conflicts for merge of 886e1204 to master

Change-Id: Id002d2ae799c6946672335f122ecbfa07d9c0bc1
cf51a4199835e9604aa4c8b3854306f8fbabbf33 09-Apr-2013 Romain Guy <romainguy@google.com> Introduce PixelBuffer API to enable PBOs

PBOs (Pixel Buffer Objects) can be used on OpenGL ES 3.0 to perform
asynchronous texture uploads to free up the CPU. This change does not
enable the use of PBOs unless a specific property is set (Adreno drivers
have issues with PBOs at the moment, Mali drivers work just fine.)

This change also cleans up Font/FontRenderer a little bit and improves
performance of drop shadows generations by using memcpy() instead of
a manual byte-by-byte copy.

On GL ES 2.0 devices, or when PBOs are disabled, a PixelBuffer instance
behaves like a simple byte array. The extra APIs introduced for PBOs
(map/unmap and bind/unbind) are pretty much no-ops for CPU pixel
buffers and won't introduce any significant overhead.

This change also fixes a bug with text drop shadows: if the drop
shadow is larger than the max texture size, the renderer would leave
the GL context in a bad state and generate 0x501 errors. This change
simply skips drop shadows if they are too large.

Change-Id: I2700aadb0c6093431dc5dee3d587d689190c4e23
/frameworks/base/libs/hwui/Android.mk
28af35e8cdc601c7ab9c7287d9e72fdc331e8a9d 10-Apr-2013 Ying Wang <wangying@google.com> resolved conflicts for merge of a976bddd to master

Change-Id: I64e1cbfb0eee891ce4d1eee40eefdcedcc501f7f
d685894212e6dbeac1fda4996903c1da115d49a6 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
/frameworks/base/libs/hwui/Android.mk
e4d9a01bfc7451afff1ed399a5801c7aa2af2831 29-Mar-2013 Dan Morrill <morrildl@google.com> Phase 1 of refactoring SystemServer.

SystemServer is currently a monolithic class that brings up key system
services. This change is the first phase of refactoring it to be more
configurable. Specifically, it adds a set of on/off switches used to control
startup of individual services. Future plans include finer grained controls
and a more explicit and consistent startup sequence for these services.

Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
/frameworks/base/libs/hwui/Android.mk
c46d07a29e94807e768f8b162ce9f77a88ba6f46 16-Mar-2013 Romain Guy <romainguy@google.com> Merge all shapes/paths caches to PathCache

This change will greatly simplify the multi-threading of all
shape types.

This change also uses PathTessellator to render convex paths.

Change-Id: I4e65bc95c9d24ecae2183b72204de5c2dfb6ada4
/frameworks/base/libs/hwui/Android.mk
5dc7fa709646799a5207a5d217f70aa02bf4a3aa 12-Mar-2013 Romain Guy <romainguy@google.com> Add TaskManager API

This API can be used to run arbitrary tasks on a pool of worker
threads. The number of threads is calculated based on the number
of CPU cores available.

The API is made of 3 classes:

TaskManager
Creates and manages the worker threads.

Task
Describes the work to be done and the type of the output.
A task contains a future used to wait for the worker thread
to be done computing the result of the task.

TaskProcessor
The processor dispatches tasks to the TaskManager and is
responsible for performing the computation required by
each task. A processor will only be asked to process tasks
sent to the manager through the processor.

A typical use case:

class MyTask: Task<MyType>

class MyProcessor: TaskProcessor<MyType>

TaskManager m = new TaskManager();
MyProcessor p = new MyProcessor(m);
MyTask t = new MyTask();
p.add(t);

// Waits until the result is available
MyType result = t->getResult();

Change-Id: I1fe845ba4c49bb0e1b0627ab147f9a861c8e0749
/frameworks/base/libs/hwui/Android.mk
6e2004089305cf2cd958b52b234459a49a4e5c83 08-Mar-2013 Romain Guy <romainguy@google.com> Move blur code from FontRenderer to utils/Blur.cpp

Change-Id: I2cebbfbcb722ed4b37e54ffbf8b53bb92ad0c964
/frameworks/base/libs/hwui/Android.mk
620cff4006ee0b507f00ef8a242ecff4e60ba4e9 19-Feb-2013 Chris Craik <ccraik@google.com> am ad82f20d: Merge "DisplayList draw operation reordering"

* commit 'ad82f20d2382396f5ac75fdf6f7db5c4da1c4c23':
DisplayList draw operation reordering
c3566d06421c8acc0aafb18f7e307e5725ce87e1 05-Feb-2013 Chris Craik <ccraik@google.com> DisplayList draw operation reordering

bug:8037003

The reordering enables similar operations to draw together, minimizing the
OpenGL state change operations that go inbetween draws. Eventually, multiple
complete canvas draw operations will be merged (into a single glDrawArrays call,
for example)

Reorders DisplayList draw operations when:

-They can move backwards in the command stream to be after similar
operations without violating draw ordering

-The OpenGLRenderer is in a simple, replayable state (no complex clip,
or filter/shadow etc)

Also adds two system properties to control the deferral/reordering:
"debug.hwui.disable_draw_defer"
"debug.hwui.disable_draw_reorder"
which can be set to "true" to control the display list manipulation

Change-Id: I5e89f3cb0ea2d2afd3e15c64d7f32b8406777a32
/frameworks/base/libs/hwui/Android.mk
41250b67fe6308570860f2435c6b305ed8270002 15-Feb-2013 Kristian Monsen <kristianm@google.com> resolved conflicts for merge of 101ae3bb to master-chromium

Only include file changes in conflict.

Change-Id: I1b6eb3343e7163827d8031ffea4b77f294980ccc
0776a6069365bdea83855db154fa2d37f9d1d808 15-Feb-2013 Chris Craik <ccraik@google.com> Move DisplayList to its own cpp file

Change-Id: Ic9c1bbf4673ad5c756f3908b2ab7e699edd6a119
/frameworks/base/libs/hwui/Android.mk
0229d0818c8f08753a0df583798bbac19f67a4c4 14-Feb-2013 Chris Craik <ccraik@google.com> am 805a6fe7: Merge "Revert "Revert "Use RenderScript for large text blurs"""

# Via Android (Google) Code Review (1) and Chris Craik (1)
* commit '805a6fe7b1417640ccaf7914171cb65515b6ab39':
Revert "Revert "Use RenderScript for large text blurs""
f2d8ccc15d7272b3416f73605c1f31d1d346bd40 14-Feb-2013 Chris Craik <ccraik@google.com> Revert "Revert "Use RenderScript for large text blurs""

This reverts commit bf5703e52e3304246cbf0e73f6976f7d7312d238.

Change-Id: Ic6f991277dec9e80a6fed93db91499726b30ab2a
/frameworks/base/libs/hwui/Android.mk
c932760f667cf56ca7a1aeffde505745dc3632e1 14-Feb-2013 Chris Craik <ccraik@google.com> Merge "Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE"
68b600913b699da0fbfcd9d913e4c4fdb08e06b8 13-Feb-2013 Chris Craik <ccraik@google.com> Merge "Revert "Use RenderScript for large text blurs""
bf5703e52e3304246cbf0e73f6976f7d7312d238 13-Feb-2013 Chris Craik <ccraik@google.com> Revert "Use RenderScript for large text blurs"

This reverts commit 3f76e65d251ead65fe8ff98e3bd4c7623fbaac07

Change-Id: Ia81cd485e5ca696bb284c419dc8a1d2f3247100e
/frameworks/base/libs/hwui/Android.mk
bce29d2a549c374e642ad7a41a1daf869b46f53c 13-Feb-2013 Chris Craik <ccraik@google.com> Merge "Use RenderScript for large text blurs"
8d4aeb7111afac0c3c7e56d4ad5d92f9cfce2ffd 13-Feb-2013 Romain Guy <romainguy@google.com> Add a render buffer cache to reuse stencil buffers
Bug #7146141

This new cache is used in a similar way to LayerCache. It helps
reuse already allocated stencil buffers and thus avoid churning
memory on every frame.

Change-Id: I19551d72da52c40039e65904563600e492c8b193
/frameworks/base/libs/hwui/Android.mk
7c1a49f5f5ed6613d736464bf5001b777e89ced2 13-Feb-2013 Chris Craik <ccraik@google.com> Revert "Merge remote-tracking branch 'goog/master-chromium' into 'goog/master'" DO NOT MERGE

This reverts commit 6c0307dd0aefe9a08794b155fc03ee60ebd14f25, reversing
changes made to a2cd828b749c444d55c2c41c7dbb85088ff94b9f.

Conflicts:
packages/SystemUI/res/values-sv/strings.xml

Change-Id: Ia178efe8b14751583d47b2826bfe3d3d5463dd2e
/frameworks/base/libs/hwui/Android.mk
3f76e65d251ead65fe8ff98e3bd4c7623fbaac07 15-Nov-2012 Chris Craik <ccraik@google.com> Use RenderScript for large text blurs

Still fall back to simple path for small tasks

Change-Id: I492f1b3f7d6fec1738f3e45cbfb15864bd23a392
/frameworks/base/libs/hwui/Android.mk
da8d8b9699fe8e9557389465007e333d3f03dcc1 07-Feb-2013 Romain Guy <romainguy@google.com> Merge "Add a RenderBuffer object to store stencil buffers. Bug #7146141"
3bbacf27c0be1bae4e4483577fc89ae3113abe5d 07-Feb-2013 Romain Guy <romainguy@google.com> Add a RenderBuffer object to store stencil buffers.
Bug #7146141

This change is needed to add a render buffer cache to avoid
creating and destroying stencil buffers on every frame.

This change also allows the renderer to use a 1 bit or 4 bit
stencil buffer whenever possible.

Finally this change fixes a bug introduced by a previous CL
which causes the stencil buffer to not be updated in certain
conditions. The fix relies on a new optional parameter in
drawColorRects() that can be used to avoid performing a
quickReject on rectangles generated by the clip region.

Change-Id: I2f55a8e807009887b276a83cde9f53fd5c01199f
/frameworks/base/libs/hwui/Android.mk
1ba0289d18f16e190a3bc7cf9226d061016dc355 07-Feb-2013 Chris Craik <ccraik@google.com> Merge "Add cap tessellation support"
65cd612face362d054a85d0f7e5881c59cd523be 11-Dec-2012 Chris Craik <ccraik@google.com> Add cap tessellation support

bug:7117155
bug:8114304

Currently used for lines (with and without AA) and arcs with useCenter=false

Also removes 0.375, 0.375 offset for AA lines

Change-Id: Ic8ace418739344db1e2814edf65253fe7448b0b0
/frameworks/base/libs/hwui/Android.mk
ca79cf69d09efa0c327e9b1237d86a119aea5da7 14-Aug-2012 Derek Sollenberger <djsollen@google.com> Update framework to support r5967 of Skia.

bug: 6906025
Change-Id: Iefdb830ec3aa2ab3472c1c142484a7aa21788a15
/frameworks/base/libs/hwui/Android.mk
710f46d9d6a5bf9ea1c1833384caf61e1934124f 18-Sep-2012 Chris Craik <ccraik@google.com> Polygonal rendering of simple fill shapes

bug:4419017

Change-Id: If0428e1732139786cba15f54b285d880e4a56b89
/frameworks/base/libs/hwui/Android.mk
d15ebf25c595b855f6978d0600218e3ea5f31e92 05-Sep-2012 Chet Haase <chet@google.com> Enable changing properties of layer paint

Previously, to draw a layered view with a changed Paint object for the
drawLayer operation, you'd have to invalidate the parent view, to get the
native DisplayList to pick up the new Paint properties. This change adds
API and functionality so that the developer can call setLayerPaint(), which
does the proper invalidation (lightweight, doesn't cause redrawing the view).

Issue #6923810 Make it easy to efficiently animate a layer's Paint

Change-Id: I7fea79788d50f6d9c86dd5e5b2a4490cb95142bb
/frameworks/base/libs/hwui/Android.mk
9f5dab3fc228fa11c32b483e6101ec086895a32b 04-Sep-2012 Romain Guy <romainguy@google.com> Refactor FontRenderer.cpp

FontRenderer.h defined several classes and structures that now live
in the font/ folder. This will make the code easier to read and
maintain.

Change-Id: I3dc044e9bde1d6515f8704f5c72462877d279fe2
/frameworks/base/libs/hwui/Android.mk
0baaac5e9adf3ee280ae1239e2e58754a9d2b099 01-Sep-2012 Romain Guy <romainguy@google.com> Revert "Revert "Add more support for transformed clip rects and paths""

This reverts commit a8557d2169e14997637f57bc897640c8882d4a46.

Change-Id: I36d4883d548fc47ba6c0b4a42012107d0d2f85a6
/frameworks/base/libs/hwui/Android.mk
a8557d2169e14997637f57bc897640c8882d4a46 01-Sep-2012 Mathias Agopian <mathias@google.com> Revert "Add more support for transformed clip rects and paths"

this introduced a dead lock in GradientCache's ctor.

This reverts commit dfe082f63e94cde9aee271c94d13de5e7217e036.

Bug: 7096001
Change-Id: I57b8bbab11fb7cb502fa58e3bbf5d19864db874f
/frameworks/base/libs/hwui/Android.mk
dfe082f63e94cde9aee271c94d13de5e7217e036 01-Sep-2012 Romain Guy <romainguy@google.com> Add more support for transformed clip rects and paths

Change-Id: I41791b1e1bffef77d503dc9e52428395d2309688
/frameworks/base/libs/hwui/Android.mk
211efea7376371ee755edd2ad03e83ef6eea464e 01-Aug-2012 Romain Guy <romainguy@google.com> Add dithering to gradients

Change-Id: Ic1208855bde3a254eca2fd7cef43e0f1318ce419
/frameworks/base/libs/hwui/Android.mk
8a4ac610e1aaf04931ac1af54b146a7fc8e66114 18-Jul-2012 Romain Guy <romainguy@google.com> Don't clear the dirty clip flag if it's not applied
Bug #6833979

Change-Id: I0ea78b7f31a557a335de10d910d03b0520029080
/frameworks/base/libs/hwui/Android.mk
157bd5749f40b0330fccf3ef159d922742103ef2 17-Jul-2012 Romain Guy <romainguy@google.com> Add makefile flags for perf

Change-Id: Ibcb6e1c883551273c3392cdaa40cd0b71a3bfa70
/frameworks/base/libs/hwui/Android.mk
ada4d53d50dc869b8278573ad640dc44118d3bcf 03-Feb-2012 Romain Guy <romainguy@google.com> Separate interface definition and implementation of Snapshot

The Snapshot class is getting complicated enough that its implementation
should now live in a separate .cpp file. This will become particularly
useful when support for clip regions and paths will be added later on.

Change-Id: I050fac5683a9f7a0ff2f7a6beec3dd28aa5eb0d8
/frameworks/base/libs/hwui/Android.mk
9c4b79af221b53f602f946faa9ff317a596a0c39 11-Nov-2011 Romain Guy <romainguy@google.com> Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab
/frameworks/base/libs/hwui/Android.mk
7077506f9945b87b02bdd47ffce75a5b813c821c 14-Nov-2011 Dave Burke <daveburke@google.com> Revert "Discard framebuffer rendering queues when discarding layers"

This reverts commit da96f8ac2c1c35a54f3f36e6d776cb386a251d03.
/frameworks/base/libs/hwui/Android.mk
da96f8ac2c1c35a54f3f36e6d776cb386a251d03 11-Nov-2011 Romain Guy <romainguy@google.com> Discard framebuffer rendering queues when discarding layers
Bug #5581817

Change-Id: If612846ec5f7793710fc4df152791fb32c506551
/frameworks/base/libs/hwui/Android.mk
7953745dd565167113f8cbfc461bc0521d32d870 12-Oct-2011 Romain Guy <romainguy@google.com> Reduce the size of libhwui by 50%

This change removes unnessary symbols. All symbols are hidden by
default, public APIs with exported symbols are explicitly marked
with ANDROID_API.

Change-Id: I692fde432a86c12108de1cfd1f6504919a7d5f3f
/frameworks/base/libs/hwui/Android.mk
9c1e23baf5bfbebd1aebbd6d9a18c225325567ce 24-Mar-2011 Chet Haase <chet@google.com> Add logging of graphics acceleration info to bugreports

Change-Id: I9fa4cda6ccf92df9d1c644ccdc0e7274a30106e0
/frameworks/base/libs/hwui/Android.mk
3070af08821ee86f06a9cc6b58dbb79c82946b94 14-Mar-2011 Iliyan Malchev <malchev@google.com> frameworks/base: remove LOCAL_PRELINK_MODULE

Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/base/libs/hwui/Android.mk
cabfcc1364eb7e4de0b15b3574fba45027b45cfc 08-Mar-2011 Romain Guy <romainguy@google.com> Add support for partial invalidates in WebView
Bug #3461349

This change also fixes two bugs that prevented partial invalidates
from working with other views. Both bugs were in our EGL implementation:
they were preventing the caller from comparing the current context/surface
with another context/surface. This was causing HardwareRenderer to always
redraw the entire screen.

Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
/frameworks/base/libs/hwui/Android.mk
01d58e43ede5ca98cbebdd166f9b0c545032c01b 20-Jan-2011 Romain Guy <romainguy@google.com> Add rounded rects and circles support to OpenGLRenderer.

Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
/frameworks/base/libs/hwui/Android.mk
6c319ca1275c8db892c39b48fc54864c949f9171 11-Jan-2011 Romain Guy <romainguy@google.com> Better backend for hardware layers.

With this new backend, a hardware layer is only recreated when
its associated view is udpated. This offers fast composition
in GL and fast update of the layer in GL as well.

Change-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076
/frameworks/base/libs/hwui/Android.mk
5b3b35296e8b2c8d3f07d32bb645d5414db41a1d 28-Oct-2010 Romain Guy <romainguy@google.com> Optimize FBO drawing with regions.
This optimization is currently disabled until Launcher is
modified to take advantage of it. The optimization can be
enabled by turning on RENDER_LAYERS_AS_REGIONS in the
OpenGLRenderer.h file.

Change-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1
/frameworks/base/libs/hwui/Android.mk
dd78ccacff83f0714ad90be98b58ad85f5d08c66 23-Oct-2010 Chet Haase <chet@google.com> Fix Caches singleton to avoid resource leaks

The declaration of Singleton objects must be in CPP files (not header
files) to avoid creating separate instances of what is supposedly a
single object.

Change-Id: Ie903384824a458b5572f3ce5b6cfb359c18a9c44
/frameworks/base/libs/hwui/Android.mk
5c13d89c1332fcc499379b9064b891187b75ca32 08-Oct-2010 Chet Haase <chet@google.com> Optimizing display lists by referencing pointers to resources instead of copying them

Change-Id: I81ad3551d74aa1e5bb64d69e33d2eb29a6c1eb6a
/frameworks/base/libs/hwui/Android.mk
03750a067e818ca7fbd0f590e2ff6a8fded21e6c 18-Oct-2010 Romain Guy <romainguy@google.com> Use VBOs to render most geometries.

Change-Id: I4360dc4fe5693ab425450c107282b2c22db4dca7
/frameworks/base/libs/hwui/Android.mk
8550c4c7b5952b7a4e1e0ede95c9492d03099a13 09-Oct-2010 Romain Guy <romainguy@google.com> Better cache for layers, reduce memory usage and increase framerate.

Change-Id: I5ff864a361db4791bd5ff6be716f7ce692ef572d
/frameworks/base/libs/hwui/Android.mk
4aa90573bbf86db0d33a3a790c5dbd0d93b95cfe 27-Sep-2010 Romain Guy <romainguy@google.com> Adding display lists to the GL renderer (checkpoint.)

Change-Id: Iaa49757600a53b39369dbb23f8c3feab282518e6
/frameworks/base/libs/hwui/Android.mk
e2d345ea67e2960b37bfdc0fc8626d1bfa747404 25-Sep-2010 Romain Guy <romainguy@google.com> Add debug mode to measure performance.

Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
/frameworks/base/libs/hwui/Android.mk
b45c0c9774bd19a9dbe77d149abae4e124b08bf6 27-Aug-2010 Romain Guy <romainguy@google.com> Apply gamma correction to font rendering.

Change-Id: I1b05f40e356221b2a5eb9400e67d77ecd98ed6c4
/frameworks/base/libs/hwui/Android.mk
1e45aae5de003657e5d18f74d34998f5de5db5b7 14-Aug-2010 Romain Guy <romainguy@google.com> Add drop shadows.

Change-Id: Ic6a72409d4785968d1fbdff229f17ee5c00b240b
/frameworks/base/libs/hwui/Android.mk
163935113919a184122b8b3bd672ef08c8df65dc 08-Aug-2010 Romain Guy <romainguy@android.com> Make libhwui entirely optional.

The makefile variable USE_OPENGL_RENDERER must be set to true to compile
libhwui and the related code in the JNI layer.

This change also removes obsolete APIs from Canvas that must not be used
and would be confusing if left in. These APIs were remnants of our first
attempt at an OpenGL renderer for the view hierarchy and had not been
taken out before Android 1.0 was released.

Change-Id: I2475ff1307212bab26c926724f3c508681c7dae1
/frameworks/base/libs/hwui/Android.mk
7fbcc0492fca03857e3c45064f4aa040af817d55 05-Aug-2010 Romain Guy <romainguy@google.com> Add support for paths.

Rendering is implementing by rasterizing the paths into A8 textures.
This cna be extremely inefficient if the path changes often.

Change-Id: I609343f304ae38e0d319359403ee73b9b5b3c93a
/frameworks/base/libs/hwui/Android.mk
db1938e0e6ef816e228c815adccebd5cb05f2aa8 03-Aug-2010 Romain Guy <romainguy@google.com> Add support for ColorFilters.

Color filters are fully supported and can be used with shaders.

Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
/frameworks/base/libs/hwui/Android.mk
06f96e2652e4855b6520ad9dd70583677605b79a 31-Jul-2010 Romain Guy <romainguy@google.com> Refactor Skia shaders handling.

With this change, Skia shaders can easily be applied to any mesh. This change also
supports ComposeShader. For instance, this can be used to blend a gradient and a
bitmap togehter and paint a string of text with the result.

Change-Id: I701c2f9cf7f89b2ff58005e8a1d0d80ccf4a4aea
/frameworks/base/libs/hwui/Android.mk
ac670c0433d19397d4e36ced2110475b6f54fe26 28-Jul-2010 Romain Guy <romainguy@google.com> Generate shaders to cover all possible cases.

With this change, all the vertex and fragment shaders used by the GL
renderer are now generated based on a program description supplied
by the caller. This allows the renderer to generate a large number
of shaders without having to write all the possible combinations by
hand. The generated shaders are stored in a program cache.

Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
/frameworks/base/libs/hwui/Android.mk
694b519ac647fe998fd396fe0784cc8e179aadc4 22-Jul-2010 Romain Guy <romainguy@google.com> Add text rendering.

Change-Id: Ibe5a9fa844d531b31b55e43de403a98d49f659b9
/frameworks/base/libs/hwui/Android.mk
c0ac193b9415680f0a69e20a3f5f22d16f8053be 20-Jul-2010 Romain Guy <romainguy@google.com> Add support for linear gradients.

Change-Id: Id15329da065045b3f06fdaed615f33cd57608496
/frameworks/base/libs/hwui/Android.mk
fb5e23c327cd5f8f93d1eaa7c10f34d6fd3efb6c 09-Jul-2010 Romain Guy <romainguy@google.com> Refactoring to move vertex computing to the Patch class.

This change is mostly cleanup to keep less code in OpenGLRenderer.

Change-Id: I954375143b2943829457ab470423729b60b844f5
/frameworks/base/libs/hwui/Android.mk
f7f93556c8fcc640ab5adef79d021a80a72a645a 09-Jul-2010 Romain Guy <romainguy@google.com> Draw n-patches using OpenGL.

Currently only tested with title bars and buttons.

Change-Id: I8263a9281898dc0e943b1b8412827fe55639b9d6
/frameworks/base/libs/hwui/Android.mk
6c81893c626499e58c8eeb20d6c35ec4e1ce808b 08-Jul-2010 Romain Guy <romainguy@google.com> Simpler way to deal with the FBO multi-cache.

This change removes the need for the SortedList and instead just
add a generated id to each FBO stored in the cache. This is an
artificial way to store several FBOs with the same dimensions.

Change-Id: I9638364e9bdc0f2391261937a0c86096f20505bf
/frameworks/base/libs/hwui/Android.mk
5f0c6a483900f3989f4d2a8f913cf5b6a9777d03 07-Jul-2010 Romain Guy <romainguy@google.com> Optimize FBO cache.

This change introduces a new generational cache called GenerationMultiCache
that can store several values with the same key. This can be used to use
multiple layers of the same size at the same time, without recreating them
over and over again.

Change-Id: I425466a20908b862c5f464a0f9e582ec18cbd7ac
/frameworks/base/libs/hwui/Android.mk
dda570201ac851dd85af3861f7e575721d3345da 06-Jul-2010 Romain Guy <romainguy@android.com> Add a layer (FBO) cache.

The cache is used to draw layers so that a new
texture does not have to be recreated every time
a call to saveLayer() happens.

The FBO cache used a KeyedVector, which is a bad
idea. The cache should be able to store several
FBOs of the same size (this happens a lot during
scrolling with fading edges for instance.) This
will be changed in a future CL.

Change-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726
/frameworks/base/libs/hwui/Android.mk
ce0537b80087a6225273040a987414b1dd081aa0 30-Jun-2010 Romain Guy <romainguy@google.com> Add hooks for drawBitmap().

Change-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0

Add texture cache.

Change-Id: I1c0e5581d228869e114438258a1014e33e024ad7
/frameworks/base/libs/hwui/Android.mk
5cbbce535744b89df5ecea95de21ee3733298260 28-Jun-2010 Romain Guy <romainguy@android.com> Reduced the complexity of layers composition.

This change also refactors the code base a bit by moving classes out of
OpenGLRenderer into separate headers/implementations. This makes the code
more manageable.

This change also adds documentation for implementation methods. The
undocumented methods are simply Skia's Canvas methods.

Change-Id: I54c68b443580a0129251dddc1a7ac95813d5289e
/frameworks/base/libs/hwui/Android.mk
3e168335b3422008908ac6973bb36078fd979f35 22-Jun-2010 Romain Guy <romainguy@google.com> Fix simulator build again.

Change-Id: Ifd204d64eaa4c356422e3363ec0a6e6aa61c52dc
/frameworks/base/libs/hwui/Android.mk
85bf02fc16784d935fb9eebfa9cb20fe46ff7951 22-Jun-2010 Romain Guy <romainguy@google.com> Fix the simulator build.

Change-Id: Ie404f7c2c308f0657f273af19a56e8c039b61898
/frameworks/base/libs/hwui/Android.mk
08ae317c21ec3086b5017672bba87420cc38a407 22-Jun-2010 Romain Guy <romainguy@google.com> Add glOrtho equivalent to the OpenGL ES 2.0 renderer.

Change-Id: I063dad3d81dab7833acb1e7a9c7121f8efd2a044
/frameworks/base/libs/hwui/Android.mk
e4d011201cea40d46cb2b2eef401db8fddc5c9c6 17-Jun-2010 Romain Guy <romainguy@google.com> Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0.

This is the initial checkin to setup the library and turn on OEGL ES 2.0
in ViewRoot, not a functional renderer.

Change-Id: I6655c54166e2967da2e21e7d6dcfba78bf113b44
/frameworks/base/libs/hwui/Android.mk