)]}'
{
  "log": [
    {
      "commit": "bf72eb80d9e00fe2fa360dff0ef581ea27c8e965",
      "tree": "82c421ae436138b5eece8b2023af1b884a7635d0",
      "parents": [
        "72285e5600fad17c42730d6f84164d8425d4d43c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jun 08 11:30:44 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jun 08 11:39:02 2015 -0700"
      },
      "message": "Add projection info to RenderNode dumps\n\nbug:21502154\n\nAlso fixes several issues around DISPLAY_LIST_DEBUG\n\nChange-Id: I726f5bc071f8c037ffe1b224175fe5c1e2b1c5bd\n"
    },
    {
      "commit": "1cd7e4c3d0216cfb9a8a685ca8cf6f0d740a9dff",
      "tree": "2ae1662b8d6a4ff711e6ce621e690e4f6204c0f1",
      "parents": [
        "5cd795a9094eb02c983751ecabca6f24b0a01c58",
        "fca52b7583d1e5f5ff8ed06554875d2a30ef56fa"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu May 28 22:03:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 22:03:08 2015 +0000"
      },
      "message": "Merge \"Use path intersection instead of saveLayer+mesh to mask projected ripples\" into mnc-dev"
    },
    {
      "commit": "43a1d31a2837406a437937b340db85c1a05ed1ed",
      "tree": "0567a35635519a9aa7fa5e5db0e68121ac2bc434",
      "parents": [
        "aa1cd25db72297f13539928e8aa45ba992f2f230"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 27 11:28:14 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 27 11:28:15 2015 -0700"
      },
      "message": "Fix assert when dumping view at 0 alpha\n\nbug:21461177\n\nChange-Id: Ib4aba7b9641254012471da44aa804813b9679423\n"
    },
    {
      "commit": "fca52b7583d1e5f5ff8ed06554875d2a30ef56fa",
      "tree": "e383a2db169421a722fa9c559dd01904e83fa504",
      "parents": [
        "aa1cd25db72297f13539928e8aa45ba992f2f230"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 11:45:59 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 26 17:53:16 2015 -0700"
      },
      "message": "Use path intersection instead of saveLayer+mesh to mask projected ripples\n\nbug:14297149\n\nSaveLayer\u0027s performance cost is high, and proportional to the surface\nbeing projected onto. Since ripples (even unbounded ones) are now\nalways projected to the arbitrary background content behind them, this\ncost is especially important to avoid.\n\nThis removes the last semi-secret, saveLayer from the projected\nripple implementation.\n\nAlso fixes the HW test app to correctly demonstrate this projection\nmasking behavior.\n\nAdditionaly, alters PathTessellator to gracefully handle\ncounter-clockwise paths, and simplifies the work done by\nShadowTessellator to ensure all of its paths are counterclockwise.\n\nChange-Id: Ibe9e12812bd10a774e20b1d444a140c368cbba8c\n"
    },
    {
      "commit": "1a0808e64c170fa7b620b858fa5875f6f08a2b54",
      "tree": "6503695e18d11985a9a86257bd78ddced75e3e13",
      "parents": [
        "55e603ee9de06125751292c84f1b25fb9a78d4e4"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 13 16:33:04 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 13 16:47:19 2015 -0700"
      },
      "message": "Add back alpha atrace log\n\nbug:20922838\n\nChange-Id: I70ccbffdd5f140cd1dd71fbf456fb5b085e74a4a\n"
    },
    {
      "commit": "8df5ffa9ae0667d9e0241adf4675753156fcef84",
      "tree": "5b59aa1d6cd6733a28bd316afff67091d9856db7",
      "parents": [
        "340b198ccbd1a05e67d586c345139617d4b84ce0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 17:47:20 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 17:47:20 2015 -0700"
      },
      "message": "Remove concept of layer alpha override\n\nbug:19412691\nChange-Id: I9e150fe4a1b2c0cf140519a33c02fd4771ef1c50\n"
    },
    {
      "commit": "856f0cc3e382206e67c1a62fe878627d7dd9ada5",
      "tree": "6836c06a66d3dc21d5ccfc6d819d6e5e0e5d8da0",
      "parents": [
        "580c30a63353f67433da25ef7b90913300e0372f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 21 15:13:29 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 27 18:12:07 2015 +0000"
      },
      "message": "Promote RenderProperties with an alpha to have a RenderLayer\n\nbug:20254728\nChange-Id: I0bd1d440fe46683b291d4c8ab07a630c34b2eadc\n"
    },
    {
      "commit": "182952f5eeefc2a21d76d4664ada0e2d78c1105c",
      "tree": "e2f1792de42f8d80d5843c3414cdfe7f1cd98c6a",
      "parents": [
        "be331a3809b9cf921c6ad65e1d671b24e97dded9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Mar 09 14:17:29 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Mar 09 18:06:32 2015 -0700"
      },
      "message": "Glop based composeLayerRegion/Rect\n\nChange-Id: I69440cabca84948e8aaead9479d616ebc2496517\n"
    },
    {
      "commit": "a7e5367b5c9d180ccc010cf5cc45e25c021f2ee6",
      "tree": "3b8bb174e0a3c3e0679916871e0e0cdb99aa809f",
      "parents": [
        "a42d2eaf2d6b3cb6072e99b4904b76c8cc263cf3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 17 16:42:36 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 23 16:18:38 2015 -0800"
      },
      "message": "Fix atrace saveLayer flag logging\n\nChange-Id: I5da85284c15316c9db4cc74011b855ef8c2f7cdd\n"
    },
    {
      "commit": "031888744e24b5c7243ac99ec98b78aff5db1c78",
      "tree": "ba2037e7d008a1d7dfbcfb4cb905ea7fe68ffaef",
      "parents": [
        "6c15ffa196fc9b7724c189d833c3435d8db12266"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 02 18:39:33 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 04 15:57:59 2015 -0800"
      },
      "message": "GlopBuilder, and test app refactor\n\nChange-Id: I2cd299ccf178007fd5f83bab6c3448f03aec7843\n"
    },
    {
      "commit": "2ae07339824efc50468f971ff8920ff0b894cad4",
      "tree": "ade54607e4541ad140890fb32e39b0e9df6bf438",
      "parents": [
        "8076b5a8df5bdfab478c8af41b65de7b131db5b3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jan 21 14:22:39 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jan 21 14:22:39 2015 -0800"
      },
      "message": "Remove DisplayListLogBuffer\n\nChange-Id: I001832fc444b6d532f4a382e0a31cc1d8956dbd8\n"
    },
    {
      "commit": "3d4eed7f1aa99401dabe2e45b82f98fb4fc2d754",
      "tree": "e727b03577a823f638cab2f76a8a1161b73662eb",
      "parents": [
        "83eb4443a9d24f2ae4a1e516354748850c10d06b"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Dec 04 15:20:29 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jan 09 13:56:56 2015 -0500"
      },
      "message": "Update HWUI to store its own SkBitmap objects\n\nThis enables us to...\n\n1) simplify the lifecycle/ownership between Java and HWUI\n2) remove DisplayListRenderer::drawBitmapData and associated logic\n3) track pixel lifecycle using standard SkPixelRef refcounting\n4) Remove uncessary calls to ref/unref the bitmap\u0027s pixels and colorTable\n\nChange-Id: I3c95078da20995444f6388a029414280fd654318\n"
    },
    {
      "commit": "71487eb0ceb2b7dea02649e78d99bb5952f5eaef",
      "tree": "05513c6b4fe8ccccc1b8e08e0aae9d5094dc40f1",
      "parents": [
        "2b2ad7ce9f008cc383394cc91389d667575ec45d"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Wed Nov 19 16:13:20 2014 -0500"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Tue Jan 06 21:41:35 2015 +0000"
      },
      "message": "Merge frameworks/base changes from master-skia to master.\n\nAdaptations to changes in Skia upstream since Oct 2014.\n(https://code.google.com/p/skia/issues/detail?id\u003d2377)\n\ncbb922d use new roundOut signature\n77082de Call SkColorTable::readColors().\n5456ab1 Handle the result of SkMatrix::asAffine.\n25cfc78 Remove dependence on SK_LEGACY_PICTURE_SIZE_API.\n\nBUG:18468293\n\nChange-Id: I5a4d274e854298843891410b1ffd5e24f038b88a"
    },
    {
      "commit": "d41c4d8c732095ae99c955b6b82f7306633004b1",
      "tree": "dbb2e26c6c5a80c7ccf43e5cd5fb1554cc603555",
      "parents": [
        "8dfaa4904205772cdceee63ef3989bcdedf1a914"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jan 05 15:51:13 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jan 05 16:49:13 2015 -0800"
      },
      "message": "Add overrides and switch to nullptr keyword for all files\n\nAdds remaining missing overrides and nullptr usages, missed due to\nan extreme failure in tool usage.\n\nChange-Id: I56abd72975a3999ad13330003c348db40f59aebf\n"
    },
    {
      "commit": "51d6a3db97bdd5315f1a17a4b447d10a92217b98",
      "tree": "80803f8d2a5507e2d29bd58c7243a23fca343454",
      "parents": [
        "e84a208317e0ed388fcdad1e6743c7849acb51b0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 22 17:16:56 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 23 16:53:56 2014 -0800"
      },
      "message": "Cleanup various clang warnings, use unique_ptrs in several places\n\nChange-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f\n"
    },
    {
      "commit": "a1c3fdfbc7a8f271f916b89e721e4d371f1dfe8f",
      "tree": "c38ecf73a9a4c5b64a9ca14e060edfac2d87a555",
      "parents": [
        "10c9c6681554ab7ae0a322c95ba99574d6917962",
        "3f454e7d1cf7103e312f67f745f01f00fa49df13"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Dec 12 04:30:44 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 12 04:30:44 2014 +0000"
      },
      "message": "am 3f454e7d: am 63c7b246: Merge \"Correct layer size formatting in trace\" into lmp-mr1-dev automerge: 00905a9\n\n* commit \u00273f454e7d1cf7103e312f67f745f01f00fa49df13\u0027:\n  Correct layer size formatting in trace\n"
    },
    {
      "commit": "3f454e7d1cf7103e312f67f745f01f00fa49df13",
      "tree": "98012eb43a2c47674a47f9383d29638a27f6e8da",
      "parents": [
        "2d6627a9f28c5c31fec5da3dcf48d96ff7a0d893",
        "00905a984c07ffc9960ce83548631c59aae37ec6"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Dec 12 04:25:43 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 12 04:25:43 2014 +0000"
      },
      "message": "am 63c7b246: Merge \"Correct layer size formatting in trace\" into lmp-mr1-dev\nautomerge: 00905a9\n\n* commit \u002700905a984c07ffc9960ce83548631c59aae37ec6\u0027:\n  Correct layer size formatting in trace\n"
    },
    {
      "commit": "c2379070a46f208bce490b938e0673ba00373e2e",
      "tree": "03de6d4d7a829847d8b072de23ca0c37d963f472",
      "parents": [
        "596d4e7230ae1858aaafbae7987e46d65181f1bd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 11 14:29:51 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 11 14:29:51 2014 -0800"
      },
      "message": "Correct layer size formatting in trace\n\nbug:18722704\nChange-Id: Icef9aaa62633b2d86ad250f43d4c8fa5cc0b6842\n"
    },
    {
      "commit": "e749bd2c72d14519f6ac24d5efc399b0dafc507d",
      "tree": "eb116f344939239a74dd782effa6c43640d4101e",
      "parents": [
        "004367a15990c8b9a40812b986c5df2cc0484459",
        "a22ab0da6f72b2e52166cc6e11f4c6d44c0fb714"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 02 01:45:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 02 01:45:54 2014 +0000"
      },
      "message": "am a22ab0da: am 9a04480e: am ef124887: Merge \"Clip outline to View clip bounds for shadow computation\" into lmp-mr1-dev\n\n* commit \u0027a22ab0da6f72b2e52166cc6e11f4c6d44c0fb714\u0027:\n  Clip outline to View clip bounds for shadow computation\n"
    },
    {
      "commit": "a22ab0da6f72b2e52166cc6e11f4c6d44c0fb714",
      "tree": "9c93658e1586d303e066fb3bd67b187a5b38cedf",
      "parents": [
        "3380f4961814c0aaa23e92dca4d2999ebb254f65",
        "9a04480e36c42eb63d1d727221ba3ce6a6d533ef"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 02 01:39:20 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 02 01:39:20 2014 +0000"
      },
      "message": "am 9a04480e: am ef124887: Merge \"Clip outline to View clip bounds for shadow computation\" into lmp-mr1-dev\n\n* commit \u00279a04480e36c42eb63d1d727221ba3ce6a6d533ef\u0027:\n  Clip outline to View clip bounds for shadow computation\n"
    },
    {
      "commit": "faa79ff9d964de940660d2226d5b06ded9294597",
      "tree": "f0cffdaa4de22117f6a47268a17d52f79e1e0bad",
      "parents": [
        "293f0f380b514658f63474b714053fda0e92569f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 01 13:44:21 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 01 15:47:10 2014 -0800"
      },
      "message": "Clip outline to View clip bounds for shadow computation\n\nbug:18509823\n\nThis allows animations of View clipBounds (and other callers of\nsetClipBounds) to affect shadows, instead of leaving them floating.\n\nChange-Id: I249fa4b371a170cb0c54001f5b0e0097e109b8b8\n"
    },
    {
      "commit": "3c96a2b8fe4b52a8617e84c8aced43326d964f55",
      "tree": "f3610b41eb7fc0f7edf8afb2f74a14cc71dba7c0",
      "parents": [
        "6a2acff8c195b5b03ac022e7deb157cca06dadb6",
        "1fb141f83bad3884e2199c7acdc23932afaefe0c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 12:09:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 26 12:09:28 2014 +0000"
      },
      "message": "am 1fb141f8: am 9c5b7b09: am ee660651: Merge \"Improve DisplayList state output\" into lmp-mr1-dev\n\n* commit \u00271fb141f83bad3884e2199c7acdc23932afaefe0c\u0027:\n  Improve DisplayList state output\n"
    },
    {
      "commit": "1fb141f83bad3884e2199c7acdc23932afaefe0c",
      "tree": "2eb9679e2494a207378ae5dd127f4c68632b58c5",
      "parents": [
        "6df037ac5d2b4b6f027ca36284ee09ed10970cd8",
        "9c5b7b094254cad0a8a90ece5ea650c49694087d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 12:01:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 26 12:01:46 2014 +0000"
      },
      "message": "am 9c5b7b09: am ee660651: Merge \"Improve DisplayList state output\" into lmp-mr1-dev\n\n* commit \u00279c5b7b094254cad0a8a90ece5ea650c49694087d\u0027:\n  Improve DisplayList state output\n"
    },
    {
      "commit": "ee6606519d22805c1caf23a3c75cde9fc97b34eb",
      "tree": "923b1bdc3095cacfb77cc3d0b3ea0e29c24acc90",
      "parents": [
        "d0f6b4f6297373e569e383edc21aaa3f87591e0b",
        "b5a5435a77bae40b55053ccde93b1ed45d0e8329"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 25 18:45:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 18:45:11 2014 +0000"
      },
      "message": "Merge \"Improve DisplayList state output\" into lmp-mr1-dev"
    },
    {
      "commit": "64bb413a664001c95c8439cf097dc3033f4ed733",
      "tree": "d4562f7bb5656865d32e5d684b5a41542ecfaf58",
      "parents": [
        "8a902d9f24e83c87b054adb5836b4a5b8a257be9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 22 00:35:09 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 22 00:35:09 2014 +0000"
      },
      "message": "Revert \"resolved conflicts for merge of 220c3f4f to master\"\n\nReverted as hwui doesn\u0027t agree.\n\nThis reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9.\n\nChange-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a\n"
    },
    {
      "commit": "b5a5435a77bae40b55053ccde93b1ed45d0e8329",
      "tree": "6589f39a057fd5af9147e05abcb2ecb37cc79c4a",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 14:54:35 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 16:23:00 2014 -0800"
      },
      "message": "Improve DisplayList state output\n\nbug:17991451\n\nLog hardware layers and shadow casting\n\nChange-Id: I2ae40f270d18f5b2a5af985513e0f5e8841216c2\n"
    },
    {
      "commit": "8a902d9f24e83c87b054adb5836b4a5b8a257be9",
      "tree": "7a1842dd8f8b9b8e1880df7a3fe0fc7f5d103d48",
      "parents": [
        "fa6547f6c0aad15c308a4ba946955087081ae1eb",
        "220c3f4f48b53b6010093a1ef437f4197a382ebf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 15:51:04 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 15:51:04 2014 -0800"
      },
      "message": "resolved conflicts for merge of 220c3f4f to master\n\nChange-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e\n"
    },
    {
      "commit": "2ab8298dc37851aab4623ba3f98d71055d653a73",
      "tree": "e31d76f1c16ec8e980983392b09287515bcec2f1",
      "parents": [
        "4c9041cf837cda13c749b148661d18c3fab0fbd6",
        "99377df12ee696e01cd9071132f122801a9862ce"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 14:19:06 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 14:19:06 2014 -0800"
      },
      "message": "resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aosp\n\nChange-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943\n"
    },
    {
      "commit": "42ddc18d108f789705ad4eb697ce9599ad322507",
      "tree": "53ed2c03a53112f6bfd515a6d03b02dfed0cc9e9",
      "parents": [
        "f926d71b8ef2790da067550144860705c1a61fe5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 09:49:08 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 10:39:21 2014 -0800"
      },
      "message": "Frameworks/base: Unused parameters in hwui\n\nRemove Clang cutout for unused parameters. Fix warnings.\n\nRemove Clang cutout for deprecated Skia function usage. Has been\nfixed in the L push.\n\nChange-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7\n"
    },
    {
      "commit": "06e7fe5a70409d2050b2b3e1286500f5223099da",
      "tree": "b7eea29ebe9ffc345f68a879199e2904c5c78423",
      "parents": [
        "b946358bb5afd9db6a0914171d3f237c77abbfea",
        "f2235b6a48db2e16b52711570bf2a0d0cb0b0d90"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 17:27:36 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 17:27:36 2014 -0800"
      },
      "message": "resolve merge conflicts of f2235b6 to master.\n\nChange-Id: Ibcef3a37ca0749931d509b53bd52e53a7d30ddbb\n"
    },
    {
      "commit": "f2235b6a48db2e16b52711570bf2a0d0cb0b0d90",
      "tree": "159f121d1330bba957764704de13720e785f3e3b",
      "parents": [
        "cd24a6d70b54c79605e51fcc6a249313e9c25a51",
        "57b641a2ed87f2827399c363053436cba88bee75"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 16:38:06 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 16:38:06 2014 -0800"
      },
      "message": "resolve merge conflicts of 57b641a to lmp-mr1-dev-plus-aosp.\n\nChange-Id: I1be708f5a0cd4d64021a57f1063d54330f1d2d7e\n"
    },
    {
      "commit": "70850ea258cbf91477efa57a1f1a23cc0044cc93",
      "tree": "674621c2adc816afae2a1d09291fcd4af12b08e7",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 18 10:49:23 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 19 17:24:30 2014 -0800"
      },
      "message": "Improve logging around performance critical events\n\nbug:17702227\n\nAdd details useful to developers (such as layer size/View name), and\nswitch away from logging implementation names/details, since they\nare generally not relevant to developers.\n\nChange-Id: Iee605d182f241450f7e75a6d0c283d51fa1312f5\n"
    },
    {
      "commit": "edaecc1db0584fa017822dfc2da0c968b53967e6",
      "tree": "dc2db79f490bc2e334c6e3688e099c98e846f381",
      "parents": [
        "baa73b056cbd4627a84b39a6267065ae56677220"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 20:54:07 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 21:29:52 2014 -0800"
      },
      "message": "resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp\n\n(cherry picked from commit 1272887050a269d6d506b42099c2857847ad100b)\n\nChange-Id: Ib673768fe5fc03615626ef4b10590e5317f22172\n"
    },
    {
      "commit": "1272887050a269d6d506b42099c2857847ad100b",
      "tree": "6770318c0302a4e486224bb87b46dcb1f9a68047",
      "parents": [
        "cba06c2272c8bce7d10b2a7ee762d12043f3252a",
        "1d03b816fea1b964cc5db4d11ddcba9b25f45d99"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 20:54:07 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 20:54:07 2014 -0800"
      },
      "message": "resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp\n\nChange-Id: Ib673768fe5fc03615626ef4b10590e5317f22172\n"
    },
    {
      "commit": "1e19674107e1aa2224c2b8c7d12bfa057efe80ea",
      "tree": "512f1a8a715497c2cde26d6ca070d923fd9c3a45",
      "parents": [
        "487ae9b8dc3e08c1a830d519a801a07cd59c8f2b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 15:23:43 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 15:58:04 2014 -0800"
      },
      "message": "Frameworks/base: Wall Werror in libs/hwui\n\nTurn on -Wall -Werror in libs/hwui. Fix errors.\n\nChange-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd\n"
    },
    {
      "commit": "088c514cb13f3b8f8683588c2f398f18df1547c9",
      "tree": "798905e133994e16fc1b66a8e6aedeab0eb98872",
      "parents": [
        "1af72bff509bb2638c2d7a1309dbf3f03736e6fd",
        "be70c7713df98d81e9e43af9e76e0e6d018a4339"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 06 13:04:49 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 06 13:04:49 2014 -0800"
      },
      "message": "resolved conflicts for merge of be70c771 to master\n\nChange-Id: I469905bef7361c18aab725778694567d1987c06d\n"
    },
    {
      "commit": "a35778c799e8073a42b9e22191bde9d838327ab7",
      "tree": "f4d74fc026f8dcf6d8ea8e5a18be30a14b990b70",
      "parents": [
        "b9744c1c1f5e8cc936da7f1832665f77ad5bb18f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 06 09:45:10 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 06 09:45:10 2014 -0800"
      },
      "message": "Yank ResourceCache out of Caches\n\nBug: 17947547\n\nPull the ResourceCache (aka, ref-counting side channel) out of\nCaches so that DisplayListRenderer doesn\u0027t use Caches, avoiding\nthe risk of instantiating Caches on the wrong thread or\nwithout a GL context\n\nChange-Id: I7d63b70b3b0a0163308c5dedd6ef255eadebe8fd\n"
    },
    {
      "commit": "9481684560b2815d2706512086bb36467ef6acc0",
      "tree": "e6258e3075f56533df3ec11cf1443a0d1882b17d",
      "parents": [
        "bc622ed7c3f9ead17c8aede3ccc10babf0b8e0fa",
        "e05575e9c36850d8cfe49396ac9a1372511b12bf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 31 23:30:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 31 23:30:57 2014 +0000"
      },
      "message": "am e05575e9: am a8d83d63: Merge \"Layer changes\" into lmp-mr1-dev automerge: a51fba0\n\n* commit \u0027e05575e9c36850d8cfe49396ac9a1372511b12bf\u0027:\n  Layer changes\n"
    },
    {
      "commit": "0e89e2b7bcb2c035e8cee77f93120e7c5617f8d2",
      "tree": "8fcd1f768f08fbeb2cd13425a2bf15b7670428f2",
      "parents": [
        "141823ec6313d9545b8354ea1e3e017a1da3cfa8"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 31 14:49:06 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 31 15:30:10 2014 -0700"
      },
      "message": "Layer changes\n\nBug: 17208461\n\n* Switch Layer to be VirtualLightRefBase instead of\n  Caches\u0027 side-channel ref-counting\n* Include active layers in gfxinfo dump\n* Run gfxinfo dump on the correct thread\n* Dump gfxinfo on Layer creation failure\n\nChange-Id: I28d195699e2334518e215ab28c7a17355aee9678\n"
    },
    {
      "commit": "945701126bedff0786f540c41c63c9af37fbbe73",
      "tree": "bf505580a3f4e22c66806f4f7d558d6e78e528ab",
      "parents": [
        "c193acb8cbcb1a79f3d7deb699fbefeaef261c96",
        "41707d01e9e950ebd00642ef3564edcff8c539e7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 23 20:48:43 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 23 20:48:43 2014 +0000"
      },
      "message": "am 41707d01: am ebcfd24b: am 68335df6: Merge \"Fix damage bug\" into lmp-mr1-dev\n\n* commit \u002741707d01e9e950ebd00642ef3564edcff8c539e7\u0027:\n  Fix damage bug\n"
    },
    {
      "commit": "5c9d717d3e7064db76d2a01223af51379dadf2c3",
      "tree": "cc8069129707905f8754d2250bbcf2d929467009",
      "parents": [
        "9b67a1a232dc0e1cda346271c3a9d118228001ee"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 22 11:32:27 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 22 11:32:27 2014 -0700"
      },
      "message": "Fix damage bug\n\nBug: 18087374\nChange-Id: Ie183392122c73f93010fb3f4be071c924b352966\n"
    },
    {
      "commit": "2dc236b2bae13b9a0ed9b3f7320502aecd7983b3",
      "tree": "0fdb6c210ba1cba9397252a69d05fdf72e6f35a9",
      "parents": [
        "6cbb42186e990c401da1e1dbc465fd58fde158a1"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 15 15:46:42 2014 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 15 15:51:39 2014 -0400"
      },
      "message": "Clean up physical coupling\n\nNarrow the use of #include directives in hwui, replacing with forward\ndeclarations where straightforward. Speeds compiles; doesn\u0027t do any\nrestructuring of code.\n\nChange-Id: Icac2baffb5896f55d8c6718e9bd9d4bfa02d3ca0\n"
    },
    {
      "commit": "059476a24502500bbc277b86f9a4f7e840d1b5f5",
      "tree": "459eafb5f8b26b16e754b6e1a0a86c50d9371b7d",
      "parents": [
        "ec89863adec09dbf980b2d2c90c0fa5e78ffa7a9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 29 17:09:53 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Oct 01 11:14:55 2014 -0700"
      },
      "message": "Avoid creating Caches instance with gfxinfo dump\n\nbug:17509891\nChange-Id: I182851068ba04926d60226b3ace95efea59eac45\n"
    },
    {
      "commit": "c166b6c4fc3e1158ca08cfed24639409161055cf",
      "tree": "0d63318f0e1dbb9cfb7b705ac1f29e6e1c7921f0",
      "parents": [
        "cfc102685c6e9286f76b8cd5c2ed2318e9b2901e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 05 19:55:30 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 05 19:55:30 2014 -0700"
      },
      "message": "Fix save count offsetting within DisplayList chunks\n\nbug:17388541\nChange-Id: I7cb1139b8cd30f72ae7c6de2074c3c5865b8f309\n"
    },
    {
      "commit": "6dad93eff6cb62aded9d07bc3381cf1cbea468b9",
      "tree": "70bdff3ab45d42d81468fc4930a02f639043d6a5",
      "parents": [
        "46edee0994354e828bd6d0bffe60b6036b8c1388",
        "443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 05 01:06:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 05 01:06:08 2014 +0000"
      },
      "message": "Merge \"Yet more layer tracking logging\" into lmp-dev"
    },
    {
      "commit": "443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44",
      "tree": "4e1fd44948c6bc7324d6e3cb66af261f864530e5",
      "parents": [
        "2388750612b1fe54d31a47e0a40c1e6cf5a0cedd"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Sep 04 17:40:05 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Sep 04 17:40:05 2014 -0700"
      },
      "message": "Yet more layer tracking logging\n\n Bug: 17208461\n\nChange-Id: I55e7d0921eb565867e966d68b798b7b92c391b55\n"
    },
    {
      "commit": "2d3f9033f8803d471720be60228d9894dd385488",
      "tree": "ae2fe0eef1725e9cabaae6f0915d03f3fa016b65",
      "parents": [
        "e7baf5afc07127854e5791d93f05e6b46633bc47",
        "e83cbd451868a734bfac07ccd680d5617080b579"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 04 21:06:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 04 21:06:10 2014 +0000"
      },
      "message": "Merge \"Prioritize reveal clipping over Outline clipping\" into lmp-dev"
    },
    {
      "commit": "e83cbd451868a734bfac07ccd680d5617080b579",
      "tree": "eb2c39e190850694b67ad3f6e810a08f63e60282",
      "parents": [
        "01abcaa295fc4eec7442a575d160b0ce2c250127"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Sep 03 17:52:24 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 04 14:05:10 2014 -0700"
      },
      "message": "Prioritize reveal clipping over Outline clipping\n\nbug:15780987\nbug:17350602\n\nAlso update docs around clipping nesting behavior,\nand some Z ordering behavior.\n\nChange-Id: Iaa204350a0adfdcbd8c4b821fb4a9c0ae22f2613\n"
    },
    {
      "commit": "80068b735eb4ef26f0d9dbcb0fbc5e4982c5c215",
      "tree": "7fb407f4d861574e2342c34dbc5ce0b572cff996",
      "parents": [
        "7de5c43c80af066597e2aa0468415bc0e882e135",
        "998a6d81896df8b662cc10ddeb35087b78b38d72"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 28 23:04:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 28 23:04:32 2014 +0000"
      },
      "message": "Merge \"Track buildLayer calls, destroy if unused\" into lmp-dev"
    },
    {
      "commit": "998a6d81896df8b662cc10ddeb35087b78b38d72",
      "tree": "33af22fd2b087c8935fc2f6b4b03a71495ed83ef",
      "parents": [
        "e9a204f04465c26a32a15c237b985def8c2b4a90"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 28 15:35:53 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 28 15:55:26 2014 -0700"
      },
      "message": "Track buildLayer calls, destroy if unused\n\n Bug: 17208461\n\nChange-Id: Ibdb104a493285d77a6891c5e74e38a52c7014da9\n"
    },
    {
      "commit": "bf939b2671ba0618e0cdca3e6c75d59f35a83bba",
      "tree": "826fb7f4b734c5444a699250c60fc2b0a54ca851",
      "parents": [
        "86469f5962a595688ed73825778c5f6d528d7735",
        "c3e75f9d54b3629b3fd27afafa2e07bd07dad9b3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 28 17:27:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 28 17:27:24 2014 +0000"
      },
      "message": "Merge \"Update transform isolation to handle command chunks\" into lmp-dev"
    },
    {
      "commit": "119907cd2575c56b1ebf66348b52e67aaf6a88d8",
      "tree": "9990e37a560021560316ac2cfc6cf4c64df9cb92",
      "parents": [
        "1698297daf8068bc9e6971d43744d48f1672bab2"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 14 09:02:01 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Aug 27 17:44:25 2014 -0700"
      },
      "message": "Animator stuff\n\n Bug: 17228458\n\nChange-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d\n"
    },
    {
      "commit": "c3e75f9d54b3629b3fd27afafa2e07bd07dad9b3",
      "tree": "80da7c0eda4235a9c4f3d3e71a4fb0c039b91652",
      "parents": [
        "780617faa2c9b3dbcb902da06a486149c5bddbb3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 27 15:34:52 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 27 15:43:42 2014 -0700"
      },
      "message": "Update transform isolation to handle command chunks\n\nbug:15570351\n\nPrevent drawing transformations on a ViewGroup\u0027s canvas from directly\naffecting the transformation of the children through the renderer,\nsince it\u0027s already baked into mTransformFromParent at record time.\n\nChange-Id: I6310a2260dfe4def0bde1fd2c5b93791a645d586\n"
    },
    {
      "commit": "8afd0f245cc0c4a0366f39f41b5f78e47ee83be3",
      "tree": "220f6cac192fe822650d4676ef3996da5fb02ad9",
      "parents": [
        "cc3e5d5cd197ad45e051e31fd85af28588af4cf7"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 21 17:41:57 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Aug 25 15:35:40 2014 -0700"
      },
      "message": "Create z reordering boundaries around dispatchDraw\n\nbug:16012254\n\nThis means rendernodes with a Z will no longer be drawn at the end of\ntheir parent\u0027s DisplayList, but at the end of the associated reorder\nregion (DisplayListData::Chunk).\n\nChange-Id: Ia033fee9d9a4db567b2a8d5e90fc57a4d0a64544\n"
    },
    {
      "commit": "7d3734491516fdda47059f2a36c1de9fa39dd8a9",
      "tree": "62083fddcb4ee769330279b88ccd91b676d0dc4c",
      "parents": [
        "2b5d920e800d89b695f01bfe704d12f6d53902ec",
        "9eb9f6f8cbbbd87d45da8071aa54cb066a797723"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 21 20:26:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 21 20:26:18 2014 +0000"
      },
      "message": "Merge \"Don\u0027t run animators in buildLayer\" into lmp-dev"
    },
    {
      "commit": "9eb9f6f8cbbbd87d45da8071aa54cb066a797723",
      "tree": "aa193a48886ab29dd158028a48475cc63e43383d",
      "parents": [
        "94f6878bbd98753aa60fd80f5a73b5f198579b04"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 21 11:23:05 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 21 11:23:05 2014 -0700"
      },
      "message": "Don\u0027t run animators in buildLayer\n\n Bug: 17172689\n\nChange-Id: Ib47d589c002543327fa336718440f9f8c95524e0\n"
    },
    {
      "commit": "c71bfcaa182e3d4fd9874362d3b4781fda934a21",
      "tree": "cbb11e94b0a849bb86b13206d9a4693d33b61890",
      "parents": [
        "3acf66f5580b9e411ff20674c676de0901d4b459"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 21 10:18:58 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 21 10:18:59 2014 -0700"
      },
      "message": "Fix layer shadow transform crash\n\nbug:17180252\n\nChange-Id: Ia648b8c98a217a3a4973917bf255d1397802cbbe\n"
    },
    {
      "commit": "69e5adffb19135d51bde8e458f4907d7265f3e23",
      "tree": "022fc23512ae5adfbe3f86351305bc9f4538a68a",
      "parents": [
        "e222e359a0aab985488a711f6edb76820fe8c6df"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 14 13:34:01 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Aug 15 00:59:44 2014 +0000"
      },
      "message": "Define shadow casting behavior within layers\n\nbug:15860114\n\nSavelayers and HW layers both now support shadow casting.\n\nFor save layers, the light source should always be correct, for HW\nlayers, the light source position is set when the layer is created,\nand updated when it is resized.\n\nChange-Id: Ie85567dd43c2bb0a0b08fd0bd4db41efa793ac2b\n"
    },
    {
      "commit": "b3cca876c2e11b865cb4f83abe2c48a60b95af5b",
      "tree": "adb26b979dae1340e5c0bd6a976874f14c7f36fd",
      "parents": [
        "c28aceb11e736382bc7ee749483ea5f23299ad78"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Aug 08 18:42:51 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Aug 12 12:33:01 2014 -0700"
      },
      "message": "Fix ripples projecting to scrolled view\n\nbug:16873774\n\n1) Fix projectionReceiveIndex, which could in some cases point at\ntranslate/restore ops.\n\n2) Use background translateX / translateY for projected RenderNodes.\nThis makes them match background position, and thus properly account\nfor scroll.\n\nChange-Id: Idbd5700858fd67c5abea0270a1012952fe09ac22\n"
    },
    {
      "commit": "a7c2ea20c43ab797bef5801530687e22e83def8f",
      "tree": "a5456b7d3cf8fb9f49a330bb626d490ba3de3742",
      "parents": [
        "5c8ea2c369deab75719fe7c7301846a8ef955702"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Aug 08 13:21:00 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Aug 08 20:24:34 2014 +0000"
      },
      "message": "Fix damage for layers for projection receivers\n\n Bug: 16880228\n\nChange-Id: I59ab760a21f49cc2cac0d8936b173cff292e6114\n"
    },
    {
      "commit": "7466986d2055eb8711f36a85ac539b1572ffe805",
      "tree": "6c560d37db0e9f709e8b3114c126423ce99488fc",
      "parents": [
        "f06009542390472872da986486d385001e91a2a7"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 07 17:27:30 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Aug 08 00:52:54 2014 +0000"
      },
      "message": "Fix leak of SkPathRefs\n\nbug:15939479\n\nSkPath objects owned by DisplayListOps weren\u0027t being torn down, and\nthus weren\u0027t releasing their SkPathRef innards.\n\nChange-Id: I2581e124600a93a399ef3251f456c02ab52839a8\n"
    },
    {
      "commit": "dc0349bebafb486b044655f3c146450b527a5123",
      "tree": "7c8adca04e1efb56856e9f5ada96ba0014f7c5ff",
      "parents": [
        "33559c96ad4f2847ad2667c6035b8afe2afe2970"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Aug 06 15:28:07 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Aug 06 22:28:47 2014 +0000"
      },
      "message": "Add missing null check\n\n Bug: 16352267\n\nChange-Id: Ib60baa6d22ec02ba623a297660e2e3ecc7557d0f\n"
    },
    {
      "commit": "c79eabcd3c6306bb2ec75f9584b79e661f265127",
      "tree": "aa1959c28429f0493de2fa70c9e799dfb34866b7",
      "parents": [
        "43cc8bbbbd5e6418cdfa0fa4b26c9f5c3a28c029"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Aug 05 11:03:42 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Aug 05 20:54:28 2014 +0000"
      },
      "message": "roundOut layer damage\n\n Bug: 16734708\n\nChange-Id: I8815b7cf5f74be6deda98aaaf7cde85509def373\n"
    },
    {
      "commit": "77b5cad3efedd20f2b7cc14d87ccce1b0261960a",
      "tree": "5acf378a0aa0477ef585d71a0b9e6c56cfd1d6c9",
      "parents": [
        "f660edb25a99282ce86b91804cd0145c1ef54bab"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 30 18:23:07 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jul 31 12:29:57 2014 -0700"
      },
      "message": "Add outline alpha\n\nbug:16140822\nbug:16566746\n\nThis allows background drawables to alter the opacity of a shadow\nbeing cast with their own alpha values.\n\nChange-Id: I49698cc7c1bf4b2b55ffe2f82899543ca62bc61c\n"
    },
    {
      "commit": "af4d04cab6d48ae0d6a5e79bd30f679af87abaad",
      "tree": "b1fe9d83f5ccc32b1e0db8f002d2d3035368dfac",
      "parents": [
        "3d1856f4449f02a9a3bda06738c3eb83df96f88b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 29 12:50:14 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 30 17:15:50 2014 +0000"
      },
      "message": "Use RoundRect clipping for circle reveal animation\n\nbug:16630975\n\nAlso, remove inverse clipping feature from reveal animator.\n\nChange-Id: I770a4eb48cd123b0ca0f39d16a0f3eefd1be3653\n"
    },
    {
      "commit": "590b8d3601a518f6c3e00a28e88add36142bde22",
      "tree": "49028c5103fa9c63d725a983c912ae1fe30d3ed7",
      "parents": [
        "9679410db578e179c7559e7a52bb21c8082e9631",
        "09d5cddf67b676018700bcc10a72242641cd7eec"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Mon Jul 28 21:44:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 24 20:48:02 2014 +0000"
      },
      "message": "Merge \"Add kModeSync\" into lmp-dev"
    },
    {
      "commit": "09d5cddf67b676018700bcc10a72242641cd7eec",
      "tree": "92b8ab435be040a30ba9cb2d77246aaaca68e5a1",
      "parents": [
        "4f994eb2ddbe68b0eada89dcaae34c079df55c7e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 24 10:36:08 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 24 10:36:08 2014 -0700"
      },
      "message": "Add kModeSync\n\n Bug: 16526750\n\nChange-Id: I4c087160e80432739321172fd57880846c8de6e0\n"
    },
    {
      "commit": "a753f4c6cb8558795e673df1896532cd148781e2",
      "tree": "ec290b59a9cc91bb71402b8643fbc976f95c82d2",
      "parents": [
        "543650bb10b1104dd4ebb81e4a9bbebf9fb4c535"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jul 24 12:39:17 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jul 25 20:56:50 2014 +0000"
      },
      "message": "Move ClipBounds to native\n\nbug:15698973\n\nAlso simplifies RenderNode LTRB properties\n\nChange-Id: I09263a697b71d325a46b57cd5250a2b165f251c8\n"
    },
    {
      "commit": "1aa5d2d7068147ff781cfe911a93f01593a68c79",
      "tree": "63d8676a5a062deb3a95caee0c5a39ce19471df2",
      "parents": [
        "71d34ec5bed6fe723cf5f85c1ffb64e0d9380967"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 24 13:38:28 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 24 14:28:08 2014 -0700"
      },
      "message": "Fix ALL compile warnings\n\n All warnings/errors fixed for GCC \u0026 Clang\n\nChange-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3\n"
    },
    {
      "commit": "0645128b80621edee70f8cab4afb208fe0c26bec",
      "tree": "8c12a055a0231303726cf2b6724b5b7264ca7357",
      "parents": [
        "94ca6cd7c932689b8018d1b118ddcd6b7a9eab27"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jul 21 10:25:54 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 22 15:15:11 2014 -0700"
      },
      "message": "Make setter methods on Outline call setEmpty() based on params\n\nbug:16142564\n\nAdditionally, better define behavior around null outline providers:\n\nA view with an empty outline, and setClipToOutline\u003dtrue will not be\nrendered, though one with a null outline provider\n(and thus no outline) will be.\n\nChange-Id: Ic9549841b107b2eb51b417c66058a0cd69dd89eb\n"
    },
    {
      "commit": "dcba6725e8b9d3eba9ad7a01258d6aa974feafba",
      "tree": "994a519302533fc1073eeafda8bf74933531dd56",
      "parents": [
        "114c68cec40a995fb6f3ef0ab110ee8b59ab0cba"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jul 08 13:59:49 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jul 08 14:14:55 2014 -0700"
      },
      "message": "Fix layers lifecycle issues\n\n Bug: 16118540\n\n Fix an issue where we could have a reference to a Layer after\n the GL context was destroyed\n\nChange-Id: I7bfd909d735ca6b942ebe188fc10099422eb6d95\n"
    },
    {
      "commit": "83601538918620e63f5a765d3eaab3a63494b454",
      "tree": "cf719c7e7ec4bcf473f9d5b7e567f8a39d8d2704",
      "parents": [
        "e45ceae67f06a43f5e659397377bfb70544a75c5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jul 08 15:37:18 2014 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jul 08 15:44:41 2014 +0000"
      },
      "message": "Revert \"Fix destroyHardwareResources\"\n\nThis reverts commit bac48c4d0c6f71f67074a430cd365ea2e15924b8.\n\nChange-Id: Iba8b729d5e91ca31976fc2bdf9c1dd5fdb19de9a\n"
    },
    {
      "commit": "ec0c92548071801c81e02ca72b9864739e1c080c",
      "tree": "829bbba8e3351d5cce26e477111fa424549c2431",
      "parents": [
        "eb2263dd72ed40b47337fcd12189a4f268584b8b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jul 07 16:30:41 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jul 07 23:37:40 2014 +0000"
      },
      "message": "Fix destroyHardwareResources\n\n The UI thread needs to know whether or not the display list is\n valid, so bring back View.destroyHardwareResources and instead\n have the native side assert that View did the right thing\n\nChange-Id: I4f8dee6e9c13ec7ab520becdc5cfe20e92a76f8f\n"
    },
    {
      "commit": "f47a594f5250b1914c36423ee6b371f0b8db09d0",
      "tree": "f86289c7b515c2111fde3ce11e7fca384bc2f603",
      "parents": [
        "dd59aba6c7e142eae14d5f29ea6873a5b9790174"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 30 16:20:04 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 30 16:36:26 2014 -0700"
      },
      "message": "Fix onTrimMemory for HardwareRenderer\n\n Also fixes detachFunctor possibly drawing after return\n\n Bug: 15189843\n Bug: 15990672\n\nChange-Id: I64c48cb674c461a8eeaba407b697e09f72c98ce3\n"
    },
    {
      "commit": "68bfe0a37a0dcef52abd81688d8520c5d16e1a85",
      "tree": "b67e0671dba8221a16fcf880daeaf1e271499e9f",
      "parents": [
        "6507f2e03a90244e08fb62f9b55653ba3230d0b7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 24 15:34:58 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 26 10:45:43 2014 -0700"
      },
      "message": "Animator refactoring \u0026 fixes\n\n Tweaks animators to have less unnecessary refcounting\n\n Pull animator management out into seperate class\n\n More control to tweak animator lifecycle, such as doing\n Java-side handling of start delay by attaching but not\n starting the animator\n\nChange-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c\n"
    },
    {
      "commit": "3b20251a355c88193c439f928a84ae69483fb488",
      "tree": "33c878ebacf17cf03d089404474fa66ca041ffb9",
      "parents": [
        "97a6c20a6a52c9429ed2c8837086f3003e5da274"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 23 13:13:08 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 23 15:26:49 2014 -0700"
      },
      "message": "No-fail invokeFunctor\n\n Bug: 15513308\n Bug: 15449247\n\nChange-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c\n"
    },
    {
      "commit": "a7090e0cfd7c719a6d4c03aae34f5db98754cbdd",
      "tree": "7bfae2588126476042f33b9dd01ca0b9cf368e2e",
      "parents": [
        "104ef50048a1d12f323b3e70ccc28dd509d3ea24"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jun 20 16:01:00 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jun 23 09:57:07 2014 -0700"
      },
      "message": "Update \u0027DisplayList\u0027 vs \u0027RenderNode\u0027 naming in several places\n\nChange-Id: I635c6627d098b661fb9b0ba1bd42fa6d7277d287\n"
    },
    {
      "commit": "3281442aa75872b8947f0b0a5203257c6849129d",
      "tree": "6484ad9c30a42eec7ac2bc83179114cb0e0df591",
      "parents": [
        "6ab7c1e7da4047e3fbfee03ef6b199418ff570de",
        "80d4902196899d1325cd9f52c06ae0174cf9bd4c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jun 20 23:21:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 20 02:09:17 2014 +0000"
      },
      "message": "Merge \"Wrap ViewGroup content in save/restore to protect composited children\""
    },
    {
      "commit": "80d4902196899d1325cd9f52c06ae0174cf9bd4c",
      "tree": "659794797f8161ca9580fc17cc5c44bbbe3c304e",
      "parents": [
        "6b2df21ecacfa6826a85cabdf8d6fe0e81fe11d9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jun 20 15:03:43 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jun 20 16:18:58 2014 -0700"
      },
      "message": "Wrap ViewGroup content in save/restore to protect composited children\n\nbug:15570351\n\nPos Z composited children are drawn before the primary restore for a\nRenderNode. This means that without an additional save/restore (which\nwraps the content) they aren\u0027t protected from transformations/clips\nthat happen within the ViewGroup\u0027s DisplayList.\n\nAlso changes RenderNode to use OpenGLRenderer tag for displaylist\ndumping consistency, and simplifies the entry points into RenderNode\ndrawing, since the distinction between tree root vs tree internal is\nno longer important.\n\nChange-Id: I2621eba0592c74d71f85a91a4ab3d0da2d7468d3\n"
    },
    {
      "commit": "c25e506f7fc08790c0532f927f31310a2ca778b7",
      "tree": "65317bcbeeb38b60a74306be22f8c37276196ffe",
      "parents": [
        "ce9f308063cc2bc7851f3f58c881da8a7271eecc"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 18 14:21:29 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 18 14:31:52 2014 -0700"
      },
      "message": "Throw ISE on too-big-views-with-layers\n\n Bug: 12971954\n\nChange-Id: I3ef995e91f236014b0a72a90846ef19ce6dc42b1\n"
    },
    {
      "commit": "ce9f308063cc2bc7851f3f58c881da8a7271eecc",
      "tree": "f153d877f331bd2d20e43b87aeafb0e531bff941",
      "parents": [
        "4193730ad8d3c17f807a6b2f7df16510491a3432"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 17 16:18:09 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 18 07:19:50 2014 -0700"
      },
      "message": "Fix dirty calculation for layer updates\n\n Bug: 15682142\n\n Defer early return of alpha \u003c\u003d 0 for damage accumulation until\n popTransform() so that layer updates will be performed regardless\n of alpha\n\nChange-Id: Ifb94dd3ed2d96d610e6f2f3071933903016273a5\n"
    },
    {
      "commit": "293e868bfc1b07aad2cb2ebeee5b07424852c510",
      "tree": "e69fa95ca66fae973e1d5ea8c668788abbd3d221",
      "parents": [
        "29956069637f456df23d391a59bc77e545b02e05"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 17 10:34:02 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 17 10:56:00 2014 -0700"
      },
      "message": "Handle Z in DA\n\n Bug: 15671775\n\nChange-Id: I33c7a70e78ef523ffd03165fb6c39d8e04d04f1f\n"
    },
    {
      "commit": "25fbb3fa1138675379102a44405852555cefccbd",
      "tree": "510d62715f870f85fc4eea8a781c0265e7eebae5",
      "parents": [
        "a447d29c65fb811cd184775a3476101a1cede929"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 12 13:46:45 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 12 19:25:33 2014 -0700"
      },
      "message": "Move LayerType to RenderNode\n\nChange-Id: Icb79a5015cb0362b1f3a66d09007450730135a97\n"
    },
    {
      "commit": "a447d29c65fb811cd184775a3476101a1cede929",
      "tree": "0be082c0fdf19035551bf3671208fd606b430ab2",
      "parents": [
        "f8333cc38126c7efb1b95958ca7d7c825253bc58"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 11 18:39:44 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jun 12 09:13:45 2014 -0700"
      },
      "message": "Fix DA bugs\n\n * Now aware of transform of DrawDisplayListOp\n * Supports projection\n\n Bug: 15539677\n Bug: 15506680\n\nChange-Id: Ic16f482cd48c3add12e49eca529281be12b93491\n"
    },
    {
      "commit": "e4267ea4f20740c37c01bfb6aefcf61fddc4566a",
      "tree": "0d00c8bff43f8b0cbe4284e51299f5ca128c83c3",
      "parents": [
        "79c7de77a7da9cbcb9428ab6203987feb35a427f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 03 15:53:15 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 04 12:21:26 2014 -0700"
      },
      "message": "Even FASTER damage calculations!\n\n * Now with more native!\n * Less matrix math thanks to bulk-property-update support!\n * Zero JNI on the View.damageInParent() path!\n * Fully aware of RT-driven animators!\n * Likely full of new and exciting bugs!\n * But it also fixes at least 1 existing invalidate bug!\n\nChange-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f\n"
    },
    {
      "commit": "b2367cbf396f564cb6c66c0aaa51710ffa7bc052",
      "tree": "63f2adef21e715af93eedfd269758fb4e8746423",
      "parents": [
        "c2e1dcd428e1959870f24bef254f17e4fa9eea36",
        "139088228faa7f3c446af7387e017933998a5570"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri May 30 15:34:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 30 15:34:34 2014 +0000"
      },
      "message": "Merge \"Update HWUI matrix API\""
    },
    {
      "commit": "fe5e7b7346a54537b980796ceeca66bfdbd05561",
      "tree": "4036571ea103cd41fbd5fe3a805191c1bef9898c",
      "parents": [
        "45d01929291eba56e1bce582192941446b86bf5a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 23 17:42:28 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 29 15:00:29 2014 -0700"
      },
      "message": "Enable debug stuffs\n\n Bug: 14596762\n * dumpsys gfxinfo implemented\n * profile GPU visual_bars implemented\n\nChange-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b\n"
    },
    {
      "commit": "139088228faa7f3c446af7387e017933998a5570",
      "tree": "33b24be0cb5793d47f77fe9eee5beceb772e6cd0",
      "parents": [
        "1015efb143b51a5d31f2f932528f295cfa1add1f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Dec 10 12:28:58 2013 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu May 29 16:51:23 2014 -0400"
      },
      "message": "Update HWUI matrix API\n\n1. more closely mirror Skia API by using const ref instead of ptrs\n2. store SkMatrix in the drawOp instead of the linear allocation heap\n\nChange-Id: I4b9f6f76b9f7d19325e29303d27b793679fd4823\n"
    },
    {
      "commit": "61317325b7b4b4ffafd9400ab5966e8d7c67df2e",
      "tree": "314290dd297344c3b8eb62030deef402067e6233",
      "parents": [
        "d6a91b0bb64b17dcf4ae635f428dfd4ad310f73e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 21 13:03:52 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 21 13:04:10 2014 -0700"
      },
      "message": "Disable shadow drawing for empty/null outlines\n\nChange-Id: I60d0f326cfab97d88c49d17cf32e619b5e60b94a\n"
    },
    {
      "commit": "c9ee304c91b5572f0c1cd95e9bd1e4a84e28587d",
      "tree": "bfa9e5965d749b815ac7e55cea6b7b204db70cca",
      "parents": [
        "6c536eac59adf6e11694ba3800222ad03fe93d1f",
        "deeda3d337aed1eee218b89a7aba5992ced371f0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 16 00:37:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 16 00:37:29 2014 +0000"
      },
      "message": "Merge \"Round rect outline clipping\""
    },
    {
      "commit": "deeda3d337aed1eee218b89a7aba5992ced371f0",
      "tree": "15e13e84727baebce58b735e34ef5d198fd84389",
      "parents": [
        "fe4c1e225d147fe9cb5d7c121b7d6d11a312844e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon May 05 19:09:33 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu May 15 16:36:12 2014 -0700"
      },
      "message": "Round rect outline clipping\n\nChange-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b\n"
    },
    {
      "commit": "ff941dcd815021bb20d6504eb486acb1e50592c3",
      "tree": "1d417ed425ed1c08598689f302b31e23d73036f2",
      "parents": [
        "951ecb77c5dfe69a4d19d26429286111333ab123"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed May 14 16:34:14 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 15 08:53:39 2014 -0700"
      },
      "message": "Animator start value...\n\nChange-Id: Ifd35ed95a28c625086d7fa97764fe63ab4a997f1\n"
    },
    {
      "commit": "2bcad176757386d906157bb898167fbcebe9f55e",
      "tree": "a0327df35ecd89f09e53491c21463087f98a2ac0",
      "parents": [
        "a7e089f28c494f3c34e77f924b273acdbcf3ddd2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 14 18:11:23 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 14 18:11:23 2014 -0700"
      },
      "message": "Remove Path based outline clipping\n\nChange-Id: Ic5ccd98a7517b46e768e53d6b0c8fdcda305fb2c\n"
    },
    {
      "commit": "f9be77940e365036fecd8cc0e491e8545c34e79b",
      "tree": "1f15905e518d09309bb35b863d7697deb2975f78",
      "parents": [
        "5d039c458c67e8c08334e597a6a8781eda6aab13"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 02 18:21:16 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 05 12:35:30 2014 -0700"
      },
      "message": "Make RenderNodeAnimator and WebView play nice\n\nChange-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a\n"
    },
    {
      "commit": "52244fff29042926e21fa897ef5ab11148e35299",
      "tree": "2cc7b2f6dd47fe7863c6bc2b6a806e275c149ba9",
      "parents": [
        "abc975f539b4ea06c05b11ec56b0abe7c6fd95aa"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 01 21:27:37 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 02 13:43:46 2014 -0700"
      },
      "message": "Add CanvasProperty for drawCircle\n\nChange-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c\n"
    },
    {
      "commit": "52622668f91c69ec718b356d2e0f8555fc88435f",
      "tree": "85853f422b9fca99135bc08c2c1d5bc2be47a5c6",
      "parents": [
        "406c51b360cb224e2cb4773eabd04d05d29793f8"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 30 14:19:56 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 30 14:19:56 2014 -0700"
      },
      "message": "Use resize, not reserve\n\nReserve ensures the underlying buffer is the correct size, but\niterating across it is not necessarily valid. Use resize() instead\nto ensure that the iterator access is valid\n\nChange-Id: I35ff5f4416bb94cf4ce2c6acf72ffd17ab3e523a\n"
    },
    {
      "commit": "e45b1fd03b524d2b57cc6c222d89076a31a08bea",
      "tree": "31ad10387f2b59b3ee9d4396be44fce67228ca75",
      "parents": [
        "627aad9c200cb19aa505504dcd232a3710e96a25"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Apr 15 09:50:16 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Apr 29 10:42:11 2014 -0700"
      },
      "message": "RenderThread animator support\n\nChange-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084\n"
    },
    {
      "commit": "cc39e16cb98855f35079941b5e7e6eac2b7bc388",
      "tree": "f37cb0ce9da11a018446adfb83c756f5e76e77f1",
      "parents": [
        "802667b20b2170ddce94d70a022b68b64b9a7493"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 25 18:34:11 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 28 14:33:33 2014 -0700"
      },
      "message": "Add elevation, Z properties to View\n\nChange-Id: I3dd3b683a66e248a0fdf2ca69d1e962615b0daf9\n"
    },
    {
      "commit": "717f39c7d98c7e4b08f7bb88102c720cb8990004",
      "tree": "6a8ab946315d05b15836f92c2f995de416d040ad",
      "parents": [
        "f4201925d9e3d01e7a2a1db07c8186e4ba9a0fb5",
        "3f085429fd47ebd32ac2463b3eae2a5a6c17be25"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 24 00:08:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 24 00:08:09 2014 +0000"
      },
      "message": "Merge \"Clip TouchFeedbackDrawable effect to receiver Outline\""
    },
    {
      "commit": "3f085429fd47ebd32ac2463b3eae2a5a6c17be25",
      "tree": "2930b7ee50ce98092fde97546a3d546c817038f1",
      "parents": [
        "fbb54b8363b66e0b22d519ee20d1a50e8b5340ee"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 15 16:18:08 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 23 16:15:11 2014 -0700"
      },
      "message": "Clip TouchFeedbackDrawable effect to receiver Outline\n\nProjected RenderNodes are now wrapped with a ClipRect or masked\nSaveLayer, so that they are clipped to the outline of the projection\nreceiver surface.\n\nChange-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e\n"
    }
  ],
  "next": "e0bb87d4bdbd3b08ab6a8569c8e564ed59b8a5a7"
}
