History log of /frameworks/base/libs/hwui/PathTessellator.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
96202d56ad2406b27a8b3b1f083ab71945d06a46 28-Apr-2017 Chris Craik <ccraik@google.com> Add conic support for Path#approximate

Fixes: 37722722
Test: bit CtsGraphicsTestCases:PathTest
Test: bit CtsUiRenderingTestCases:android.uirendering.cts.testclasses.PathTests

Also adds static asserts to path-walking code, to avoid this problem
in the future.

Also adds annotations, since this is public API now.

Change-Id: Ic39b167968b98fd8197be2d0f9aca79949717237
/frameworks/base/libs/hwui/PathTessellator.cpp
15c3f19a445b8df575911a16e8a6dba755a084b5 03-Dec-2015 Chris Craik <ccraik@google.com> Merged op dispatch in OpReorderer

bug:22480459

Also switches std::functions to function pointers on OpReorderer, and
switches AssetAtlas' entry getter methods to using pixelRef pointers,
so it's clear they're the keys.

Change-Id: I3040ce5ff4e178a8364e0fd7ab0876ada7d4de05
/frameworks/base/libs/hwui/PathTessellator.cpp
9db58c031f8ffa102a6d585cb585bed3bdb911a9 20-Aug-2015 Chris Craik <ccraik@google.com> Remove MathUtils::min/max

bug:22202895

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

Change-Id: I540d1b3523244d6c71fc52d6fb30555271c25644
/frameworks/base/libs/hwui/PathTessellator.cpp
5a4690bf26932c0d6940e4af8516d920e09ae81a 14-Jul-2015 Chris Craik <ccraik@google.com> Clean up unncessary defines

LOG_TAG and TRACE_TAG are already defined in the makefile

Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
/frameworks/base/libs/hwui/PathTessellator.cpp
21ef8205a1c741ab4021c2d99c568bed39fc136e 29-May-2015 ztenghui <ztenghui@google.com> Tweak the threshold for conic path quads computation.

We still want it to be related to the threshold for bezier generation.

b/19903239

Change-Id: Ifdce32f1c28ecea9eac98d02c73afa948341fc7d
/frameworks/base/libs/hwui/PathTessellator.cpp
da28c8681a6868d188431aed626abe9bd6da2502 29-May-2015 Chris Craik <ccraik@google.com> Merge "Fix round cap approximation to understand scale" into mnc-dev
469fb1efd6408e00f39e5ac98e129f10c2180c7d 29-May-2015 Chris Craik <ccraik@google.com> Fix build

Change-Id: I7ee28c474aa821eb598f719723d87416a41537b9
/frameworks/base/libs/hwui/PathTessellator.cpp
ff29b5a5b9b991868051f0fa065a4ac668e7fa0b 28-May-2015 Chris Craik <ccraik@google.com> Fix round cap approximation to understand scale

bug:19772120
Change-Id: I7b944faed1d1e8d5f55453802da57679217d9d9a
/frameworks/base/libs/hwui/PathTessellator.cpp
fca52b7583d1e5f5ff8ed06554875d2a30ef56fa 28-Apr-2015 Chris Craik <ccraik@google.com> Use path intersection instead of saveLayer+mesh to mask projected ripples

bug:14297149

SaveLayer's performance cost is high, and proportional to the surface
being projected onto. Since ripples (even unbounded ones) are now
always projected to the arbitrary background content behind them, this
cost is especially important to avoid.

This removes the last semi-secret, saveLayer from the projected
ripple implementation.

Also fixes the HW test app to correctly demonstrate this projection
masking behavior.

Additionaly, alters PathTessellator to gracefully handle
counter-clockwise paths, and simplifies the work done by
ShadowTessellator to ensure all of its paths are counterclockwise.

Change-Id: Ibe9e12812bd10a774e20b1d444a140c368cbba8c
/frameworks/base/libs/hwui/PathTessellator.cpp
b0772a6cc5ab09eb40cbb1fd6c7e0293ae3d2efe 16-Mar-2015 Derek Sollenberger <djsollen@google.com> Add conic support to HWUI path tessellator.

bug: 19732872
Change-Id: Ic3ae46f746325468ab972c9daf829099165eb596
/frameworks/base/libs/hwui/PathTessellator.cpp
117bdbcfa3e8306dad21e7e01fa71b00cdfa7265 05-Feb-2015 Chris Craik <ccraik@google.com> Glop ColorFilter & VertexBuffer support, initial enable

Enables Glop rendering for supported Rects and VertexBuffers
Also removes unused Query object

Change-Id: Ibe227bc362685a153159f75077664f0947764e06
/frameworks/base/libs/hwui/PathTessellator.cpp
51d6a3db97bdd5315f1a17a4b447d10a92217b98 23-Dec-2014 Chris Craik <ccraik@google.com> Cleanup various clang warnings, use unique_ptrs in several places

Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
/frameworks/base/libs/hwui/PathTessellator.cpp
b28ff487fb6db4a44e4d18aa17d8253f00a63bb6 12-Nov-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 5e6cf242 to lmp-mr1-dev-plus-aosp

Change-Id: If21bd328a5c8ea3474abfe624e910d4830c72dc9
ff1d8a6635fb6441615778a47e2881129574a5b1 12-Nov-2014 Dan Albert <danalbert@google.com> Move frameworks/base over to libc++.

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

Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
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/PathTessellator.cpp
b7c26562d08bf72882eeca268a1bb51ea579653d 04-Nov-2014 Rob Tsuk <robtsuk@google.com> Make points drawn with default paint visible

When no stroke width is set, use 0.5 instead of 0.25 to make
sure the resulting rectangle spans at least one pixel.

Bug: 15455111
Change-Id: Id0a4b6d014c542ffc98b13a032f88ae0ce69b3a1
/frameworks/base/libs/hwui/PathTessellator.cpp
21bcfc4ff8642771bf42b264e1524ef47b00ae22 09-Sep-2014 Chris Craik <ccraik@google.com> Fix tessellation bounds computation

bug:17401066

Now correctly accounts for scale, both in hairline case (where scale
needs to be accounted for), and in standard case (where scale
shouldn't be applied, since bounds are in local space)

Change-Id: I597a20834dce42ddb741b46e4c1a4f3169a48ccc
/frameworks/base/libs/hwui/PathTessellator.cpp
74cf7e6a25c6d7b331c231b7bc2512044f9d2950 07-Aug-2014 Chris Craik <ccraik@google.com> Cap scales used for tessellation with minimum and maximum

bug:15615144
Change-Id: I3e833864af3a7b34e444bd13db34b6c90496a8b6
/frameworks/base/libs/hwui/PathTessellator.cpp
1aa5d2d7068147ff781cfe911a93f01593a68c79 24-Jul-2014 John Reck <jreck@google.com> Fix ALL compile warnings

All warnings/errors fixed for GCC & Clang

Change-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3
/frameworks/base/libs/hwui/PathTessellator.cpp
c93e45cf045f41aea95f856173e4043d988a5a5c 16-Jul-2014 Chris Craik <ccraik@google.com> Build layer damage bounds for shadows

bug:15538815

Change-Id: I703afeb7e31c28002bd1aff9ce448ec8cdc4e70d
/frameworks/base/libs/hwui/PathTessellator.cpp
fe02b4b344c37200486d8afc972560fb550cb17e 17-Jun-2014 Chris Craik <ccraik@google.com> Add abort logging for huge scales and tessellation recursion depth

bug:15615144
Change-Id: I275732eb97f9d5179beed23eecd2ee3cc7112e10
/frameworks/base/libs/hwui/PathTessellator.cpp
9c3dd62d0fbec40ea15b0a56a01bcfefa3ceabdd 12-Jun-2014 Chris Craik <ccraik@google.com> Limit path approximation recursion depth

bug:15369119
Change-Id: I6f009f5e8790129e1aa8a51e1fc6cdd1415dd617
/frameworks/base/libs/hwui/PathTessellator.cpp
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/PathTessellator.cpp
87f9df880e4a5bfba65d2ed413b3ead649595129 07-Mar-2014 Chris Craik <ccraik@google.com> Update tessellation tracing

Change-Id: I6c73f2467817412d9936dde217df9938a6884003
/frameworks/base/libs/hwui/PathTessellator.cpp
15a07a21eb33e8ca1c7444944fe0541a53380c0c 26-Jan-2014 Chris Craik <ccraik@google.com> Use path outlines to define shadow shapes

Fixes the simplifying assumption that shadow casters were always
rectangular.

Java side APIs + plumbing to pass down correct shapes still need to be added.

Change-Id: Ic4fee90af15679951a44bb5cc6ae454b98c4c194
/frameworks/base/libs/hwui/PathTessellator.cpp
d218a92c0afb8c0d98135b20b52ac87236e1c935 03-Jan-2014 Chris Craik <ccraik@google.com> Use const where possible for drawing parameters

They should never be modified by a Renderer, only read and copied.

Change-Id: I9d8d55dca19115ee9dfeb2bb3f092ba2fb327cd4
/frameworks/base/libs/hwui/PathTessellator.cpp
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/PathTessellator.cpp
d6b65f67717025b1162f86f04e2caa5723566cac 01-Jan-2014 Chris Craik <ccraik@google.com> Use const access to snapshot from OpenGLRenderer

Additionally, move clipping methods to StatefulBaseRenderer

Change-Id: Iff232bf16fc1ad3b7d89493da6d8915db7bc5e4f
/frameworks/base/libs/hwui/PathTessellator.cpp
11a7567d6f0e797d7053c338b55c499bee3d1e42 17-Dec-2013 Chris Craik <ccraik@google.com> Use vertex assignment instead of manual copy

Change-Id: I36c806e3370abca61e5bf5064f0f1a776a9ce487
/frameworks/base/libs/hwui/PathTessellator.cpp
f0a590781b2c3e34132b2011d3956135add73ae0 20-Nov-2013 Chris Craik <ccraik@google.com> Clean up quick rejection, especially surrounding points + lines.

bug:4351353

quickReject and quickRejectNoScissor have been renamed and refactored:
- to make the scissor side effect clear and explicit
- dangerous methods no longer public
- to make the simple quick reject check logic const
- simple quick reject is now conservative

This CL also fixes several issues with line and point quickRejection -
sub-pixel and hairline lines are much less likely to be incorrectly
rejected, especially at small canvas scale.

Additionally, alpha modulation for AA points < 1px in size is now
correct, dumplicating SW behavior (similar to lines and stroked
shapes work).

Change-Id: Ibb0710c721b9fb415d05acf54dd3d2b4d602156a
/frameworks/base/libs/hwui/PathTessellator.cpp
3380cfdc77100e87aa8390386ccf390834dea171 16-Aug-2013 Romain Guy <romainguy@google.com> Replace float arrays with readable names

Change-Id: I32a8be560b60a4ac5cbee2fec4574b2c5df9f825
/frameworks/base/libs/hwui/PathTessellator.cpp
6d29c8d5218cac0fb35f3b7c253f2bdebd44f15a 09-May-2013 Chris Craik <ccraik@google.com> Add tessellation path for points

bug:4351353
bug:8185479

Point tessellation is similar to line special case, except that we
only tessellate one point (as a circle or rect) and duplicate it
across other instances.

Additionally:

Fixes square caps for AA=false lines

Cleanup in CanvasCompare, disabling interpolation on zoomed-in
comparison view

Change-Id: I0756fcc4b20f77878fed0d8057297c80e82ed9dc
/frameworks/base/libs/hwui/PathTessellator.cpp
e7c69c6fe3eac1fb01126ede550e5dc32979804a 03-Apr-2013 Chris Craik <ccraik@google.com> Account for hairlines in quick rejection logic

bug:8531373
Change-Id: I35444014f23fc61da687694fccc0d13bce718793
/frameworks/base/libs/hwui/PathTessellator.cpp
19a390bff348cd379caba1265faec77fcff29200 28-Feb-2013 Chris Craik <ccraik@google.com> Correct sub-hairline tessellation threshold

Change-Id: Id868d41a36db5b4daa762d84b6329f9c31916bce
/frameworks/base/libs/hwui/PathTessellator.cpp
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/PathTessellator.cpp