f53bfc911fa88c15b25f38553a5647ad00f221a3 |
|
22-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 3fb651b to nyc-mr1-dev-plus-aosp Change-Id: I52d56e84620c85638798d949f8eb819387a01902
|
05160d70d14180fef3782a63dff2e822b51c3cf5 |
|
22-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
resolve merge conflicts of 5152fd9 to stage-aosp-master Change-Id: I2066125eb4076dbc9e8996bb1fa87735aa6040d3
|
faecb78a6b11c780db47bc940ca7662899ab5d5e |
|
21-Jul-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings in frameworks/base * Add explicit keyword to conversion constructors. * Add NOLINT to implicit conversion constructors. Bug: 28341362 Test: build with clang-tidy Change-Id: Ie4d37072ab57d1662d18db4de1c8577247f43337
/frameworks/base/libs/hwui/Rect.h
|
82457c51176855b9be0b441010870093a6feb414 |
|
30-Jun-2016 |
Chris Craik <ccraik@google.com> |
Handle post-record-time clipPath scaling bug:29547149 Change-Id: I268210b240d2d8e08638114715f9622840fc02f7
/frameworks/base/libs/hwui/Rect.h
|
034a10bf216cdef251928edf72d93668d81515f8 |
|
10-Mar-2016 |
Chris Craik <ccraik@google.com> |
Partial revert of 261725fdb2962271c222a049fcdf57bbdc8363c7 Bug:27534946 Mapping empty rects still must be done to get correct positions for line/point rects describing strokable bounds. Change-Id: I2f9efe543e58eb438b755276585491c1256d6719
/frameworks/base/libs/hwui/Rect.h
|
91eff22b5d7f8fe551bae01331948858ce932a96 |
|
22-Feb-2016 |
Chris Craik <ccraik@google.com> |
Support op dumping in new pipeline bug:26565102 Change-Id: I266e420a2f18ba9ad62942b8a0de295dfa3a2a88
/frameworks/base/libs/hwui/Rect.h
|
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/Rect.h
|
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/Rect.h
|
8ecf41c61a5185207a21d64681e8ebc2502b7b2a |
|
16-Nov-2015 |
Chris Craik <ccraik@google.com> |
Add temporary layer alpha fallback to OpReorderer Also adds logic to clip temporary layers to viewport both for efficiency and to allow large ones (such as the fallback case) to fit in max texture size. Change-Id: Iee51495220f5ca1dc7e6f5fd3615db2e896efd74
/frameworks/base/libs/hwui/Rect.h
|
ac02eb9035a13a3d09c2def9ed63d04225eb2509 |
|
05-Oct-2015 |
Chris Craik <ccraik@google.com> |
Remove confusing behavior of Rect::intersect() and rename bug:24670525 Removes silly 'do nothing if rects do not intersect' behavior, and changes the name to clarify the difference (contrasting against SkRect::intersect()) bug:24670525 Change-Id: Id2ca1cfea1a9d720d4dc70b251f426d9916f8b53
/frameworks/base/libs/hwui/Rect.h
|
df72b63928cc1492b72ba9a4e99d5e714f93ccc6 |
|
01-Jul-2015 |
Chris Craik <ccraik@google.com> |
Switch from fminf/fmaxf to std::min/max bug:22208220 Shows considerable improvement in performance, especially in tight loops. Change-Id: I4bcf6584a3c145bfc55e73c9c73dcf6199290b3c
/frameworks/base/libs/hwui/Rect.h
|
8820fd1d82acaefda98ae73ccf61413d5044f9f3 |
|
03-Mar-2015 |
Chris Craik <ccraik@google.com> |
Patch cleanup, reenable Patch Glops bug:19597454 Change-Id: If12b95e83588b81a553210cd8c2437c6c771073a
/frameworks/base/libs/hwui/Rect.h
|
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/Rect.h
|
e84a208317e0ed388fcdad1e6743c7849acb51b0 |
|
22-Dec-2014 |
Chris Craik <ccraik@google.com> |
Add overrides and switch to nullptr keyword Changes generated with clang-modernize. Additionally, fixed some struct-vs-class usage to make clang happy. Change-Id: Ic6ef2427401ff1e794d26f21f7b44868fc75fb72
/frameworks/base/libs/hwui/Rect.h
|
62d307c2402777d5e53b4590af5f32f8c55afd81 |
|
29-Jul-2014 |
Chris Craik <ccraik@google.com> |
Fix behavior of stencil clipping within clearLayerRegions bug:16376960 The draw within clearLayerRegions should never be affected by the current stencil clip, since it's just ensuring that the content of the layer is cleared, and not doing real content drawing. Also, add optional verbose GL event logging Change-Id: I538b1bc631fc091340b76e12db6af0c219851b57
/frameworks/base/libs/hwui/Rect.h
|
c93e45cf045f41aea95f856173e4043d988a5a5c |
|
16-Jul-2014 |
Chris Craik <ccraik@google.com> |
Build layer damage bounds for shadows bug:15538815 Change-Id: I703afeb7e31c28002bd1aff9ce448ec8cdc4e70d
/frameworks/base/libs/hwui/Rect.h
|
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/Rect.h
|
deeda3d337aed1eee218b89a7aba5992ced371f0 |
|
06-May-2014 |
Chris Craik <ccraik@google.com> |
Round rect outline clipping Change-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b
/frameworks/base/libs/hwui/Rect.h
|
e4aa95e3627226bcb0d8cc3e42dca6e4df8f421c |
|
08-May-2014 |
Chris Craik <ccraik@google.com> |
Add logging utility methods Change-Id: I0f316830dcc0bbf438292a6d0fbe9f8154368500
/frameworks/base/libs/hwui/Rect.h
|
3f085429fd47ebd32ac2463b3eae2a5a6c17be25 |
|
16-Apr-2014 |
Chris Craik <ccraik@google.com> |
Clip TouchFeedbackDrawable effect to receiver Outline Projected RenderNodes are now wrapped with a ClipRect or masked SaveLayer, so that they are clipped to the outline of the projection receiver surface. Change-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e
/frameworks/base/libs/hwui/Rect.h
|
af6f7ed8dd4288a41d0a07a1f0f0be7d6d035b33 |
|
19-Mar-2014 |
ztenghui <ztenghui@google.com> |
Early rejection on shadows which are outside of the clip bound. All the computations are estimated using bounding box. TODO: Spot shadow could have more accurate but also more expensive methods, we need more experiments to decide. Change-Id: I9c10c419576cee55daf0f9f278b0db78cb847447
/frameworks/base/libs/hwui/Rect.h
|
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/Rect.h
|
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/Rect.h
|
32f05e343c5ffb17f3235942bcda651bd3b9f1d6 |
|
18-Sep-2013 |
Chris Craik <ccraik@google.com> |
Conservatively estimate geometry bounds bug:10761696 Avoids a case where a rect with top coordinate of (e.g.) 0.51f is assumed to not draw in the first row of pixels, which leads to it not being clipped. Since rounding can cause it to render in this first pixel anyway, we very slightly expand geometry bounds. Now, in ambiguous cases, the geometry bounds are expanded so clipping is more likely to happen. Change-Id: I119b7c7720de07bac1634549724ffb63935567fc
/frameworks/base/libs/hwui/Rect.h
|
5e49b307eb99269db2db257760508b8efd7bb97d |
|
31-Jul-2013 |
Chris Craik <ccraik@google.com> |
Fix quickReject's handling of AA ramp geometry By having quickReject round out the window-space geometry bounds, we prevent the AA perimeter (which falls outside the local bounds passed in) from drawing outside the clip. Change-Id: I8ee36be9039a9c47906815ee2f0dbaa5eb910b82
/frameworks/base/libs/hwui/Rect.h
|
39a908c1df89e1073627b0dcbce922d826b67055 |
|
13-Jun-2013 |
Chris Craik <ccraik@google.com> |
Fix various draw ops that may incorrectly not scissor bug:8965976 Also consolidates quickReject scissor-ing and scissor-less paths. Renamed plain 'quickReject' method, as it has sideEffects beyond what the java and skia canvases do. Change-Id: I4bdf874d3c8f469d283eae1e71c5e7ea53d47016
/frameworks/base/libs/hwui/Rect.h
|
28ce94a4ffc7576f40776d212f1ada79fafaa061 |
|
31-May-2013 |
Chris Craik <ccraik@google.com> |
Overdraw avoidance and merging of clipped ops bug:8951267 If an opaque op, or group of opaque ops covers the invalidate region, skip draw operations that precede it. Clipped operations may now be merged, but only if they share a clipRect - this is a very case for e.g. ListView, where all background elements may now be a part of the same MergingDrawBatch. It is this more aggressive merging that groups together clipped background elements in the ListView case, enabling the overdraw avoidance skipping the window background. Change-Id: Ib0961977e272c5ac37f59e4c67d828467422d259
/frameworks/base/libs/hwui/Rect.h
|
2db5e993b626794eb07a0ff354269f9a77da81b3 |
|
22-May-2013 |
Romain Guy <romainguy@google.com> |
Merge scaled bitmaps with translated bitmaps Change-Id: I03089f48f97b69fcb4a0171984d3ff548d41c4a8
/frameworks/base/libs/hwui/Rect.h
|
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/Rect.h
|
2af4635e4a9e448a65ff541252f8f94bc6ac48e0 |
|
27-Nov-2012 |
Chris Craik <ccraik@google.com> |
Object-based DisplayList recording bug:8037003 Changes the DisplayList from using stream read/write commands to use an array of objects manually allocated on a linear buffer. Depends on frameworks/native change https://googleplex-android-review.googlesource.com/#/c/257695/ which adds LinearAllocator Also changes drawRects to use float count instead of rect count, to be more like drawLines/drawPoints Change-Id: Ia2e4a11acd8f0a757042a05cbc9e7563cb73ee47
/frameworks/base/libs/hwui/Rect.h
|
586cae3ac69c0c667fbf8a954edbd399f620a717 |
|
14-Jul-2012 |
Romain Guy <romainguy@google.com> |
Improve rendering speed by disabling scissor tests This change improves execution of display lists, particularly on tiled renderers. The goal is to disable the scissor test as often as possible. Drawing commands are rarely clipped by View bounds so most of them can be drawn without doing a scissor test. The speed improvements scale with the number of views and drawing commands. Change-Id: Ibd9b5e051a3e4300562463805acc4fd744ba6266
/frameworks/base/libs/hwui/Rect.h
|
5baa3a62a97544669fba6d65a11c07f252e654dd |
|
20-Dec-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
/frameworks/base/libs/hwui/Rect.h
|
8f85e80b64b89fd38cc23b129f61ec36ddde7f15 |
|
15-Dec-2011 |
Romain Guy <romainguy@google.com> |
Generate even fewer GL commands Change-Id: I0f4dcacb03ef5ee7f6ebd501df98bfead5f0a7f8
/frameworks/base/libs/hwui/Rect.h
|
ec31f83bd3af1f900d1ee9116b15f56904c66dcd |
|
14-Dec-2011 |
Romain Guy <romainguy@google.com> |
<Insert something improper about OpenGL> Change-Id: Ib645376093838156771588adc76a718da0ceb0db
/frameworks/base/libs/hwui/Rect.h
|
a1d3c91afbd52c7e8b01f4a9060c5459f02ae7a5 |
|
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Further reduce the number of GL commands sent to the driver Change-Id: Id922b2a166ea4573b767c27d3195e11c70320b23
/frameworks/base/libs/hwui/Rect.h
|
83b186a246e8ffd52b91a17c0019dd8c9c9d21b1 |
|
20-Sep-2011 |
Mathias Agopian <mathias@google.com> |
fix the float Rect in OpenGLRenderer to handle NANs - we want functions like isEmpty() to return true if NANs are involved in the Rect - also clean-up the intersect familly of calls - minor cleanup in the int32_t Rect as well These played a role in http://b/5331198. Bug: 5331198 Change-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2
/frameworks/base/libs/hwui/Rect.h
|
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/Rect.h
|
ae88e5e8e9cb6c9539314c4360c5b20f8ec1fefc |
|
23-Oct-2010 |
Romain Guy <romainguy@android.com> |
Fix rendering issue with layers. A change was made earlier in the renderer to not snap the current clip rect on every clip operation. The clip rect must not be snapped to pixel boundaries before being used for pixel precision operations. Some operations were doing this correctly, others were not. For instance, a layer was always created by rounding to the correct pixels, but composing a layer was done with a non rounded clip, thus resulting in slightly odd behaviors. Change-Id: I31c2cf0a343450470bcd449c3f13fe37648b9c7c
/frameworks/base/libs/hwui/Rect.h
|
93d2361c6d294c390cb5c4a13bd1b88dcd465fd7 |
|
14-Oct-2010 |
Romain Guy <romainguy@google.com> |
Fix layer rendering glitch. Change-Id: If2f987fe5526fc88743ca3e91edde4f8232ff658
/frameworks/base/libs/hwui/Rect.h
|
759ea80dca64ad652110a129e0d8bf93fea79f61 |
|
17-Sep-2010 |
Romain Guy <romainguy@google.com> |
Add support for drawLines(), with anti-aliasing Change-Id: I16c0593c5671490909dec13a85df601e1428a1a6
/frameworks/base/libs/hwui/Rect.h
|
bf434114cbf55b216fdc76fc8d65a75e84c9dab5 |
|
16-Sep-2010 |
Romain Guy <romainguy@google.com> |
Snap layer bounds to pixel boundaries. Change-Id: I272ceebf469a119f01ea9d73cdd68519afdffa99
/frameworks/base/libs/hwui/Rect.h
|
8aef54fa17f2a3753d9a8f2027629bc480088f69 |
|
02-Sep-2010 |
Romain Guy <romainguy@android.com> |
Add support for Canvas flags on save. This is required for the rewrite of layers support. Change-Id: I5c0867dcf5aeb0392c8d0fbab05febb0eaff70d9
/frameworks/base/libs/hwui/Rect.h
|
079ba2c85b15e882629b8d188f5fbdb42f7f8eea |
|
16-Jul-2010 |
Romain Guy <romainguy@android.com> |
Improve clip support (add intersect, union and replace.) This change also modifies the way the clip is stored. The clip is now always stored in screen-space coordinates. Change-Id: I96375784d82dfe975bc6477a159e6866e7052487
/frameworks/base/libs/hwui/Rect.h
|
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/Rect.h
|
7ae7ac48aa2b53453c9805075171ecd5bcafd7de |
|
25-Jun-2010 |
Romain Guy <romainguy@android.com> |
Convert tabs to spaces. Change-Id: I5d3ae48af79b19b6d293deff0521e4bb57d5114b
/frameworks/base/libs/hwui/Rect.h
|
9d5316e3f56d138504565ff311145ac01621dff4 |
|
25-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add colored rectangles implementation in OpenGLRenderer. Drawing two rectangles one after the other discards the second one because of Z buffering issues. This will be fixed in another changelist. Change-Id: Ida1b3cde8a78e60cacc07e477abc44def527ff67
/frameworks/base/libs/hwui/Rect.h
|
bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4 |
|
23-Jun-2010 |
Romain Guy <romainguy@google.com> |
Add implementations for clipRect(), save() and restore(). The current implementation of clipRect() does not apply local transformations before setting the new clip. Change-Id: I5997871bb638dfcd1a8ef96354846af52427e445
/frameworks/base/libs/hwui/Rect.h
|