33 Commits

Author SHA1 Message Date
Chris Craik
b36af87f82 Use LinearStdAllocator in DisplayList
bug:24300128

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

Change-Id: If928bd53dac0f145aadc436a62759086b67da0ed
2015-10-19 11:32:28 -07:00
Chris Craik
003cc3dec8 Rename DisplayListData to DisplayList
Change-Id: I25f6bb88ffdf9baf7e8e4e2a294aa8c9d2a4605b
2015-10-16 10:38:34 -07:00
Chris Craik
10ed692118 Use typedefs to differentiate between flavors of DisplayLists
Change-Id: Id3b0a5aa045f2343fb046ca0889b375a7d00e03f
2015-10-15 10:55:15 -07:00
Chris Craik
b565df13a9 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
2015-10-14 16:10:40 -07:00
Chris Craik
64e445bf74 CanvasState frame init refactor
bug:23760482

Change-Id: Idc0802b4b8a6a3cebd20797350f4eb01bcc3fe77
2015-09-02 15:15:56 -07:00
Chris Craik
3aadd60521 Revert "Revert "Simplify TextureView draw path""
Fixed build breakage

This reverts commit d35dcb13115ca1dd8c07e397f43a186cd7fd1a01.

Change-Id: Id3a103fbaac15a05f558bce2161ce17b6e8d2ea3
2015-08-21 10:33:02 -07:00
Bart Sears
3b1c32eb5d Merge "Revert "Simplify TextureView draw path"" 2015-08-20 02:25:30 +00:00
Bart Sears
d35dcb1311 Revert "Simplify TextureView draw path"
This reverts commit 20a248934c67b19c8734362dba76a5cc94254686.

Change-Id: Iaa3ebb1d868acbe184080087aec312b43e87e3c7
2015-08-20 02:23:39 +00:00
Chris Craik
87f9c42f54 Merge "Simplify TextureView draw path" 2015-08-20 00:02:09 +00:00
Chris Craik
20a248934c Simplify TextureView draw path
bug:20461288

Change-Id: I239fbd26ab2177481c84feb62a1da68faeb634ac
2015-08-19 16:59:45 -07:00
Chris Craik
6daa13c5fa 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
2015-08-19 13:32:15 -07:00
Derek Sollenberger
55f4445013 Merge "Add ninePatch support to Canvas.h" 2015-08-19 13:10:40 +00:00
Chris Craik
93481f08b0 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
2015-08-19 02:22:33 +00:00
Chris Craik
e688bf7203 Constrain drawBitmap matrix-to-rect optimization
bug:22962165

Optimization is not valid if matrix would flip image.

Change-Id: Ieee42390517bd3466b7d94596f0fbbe192ab757e
2015-08-18 14:53:47 -07:00
Derek Sollenberger
4c5efe9290 Add ninePatch support to Canvas.h
Change-Id: Ic095291fe55911c6501c1bdefa4b8da973c77319
2015-08-18 15:32:57 -04:00
John Reck
773bbe0357 Revert "Add ninePatch support to Canvas.h"
This reverts commit edca320a2b42011f98c308fdf25fc0494c6a5454.

Change-Id: I30ee93cfc1cac391ce152f03e9e13a1ad24dc91b
2015-08-17 15:24:09 -07:00
Derek Sollenberger
edca320a2b Add ninePatch support to Canvas.h
Change-Id: Ib3202fd7c5b9f35853f286abe84b3ed009df1a81
2015-08-14 14:59:37 -04:00
John Reck
cef25e5319 Merge "Replace most usages of utils/Vector.h" 2015-07-30 17:38:35 +00:00
John Reck
272a685f17 Replace most usages of utils/Vector.h
Change-Id: I540d1b3523244d6c71fc52d6fb30555271c25644
2015-07-30 09:51:52 -07:00
Derek Sollenberger
6578a98956 Support High Contrast Text for all canvas types
Change-Id: Iee324446798fe1a1cb32cb991f181a4af24aa93c
2015-07-29 16:02:14 -04:00
Chris Craik
749e67438c Revert "Support High Contrast Text for all canvas types"
bug:22820834

This reverts commit 876d56612ab8ec7032f702905d694670e6c4febd.

Change-Id: I4e07a0894095caaaf2fd36bfa6073d033542bfc4
2015-07-29 18:14:46 +00:00
Derek Sollenberger
876d56612a Support High Contrast Text for all canvas types
Change-Id: Ib46ba3d7c67e081872e6a4b11d294fe9a61f5bbd
2015-07-13 15:13:15 -04:00
Derek Sollenberger
94394b3fb0 Move drawRegion from DisplayList to Canvas
Change-Id: I9f401dc5b24732938ac2ca7ed829796e2d7ef3e8
2015-07-13 13:48:08 -04:00
Derek Sollenberger
cc882b6518 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
2015-07-10 19:32:30 +00:00
Tom Hudson
ac7b6d33d2 New setLocalMatrix() operation for HWUI
Concats any matrix passed through from DisplayListCanvas with the
initialTransform of the containing RenderNode.

BUG:22189925

Change-Id: I5ea54a6e2a29520c79a8860bde7682694e8595d2
2015-07-09 16:15:31 -04:00
Tom Hudson
a81a0c8647 Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev 2015-06-24 14:53:58 +00:00
Tom Hudson
90fb1f6732 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
2015-06-24 10:43:16 -04:00
Chris Craik
772687d242 Avoid flushing DisplayListCanvas state for noop calls
bug:22006795

Change-Id: I2eceee69772b08f5319ea882be429a5b36860b7d
2015-06-22 14:51:18 -07:00
Chris Craik
a766cb2bce Put WebViews with on a HW layer if stencil/shader clipping is needed
bug:17322378
Change-Id: I0de574bf116b30e2ad4194366e19d47d49708902
2015-06-12 13:34:58 -07:00
John Reck
37b0824a46 Upload bitmaps in SkShader* safely
Bug: 19412589
Change-Id: Id50c08ff523d5540f60c39b435c0ab1b4c685655
2015-06-09 15:27:52 -07:00
John Reck
7c103a36f6 Remove Bitmap#getSkBitmap
Change-Id: Ifb9047b426122d3e5a445eb7a0eb3fce38dedf27
2015-05-01 14:38:44 -07:00
Chris Craik
956f340aac Remove unused flags and dirty rects
bug:17209071

Also update DisplayList->RenderNode naming in Editor

Change-Id: I1d505640ba7388a0b0042d9c787f859e45a24da5
2015-04-28 09:40:01 -07:00
Chris Craik
db663fe83f Rename native DisplayListRenderer to DisplayListCanvas
Change-Id: I33e6f8cc85da1e7da7ff7bf18d4ebde64222067a
2015-04-20 14:20:47 -07:00