04d46eb69fb4f4c4c332c36c6ae845da3b2ae848 |
|
07-Apr-2016 |
Chris Craik <ccraik@google.com> |
Support replace op in new pipeline bug:26562461 Change-Id: Ie48d2da30f5e9d9abe88a5cd973dfb26e38abf63
/frameworks/base/libs/hwui/Snapshot.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/Snapshot.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/Snapshot.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/Snapshot.cpp
|
678ff81105753656aa4822f4f675ef96dc9d2b83 |
|
01-Mar-2016 |
Chris Craik <ccraik@google.com> |
Clip projected ripples to outlines bug:27343928 Also fixes positioning of ripples to a scrolled projection receiver. Change-Id: I74b7233c46d7c15839ca8bf50e188ba6646d7432
/frameworks/base/libs/hwui/Snapshot.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/Snapshot.cpp
|
a2a70723b8cbda4354d23f901f995623e819012c |
|
17-Dec-2015 |
Chris Craik <ccraik@google.com> |
Simplify ClipArea to prefer Rect args Change-Id: I8af83d01dc5dd8009a0cd235dd8b59dab61d8560
/frameworks/base/libs/hwui/Snapshot.cpp
|
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/Snapshot.cpp
|
d9ee550888011a64fa3f35e666360ec8278597d8 |
|
06-Oct-2015 |
John Reck <jreck@google.com> |
Reduce, reuse, recycle SNAPSHOTS! Shaves like, 1 whole us off of reset Change-Id: I459370448583d5e22fd302ba1353319564a814be
/frameworks/base/libs/hwui/Snapshot.cpp
|
4d3e704b04c6abd7995df640d12662b0271f6c7b |
|
20-Aug-2015 |
Chris Craik <ccraik@google.com> |
Remove return values from clipping operations bug:22530947 Also switch mode to enum class Change-Id: Iabb38634c01f2e3203b1b715967d8828d95da190
/frameworks/base/libs/hwui/Snapshot.cpp
|
7c85c54499994c687a833644f7f213e747fadb98 |
|
20-Aug-2015 |
Chris Craik <ccraik@google.com> |
Remove Matrix4::load(Matrix4&) bug:22320446 Change-Id: Id6d1cc9b4aea828b0cdf622ad672064d72671f8d
/frameworks/base/libs/hwui/Snapshot.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/Snapshot.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/Snapshot.cpp
|
e9c01a40a2f0f0da195dfbb2909aaee5c005d1c6 |
|
06-Apr-2015 |
Chris Craik <ccraik@google.com> |
Fix path clipping in VectorDrawable bug:19946683 Change-Id: I773957df7459eb72ea5d505afb0daac08239ecbf
/frameworks/base/libs/hwui/Snapshot.cpp
|
031888744e24b5c7243ac99ec98b78aff5db1c78 |
|
03-Feb-2015 |
Chris Craik <ccraik@google.com> |
GlopBuilder, and test app refactor Change-Id: I2cd299ccf178007fd5f83bab6c3448f03aec7843
/frameworks/base/libs/hwui/Snapshot.cpp
|
487a92caef2eb90a62e8f8d7a6fe6315f1c1d8d8 |
|
06-Jan-2015 |
Rob Tsuk <robtsuk@google.com> |
Clipping performance improvements Create a ClipArea class to handle tracking clip regions. This class can select the most efficient implementation depending on the types of clipping presented. ClipArea re-used the rectangle and region-based clipping implementations as well as adding a "list of rotated rectangles" approach that is more efficient for rotated views with children. Change-Id: I2133761a2462ebc0852b394220e265974b3086f0
/frameworks/base/libs/hwui/Snapshot.cpp
|
d41c4d8c732095ae99c955b6b82f7306633004b1 |
|
06-Jan-2015 |
Chris Craik <ccraik@google.com> |
Add overrides and switch to nullptr keyword for all files Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
/frameworks/base/libs/hwui/Snapshot.cpp
|
e83cbd451868a734bfac07ccd680d5617080b579 |
|
04-Sep-2014 |
Chris Craik <ccraik@google.com> |
Prioritize reveal clipping over Outline clipping bug:15780987 bug:17350602 Also update docs around clipping nesting behavior, and some Z ordering behavior. Change-Id: Iaa204350a0adfdcbd8c4b821fb4a9c0ae22f2613
/frameworks/base/libs/hwui/Snapshot.cpp
|
69e5adffb19135d51bde8e458f4907d7265f3e23 |
|
14-Aug-2014 |
Chris Craik <ccraik@google.com> |
Define shadow casting behavior within layers bug:15860114 Savelayers and HW layers both now support shadow casting. For save layers, the light source should always be correct, for HW layers, the light source position is set when the layer is created, and updated when it is resized. Change-Id: Ie85567dd43c2bb0a0b08fd0bd4db41efa793ac2b
/frameworks/base/libs/hwui/Snapshot.cpp
|
af4d04cab6d48ae0d6a5e79bd30f679af87abaad |
|
29-Jul-2014 |
Chris Craik <ccraik@google.com> |
Use RoundRect clipping for circle reveal animation bug:16630975 Also, remove inverse clipping feature from reveal animator. Change-Id: I770a4eb48cd123b0ca0f39d16a0f3eefd1be3653
/frameworks/base/libs/hwui/Snapshot.cpp
|
deeda3d337aed1eee218b89a7aba5992ced371f0 |
|
06-May-2014 |
Chris Craik <ccraik@google.com> |
Round rect outline clipping Change-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b
/frameworks/base/libs/hwui/Snapshot.cpp
|
a64a2bef1048db5a742843f1e3bea9e80d0defc5 |
|
14-May-2014 |
Chris Craik <ccraik@google.com> |
Combine projection matrix, and viewport management Merge management of ortho projection matrix with the viewport size, since they should always be changed together. Change-Id: Iccb8f30828f4fb7848999ac54852e7ed2d6f2eb1
/frameworks/base/libs/hwui/Snapshot.cpp
|
ddc52285ca6fd147f442a21e90e0e4702a10d304 |
|
11-May-2014 |
Jorim Jaggi <jjaggi@google.com> |
Revert "Simplify projection matrix management." This reverts commit 0efaa71d5414287ed4beac0a88cf76f7e33a1e74.
/frameworks/base/libs/hwui/Snapshot.cpp
|
0c0ec26366045e515790a6acdab782965efc63b4 |
|
10-May-2014 |
Chris Craik <ccraik@google.com> |
Simplify projection matrix management. Store in and use from snapshot, and remove the kFlagOrthoDirty flag, as it's redundant with kFlagIsFboLayer. Change-Id: I2bd380192d50117f4ce1fd2058213669a886f406
/frameworks/base/libs/hwui/Snapshot.cpp
|
e4aa95e3627226bcb0d8cc3e42dca6e4df8f421c |
|
08-May-2014 |
Chris Craik <ccraik@google.com> |
Add logging utility methods Change-Id: I0f316830dcc0bbf438292a6d0fbe9f8154368500
/frameworks/base/libs/hwui/Snapshot.cpp
|
1df26446b7eac7050767c38ca977fde03a41a033 |
|
06-Feb-2014 |
Chris Craik <ccraik@google.com> |
Rework and clean up DisplayList projection Move the projection surface to be a property of a DisplayList, set to true for every background drawable. Additionally, handle a projecting view background such that it doesn't try to project onto itself (which is undesirable). Change-Id: Ic70b17474bd87340e80767f8518f73b233419c7a
/frameworks/base/libs/hwui/Snapshot.cpp
|
f533e947035795a485344f4c270e16507f974901 |
|
15-Jan-2014 |
Chris Craik <ccraik@google.com> |
Support projection of DisplayLists onto ancestors. For now, ancestor views signal the acceptance of projections with a save(0x20)/restore pair. During the order traversal, each view with the save(0x20) code will collect descendent views with mProjectToContainedVolume (which still needs to be renamed) so that they can be drawn out of order later. - *Temporary* sample code added to HwAccelerationTest. - Note that a projected displaylist must not be clipped. Change-Id: I45c493e845961535b958d59c53e8aff3f8891d9f
/frameworks/base/libs/hwui/Snapshot.cpp
|
5f803623559aab395a29d575c37c4e39c23a4b4e |
|
21-Mar-2013 |
Chris Craik <ccraik@google.com> |
Isolate tiling clip state from snapshot bug:8409891 Snapshots frequently have their clip overwritten due to applying deferred state - now, store tiling clip information in a separate rect, outside of the snapshot so it isn't overwritten. Change-Id: I21ca4c45dcd802eae99e8de86f11525196777ccb
/frameworks/base/libs/hwui/Snapshot.cpp
|
b98a016c6769b9e80d392df22fe77a2fca048d9f |
|
21-Feb-2013 |
Chris Craik <ccraik@google.com> |
Fix clipping and stencil layer issues bug:8235699 Ensure rectangle clipping operations disable deferring when necessary (i.e., when the op might create a non-rect region), including in DisplayList::setViewProperties Additionally, makes clipping with a kUnion always use a region, for consistency with software rendering Change-Id: I6730f1a80250bcf3f91cd4afde646d470a12dbc2
/frameworks/base/libs/hwui/Snapshot.cpp
|
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/Snapshot.cpp
|
3c099c42fd7ead1429076055990ae39b72c904f4 |
|
07-Feb-2013 |
Romain Guy <romainguy@google.com> |
Fix Snapshot::resetClip to also reset the clip region Change-Id: I979151e73f64ff9d45f8a5232d8700361b09fbc7
/frameworks/base/libs/hwui/Snapshot.cpp
|
8ce00301a023eecaeb8891ce906f67b513ebb42a |
|
16-Jan-2013 |
Romain Guy <romainguy@google.com> |
Implement clipRect with a transform, clipRegion & clipPath Bug #7146141 When non-rectangular clipping occurs in a layer the render buffer used as the stencil buffer is not cached. If this happens on a View's hardware layer the render buffer will live for as long as the layer is bound to the view. When a stencil buffer is required because of a call to Canvas.saveLayer() it will be allocated on every frame. A future change will address this problem. If "show GPU overdraw" is enabled, non-rectangular clips are not supported anymore and we fall back to rectangular clips instead. This is a limitation imposed by OpenGL ES that cannot be worked around at this time. This change also improves the Matrix4 implementation to easily detect when a rect remains a rect after transform. Change-Id: I0e69fb901792d38bc0c4ca1bf9fdb02d7db415b9
/frameworks/base/libs/hwui/Snapshot.cpp
|
735738c4ddf3229caa5f6e634bf591953ac29944 |
|
03-Dec-2012 |
Romain Guy <romainguy@google.com> |
Preliminary Support for region clipping Region clipping, using Canvas.clipPath or Canvas.clipRegion, requires a stencil buffer to be always present. In addition, extra wiring is required in JNI and display lists. This change only adds the necessary JNI/C++ APIs and some extra plumbing to start the real work on properly supporting region clipping. A new debug define called DEBUG_CLIP_REGIONS can be used to draw the current clip region. It is off by default, as is region clipping. The default implementation of clipPath() and clipRegion(), now in native, mimics the previous Dalvik implementation to prevent regressions. Change-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c
/frameworks/base/libs/hwui/Snapshot.cpp
|
a3dc55f83ab583e0a66b893c71b849afa046770a |
|
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Fix a couple of rendering issues Bug #7253839 1. Make sure we don't make GL calls while recording display lists 2. Disable an early and trivial clip optimization in font renderer when a perspective transformation is used on the Canvas Change-Id: I3f1052164239329346854f72d0a0d401fbfecf06
/frameworks/base/libs/hwui/Snapshot.cpp
|
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/Snapshot.cpp
|
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/Snapshot.cpp
|
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/Snapshot.cpp
|
db8c9a6a4d9bf8c39f834b25611926caf21380f6 |
|
22-Mar-2012 |
Chet Haase <chet@google.com> |
Optimization of alpha with DisplayList properties Some views (such as ImageView and TextView) handle non-opaque alpha values directly. This was originally an optimization, but we can handle it faster in many cases without this optimization when DisplayList properties are enabled. Basically, if a view has non-overlapping rendering, we set the alpha value directly on the renderer (the equivalent of setting it on the Paint object) and draw each primitive with that alpha value. Doing it this way avoids re-creating DisplayLists while getting the same speedup that onSetAlpha() used to get pre-DisplayList properties. Change-Id: I0f7827f075d3b35093a882d4adbb300a1063c288
/frameworks/base/libs/hwui/Snapshot.cpp
|
21c9c8551d9ab36629cabc01f228d3a302e0c673 |
|
08-Feb-2012 |
Romain Guy <romainguy@google.com> |
Fix the system Change-Id: Ie097ea5d6c0af9c5929b8c5deb76b4824d5de787
/frameworks/base/libs/hwui/Snapshot.cpp
|
967e2bf3ac8943a8e8a374bf86021915445cda67 |
|
08-Feb-2012 |
Romain Guy <romainguy@google.com> |
Preliminary support for clipRect(Rect, Op) This adds basic support for clip regions. It is currently disabled at compile time. Enabling clip regions will require setting up a stencil buffer. Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
/frameworks/base/libs/hwui/Snapshot.cpp
|
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/Snapshot.cpp
|