)]}'
{
  "log": [
    {
      "commit": "5430ab220b231a96b71c3e030d0303d9ce008b05",
      "tree": "ed407801b7c29cdd79587b349ed22889c71bc17c",
      "parents": [
        "c7964751d6745992065ec7c22d2a7feb51a0efe7"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 10 16:28:16 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 10 16:29:01 2015 -0800"
      },
      "message": "Avoid unneeded rect params\n\nChange-Id: I2d8dcf6b09fdc554a403ac74763bf856b5f5d9fa\n"
    },
    {
      "commit": "386aa031793bb037ec43b6cdbd8908c343cc86cb",
      "tree": "7b1e48a1288255466d9115e137fae8346de47418",
      "parents": [
        "e0b2f2e270ae14b9deaaa31acd7ef535ff963e32"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 07 17:08:25 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 09 11:29:04 2015 -0800"
      },
      "message": "Add more shape drawing to new reorderer/renderer\n\nbug:22480459\n\nAdd support for outsetting final bounds based on stroke.\n\nChange-Id: I659318ccec51882bba1906ce3c7042288ce35c30\n"
    },
    {
      "commit": "15c3f19a445b8df575911a16e8a6dba755a084b5",
      "tree": "5e3a71be6407e696ce6256c3825eb94632fbc541",
      "parents": [
        "e920098f31860824ca714f10b2e72dbff5442184"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 03 12:16:56 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 07 12:34:46 2015 -0800"
      },
      "message": "Merged op dispatch in OpReorderer\n\nbug:22480459\n\nAlso switches std::functions to function pointers on OpReorderer, and\nswitches AssetAtlas\u0027 entry getter methods to using pixelRef pointers,\nso it\u0027s clear they\u0027re the keys.\n\nChange-Id: I3040ce5ff4e178a8364e0fd7ab0876ada7d4de05\n"
    },
    {
      "commit": "a1717271caac5e8ea3808c331d4141ac01a42134",
      "tree": "3f49ac6c386aa4166f5a82ecec2fd87458c88e25",
      "parents": [
        "ee35d738f46f01ce71ac8bde665d71ac3a35cbb9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 19 13:02:43 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 20 11:03:18 2015 -0800"
      },
      "message": "Initial text support in new reorderer/renderer\n\nRemoves obsolete drawPosText codepath, and unifies text decoration behavior.\n\nChange-Id: I9c563249ab688a3394445a0e7fe1b9d0661f6f7c\n"
    },
    {
      "commit": "9557dcd53b5e2926f6d500e4e91c6b4f4abacdf3",
      "tree": "86c2fa1df8cfe9de52572d5aadcd421f713e8b88",
      "parents": [
        "246b5a0993978202b19a7c02d355fddfd9506798",
        "1b85ce17a316973a170b3932f2d0a9b02063eaa3"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 10 23:36:27 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 10 23:36:27 2015 +0000"
      },
      "message": "Merge \"Fix HWUI Path Cache dangling pointer\" am: 37bf3ec9d2 am: 7516d4d866\nam: 1b85ce17a3\n\n* commit \u00271b85ce17a316973a170b3932f2d0a9b02063eaa3\u0027:\n  Fix HWUI Path Cache dangling pointer\n"
    },
    {
      "commit": "2e4f67c388aff0def50dd619388624f1dbe359ad",
      "tree": "5a99d7887fb1583bf73be3215d3b1c17b1b8a343",
      "parents": [
        "a61515720ab95f6aa307c1fa4337c5c2078bad26"
      ],
      "author": {
        "name": "Digish Pandya",
        "email": "digishp@codeaurora.org",
        "time": "Wed Nov 04 11:00:28 2015 +0530"
      },
      "committer": {
        "name": "Digish Pandya",
        "email": "digishp@codeaurora.org",
        "time": "Mon Nov 09 14:22:25 2015 +0530"
      },
      "message": "Fix HWUI Path Cache dangling pointer\n\nWhen precache, PathTexture is added to PathCache, and it is released after drawn if we want to clean it.\nBut the PathCache LRU still holds the entry of the PathTexture object. When trim the cache in\nthe end of each frame, LRU finds that its mListener is not NULL and invoke the functor, however,\nmListerer points to the released PathTexture object and is a dangling pointer, thus leads to crash.\nSmart pointer don\u0027t help here since they only manage scopes, while PathTexture is also controled by\nits cleanup field.\nThe fix is to also remove the LRU entry of PathTexture*, it will also release the texture object\nand there won\u0027t be texture leaks.\n\nChange-Id: Iaa0621df5dc71532e9e75b38ad94384353930b95\n"
    },
    {
      "commit": "818c9fbf1d76d5df19253ba4eb964efa939ec9ec",
      "tree": "6fa7a565ae56d5c92a5905b19c9a20f675b0526b",
      "parents": [
        "914e362d1884a79588e848f6f87772e4e3fc73b2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Oct 23 14:33:42 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Oct 26 15:51:48 2015 -0700"
      },
      "message": "Initial version of clipped saveLayer in new pipeline\n\nAdditionally disables usage of FBO cache, so FBO destruction safely\ninteracts with renderstate caching.\n\nChange-Id: I25c277cb7afec2ca33bf226445d6c8867a15a915\n"
    },
    {
      "commit": "6fe991e5e76f9af9dab960100d5768d96d5f4daa",
      "tree": "20616f2c371e188492b48a9c759530b06047550a",
      "parents": [
        "387d1b25b58bb2bb80d983b7db7ddac22731a552"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Oct 20 09:39:42 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Oct 21 18:19:37 2015 -0700"
      },
      "message": "Work to support saveLayer in new pipeline\n\nclipped SaveLayers will now be pulled to the beginning of the frame,\nprior to drawing FBO 0. This will remove the need for switching FBOs\nmid-frame.\n\nChange-Id: I4d8dc1f845e84e9b49d5acdf4f4703eef4a9cb06\n"
    },
    {
      "commit": "ac02eb9035a13a3d09c2def9ed63d04225eb2509",
      "tree": "f6305a3b32606d77e81eb1ff5766c22daa5506d7",
      "parents": [
        "117e6daa420763e956c2125da09707b60cbaa33e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Oct 05 12:23:46 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Oct 05 14:16:26 2015 -0700"
      },
      "message": "Remove confusing behavior of Rect::intersect() and rename\n\nbug:24670525\n\nRemoves silly \u0027do nothing if rects do not intersect\u0027 behavior, and\nchanges the name to clarify the difference (contrasting against\nSkRect::intersect())\n\nbug:24670525\n\nChange-Id: Id2ca1cfea1a9d720d4dc70b251f426d9916f8b53\n"
    },
    {
      "commit": "f6049a5c55645d31002aad7336119b813034a6f6",
      "tree": "8218911fc166349706174479a5343254686b8b21",
      "parents": [
        "56ce58ee6e148fbc651430d01b0c46eb04c652b4",
        "bf6f0f260886a04a1680c7f9917124a751322ca4"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Oct 02 17:28:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 02 17:28:36 2015 +0000"
      },
      "message": "Merge \"Move more utils into paintutils\""
    },
    {
      "commit": "56ce58ee6e148fbc651430d01b0c46eb04c652b4",
      "tree": "8a6ab10fbd32fbbac22e78a1933e1fd09840ba95",
      "parents": [
        "a4df8c622dc0fed2e93dc69f645f21a12b6bf6df",
        "12efe649d3f5df8e81f4b78179939c1d488673a0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Oct 02 17:28:01 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 02 17:28:01 2015 +0000"
      },
      "message": "Merge \"Move ortho matrix out of glop\""
    },
    {
      "commit": "bf6f0f260886a04a1680c7f9917124a751322ca4",
      "tree": "478b9e7918b048ca55d536ef6c58841156bf4c05",
      "parents": [
        "a5940f8dca13152ffc091f4318705c8f071bac2c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 01 12:36:07 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 01 15:26:06 2015 -0700"
      },
      "message": "Move more utils into paintutils\n\nChange-Id: I1eb3fd52386bc61a592da235533e40b509eeec24\n"
    },
    {
      "commit": "12efe649d3f5df8e81f4b78179939c1d488673a0",
      "tree": "00f0987c020b6ebef7e9016c624e216b60d8460e",
      "parents": [
        "a5940f8dca13152ffc091f4318705c8f071bac2c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 28 15:52:12 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 28 15:52:14 2015 -0700"
      },
      "message": "Move ortho matrix out of glop\n\nIt\u0027s fbo-global, so don\u0027t bother stashing/restoring it repeatedly.\n\nChange-Id: Icb32e3eda5d2086aaae07140f8ff40e038dad5fe\n"
    },
    {
      "commit": "b45c6aa665624013ef3b207fffcfe265041f6bff",
      "tree": "859dfcfe2eeb909b392c553e8b3e98c6fe064369",
      "parents": [
        "a5940f8dca13152ffc091f4318705c8f071bac2c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 28 15:41:27 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 28 15:41:27 2015 -0700"
      },
      "message": "Simplify DeferredDisplayList construction\n\nChange-Id: I385bd894fda097e35abb8f8d5eb8271f10bd163b\n"
    },
    {
      "commit": "c08820f587ad94698691a6657e87712de07e484c",
      "tree": "ea758e13a9006db7574cab099ce0cbe516fd1163",
      "parents": [
        "11718bc17bcfc56dfb9f4362eebf640b025c4415"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Sep 22 14:22:29 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Sep 22 14:40:35 2015 -0700"
      },
      "message": "Remove lookup3 gamma code\n\nAlso clean up gamma / glyph cache properties\n\nChange-Id: I75b1ac0cb55638bf787ffd3cf457483ae314f03b\n"
    },
    {
      "commit": "64e445bf74bee2098781d608cedfd723d8cc88d3",
      "tree": "2a2d3727a8feff2470bc648f02a72c3cd7ae665a",
      "parents": [
        "9557106c6f84640382a068997b1fc125099d6019"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Sep 02 14:23:49 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Sep 02 15:15:56 2015 -0700"
      },
      "message": "CanvasState frame init refactor\n\nbug:23760482\n\nChange-Id: Idc0802b4b8a6a3cebd20797350f4eb01bcc3fe77\n"
    },
    {
      "commit": "3aadd60521960be063ee06208562ccb63dc414e3",
      "tree": "fb909df4136900609d329517bec9be21b51faa53",
      "parents": [
        "999da7464aaff25e819498a86819407084acad7c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 20 12:41:40 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Aug 21 10:33:02 2015 -0700"
      },
      "message": "Revert \"Revert \"Simplify TextureView draw path\"\"\n\nFixed build breakage\n\nThis reverts commit d35dcb13115ca1dd8c07e397f43a186cd7fd1a01.\n\nChange-Id: Id3a103fbaac15a05f558bce2161ce17b6e8d2ea3\n"
    },
    {
      "commit": "3b1c32eb5d96c9a13e101cc7207f27d045c6bd8b",
      "tree": "d4441f35ea4bdb5bfe68727a529601255e613400",
      "parents": [
        "36d4aaeb6edddc995620c491e8a2d61a0a700c59",
        "d35dcb13115ca1dd8c07e397f43a186cd7fd1a01"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu Aug 20 02:25:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 20 02:25:30 2015 +0000"
      },
      "message": "Merge \"Revert \"Simplify TextureView draw path\"\""
    },
    {
      "commit": "d35dcb13115ca1dd8c07e397f43a186cd7fd1a01",
      "tree": "4f2c4acd4e0df556f2d34529dcb85fac3815dc44",
      "parents": [
        "20a248934c67b19c8734362dba76a5cc94254686"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu Aug 20 02:23:39 2015 +0000"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu Aug 20 02:23:39 2015 +0000"
      },
      "message": "Revert \"Simplify TextureView draw path\"\n\nThis reverts commit 20a248934c67b19c8734362dba76a5cc94254686.\n\nChange-Id: Iaa3ebb1d868acbe184080087aec312b43e87e3c7\n"
    },
    {
      "commit": "87f9c42f5411d1b00f9babe7873b8200c3a25e60",
      "tree": "4e2bc4592d8549d1b61182f72e59473eb6a56a67",
      "parents": [
        "79a230f77737eba275b752f17ab0af8adf000a0a",
        "20a248934c67b19c8734362dba76a5cc94254686"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 20 00:02:09 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 20 00:02:09 2015 +0000"
      },
      "message": "Merge \"Simplify TextureView draw path\""
    },
    {
      "commit": "20a248934c67b19c8734362dba76a5cc94254686",
      "tree": "4e85f51c30b3fb3d8fdafdbec40dc5a09947dcf9",
      "parents": [
        "e264f9a51ef2158df345c3c4b19dd6098e959141"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 14:21:42 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 16:59:45 2015 -0700"
      },
      "message": "Simplify TextureView draw path\n\nbug:20461288\n\nChange-Id: I239fbd26ab2177481c84feb62a1da68faeb634ac\n"
    },
    {
      "commit": "e5e6f4837b27eefa542e65cdb89c796f28e11ec5",
      "tree": "98eb8edfeff44a9a076dd8347c2053326fa09a3c",
      "parents": [
        "c725313a77ebb6f9f40e4c57f7e43beeaed60443",
        "6daa13c5fa7577fa1d8371deca446f6ca911f38f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 22:38:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 19 22:38:07 2015 +0000"
      },
      "message": "Merge \"Change setMatrix behavior to only affect canvas-local matrix\""
    },
    {
      "commit": "7c85c54499994c687a833644f7f213e747fadb98",
      "tree": "42a87d7a8963fd633f988dc7900d69b6e1948ff1",
      "parents": [
        "e264f9a51ef2158df345c3c4b19dd6098e959141"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 15:10:24 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 15:10:25 2015 -0700"
      },
      "message": "Remove Matrix4::load(Matrix4\u0026)\n\nbug:22320446\n\nChange-Id: Id6d1cc9b4aea828b0cdf622ad672064d72671f8d\n"
    },
    {
      "commit": "6daa13c5fa7577fa1d8371deca446f6ca911f38f",
      "tree": "fa5d3ed346371a41ea6335676f77750cb0f733fc",
      "parents": [
        "e264f9a51ef2158df345c3c4b19dd6098e959141"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 13:32:12 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 13:32:15 2015 -0700"
      },
      "message": "Change setMatrix behavior to only affect canvas-local matrix\n\nbug:22189925\n\nThis makes setMatrix(getMatrix()) work as expected, and makes setMatrix()\nmuch more useful without changing behavior relative to a View\u0027s parent\nhierarchy.\n\nChange-Id: I608613bd27c1b9052ae583f8fd2119cf37a2f6d7\n"
    },
    {
      "commit": "149173d28c0843aba86b0810ce75b34be6a0d08f",
      "tree": "b602af79dc1bb677a6fc504960cd27d4ac09ff6b",
      "parents": [
        "fb3a57d0c1044dedacabfaaa722f5ed4409067b9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 10 09:52:29 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Aug 12 14:26:05 2015 -0700"
      },
      "message": "Support new EGL extensions\n\nBug: 21753739\n\nIncludes a revert of 13d1b4ab10fbee5e81a2ba1ac59cfae1e51d3ef0\nas that only supported EGL_EXT_buffer_age\n\nChange-Id: Ia86a47d19e3355c067934d7764c330b640c6958d\n"
    },
    {
      "commit": "272a685f17cc4828257e521a6f62b7b17870f75e",
      "tree": "490cc3f92f5c50debc07421395ab54c3fd7f2fd6",
      "parents": [
        "c36df952292b69920d4764a8a37361073fcf4f2c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 29 16:48:58 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 30 09:51:52 2015 -0700"
      },
      "message": "Replace most usages of utils/Vector.h\n\nChange-Id: I540d1b3523244d6c71fc52d6fb30555271c25644\n"
    },
    {
      "commit": "0f6cb32c75d622d4ae0417eb29b34fc8c8a92598",
      "tree": "7d846f0c027bbf9e8673361c27b93cd12e1cd60e",
      "parents": [
        "e962f2c8fb5518f175b6141c7717699c26f04964",
        "a5e2946f5ab7618997fb317ad9f5f56c160ebee5"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Fri Jul 10 13:35:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 10 13:35:27 2015 +0000"
      },
      "message": "am a5e2946f: am b9d7bba5: am 434b577f: am 8ac76504: am 9613e9b7: Merge \"New setLocalMatrix() operation for HWUI\" into mnc-dev\n\n* commit \u0027a5e2946f5ab7618997fb317ad9f5f56c160ebee5\u0027:\n  New setLocalMatrix() operation for HWUI\n"
    },
    {
      "commit": "9613e9b76410b15b7f2700080a17476bf9f3461c",
      "tree": "35f0b8e04e59ffe2b2463d41f5b9f8d1146a91f6",
      "parents": [
        "0236e6b2d614abd11678de4cec4ed67b582541ff",
        "ac7b6d33d23cb0baaf61c723346198d41f012035"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Fri Jul 10 12:35:10 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 10 12:35:12 2015 +0000"
      },
      "message": "Merge \"New setLocalMatrix() operation for HWUI\" into mnc-dev"
    },
    {
      "commit": "ac7b6d33d23cb0baaf61c723346198d41f012035",
      "tree": "9302223ad4dd2337f6e6b4524fe83032532c20a4",
      "parents": [
        "937edac8e8583023019b625dd426ebf65169e30d"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Tue Jun 30 11:26:13 2015 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Thu Jul 09 16:15:31 2015 -0400"
      },
      "message": "New setLocalMatrix() operation for HWUI\n\nConcats any matrix passed through from DisplayListCanvas with the\ninitialTransform of the containing RenderNode.\n\nBUG:22189925\n\nChange-Id: I5ea54a6e2a29520c79a8860bde7682694e8595d2\n"
    },
    {
      "commit": "43b42d8bdb4ce39db48f985dfb4ae5a836b71b3b",
      "tree": "73cd61d9208761578ea69b873fb8a67c1fdb629f",
      "parents": [
        "776a4bfdab277c7f845d500f9f5d9f8c87963f92",
        "41e4d8b3ed044ed724bc340b77d3f9ca60105407"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 08 03:15:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 08 03:15:47 2015 +0000"
      },
      "message": "am 41e4d8b3: am 0c218e43: am 9ca926ad: am fdb87b76: am 127b478a: Merge \"Remove all usage of fmin and fmax\" into mnc-dev\n\n* commit \u002741e4d8b3ed044ed724bc340b77d3f9ca60105407\u0027:\n  Remove all usage of fmin and fmax\n"
    },
    {
      "commit": "e6a15ee3d0c78eb3f2551d73a7d238c3d8d2f075",
      "tree": "fb4aa5c04487f1f2c13221937933288e2a3fff44",
      "parents": [
        "61d7acae0cafc265e94a35ad3ba1677f60346de9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 07 18:42:17 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 07 18:42:42 2015 -0700"
      },
      "message": "Remove all usage of fmin and fmax\n\nbug:22208220\n\nRemoves needless call, and upconversion to doubles in multiple places.\n\nChange-Id: I1b949fa5f206446ac34de800154c0147d6bd8034\n"
    },
    {
      "commit": "7b293b5556e78028449e287f275f32a1ad298293",
      "tree": "a8c4efe799cc80e3cfecfb86afbeb3ea2a3d0c4e",
      "parents": [
        "ad1797bdaef113ec4d4ccbb806fe8d1aac09592e",
        "c3988e0aa337b74693feb0abb898eb87fbb61b58"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jul 03 20:35:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 03 20:35:50 2015 +0000"
      },
      "message": "am c3988e0a: am b4c02e8f: am d3ecb3e6: Merge \"Switch from fminf/fmaxf to std::min/max\" into mnc-dev\n\n* commit \u0027c3988e0aa337b74693feb0abb898eb87fbb61b58\u0027:\n  Switch from fminf/fmaxf to std::min/max\n"
    },
    {
      "commit": "df72b63928cc1492b72ba9a4e99d5e714f93ccc6",
      "tree": "38b94479dabc9aea2dfcde3a64348c51bc39cecf",
      "parents": [
        "82b3f67711246ad5beaf7702ce16e9d433406d1e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 30 17:56:13 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 30 17:58:21 2015 -0700"
      },
      "message": "Switch from fminf/fmaxf to std::min/max\n\nbug:22208220\n\nShows considerable improvement in performance, especially in tight\nloops.\n\nChange-Id: I4bcf6584a3c145bfc55e73c9c73dcf6199290b3c\n"
    },
    {
      "commit": "d739b5f39cb55cb3dfade07c6993b7ef00ad76c2",
      "tree": "6027f62f6443b674bd7453dc3777fba07f60c91e",
      "parents": [
        "b7f368ad1fcf554b734df964644c20f491a08578",
        "ee6d943b9e13cde263ccb622dd529922dfa1f3b3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jun 24 18:40:14 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 24 18:40:14 2015 +0000"
      },
      "message": "am ee6d943b: am 46de9f56: am 6659ac77: Merge \"Avoid over-damaging layer area for multidraws\" into mnc-dev\n\n* commit \u0027ee6d943b9e13cde263ccb622dd529922dfa1f3b3\u0027:\n  Avoid over-damaging layer area for multidraws\n"
    },
    {
      "commit": "02a26300fb129608eb1df8cf31c14a5a5d8bd6ed",
      "tree": "e1520c225c50d3671c4c94fdeedc9152a7b64874",
      "parents": [
        "0c83048b8ca0012451afda1778b5e7e9d41c962d"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Jun 24 11:32:42 2015 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Jun 24 16:56:43 2015 +0000"
      },
      "message": "Switch framework to new Skia enums\n\nAllow Skia to finish deprecating old path operation enumerations.\n\nChange-Id: I61e4489e639043acb78d47994ab62a31f18bd878\n"
    },
    {
      "commit": "3375f8ad30997482317b5ade5618cc8a01b96d7d",
      "tree": "a127539cea3216485ea8797ba3ad1d5447d98899",
      "parents": [
        "bcca4ac4fb4fa66f2e4196437998c08e4dbed1d3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 23 17:33:06 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jun 24 09:43:54 2015 -0700"
      },
      "message": "Avoid over-damaging layer area for multidraws\n\nbug:19608961\n\nChange-Id: Ib7495f155da62a352e9a010a362fd40ec0acad21\n"
    },
    {
      "commit": "b1f990de4075866ad8f40849c01d58b2dac8b1e5",
      "tree": "b4d8c94fd3be3d6cf68479728824e43e379e2cc2",
      "parents": [
        "cc87cfa29c4b38d1f119bdce652918565b0fed0f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jun 12 11:28:52 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jun 12 13:20:37 2015 -0700"
      },
      "message": "Fix roundrect clipping / blending ordering\n\nbug:21803918\n\nAlso, don\u0027t consider rr clipped ops opaque, and put stage\nchecking behind a debug flag.\n\nChange-Id: I9304ae571337a7cf835524682d1a590a21d30fa4\n"
    },
    {
      "commit": "53e51e4aa933f9603587e1780f446c18816bf9be",
      "tree": "fc4701637c9e17fc2765c162b0b051f56bec68aa",
      "parents": [
        "1e47a8e096fc28dcab0a55bc4f2e6b747bfb1a07"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jun 01 10:35:35 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 02 16:28:39 2015 -0700"
      },
      "message": "Handle shader matrix correctly when ignoring canvas transform\n\nbug:20063841\n\nRestores old SkShader matrix behavior from before the Glop refactor.\n\nMany drawing operations draw without sending the canvas transform to\nthe GL shader. In such cases, we need to adapt the matrix sent to the\nSkShader logic to invert the canvas transform that\u0027s built into\nthe mesh.\n\nChange-Id: I42b6f59df36ce46436322b95bf9ad2140795ee58\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": "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": "1e4c8074fa9d1ab867d287b7788e5b83db295a5c",
      "tree": "98be9dbfb39c29940e6f55626ae5f8b3c9e098bb",
      "parents": [
        "aa1cd25db72297f13539928e8aa45ba992f2f230"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 26 14:25:02 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 26 15:04:27 2015 -0700"
      },
      "message": "Fix position snapping for drawBitmap(rect, rect)\n\nbug:20669049\nChange-Id: Ied5f1d7e681409b6b7f6f582ed344b479df4c6d7\n"
    },
    {
      "commit": "50210d912925aef14e4ce69be82e4949122a3cd9",
      "tree": "ba87c37a8b2db6521df6f8c62307319bcf70a823",
      "parents": [
        "9cb90cbbf8fc91793dad1d1cb317079dbc7e8421"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu May 14 18:05:36 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu May 14 18:05:36 2015 -0700"
      },
      "message": "Adjust light source for window position\n\nBug: 16523629\nChange-Id: I2f3fed1edcac0a3cfd5034aded45e08ececfebaf\n"
    },
    {
      "commit": "2507c34d91bb0d722b6012e85cb47387b2aa6873",
      "tree": "ff515c6827fb20c904ee1af7e551144c46ba3385",
      "parents": [
        "57436d3f7e7fca99400a9b90e93491e892d135ae"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon May 04 14:36:49 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 05 10:36:09 2015 -0700"
      },
      "message": "Cleanup properties\n\nbug:19967854\n\nSeparate properties from Caches, into static, RenderThread-only class.\n\nAlso rewrites the means for java to set properties to correctly handle\nthreading, and adds an override for profile bars so that SysUi doesn\u0027t clutter\nthe screen with them.\n\nChange-Id: I6e21a96065f52b9ecc49d1a126244804ba106fa9\n"
    },
    {
      "commit": "e74ff81e0575bbe4361960739131a0256167f7c8",
      "tree": "0facfbc81d6e724db812988fa38001fa70f0b0a7",
      "parents": [
        "94d07cb7efbdd50b72d7f17e7c9596b789ebad4c",
        "8df5ffa9ae0667d9e0241adf4675753156fcef84"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 29 22:16:10 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 29 22:16:11 2015 +0000"
      },
      "message": "Merge \"Remove concept of layer alpha override\" into mnc-dev"
    },
    {
      "commit": "e145013153b562d0b1bcac3e88095411874f1c25",
      "tree": "54b8dc8d821a3af042dda0cc2a26c20c44795873",
      "parents": [
        "340b198ccbd1a05e67d586c345139617d4b84ce0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 17:55:50 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 29 13:04:02 2015 -0700"
      },
      "message": "Require minimum 4 bit stencil for layers.\n\nbug:19270131\nChange-Id: I81367179d268e7c1642259c456c1f3d0018f6c0d\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": "db663fe83f976107fd8fd9307d871b37d9e47370",
      "tree": "cd45e2d420903cb93be8d9707c4bf9e736f81e86",
      "parents": [
        "84b8b066b40b14854561d103e26fb1c7bca243cc"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 20 13:34:45 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 20 14:20:47 2015 -0700"
      },
      "message": "Rename native DisplayListRenderer to DisplayListCanvas\n\nChange-Id: I33e6f8cc85da1e7da7ff7bf18d4ebde64222067a\n"
    },
    {
      "commit": "040b6d8baf595865242790186672812f1df55cbb",
      "tree": "9cff121e46d7fcb48aa46452bf85ad9c5a6940eb",
      "parents": [
        "ad83f87bcfc4f3ee4bcc972bad4ddcaaf4e57426"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Thu Apr 16 10:50:53 2015 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Thu Apr 16 13:39:51 2015 -0400"
      },
      "message": "Fix offset of composeLayerRegion\n\ncomposeLayerRect() pays attention to the offset of the layer, but\ncomposeLayerRegion() ignores it. This patch makes the behavior of\nthe region case match the behavior of the rect case.\n\nThe difference will only be shown by tests which do not position\nthe saved layer at the origin.\n\nBUG\u003d20288561\nR\u003dccraik@google.com,djsollen@google.com\n\nChange-Id: Ie22737a8614c508cbffe39aa4c55f7d5434277aa\n"
    },
    {
      "commit": "828407356dd5c34a3e441604aaf895cbec7c7e66",
      "tree": "95f818ed2f79f01e16a38ade4fe461b89de95cca",
      "parents": [
        "095d99904579a5231d974a2447661c10a8eb621b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 03 09:37:49 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 03 13:01:18 2015 -0700"
      },
      "message": "Delete pre-glop path\n\nbug:19014311\n\nChange-Id: I06376b6f625455892d8eafe2727b78025a64c4bf\n"
    },
    {
      "commit": "31dbfc1b3e18f24d9a34c4e600c2048e8d244c14",
      "tree": "94f71e421cbee95feae23205c6e7141fc394d4c9",
      "parents": [
        "bf0adf3ba89078f1e8f74a394c1025ceebaa5b37"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Mar 30 15:42:23 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Mar 30 15:42:23 2015 -0700"
      },
      "message": "Fix glop usage for drawTextureLayer\n\nChange-Id: I45fcdfc9e3f41a687b6f4679f81e2b1f4479b9fc\n"
    },
    {
      "commit": "e2bb380bc26749782c873e5488cfdf4e42b27346",
      "tree": "3e05a9dfe166da3649ac2f1673274785233d6912",
      "parents": [
        "8c6e4b398040ec0b52a7cc0cef54728f126e3841"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 13 15:07:52 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 18 16:10:24 2015 -0700"
      },
      "message": "Use glops for text rendering\n\nChange-Id: I5e155c8baf3149f0ff231ec3c89dbff6bb8eae92\n"
    },
    {
      "commit": "edacf22ca132ac48207a68aa30998f5b43d893b8",
      "tree": "6ad32c7946baf32c293be20857265a1d63400af2",
      "parents": [
        "ddd72599bf1d528079244df63d5f4dfdf534675e",
        "182952f5eeefc2a21d76d4664ada0e2d78c1105c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 10 16:29:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 10 16:29:14 2015 +0000"
      },
      "message": "Merge \"Glop based composeLayerRegion/Rect\""
    },
    {
      "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": "9ad6ac08a95d48772dcaad67a55446299bda77a9",
      "tree": "e17fddb19190be24c421c40e650c267e19374581",
      "parents": [
        "eb803aef3b0f55785624e6a51deae867c1a95e88"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Feb 27 16:11:36 2015 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Mar 06 17:07:57 2015 -0800"
      },
      "message": "Fix unused local variale warning from clang/llvm.\n\nChange-Id: Ib9b5d06313e5bf933edfb38a4522929104c7917a\n"
    },
    {
      "commit": "8820fd1d82acaefda98ae73ccf61413d5044f9f3",
      "tree": "8d4096270a7362947bcbf9daee077b6571d30ffd",
      "parents": [
        "a9761e698e2f1cffbbb4ed99b89eb1100337b496"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 03 14:20:47 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 04 15:32:47 2015 -0800"
      },
      "message": "Patch cleanup, reenable Patch Glops\n\nbug:19597454\n\nChange-Id: If12b95e83588b81a553210cd8c2437c6c771073a\n"
    },
    {
      "commit": "a9761e698e2f1cffbbb4ed99b89eb1100337b496",
      "tree": "c09666bbe94fb32f29f49910528357ebe4707d03",
      "parents": [
        "9b98afca76592b8a1dc8d17dcaa99166f3658cb8"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 04 14:25:09 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 04 14:25:10 2015 -0800"
      },
      "message": "Temporarily disable Patch glops\n\nbug:19597454\n\nChange-Id: I9dbe781a714582717a5585113b9a56821265b36e\n"
    },
    {
      "commit": "0556d90253902ae797e4fcea79602a30ff16f82c",
      "tree": "ab516c46f81b1ae35a6803435197704e396f304f",
      "parents": [
        "a6b52198b9e73a4b7f80103116feeace74433246"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 03 09:54:14 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 03 09:54:14 2015 -0800"
      },
      "message": "Glop DrawPatch support\n\nChange-Id: Icaa78bdb2cf52c1fc2194ec4016634967d17fb6a\n"
    },
    {
      "commit": "a6b52198b9e73a4b7f80103116feeace74433246",
      "tree": "395c33d4ff8e9b54913706987a1a4569f944ea90",
      "parents": [
        "c66f3baa42b8a732952abf1967c68f77d3e26131"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 27 17:43:02 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 03 08:58:14 2015 -0800"
      },
      "message": "Glop drawBitmaps, drawPatches\n\nChange-Id: I3f1cd3f47f97d2e0c9b9d153732e26ee0b1c58c2\n"
    },
    {
      "commit": "083e733e8223a7d416d6c139f318e61864b28ad6",
      "tree": "8f5c0e4faf6cf4e6649319b96706286b68e5763d",
      "parents": [
        "6b109c74982033d4a220cd10a0eab8b024b351c9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 27 17:04:20 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 27 17:09:02 2015 -0800"
      },
      "message": "Cleanup of FontRenderer\n\nRemove invalid and over complicated buffer unbinding\noptimization, and simplify constructor.\n\nChange-Id: I3dd90528de4f377e972bbd7967e7e232875387e4\n"
    },
    {
      "commit": "6b109c74982033d4a220cd10a0eab8b024b351c9",
      "tree": "1e812780630475ff43c9a7f84bcf392996b43ac0",
      "parents": [
        "26bf34200e40a0fa8c66366559aa016380cd8c6f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 27 10:55:28 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 27 16:13:26 2015 -0800"
      },
      "message": "Fix glop rendering within unclipped saveLayers\n\nbug:19541881\n\nAdditionally, clean up GlopBuilders\nand rename onGetSnapshot() for clarity\n\nChange-Id: I0303e4cd61eef87cf80af2d968c4aa67193cd008\n"
    },
    {
      "commit": "26bf34200e40a0fa8c66366559aa016380cd8c6f",
      "tree": "40603e6acbcd9f1d3a3b6f0c0a84314e70ca6f94",
      "parents": [
        "b11be294b1e721c08f3756626edfedea35711eb2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 26 16:28:17 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 27 10:50:12 2015 -0800"
      },
      "message": "Glop TextureLayer support\n\nChange-Id: I348a926bd4a2f47be9fdbe74058c0aa2f8dc6276\n"
    },
    {
      "commit": "ef2507439c08f4e9c4c9bba1c6243ca9df2ee827",
      "tree": "0312e1808ee6915a96e1770cb190ea4674e2376a",
      "parents": [
        "03ae272459869b854e5db252fc81a64a516e111f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 25 17:16:16 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 26 10:56:07 2015 -0800"
      },
      "message": "Glop mesh reorg, support for drawBitmapMesh\n\nChange-Id: Iaf5550bdd93da93e59a5b838234ab5612e067387\n"
    },
    {
      "commit": "03ae272459869b854e5db252fc81a64a516e111f",
      "tree": "84d57e483808111eebf1c3b23438f326a4d6f921",
      "parents": [
        "14100ac9f8efc1a2407e3f5a5c8b2532a49585db"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 25 11:01:09 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 25 15:51:58 2015 -0800"
      },
      "message": "Remove renderer abstract class\n\nNo longer needed, allowing vast majority of methods on\nOpenGLRenderer to be non-virtual.\n\nChange-Id: I8a6ee042b95050dc666887579ef4e1c7a8f9b33b\n"
    },
    {
      "commit": "14100ac9f8efc1a2407e3f5a5c8b2532a49585db",
      "tree": "ddcbc13d5205d5a2ce47dc55506716a9490011b4",
      "parents": [
        "cdd35e6776f1e699a507e4ebb3a19b5eb75dc0fb"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 24 13:46:29 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 25 10:18:46 2015 -0800"
      },
      "message": "Glop support for custom textured UVs, simplify drawBitmap(src,dst)\n\nFront load the scaling-to-support-shaders to record time.\n\nChange-Id: I861c82d9d16d3c5e063cf87230127eed0b3f9b54\n"
    },
    {
      "commit": "f27133df2d179c99d6bc1ae644af09e9153a0071",
      "tree": "af4365366840b8a6c4be4ab337ea3edd22ebba99",
      "parents": [
        "a42d2eaf2d6b3cb6072e99b4904b76c8cc263cf3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 19 09:51:53 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 19 18:06:05 2015 -0800"
      },
      "message": "Glop layer mesh rendering\n\nChange-Id: I2d902819d5d77f496b67d4d25a298782903e410d\n"
    },
    {
      "commit": "2bb8f5606d4a28549d95005304305b3aff1ce090",
      "tree": "787f9a8f1956e597f8234fd47453bdfd095752b0",
      "parents": [
        "922d3a7f6f8c1c05a996ee3e91e8cbadfff560c9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 17 16:42:02 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 17 17:46:39 2015 -0800"
      },
      "message": "Glop text shadows, clearLayerRegions, and rectangleList\n\nChange-Id: I83b36d1ee5d8f05f41acf244639019f9b8da79cd\n"
    },
    {
      "commit": "922d3a7f6f8c1c05a996ee3e91e8cbadfff560c9",
      "tree": "9b8acab9755321ae0e7564d2250f2106117412cb",
      "parents": [
        "91d415d863de73430af100ebd1b4f5b3b795e8d1"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 13 17:47:21 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 17 15:45:46 2015 -0800"
      },
      "message": "Glop SkiaShader support\n\nChange-Id: I894a0b62701bd02367ab970813e4c332147351a2\n"
    },
    {
      "commit": "30036092b40badecbe64d9c2bff4850132147f78",
      "tree": "ea5a86b5bd90dd3c2fd0c16ce7676cdf2fcd678a",
      "parents": [
        "5b14d9893aced2b3ba46f1d90a0752c1a9a43f2f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 12 10:41:39 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 12 16:16:57 2015 -0800"
      },
      "message": "Glop path texture support\n\nChange-Id: I505eb05991ca4c9b2e01e49988b8f962fad51462\n"
    },
    {
      "commit": "0519c810a56bded1284fcb2ae40f438878c6585f",
      "tree": "d5e0a81ea08b9f3fc9d5e8d78b770a8c77aa4535",
      "parents": [
        "08fa43fdeb646f56edcd8b33d06ee7d79b203426"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 11 13:17:06 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 12 12:30:59 2015 -0800"
      },
      "message": "Glop Bitmap and RoundRect clipping support\n\nChange-Id: I4577546a5d2e5f084cc03f39a89db9231b8111ee\n"
    },
    {
      "commit": "2ab95d780b023152556d9f8659de734ec7b55047",
      "tree": "9739704a8a0a8f16b59d1f04af4a3022b02a1998",
      "parents": [
        "92b2fe5d0d9781d57f3a2520eecc83682e9aa8ed"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 06 15:25:51 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 09 11:04:31 2015 -0800"
      },
      "message": "Glop support for indexed quads\n\nbug:19014311\nChange-Id: If35a873421b41cc4508b0d8ac1b4d900c9bb3717\n"
    },
    {
      "commit": "f7ccbfbd9811e3b1c3accd9e3e92688d31a8a2bd",
      "tree": "b08c13be9ce7e46c971db5437bcb94de5a5bb5ac",
      "parents": [
        "12271e22014c2e2cd0ecdb9938ff8b618c68bc56",
        "117bdbcfa3e8306dad21e7e01fa71b00cdfa7265"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 06 23:06:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 06 23:06:44 2015 +0000"
      },
      "message": "Merge \"Glop ColorFilter \u0026 VertexBuffer support, initial enable\""
    },
    {
      "commit": "117bdbcfa3e8306dad21e7e01fa71b00cdfa7265",
      "tree": "aa54e4a5538818cd946bbd6e7eb771b83d0cfebd",
      "parents": [
        "34725687748cc2b4ace2bdb49becfdcd569e9a5d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 05 10:12:38 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 06 13:42:25 2015 -0800"
      },
      "message": "Glop ColorFilter \u0026 VertexBuffer support, initial enable\n\nEnables Glop rendering for supported Rects and VertexBuffers\nAlso removes unused Query object\n\nChange-Id: Ibe227bc362685a153159f75077664f0947764e06\n"
    },
    {
      "commit": "ecad24b49d20f7fb4b75950e9444787967acd347",
      "tree": "74c55efb6736b3b142a299f2c1feae32abf06b7a",
      "parents": [
        "e8d05b5bab49f2becb1762b70275d3914de23be2",
        "031888744e24b5c7243ac99ec98b78aff5db1c78"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 05 00:25:03 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 05 00:25:04 2015 +0000"
      },
      "message": "Merge \"GlopBuilder, and test app refactor\""
    },
    {
      "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": "9dfd7bd520ee598b3033a0c47b8b649bd3988c7c",
      "tree": "73de6cf28c9296701cb202addfbf51cea6833d62",
      "parents": [
        "d8f32ea2dffd3f6a080b4eb55a11c0f1c6d7a3a6",
        "6c15ffa196fc9b7724c189d833c3435d8db12266"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 03 00:00:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 03 00:00:58 2015 +0000"
      },
      "message": "Merge \"Refactoring of Program ownership/lifecycle, and WIP Glop rendering path\""
    },
    {
      "commit": "6c15ffa196fc9b7724c189d833c3435d8db12266",
      "tree": "e326098c02f133197f6b507c390ff244114fb205",
      "parents": [
        "44eb2c00861098dd3e2950d923646814b4cc57c2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 02 13:50:55 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 02 14:08:57 2015 -0800"
      },
      "message": "Refactoring of Program ownership/lifecycle, and WIP Glop rendering path\n\nChange-Id: I2549032790bddbc048b0bccc224ed8f386b4517c\n"
    },
    {
      "commit": "8a6b56651b42df2a073d68bbaf23e681acd7eeb5",
      "tree": "fda0c9f4354e7e1211ac29445a558b5ae02f64aa",
      "parents": [
        "0f2d0dbac6db56f123c89097e4c3431765887de6",
        "5515637540bedd8fc9a1a6e46a4b512dd45520a5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jan 30 23:12:42 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 30 23:12:43 2015 +0000"
      },
      "message": "Merge \"Add a WAIT_FOR_GPU_COMPLETION option\""
    },
    {
      "commit": "5515637540bedd8fc9a1a6e46a4b512dd45520a5",
      "tree": "c19b93e74fd9597bb2bd038fa303cb2695e609d3",
      "parents": [
        "50d23adfe26bf0cf9a34138efc299eaec04127e9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 21 07:46:37 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jan 30 12:46:09 2015 -0800"
      },
      "message": "Add a WAIT_FOR_GPU_COMPLETION option\n\nChange-Id: I18d526120651676109200bfd5da87cafcd7e3d13\n"
    },
    {
      "commit": "44eb2c00861098dd3e2950d923646814b4cc57c2",
      "tree": "2d232b14b931137cc7ebb3b012c3ce4530fa5cf4",
      "parents": [
        "1b68ce327aa37ee0c4e9580d75cb6781337c4312"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jan 29 09:45:09 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jan 30 10:49:05 2015 -0800"
      },
      "message": "Refactor blending and texture gl state\n\nChange-Id: Ia6b3c8b2afd3dfcee7f3ce401d846b789612054a\n"
    },
    {
      "commit": "96a5c4c7bab6718524de7253da8309143ab48bef",
      "tree": "c984108195579a6da2aa8ccadded7ec46104d4a4",
      "parents": [
        "06a8a121b0dc02bea7977c4112eb4319fd1a133f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jan 27 15:46:35 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jan 28 16:32:39 2015 -0800"
      },
      "message": "Move more GL state management to RenderState and its directory\n\nChange-Id: Ic68584e1c08dc64be2ad43450cb6caa1de834fdc\n"
    },
    {
      "commit": "65fe5eeb19e2e15c8b1ee91e8a2dcf0c25e48ca6",
      "tree": "2283afa7268a8c9c488eb533066881e2b24d73a5",
      "parents": [
        "d05d91358d89953a1374601a5b04b7ed65403e8c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jan 26 18:06:29 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jan 27 17:12:39 2015 -0800"
      },
      "message": "Move scissor state to RenderState\n\nChange-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e\n"
    },
    {
      "commit": "f28f5cec5644ed175c8ad7a59b5d20b33ee89bc8",
      "tree": "131a045645ffd3596cfe47583b804a8fb3165629",
      "parents": [
        "45a669e5e9aba0feeca4f768a09299a2f88a2d3f",
        "487a92caef2eb90a62e8f8d7a6fe6315f1c1d8d8"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Thu Jan 15 18:21:33 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 15 18:21:35 2015 +0000"
      },
      "message": "Merge \"Clipping performance improvements\""
    },
    {
      "commit": "487a92caef2eb90a62e8f8d7a6fe6315f1c1d8d8",
      "tree": "6515f9b52f874f5f076a25df83a353de10a3da14",
      "parents": [
        "382d6a9ed2360ceb462ea46a60f0f106fdb52540"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Tue Jan 06 13:22:54 2015 -0800"
      },
      "committer": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Wed Jan 14 17:24:58 2015 -0800"
      },
      "message": "Clipping performance improvements\n\nCreate a ClipArea class to handle tracking clip regions. This class can\nselect the most efficient implementation depending on the types of\nclipping presented.\n\nClipArea re-used the rectangle and region-based clipping\nimplementations as well as adding a \"list of rotated rectangles\"\napproach that is more efficient for rotated views with children.\n\nChange-Id: I2133761a2462ebc0852b394220e265974b3086f0\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": "8dfaa4904205772cdceee63ef3989bcdedf1a914",
      "tree": "baf5ea37427770659698766562bbd3b80f9eddf9",
      "parents": [
        "c82be5f27f1dd9da665b0ca52590cc30ede4e78a"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Tue Dec 09 15:03:44 2014 -0500"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jan 05 15:25:41 2015 -0800"
      },
      "message": "Make DisplayListRenderer inherit from Canvas, merge JNI\n\nIncrementally unify the upper layers for Skia and HWUI.\nRemove redundant code from GLES20Canvas.java; instead\nuse inherited mNativeCanvasWrapper and superclass method\ndefinitions.\n\nMoves some unrelated SkPaint utility functions from Renderer\nto new utils/PaintUtils.\n\nbug: 15672762\nChange-Id: I4ddd4214b8e9eeb95289d054ef423f2542bb5fa5\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": "e84a208317e0ed388fcdad1e6743c7849acb51b0",
      "tree": "8c057e6b6367a85790c30a118e6c8789c6bdf538",
      "parents": [
        "07adacf4996c8ca494332ec938786fa15832c722"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 22 14:28:49 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 22 14:56:08 2014 -0800"
      },
      "message": "Add overrides and switch to nullptr keyword\n\nChanges generated with clang-modernize.\n\nAdditionally, fixed some struct-vs-class usage to make clang happy.\n\nChange-Id: Ic6ef2427401ff1e794d26f21f7b44868fc75fb72\n"
    },
    {
      "commit": "07adacf4996c8ca494332ec938786fa15832c722",
      "tree": "941feda10d6501b2cd6e24714c915bf9bb49c0f8",
      "parents": [
        "32328b5cec14323dd31cf906aaeb088caf110a1d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Dec 19 10:08:40 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 22 11:20:57 2014 -0800"
      },
      "message": "Cleanup\n\nChange-Id: I91ffb9c66697741116fdeaa31abdf6cfd79155df\n"
    },
    {
      "commit": "a5f0918ec1931ee6c784f068e07d0aaa04525932",
      "tree": "6dfdc323590fee08e3beca2ef0f1dac8d0c248e4",
      "parents": [
        "4ff7aaf1a2d34b22e442a920c932fd552c17afc9",
        "fd461edee007a654dc163b397445cd071f04caf9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 15:11:30 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 15:11:30 2014 -0800"
      },
      "message": "resolved conflicts for merge of fd461ede to master\n\nChange-Id: I36f263c7e6d96355dd8a2c3565581b9a983ae481\n"
    },
    {
      "commit": "fd461edee007a654dc163b397445cd071f04caf9",
      "tree": "ffa1bf4644f7523f374f20c8fdbcf24a67f0b3d9",
      "parents": [
        "424924afc17c807a8059a55a522c976f64973c5d",
        "93492d1a478770783abab764855c8d47e0264f71"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 22:17:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 22:17:21 2014 +0000"
      },
      "message": "am 93492d1a: am c748832f: Merge \"Revert overdraw avoidance visualization change\" into lmp-mr1-dev\n\n* commit \u002793492d1a478770783abab764855c8d47e0264f71\u0027:\n  Revert overdraw avoidance visualization change\n"
    },
    {
      "commit": "c748832f759cd7a390a32890530e854b9711eb7c",
      "tree": "b06fbef4fccf329486365496f20899a79666b64c",
      "parents": [
        "fadfe708e6f0c74890fe2b3292a91570f3049215",
        "ef8d6f272ae451aaedb0f02249c0f9f0576efdf3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 22:07:02 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 17 22:07:04 2014 +0000"
      },
      "message": "Merge \"Revert overdraw avoidance visualization change\" into lmp-mr1-dev"
    },
    {
      "commit": "ef8d6f272ae451aaedb0f02249c0f9f0576efdf3",
      "tree": "693f1a191c5a8704a55fc13360eab56e9db01fb3",
      "parents": [
        "596d4e7230ae1858aaafbae7987e46d65181f1bd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 11:10:28 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 11:21:02 2014 -0800"
      },
      "message": "Revert overdraw avoidance visualization change\n\nbug:18787324\n\nPartial revert of 23d307c8d88f4a3849163b9e5b7cd11d0d4f372c.\n\nChange-Id: Ic8b91b046707fc5b8fa53c35ea7b37bb19c3c943\n"
    },
    {
      "commit": "f088c349dfea985e561d7e838ecd41be5168cd4a",
      "tree": "5b9d412b5bf31cd6f20f0e94dc464174441efca0",
      "parents": [
        "7fc885b0bfb8a799825531932567a1d472a55087"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 12 09:49:29 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 12 09:49:29 2014 -0800"
      },
      "message": "Fix style\n\nChange-Id: I7227b0eac126bf470ed50249a7809b845872983b\n"
    },
    {
      "commit": "59cf734f9ee8fa0154d199f0f36779a6ffe0dfb5",
      "tree": "c57440c0cbe027e40c20e0ff9c233c45ca5c721e",
      "parents": [
        "9f2d0d27ac2e30d641e26775761e2909fa863f9a",
        "d67bb5015f716c094beff02b2c5e77c9bb7d11a0"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Thu Dec 11 11:10:50 2014 +0100"
      },
      "committer": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Thu Dec 11 11:10:50 2014 +0100"
      },
      "message": "resolved conflicts for merge of d67bb501 to master\n\nChange-Id: I40698ce1e382cb41eec7af5ea49ac0e2f997d555\n"
    },
    {
      "commit": "d67bb5015f716c094beff02b2c5e77c9bb7d11a0",
      "tree": "4f23359e87a1bb079bd499f922d763e45c7a8752",
      "parents": [
        "934d8d85be221b86cb5097625c0f48391b3a71b2",
        "e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 01:25:54 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 11 01:25:54 2014 +0000"
      },
      "message": "am eb2dcc79: Merge \"Don\\\u0027t preload textures for AssetAtlas\" into lmp-mr1-dev\nautomerge: e4a6ed9\n\n* commit \u0027e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7\u0027:\n  Don\u0027t preload textures for AssetAtlas\n"
    },
    {
      "commit": "eb2dcc791e649e07ec8114e00752b54965c46e65",
      "tree": "778bf0fffa448d4a6333fc8571b2dd74717b2551",
      "parents": [
        "daec594370f0e47bf07d0c9c968e3c5dfedf0bb5",
        "ebd52610cfeff6e557fde284a7e1efc5e6438285"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 01:12:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 11 01:12:31 2014 +0000"
      },
      "message": "Merge \"Don\u0027t preload textures for AssetAtlas\" into lmp-mr1-dev"
    },
    {
      "commit": "ebd52610cfeff6e557fde284a7e1efc5e6438285",
      "tree": "6e371646828e9074579fe91f869954a67f48e93a",
      "parents": [
        "fa3f43145ac1af62ed063d3cd7ba1c30a81bb3fd"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 10 16:47:36 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 10 17:07:41 2014 -0800"
      },
      "message": "Don\u0027t preload textures for AssetAtlas\n\nBug: 18317479\n\nRenderNode::prepareSubTree calls prefetchAndMarkInUse\non every bitmapResoruce in the DisplayList. However,\nthis resulted in textures being uploaded for bitmaps\nthat would be drawn from the AssetAtlas instead.\n\nTo fix this we teach TextureCache about the AssetAtlas\nso that calls to TextureCache return the Texture from\nAssetAtlas if it exists. Thus usage of AssetAtlas\nis now purely to allow for further optimizations via\ndraw merging instead of a requirement to get\nany benefit at all.\n\nChange-Id: I65282fa05bac46f4e93822b3467ffa0261ccf200\n"
    },
    {
      "commit": "e2831a181f14dd6ca0e601a4c3cdc313a58faaae",
      "tree": "62a964b423bcccd87cf9f25b732dcaf7f0b4956c",
      "parents": [
        "88daefb9485d0606ae0554514ae149bc97c7b4b7",
        "5369b76963a344d08fda4532227a6f0da28fd23a"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 17:05:43 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 17:05:43 2014 -0800"
      },
      "message": "resolved conflicts for merge of 5369b769 to master\n\nChange-Id: Iccb2ce948321534e05d67e64dc40a38332adb1a7\n"
    },
    {
      "commit": "5369b76963a344d08fda4532227a6f0da28fd23a",
      "tree": "9cc8519749be8ddff2f0f1d4c4fe7a1457c80fcd",
      "parents": [
        "16d73a752e9ee937c39be4ce2da5411cf1af0c5c",
        "ed211b940b24231d02c4e6e2757ee02ff1b9ea79"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 15:23:54 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 15:23:54 2014 -0800"
      },
      "message": "resolve merge conflicts of ed211b9 to lmp-mr1-dev-plus-aosp.\n\nChange-Id: Ib9d6d301282bbaae6b23b9ce07b9e6a4e9075991\n"
    },
    {
      "commit": "4ac36f80beb958c77a92a3e1a235f6ed9daaa510",
      "tree": "b555302a34a4a81cb32699aa3b987536c6ab2982",
      "parents": [
        "596d4e7230ae1858aaafbae7987e46d65181f1bd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 09 16:54:03 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 12:27:08 2014 -0800"
      },
      "message": "Fix frame-allocated path lifecycles\n\nbug:18667472\n\nPreviously, we were allocating per-frame temporary paths within the\nPlaybackStateStruct, but these are not safe as layers allocate these\ntransiently. Instead, move these to the OpenGLRenderer, which has\nbetter define lifecycle.\n\nAdditionally, don\u0027t store SkPath objects directly in vector, since\nthey are then subject to relocation.\n\nChange-Id: I8187ef542fcd5b030502bb75eb123ee26c0daa96\n"
    }
  ],
  "next": "659de832b9796e14de44b6411980a65e33283a93"
}
