History log of /frameworks/base/libs/hwui/DisplayListCanvas.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
718cd3eb70703c43f29ca37907bbf0e153d8cca0 18-May-2016 Doris Liu <tianliu@google.com> Handle hidden RT VectorDrawable animators

This CL changes the target of VD specific animators to VectorDrawable,
instead of RenderNode. The benefit of doing so is that animators can
now detect whether the animation is meaningful by checking whether
their VD target is in the display list. If not, that means the VD is
not drawing for the current frame, in which case we can be smarter
and more power efficient by removing the animator from the list and
posting a delayed onFinished listener callback.

By setting VD as the animation target, when an ImageView decides to
update its drawable from one AVD to something else, we'll be able
to detect that the previous AVD is no longer in the display list,
and stop providing animation pulse to the stale AVD, which is
something we couldn't do previously. This change also
handles the case where one AVD instance could be drawn in two
different views.

Bug: 27441375
Change-Id: Iaad1ed09cfd526276b95db0dd695275c28e074e8
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
cd1c3eba69d044b551cededad75474038f919890 14-Apr-2016 John Reck <jreck@google.com> Add a callback for when a gl functor is released

Bug: 27709981

Change-Id: Id5be3e8f88d6d84a9c59c7ed23e7e8862feefbe8
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
1d8e194661085f9a18ab1b3cd12f9e19d3a86be5 03-Mar-2016 Doris Liu <tianliu@google.com> Make AVD thread safe

This CL introduces staging properties to VectorDrawable, which holds
properties coming from UI thread. When staging properties are changed,
they are marked dirty, and the staging properties then get pushed to
RenderThread at sync point. In cases where no staging property has
been changed, at sync point we sync the render thread properties back
to staging properties to reflect the latest render thread animation
value change.

Also, update Vector Drawable bitmap only when it's dirty

Bug: 27343970
Bug: 27385912
Bug: 27263667
Bug: 27927674
Bug: 27774383

Change-Id: Ia864f5400a53a08dbfb284fae581fb1aac4fff87
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
14b56a514c9f49b3f9496e247c6cbb31db3e0db8 26-Feb-2016 Doris Liu <tianliu@google.com> DrawVectorDrawableOp for old rendering pipeline

Bug: 27371430
Change-Id: I068d8023812173526ac98d11b903f82e0a66d9c2
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
e8c3c813b0e3ac98304b17a751ce6e436e252bd9 06-Feb-2016 Chris Craik <ccraik@google.com> Fix TextDropShadowCacheTests and glyph_t everywhere

Change-Id: I943eae4e9408c77bdfba6304ba7ee3e862351a41
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
6f485569fa3d6047dcffd068aebf361e3598783c 30-Jul-2015 Derek Sollenberger <djsollen@google.com> Update Canvas API with view system calls.

Refactor DisplayListCanvas, RecordingCanvas, and SkiaCanvas
to share a common API.

Change-Id: I0268ec2749ea5d13a3a72bb2784ed6a9911383d9
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
eecff56fed5dd5206acfbc5007b4912081b36d3b 21-Dec-2015 Florin Malita <fmalita@google.com> Add internal Canvas save flags

Skia's SkCanvas::SaveFlags are being deprecated. This CL introduces
the equivalent android::SaveFlags, converts all internal clients to
the new enum, and switches the saveLayer glue to the
SaveLayerRec-based API.

Change-Id: Icb1785f4e7c0f652b1f04b34a1e3ccb063c408f3
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
f35b989d26bb98900f6c5fa2e586326b30b6e161 31-Jul-2015 Leon Scroggins III <scroggo@google.com> Merge six commits from master-skia to master

Also corrects some code under development behind the HWUI_NEW_OPS flags
to match the updated Skia API.

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

previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e
previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56
previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab
previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b
previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec
previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec
previous-Change-Id: I85de3462ad1e4877784df38edc4bcd0acbd24e5e
Change-Id: Ide8e2f669e91a13c32521af3a16efdaa085c81d0
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
d8f904f256b82e48e9a85561eb96e15399b0b2d9 28-Oct-2015 Tom Hudson <tomhudson@google.com> Revert "Merge six commits from master-skia to master"

This reverts commit 550780745fa28ae9a87d02331841ca5ce4f9c763.

Change-Id: Ic71eccea454b26261fe6e9a9a7a24eff56396989
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
b36af87f8275f4b982906f88193ec27600f2746a 16-Oct-2015 Chris Craik <ccraik@google.com> Use LinearStdAllocator in DisplayList

bug:24300128

This removes most of the remaining calls to malloc when
recording DisplayLists.

Change-Id: If928bd53dac0f145aadc436a62759086b67da0ed
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
003cc3dec8e2a92e51086fbcd5ee1bb236efa701 16-Oct-2015 Chris Craik <ccraik@google.com> Rename DisplayListData to DisplayList

Change-Id: I25f6bb88ffdf9baf7e8e4e2a294aa8c9d2a4605b
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
10ed692118552a01ff97b095295852b631e51bee 15-Oct-2015 Chris Craik <ccraik@google.com> Use typedefs to differentiate between flavors of DisplayLists

Change-Id: Id3b0a5aa045f2343fb046ca0889b375a7d00e03f
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
64e445bf74bee2098781d608cedfd723d8cc88d3 02-Sep-2015 Chris Craik <ccraik@google.com> CanvasState frame init refactor

bug:23760482

Change-Id: Idc0802b4b8a6a3cebd20797350f4eb01bcc3fe77
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
3aadd60521960be063ee06208562ccb63dc414e3 20-Aug-2015 Chris Craik <ccraik@google.com> Revert "Revert "Simplify TextureView draw path""

Fixed build breakage

This reverts commit d35dcb13115ca1dd8c07e397f43a186cd7fd1a01.

Change-Id: Id3a103fbaac15a05f558bce2161ce17b6e8d2ea3
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
3b1c32eb5d96c9a13e101cc7207f27d045c6bd8b 20-Aug-2015 Bart Sears <bsears@google.com> Merge "Revert "Simplify TextureView draw path""
d35dcb13115ca1dd8c07e397f43a186cd7fd1a01 20-Aug-2015 Bart Sears <bsears@google.com> Revert "Simplify TextureView draw path"

This reverts commit 20a248934c67b19c8734362dba76a5cc94254686.

Change-Id: Iaa3ebb1d868acbe184080087aec312b43e87e3c7
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
87f9c42f5411d1b00f9babe7873b8200c3a25e60 20-Aug-2015 Chris Craik <ccraik@google.com> Merge "Simplify TextureView draw path"
20a248934c67b19c8734362dba76a5cc94254686 19-Aug-2015 Chris Craik <ccraik@google.com> Simplify TextureView draw path

bug:20461288

Change-Id: I239fbd26ab2177481c84feb62a1da68faeb634ac
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
6daa13c5fa7577fa1d8371deca446f6ca911f38f 19-Aug-2015 Chris Craik <ccraik@google.com> Change setMatrix behavior to only affect canvas-local matrix

bug:22189925

This makes setMatrix(getMatrix()) work as expected, and makes setMatrix()
much more useful without changing behavior relative to a View's parent
hierarchy.

Change-Id: I608613bd27c1b9052ae583f8fd2119cf37a2f6d7
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
55f444501362b91763913207fe820adfc6c458f8 19-Aug-2015 Derek Sollenberger <djsollen@google.com> Merge "Add ninePatch support to Canvas.h"
93481f08b0d1c4b34db687d25c7fc6a485d3dd40 19-Aug-2015 Chris Craik <ccraik@google.com> am 7da9d7fa: am 9c45aa8f: am ca3c865d: am 892768fb: am 0b804542: Merge "Constrain drawBitmap matrix-to-rect optimization" into mnc-dev

* commit '7da9d7fae673473a3a24d3ff0127bd0c67f70337':
Constrain drawBitmap matrix-to-rect optimization
e688bf720334f58e0003b4c75b53cc7618adf43f 18-Aug-2015 Chris Craik <ccraik@google.com> Constrain drawBitmap matrix-to-rect optimization

bug:22962165

Optimization is not valid if matrix would flip image.

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

Change-Id: Ic095291fe55911c6501c1bdefa4b8da973c77319
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
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/DisplayListCanvas.cpp
edca320a2b42011f98c308fdf25fc0494c6a5454 10-Jul-2015 Derek Sollenberger <djsollen@google.com> Add ninePatch support to Canvas.h

Change-Id: Ib3202fd7c5b9f35853f286abe84b3ed009df1a81
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
cef25e5319e4f76682dd63a3c01bfacb19aeeb51 30-Jul-2015 John Reck <jreck@google.com> Merge "Replace most usages of utils/Vector.h"
272a685f17cc4828257e521a6f62b7b17870f75e 30-Jul-2015 John Reck <jreck@google.com> Replace most usages of utils/Vector.h

Change-Id: I540d1b3523244d6c71fc52d6fb30555271c25644
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
6578a989566e585eee053095dc80e2552e125db2 13-Jul-2015 Derek Sollenberger <djsollen@google.com> Support High Contrast Text for all canvas types

Change-Id: Iee324446798fe1a1cb32cb991f181a4af24aa93c
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
749e67438c7e2dbe2bb362dc07522a1702810455 29-Jul-2015 Chris Craik <ccraik@google.com> Revert "Support High Contrast Text for all canvas types"

bug:22820834

This reverts commit 876d56612ab8ec7032f702905d694670e6c4febd.

Change-Id: I4e07a0894095caaaf2fd36bfa6073d033542bfc4
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
876d56612ab8ec7032f702905d694670e6c4febd 13-Jul-2015 Derek Sollenberger <djsollen@google.com> Support High Contrast Text for all canvas types

Change-Id: Ib46ba3d7c67e081872e6a4b11d294fe9a61f5bbd
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
94394b3fb048d5349a77b57950ab7f6b6e92ce34 10-Jul-2015 Derek Sollenberger <djsollen@google.com> Move drawRegion from DisplayList to Canvas

Change-Id: I9f401dc5b24732938ac2ca7ed829796e2d7ef3e8
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
cc882b6518129a11fa007f8c9343e972f03607b4 09-Jul-2015 Derek Sollenberger <djsollen@google.com> Remove unused functions and variables from DisplayListCanvas

This also moves some functions that are only called when creating/completing
a displayList into the appropriate constructors and endRecording calls.

Change-Id: I9f6add156d7f476a52766934af713b0f852c8dea
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
ac7b6d33d23cb0baaf61c723346198d41f012035 30-Jun-2015 Tom Hudson <tomhudson@google.com> New setLocalMatrix() operation for HWUI

Concats any matrix passed through from DisplayListCanvas with the
initialTransform of the containing RenderNode.

BUG:22189925

Change-Id: I5ea54a6e2a29520c79a8860bde7682694e8595d2
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
a81a0c86473e49df331cc2f6bdcefa980e3c1ec2 24-Jun-2015 Tom Hudson <tomhudson@google.com> Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev
90fb1f6732a610ad5ff6acdb3bd9ae392c8eac82 24-Jun-2015 Tom Hudson <tomhudson@google.com> Sync canvas proxy CTM (b/21945972)

SkiaCanvasProxy was being created with an identity transform, ignoring
any transform that may have been applied in Java (or C++) to the
android graphics Canvas it was proxy for. This CL makes sure the
DisplayListCanvas transform is propagated to the Proxy every time
asSkCanvas() is called.

We could instead move the code to the SkiaCanvasProxy constructor
if we got rid of the cached proxy on DisplayListCanvas; nobody's
using the proxy heavily enough that that should be a performance
hit at this time.

BUG:21945972
R=djsollen@google.com

Change-Id: I99ed1563802a2449bb9939cb67976cd60dd8611c
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
772687d24206e2fa2deebf0980a932573a624b17 22-Jun-2015 Chris Craik <ccraik@google.com> Avoid flushing DisplayListCanvas state for noop calls

bug:22006795

Change-Id: I2eceee69772b08f5319ea882be429a5b36860b7d
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
a766cb2bce5db9108c0266fbebea6aa18d5713ff 09-Jun-2015 Chris Craik <ccraik@google.com> Put WebViews with on a HW layer if stencil/shader clipping is needed

bug:17322378
Change-Id: I0de574bf116b30e2ad4194366e19d47d49708902
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
37b0824a46157b7e169ad7ec33a46e89c851884c 09-Jun-2015 John Reck <jreck@google.com> Upload bitmaps in SkShader* safely

Bug: 19412589
Change-Id: Id50c08ff523d5540f60c39b435c0ab1b4c685655
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
7c103a36f60b690e3fe83c40210e1cb0c76bba43 16-Apr-2015 John Reck <jreck@google.com> Remove Bitmap#getSkBitmap

Change-Id: Ifb9047b426122d3e5a445eb7a0eb3fce38dedf27
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
956f340aacc7d8fc2d10f776551f13fde2d8d3ab 28-Apr-2015 Chris Craik <ccraik@google.com> Remove unused flags and dirty rects

bug:17209071

Also update DisplayList->RenderNode naming in Editor

Change-Id: I1d505640ba7388a0b0042d9c787f859e45a24da5
/frameworks/base/libs/hwui/DisplayListCanvas.cpp
db663fe83f976107fd8fd9307d871b37d9e47370 20-Apr-2015 Chris Craik <ccraik@google.com> Rename native DisplayListRenderer to DisplayListCanvas

Change-Id: I33e6f8cc85da1e7da7ff7bf18d4ebde64222067a
/frameworks/base/libs/hwui/DisplayListCanvas.cpp