)]}'
{
  "log": [
    {
      "commit": "57998017ff137f7d4ec33df21b6596141f8c4547",
      "tree": "ed9786692ee5727eacea084f12ea417b1d0f7915",
      "parents": [
        "8514766a0a388c3598eaa64709edc634f8edccb1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 29 10:17:57 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 29 10:17:57 2015 -0800"
      },
      "message": "Allow ~Layer() to happen after onGLContextDestroyed\n\nBug: 19146354\nChange-Id: I9e885936168bd541bfbed4064ad67ab524f58e32\n"
    },
    {
      "commit": "a22c9b2cd171a656fa684d57a915dbe636da5f6a",
      "tree": "d7b4e944191fc2dc62d12f1e2bb4b73642267fc4",
      "parents": [
        "820088587e732fe04b705248a06f275bf264be33"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 14 10:40:15 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 14 10:40:15 2015 -0800"
      },
      "message": "Vsyncs are hard\n\nBug: 18866485\nChange-Id: I7d304df0f20a3296956cb6887a72adba9243f117\n"
    },
    {
      "commit": "a733f89c05567c97359169832f41389b939baaad",
      "tree": "043dc0c717173faf4154b357a544ff328d9c37ff",
      "parents": [
        "28fbe04052b95ada3c32d805f26d6d9ad5548d6b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 19 11:37:21 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 19 11:37:21 2014 -0800"
      },
      "message": "Tweak RT-animator scheduling\n\nBug: 18226391\n\nThe issue occurs as a result of a dispatchFrame itself\ntaking longer than 12ms, the alloted budget. The result\nis that a vsync request (which occured at the end) would\nmiss the vsync that occured 1ms prior to the end of the frame.\nAs a result it would end up waiting for the following vsync,\nessentially dropping to 30fps even though 60 could have been\nsustained.\n\nFix this with a few tweaks.\nFirst, adjust the UI thread\u0027s delay bias from (now + 4ms) to\n(vsync + 4ms), this prevents RT animators from slowly drifting\nif the vsync occurs mid-task.\nSecond, request a vsync preemptively prior to running callbacks.\nThis way if any callbacks needs the next vsync and it takes\n\"too long\", we will catch that vsync.\nFinally, fix an issue where the display event queue was always\ndrained \u0026 rejected at the end of a task loop. Instead, drain\nand reject all stale vsyncs. This still prevents the issue of\nboth UI thread \u0026 RT thread trying to drive 2 frames in a single\npulse, but also allows RT to notice that it missed a vsync\npulse it needed and that it should speed-up a bit in response\n\nChange-Id: I9d6be037737e9283297898cac2e3563453e797cd\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": "b9a4d15d0942a55c7dc32a471ee40890986e3fab",
      "tree": "b1a7f92b399c09f02a37b9a45d073f4ab89ba9e7",
      "parents": [
        "63c7b24645d94c92dc6dc32d57c23b5167950c8b",
        "9a7fe1a034bf0a9dea7c0676211bb780d3ab30be"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 22:44:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 11 22:44:19 2014 +0000"
      },
      "message": "Merge \"Force-flush state sync on texid change\" into lmp-mr1-dev"
    },
    {
      "commit": "63c7b24645d94c92dc6dc32d57c23b5167950c8b",
      "tree": "b4ddc30659c38aaa05c6e6f08327362a90aac6ce",
      "parents": [
        "72b047c6c37ddf860be15b159b9a143be36d7425",
        "c2379070a46f208bce490b938e0673ba00373e2e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 11 22:43:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 11 22:43:18 2014 +0000"
      },
      "message": "Merge \"Correct layer size formatting in trace\" into lmp-mr1-dev"
    },
    {
      "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": "9a7fe1a034bf0a9dea7c0676211bb780d3ab30be",
      "tree": "65631f26270c93bb56c94c235ad0f18f30e39236",
      "parents": [
        "f8dc9d7b3d496593c6c6dddcd42cae13ac508876"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 14:27:39 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 14:27:39 2014 -0800"
      },
      "message": "Force-flush state sync on texid change\n\nBug: 18718646\n\nCaused because the Texture object thought the GLES texture\nwas in a different state than it was as it persists across\nEGL/GL contexts. Fix this by force-flushing the default\nvalues when the texid has changed.\n\nChange-Id: I264bac9a2beb08df8e2ba8a85ad15f0dd1fce22a\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": "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"
    },
    {
      "commit": "4f1942d999c60fd91cb826651b6d978d47a74321",
      "tree": "4ba55bba29606543e959f5cf648f341805080e9a",
      "parents": [
        "3ef5033cdacbc44702d0b6ba687e81383348e2fd",
        "dad7d84c04c5954b63ea8bb58c52b2291f44b4df"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 23:12:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 09 23:12:42 2014 +0000"
      },
      "message": "Merge \"Teach AssetAtlas about more drawables\" into lmp-mr1-dev"
    },
    {
      "commit": "dad7d84c04c5954b63ea8bb58c52b2291f44b4df",
      "tree": "c46db9d14d4bef9ea6b16bf5d86eefd9048d0235",
      "parents": [
        "6ef76c60df9e68950721f92a14c77a3ecd13607c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 12:33:26 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 14:18:33 2014 -0800"
      },
      "message": "Teach AssetAtlas about more drawables\n\nBug: 18317479\n\nChange-Id: I16868ee204d24af72af9a2efc987f7e9eb1d266b\n"
    },
    {
      "commit": "ee648e517f09cccf59010a7423240a38aaeb2c04",
      "tree": "76571a17e882b02ba9c4f26850c373849a8b3a07",
      "parents": [
        "cdcabe4cd6510e1009c01f5266da74b0ae1f1b32"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Dec 09 10:54:16 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Dec 09 18:36:42 2014 +0000"
      },
      "message": "Remove unnecessary/erroneous reference counting\n\nThe SkBitmap* used by HWUI holds a reference to the PixelRef (which\nin turn holds the colorTable) so keeping an additional ref is not\nonly unnecessary, but also potentially problematic.\n\nIf a bitmap changes its pixelRef after it has been added to a displayList,\nthen we end up with unbalanced ref/unref calls that cause the newly added\nPixelRef to be unref\u0027d and prematurely deleted, while the original PixelRef\nis leaked.\n\nbug: 18659976\nChange-Id: I34a06152e7bb2d733249a207dafd36b9b5dc0712"
    },
    {
      "commit": "01a5ea35fbba4c5bb1d7790ae1677a2fa752e042",
      "tree": "d890ced3bdb3be6275e2d13d0dbd9f901ec8ce4d",
      "parents": [
        "8d72046b9ba06feadbcf71815a1c6e1017c8da37"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 03 13:01:07 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 03 13:03:59 2014 -0800"
      },
      "message": "Resume RT-animations after a pauseSurface\n\nBug: 18203577\n\nThe issue occurs as a result of performTraversals() both doing\na window relayout call *and* early-returning because it\u0027s not dirty.\n\nTo fix this pauseSurface() returns whether or not the RT-side is\n\"dirty\" to force ViewRootImpl to do a draw even if mDirty is\notherwise empty.\n\nChange-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef\n"
    },
    {
      "commit": "ef124887c616d03cf0a689d2b7d5b1894405d12e",
      "tree": "eda6c9f10b7d7391b3e4e73075de480067373675",
      "parents": [
        "93b429247673bb8e019fe9d39b46700fc86c3313",
        "faa79ff9d964de940660d2226d5b06ded9294597"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 02 01:27:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 02 01:27:26 2014 +0000"
      },
      "message": "Merge \"Clip outline to View clip bounds for shadow computation\" into lmp-mr1-dev"
    },
    {
      "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": "76de89820c51c4bc288b440a82374b9d6c806244",
      "tree": "bac5be532ce1ef3c84c973752529a5cccfbb374a",
      "parents": [
        "e6bd61d5bbea012b6b80c8bff915042f615630bc",
        "a12b2405df5c12363e24cebc684f5f3a5c9a5b7b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 01 22:39:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 01 22:39:31 2014 +0000"
      },
      "message": "Merge \"Prevent calling GL functions with an invalid surface\" into lmp-mr1-dev"
    },
    {
      "commit": "a12b2405df5c12363e24cebc684f5f3a5c9a5b7b",
      "tree": "395524d5f2413969c38197aa7db765e45e29c655",
      "parents": [
        "6cacf44e7ecfe50097adc99dab97c3fb9770a1af"
      ],
      "author": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Fri Nov 21 18:05:41 2014 +0900"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 01 21:38:34 2014 +0000"
      },
      "message": "Prevent calling GL functions with an invalid surface\n\nBug: 18518580\n\nWhen destroying CanvasContext, the surface can be invalid\nstate. So the surface should be updated to null prior to\ndestroying GL resources to ensure that GL functions\nare not called with an invalid surface.\nSome GL implementation makes an error if GL functions\nare called with an invalid surface. (Adreno 3xx)\n\nCherry picked from AOSP: f76d36f96bf221672e98e440c9df7cbf0e02e84e\n\nChange-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294\n"
    },
    {
      "commit": "659de832b9796e14de44b6411980a65e33283a93",
      "tree": "9ab610781d982dbef689dacf38a7bfc47da18a81",
      "parents": [
        "f90404ca7b47234437b3f8f418fca313825de02c",
        "52b2cf9fdf95ccdcbb3f5e403eb9691c1ead1214"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 01 20:08:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 01 20:08:29 2014 +0000"
      },
      "message": "Merge \"Enable stencil clipping within clearLayerRegions\" into lmp-mr1-dev"
    },
    {
      "commit": "ca84c8b1b0e364e01ce392f0dbca5132830a148d",
      "tree": "380eb2c186cf19a4b4c76f8de342c9b9c8182f90",
      "parents": [
        "a181da10ac5a7fc750d046e7789ba2244ee563b9",
        "9f81485a76dd02a07fd460a29db6adddd2ca2efe"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 20:50:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 26 20:50:10 2014 +0000"
      },
      "message": "Merge \"Revert \"Force-use the pbuffer surface for destroy\"\" into lmp-mr1-dev"
    },
    {
      "commit": "9f81485a76dd02a07fd460a29db6adddd2ca2efe",
      "tree": "b83710c292efceb1675ae0a1adb543ba24b704a7",
      "parents": [
        "b945f2313aee6e49a082ba5caaf95334d2570d52"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 18:59:58 2014 +0000"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 18:59:58 2014 +0000"
      },
      "message": "Revert \"Force-use the pbuffer surface for destroy\"\n\nbug:18528859\n\nThis reverts commit b945f2313aee6e49a082ba5caaf95334d2570d52.\n\nChange-Id: I6915624d356cb8570471eb3a5b8921f59b58db6d\n"
    },
    {
      "commit": "52b2cf9fdf95ccdcbb3f5e403eb9691c1ead1214",
      "tree": "48c2a12a644d15b458030915541a6adfac0539ff",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Dohyun Lee",
        "email": "dohyun.lee@lge.com",
        "time": "Mon Nov 24 21:08:15 2014 +0900"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 10:51:32 2014 -0800"
      },
      "message": "Enable stencil clipping within clearLayerRegions\n\nbug:18538502\n\nCherry-pick of adc0d9da8648abfea1035fb1108eceea9fd9b5b1 from AOSP\n\nPreviously stencil clipping within clearLayerRegions is disabled by commit\n62d307c2402777d5e53b4590af5f32f8c55afd81. However, clearing whole layer\nregions causes black-colored triangle regions when a TextView has\nRotateAnimation because the draw within clearLayerRegions does not\naffected by the current stencil clip.\n\nChange-Id: Id32a0b16754b109905f833e063ebfa156bd953f2\nSigned-off-by: Dohyun Lee \u003cdohyun.lee@lge.com\u003e\n"
    },
    {
      "commit": "dec3f138c2f6a31879b0fe055a26d618e4874bb5",
      "tree": "56f1c4b6985c0c2e874242c4b564dc06548febf9",
      "parents": [
        "c1de25d8ebaecff697c1d5dfaa445e18ee07fa2d",
        "b945f2313aee6e49a082ba5caaf95334d2570d52"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 19:52:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 19:52:53 2014 +0000"
      },
      "message": "Merge \"Force-use the pbuffer surface for destroy\" into lmp-mr1-dev"
    },
    {
      "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": "b945f2313aee6e49a082ba5caaf95334d2570d52",
      "tree": "99319f925561305925e2dc3ec71c651f2f04b0cd",
      "parents": [
        "0c31d97a38909e85e0df6cdc29469dbb1580ed4b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 09:54:13 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 09:54:13 2014 -0800"
      },
      "message": "Force-use the pbuffer surface for destroy\n\nBug: 18518580\n\nIf CanvasContext is being destroyed() the Surface\nis probably no longer valid as well, so make sure to\nmakeCurrent() to the pbuffer surface so that the\nsubsequent GL operations are not using an invalid\nEGLSurface\n\nChange-Id: Ica5d6a065841772c47e00ad65aa7894c7e27e043\n"
    },
    {
      "commit": "71d08a07189c2b433080203895d9d5e936b16b9e",
      "tree": "88079370391f3e5b8e7610911b247a5db50abf97",
      "parents": [
        "9be80ee53ff5a3df51537f10b3d63f1f7f0ccd3e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 24 15:21:28 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 24 15:24:02 2014 -0800"
      },
      "message": "Switch TextureCache to SkPixelRef::fStableId\n\nBug: 18245805\nChange-Id: I08e6792dbeed86b13e569c7f2137de0e50dc2763\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": "29dc496a42d49a37dcd99c0465f3cec18a47e6ff",
      "tree": "b358eca2f3baeef7dbfb446b498fb0e9364bd4c1",
      "parents": [
        "c0491a2e2d30eb4bc3e03fccee89d57e9bd575e4",
        "69e65019b0a6204f0ed9487d8fd7b3564eba6df8"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 22:11:11 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 21 22:11:13 2014 +0000"
      },
      "message": "Merge \"Revert \"Add a way to override Xfermode DO NOT MERGE\"\" into lmp-mr1-dev"
    },
    {
      "commit": "69e65019b0a6204f0ed9487d8fd7b3564eba6df8",
      "tree": "9266aa679771904e019f1a0f08b250bf53d22ef5",
      "parents": [
        "4678dcc5524258908eadc5fe1e5e1874768967eb"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 22:05:33 2014 +0000"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 22:05:33 2014 +0000"
      },
      "message": "Revert \"Add a way to override Xfermode DO NOT MERGE\"\n\nFeature no longer needed.\n\nbug:18448377\n\nThis reverts commit 4678dcc5524258908eadc5fe1e5e1874768967eb.\n\nChange-Id: Ib0a19946e966a54857165555827b5fa7b34b6bea\n"
    },
    {
      "commit": "3b2ba44be3699a4e133d7a09cb4ed182405d7ff9",
      "tree": "fcded4723a443028815b3ee7e51fcd30a2fb53e7",
      "parents": [
        "bf1960ce9c353267490d65cc1b8beacc7dd85347",
        "70850ea258cbf91477efa57a1f1a23cc0044cc93"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 17:36:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 17:36:26 2014 +0000"
      },
      "message": "Merge \"Improve logging around performance critical events\" into lmp-mr1-dev"
    },
    {
      "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": "fbc8df03e498baf47ff1a5e05e182f1bcd60c770",
      "tree": "de74f95227f7285e812ad4a0c009e697fcca7d6a",
      "parents": [
        "b3ec64e1005c82d41b6d1a1d86b6933fd25d87d2"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 14 16:18:41 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 17 10:18:31 2014 -0800"
      },
      "message": "Trace some interesting events\n\nBug: 18337099\nChange-Id: Ie2e60da2b9f06e0368061c944d8123ab6903355c\n"
    },
    {
      "commit": "41a8043b30a289bdba55a2469e598b3fe67c3bf1",
      "tree": "b12a667d1c85a19a4722c111fdc63adc30cd6d5a",
      "parents": [
        "10ece9c9d5c2134a6ea04bf593a2b76d167dbd7a",
        "4678dcc5524258908eadc5fe1e5e1874768967eb"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Wed Nov 12 21:41:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 21:42:00 2014 +0000"
      },
      "message": "Merge \"Add a way to override Xfermode DO NOT MERGE\" into lmp-mr1-dev"
    },
    {
      "commit": "4e50ee4f42e4fdf753b9f681a6236f4a46e25bb0",
      "tree": "1329db40727ed39d52619c6609733b77aab487fe",
      "parents": [
        "ffcb5e210ad82e0f2a33d6644bc6690552a1785f",
        "3932063bc75dc1e4efc2c428ca208d2e2290164d"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 21:16:26 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 21:16:31 2014 +0000"
      },
      "message": "Merge \"Shadow: Fix the crash in spot shadow\" into lmp-mr1-dev"
    },
    {
      "commit": "3932063bc75dc1e4efc2c428ca208d2e2290164d",
      "tree": "19ed4e4667c55661c4e7bd301cc2f8deca2c5a51",
      "parents": [
        "f4d2c8eebd8113482b48e0b8f83deb4b2f1f9b22"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 10:56:15 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 12:58:08 2014 -0800"
      },
      "message": "Shadow: Fix the crash in spot shadow\n\nFix the crash from searching for closest umbra vertex by initialized the\nstarting index correctly.\n\nFix another potential crash related to ray intersection by introducing epsilon.\n\nb/18315089\n\nChange-Id: I9ac9a781a885701a8388714d44f79a1d905e5d33\n"
    },
    {
      "commit": "4678dcc5524258908eadc5fe1e5e1874768967eb",
      "tree": "3f1ca293c68326003fef888ef70c57075c885fe9",
      "parents": [
        "82aaf332b62c5a276c4046d1339441d68d817371"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Tue Nov 11 15:44:13 2014 -0800"
      },
      "committer": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Wed Nov 12 12:25:24 2014 -0800"
      },
      "message": "Add a way to override Xfermode DO NOT MERGE\n\nAdd a non-public API to Canvas/GLES20Canvas to provide a way to draw\nthe touch ripple animation without using a save layer.\n\nChange-Id: I6e2095adffe515194f669fb75bb67abf813bd518\n"
    },
    {
      "commit": "ca93f69c96df85bd6bc72a2a47dae6c0d5336ab2",
      "tree": "02e5860983fe3444a30e8ae660186551b4bc8d23",
      "parents": [
        "3eed90f39301089a1c16d6e2c0d027b187567cf0",
        "aa95a88327d9a3ac8a4a00b065b78ac0f28b3a19"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 07 22:40:57 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 07 22:41:03 2014 +0000"
      },
      "message": "Merge \"Have an actual fallback if the surface is lost\" into lmp-mr1-dev"
    },
    {
      "commit": "aa95a88327d9a3ac8a4a00b065b78ac0f28b3a19",
      "tree": "1e2e65ec4a7d28ea3b0a253be0d31eaf397dd005",
      "parents": [
        "b9744c1c1f5e8cc936da7f1832665f77ad5bb18f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 07 11:02:07 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 07 11:02:07 2014 -0800"
      },
      "message": "Have an actual fallback if the surface is lost\n\nBug: 17516789\n\nThis will force a relayout/reinitialize pass if the Surface\nis lost mid-render instead of crashing on the next frame\n\nChange-Id: If08bfa16f740728fa7c05904fa11e26f07b81e2e\n"
    },
    {
      "commit": "4b19b7aaff1d1ff972ebe68101c2107454bbe5de",
      "tree": "d47f409d48eaba0e32ba805a2b0f9309197aec42",
      "parents": [
        "3546c9a5821fc8a754e05593d314c49cd6bca0d0",
        "12f5e3433226f0a2886a98b0b8da8d5e947c5cde"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 07 18:34:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 07 18:34:55 2014 +0000"
      },
      "message": "Merge \"Fix wrong-thread issue\" into lmp-mr1-dev"
    },
    {
      "commit": "12f5e3433226f0a2886a98b0b8da8d5e947c5cde",
      "tree": "6601bfe668148a66c82ea60afe2fe0fa813fc114",
      "parents": [
        "b9744c1c1f5e8cc936da7f1832665f77ad5bb18f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 07 07:53:43 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 07 10:31:53 2014 -0800"
      },
      "message": "Fix wrong-thread issue\n\nBug: 18259560\n\nChange-Id: Ic63a86efba9c86f21defac0695a73db8b09ae284\n"
    },
    {
      "commit": "7ae6fc81efd05a7561ee2de853184d2a3788b88d",
      "tree": "a1b4c0d073783c0eb279a8d66cfb60edc23df916",
      "parents": [
        "50ef3d93adf2614d8394664626b706ab0d7f7de7",
        "d2dcd6fded3a036f334a88bf9593398833f2919a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 06 23:59:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 06 23:59:17 2014 +0000"
      },
      "message": "Merge \"A better looking and faster spot shadow.\" into lmp-mr1-dev"
    },
    {
      "commit": "d2dcd6fded3a036f334a88bf9593398833f2919a",
      "tree": "c0f8ef926b7cc0c74eedc14b1cbc0a919278e2d9",
      "parents": [
        "db41880dd3259646b9ea43be6d8a91d4adb40122"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Oct 29 16:04:29 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 06 15:09:46 2014 -0800"
      },
      "message": "A better looking and faster spot shadow.\n\n1. This improve the looking, the star shape (spike) on long action bar is gone.\nShadow is more smooth now.\n\n2. The performance is better, too. For averaging around rect, round rect and\ncircle, the spot shadow itself is 3 times faster. On N7 v1, it could be less than\n0.1 ms.\n\nb/14976551\nb/16712006\n\nChange-Id: I61ed546ee56e7c8dbe504dfcaef12d084904b4b8\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": "fd15f475541a4d13293374f18204cb1b3e010582",
      "tree": "ab7c0dbaf3c72c0f53ec2ffe5e0c60d60477d7f3",
      "parents": [
        "9af44ddf0367c542d6c1db6060456bd72f3c83ca"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Wed Nov 05 13:26:19 2014 -0800"
      },
      "committer": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Wed Nov 05 13:26:19 2014 -0800"
      },
      "message": "Log shader source when it fails to compile\n\nSo that there will be something to diagnose when such failures occur during\nstability tests.\n\nBug: 18092655\nChange-Id: I9a9d8d33b34273a477f2a9dbcf092887dcbc91c0\n"
    },
    {
      "commit": "e6c0bda5dd945f3668b4108c49ee52f1a04253d6",
      "tree": "e600ef0a8b93ce22b711fd8b3bfaafc05a22da99",
      "parents": [
        "1482b0535e1708fbf9914946abe59c36f39633e7",
        "b7c26562d08bf72882eeca268a1bb51ea579653d"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Tue Nov 04 15:19:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 04 15:20:00 2014 +0000"
      },
      "message": "Merge \"Make points drawn with default paint visible\" into lmp-mr1-dev"
    },
    {
      "commit": "b7c26562d08bf72882eeca268a1bb51ea579653d",
      "tree": "887cda6be9347c0edc36ac9f78ffc3a6925ff58e",
      "parents": [
        "9acb9598b7bd18003ee3abe656818972dad03a29"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Mon Nov 03 16:29:03 2014 -0800"
      },
      "committer": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Tue Nov 04 00:31:45 2014 +0000"
      },
      "message": "Make points drawn with default paint visible\n\nWhen no stroke width is set, use 0.5 instead of 0.25 to make\nsure the resulting rectangle spans at least one pixel.\n\nBug: 15455111\nChange-Id: Id0a4b6d014c542ffc98b13a032f88ae0ce69b3a1"
    },
    {
      "commit": "88f5fc7c5a9fb1e677c508165f732cd76f5eef3a",
      "tree": "4179fecc0998d80bd27892ee1ee7ae2a67ab31a3",
      "parents": [
        "dde49a4fe8ae9a4736d171efbadb067e7d4cc81d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 03 10:32:24 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 03 10:32:24 2014 -0800"
      },
      "message": "Fix counting\n\nChange-Id: I9a3568908a7223d69430c1765fb5a4db96d7ac9c\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": "141823ec6313d9545b8354ea1e3e017a1da3cfa8",
      "tree": "d8af6524e139e73dee173bbe8b8f1b1510a885d4",
      "parents": [
        "81aef807d5f1e3e3b5eda1162829e666c295f352",
        "950ff1b88cc1330f8e80d62ed3aa15bee6be0556"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 29 14:40:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 29 14:40:02 2014 +0000"
      },
      "message": "Merge \"Be more conservative about current buffer\" into lmp-mr1-dev"
    },
    {
      "commit": "950ff1b88cc1330f8e80d62ed3aa15bee6be0556",
      "tree": "5d51f8cafc49747128a34a97f86d01f92e5b63d6",
      "parents": [
        "e67b8d28294d9af440d2ea23f1b2c68dfcba8b1b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 27 12:58:47 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 27 13:23:20 2014 -0700"
      },
      "message": "Be more conservative about current buffer\n\nBug: 18065565\nChange-Id: I0b9c85ecf384ebe525e3a38803ab77d7ee37f33a\n"
    },
    {
      "commit": "23d307c8d88f4a3849163b9e5b7cd11d0d4f372c",
      "tree": "6142a542f5f25f2719b8950f6d06765605fb8bf1",
      "parents": [
        "670a82cbb1b62e69fa7ef7387eed545a76c96f76"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 27 12:38:48 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 27 12:43:25 2014 -0700"
      },
      "message": "Cleanup debug options\n\nBug: 18138852\nBug: 18065434\nChange-Id: Ibb07b73b147c2a8b287fe8aee3f6624582f21b00\n"
    },
    {
      "commit": "badac04dfd445a1fd3e3ecea04815e83fad5226c",
      "tree": "80d147af04db7470d673f304372db18b92cdd289",
      "parents": [
        "82fd842827fcdb3570d0c606bd049f42bf2b3fba",
        "1125d1fa92ab9f3b8315bbfb72e038b62dfd454b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 23 21:59:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 23 21:59:26 2014 +0000"
      },
      "message": "Merge \"Add some free zoom to lockHardwareCanvas\" into lmp-mr1-dev"
    },
    {
      "commit": "1125d1fa92ab9f3b8315bbfb72e038b62dfd454b",
      "tree": "b4a292e191bc815bb658355f879178706ed3f3e9",
      "parents": [
        "9b67a1a232dc0e1cda346271c3a9d118228001ee"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 23 11:02:19 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 23 13:59:47 2014 -0700"
      },
      "message": "Add some free zoom to lockHardwareCanvas\n\nBug: 18099195\n\nDon\u0027t use EGL_SWAP_BUFFER_PRESERVED on surfaces that will\nnever benefit. Also clean up some confusing naming\n\nChange-Id: I674ca64e0464a3282cff79e5ecd350d08f47c014\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": "733bb3bc78cfb4553441f5d86fce02eb12e32d02",
      "tree": "d056d3b654c7a253d175bd3a2eb847bc7a74f295",
      "parents": [
        "3961d2af80f4c0285176f2984b35ffe5ee65ba5a",
        "af608319f22989f673d1d0d4d3105f62109274bd"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 22 14:18:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 22 14:18:21 2014 +0000"
      },
      "message": "Merge \"Fix memory corruption in test\" into lmp-mr1-dev"
    },
    {
      "commit": "bb2d0cc7e1d487f7021b1f9ec0c6740e41b535f2",
      "tree": "661b6c6d833d545fc3f91fab7810ab73febc21a5",
      "parents": [
        "ea6f0ae86d62cff88d63b926578c588a956d0512"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Oct 21 10:09:36 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Oct 21 13:23:56 2014 -0700"
      },
      "message": "Surface:lockHardwareCanvas\n\nBug: 17440886\n\nChange-Id: I1f2d98c63ec1a2814c2258cf7e0096139263770a\n"
    },
    {
      "commit": "af608319f22989f673d1d0d4d3105f62109274bd",
      "tree": "d506b9eef6087244940f3a60b3631fcb6623d655",
      "parents": [
        "ea6f0ae86d62cff88d63b926578c588a956d0512"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 16 09:18:11 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 16 09:18:11 2014 -0700"
      },
      "message": "Fix memory corruption in test\n\nBug: 18012918\nChange-Id: I8d69624e9be9f0399ddba10ce3903f93177d5930\n"
    },
    {
      "commit": "94c40fe92117f301c7758de2861ab0c1d6cfded0",
      "tree": "1d998348df9fa524cdecca812d63eb576e66ba6e",
      "parents": [
        "d8a21bbedbaeb752b7f458823ed709b9a01c14c1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 08 09:28:43 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Oct 14 09:02:04 2014 -0700"
      },
      "message": "CARD LAND!\n\nBug: 16712006\n\nInitial work towards benchmarking HWUI systems\nCurrently this will just create a screen full of\n\"cards\" to simulate a high load scenario for\nshadows and clipping\n\nChange-Id: Ie9f9a9570844e136db8053e8fc62fe06cb922a5f\n"
    },
    {
      "commit": "786afcb3eec18315ec54987a08814ff28f13d09f",
      "tree": "17a0b148ab9591401c091414d78d6bfd1fdfd14a",
      "parents": [
        "b7af00f2b14e9f8333e3518aa81a15502858ea11"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Sep 25 02:41:29 2014 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Oct 08 18:30:54 2014 +0000"
      },
      "message": "Trim graphics memory when closing the shade\n\nGraphics memory usually gets trimmed in applications when the\nactivity goes into the background. We use quite a lot of graphics\nmemory when the shade/lockscreen is open, and some of them never gets\nfreed unless the recents activity is closed, because we don\u0027t have\nthese activity-trimming-heuristics for the shade. This change\nproactively trims the graphics memory when the shade gets closed or\nwhen the lockscreen is hidden, to emulate the same heuristics as for\nactivities.\n\nThis change also adds trimMemory on RenderThread to systrace to\nverify that no jank is introduced with this change.\n\nThis change immediately saves around 10-30 MB on an xxhdpi device\nafter the shade is closed.\n\nBug: 17581375\nChange-Id: I4fb622efb51815fe08187be97ba15d012d4de5d4\n"
    },
    {
      "commit": "8cdb0bc08728f18b75eca429678ea9b778191b6e",
      "tree": "40707adcf7b09a55c8a61f37608e95a8c23fbab4",
      "parents": [
        "384ff9ef5d2dc1278f63eb7e0f42ad03a9163dec",
        "9122b1b168d2a74d51517ed7282f4d6a8adea367"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Oct 06 20:04:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 06 20:04:08 2014 +0000"
      },
      "message": "Merge \"Use float instead of double to increase spot shadow perf\" into lmp-mr1-dev"
    },
    {
      "commit": "6a2296d856fe4db524ab71c6500f356ff0454f29",
      "tree": "4e5717b638479115eb6cc56fe278633b7fdda17a",
      "parents": [
        "f2ab6612c95254c24f29a7fbc3109ecbbbe3f310",
        "9da6e7435945e34d05e0c8c5c9a324218480c6ff"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 03 23:57:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 03 23:57:30 2014 +0000"
      },
      "message": "am 9da6e743: am d988a45d: Merge \"Cleanup DeferredLayerUpdater\" into lmp-dev\n\n* commit \u00279da6e7435945e34d05e0c8c5c9a324218480c6ff\u0027:\n  Cleanup DeferredLayerUpdater\n"
    },
    {
      "commit": "9122b1b168d2a74d51517ed7282f4d6a8adea367",
      "tree": "f31aaadd1c18fe15ab9a63ba221693fb77507161",
      "parents": [
        "2298938cef8d5aa2211ef08e27553354918e5554"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 03 11:21:11 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 03 15:30:53 2014 -0700"
      },
      "message": "Use float instead of double to increase spot shadow perf\n\nThis is helping spot shadow for 15%-20% increase.\nWith the new algorithm, we are less sensitive to the floating point error.\n\nb/16712006\n\nChange-Id: Ie30a6ce01e73d56054a0cf65a84549454339a7fd\n"
    },
    {
      "commit": "749906b468912dab7bf69a86e852deac3e80b0cc",
      "tree": "f5b80480964d2472abe257bb5c6273b8e1a57136",
      "parents": [
        "a79caa53405ea3efdd77d59ea7aa6dd64ecf09d3"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 03 15:02:19 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 03 15:02:19 2014 -0700"
      },
      "message": "Cleanup DeferredLayerUpdater\n\nBug: 17765082\n\nDeferredLayerUpdater had fallen behind RT updates. Re-snap to\nlatest expectations, ensuring to call requireGlContext() prior\nto detachSurfaceTexture to avoid leaking SurfaceTextures\n\nChange-Id: Ic65fb9831e5284f658866da8da9ad5af1d227699\n"
    },
    {
      "commit": "497cb6c0a9818c5ba27df3e5a50878144505405f",
      "tree": "37cd11f1daa5a6e63071e9edb9ea2d85f71c536e",
      "parents": [
        "438fe5937f3bc04087f48b511a799f9f6cf5a205",
        "059476a24502500bbc277b86f9a4f7e840d1b5f5"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 02 20:02:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 02 20:02:43 2014 +0000"
      },
      "message": "Merge \"Avoid creating Caches instance with gfxinfo dump\" into lmp-mr1-dev"
    },
    {
      "commit": "59e129fbc8a70d58d124ccc309661719f562b486",
      "tree": "e652f2698ee8d989be6b68111939fb6ab0347202",
      "parents": [
        "6062a09dbc1c26cacb6fa2dac7467ae826b70229",
        "c5b5f0556b542a22f01d254e6284f69e9eb23e74"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 02 19:28:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 02 19:28:09 2014 +0000"
      },
      "message": "Merge \"Account for colorfilter transparency in determining paint opacity\" into lmp-mr1-dev"
    },
    {
      "commit": "5f243860a79ec158fc9f769bda7202dfd202da59",
      "tree": "51a26491c27c533d1fce6152fc0b4861c56915f3",
      "parents": [
        "c088ecc390917f82cdd4898533e892070316350c",
        "9ad17521ac073562991cddb78f14d6df8d5fd05a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Oct 01 23:41:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 01 23:41:00 2014 +0000"
      },
      "message": "am 9ad17521: am f9033048: Merge \"+ correcting shadow visual appearance (b/17610926)\" into lmp-dev\n\n* commit \u00279ad17521ac073562991cddb78f14d6df8d5fd05a\u0027:\n  + correcting shadow visual appearance (b/17610926)\n"
    },
    {
      "commit": "c5b5f0556b542a22f01d254e6284f69e9eb23e74",
      "tree": "a32d339947b3bd0663c59182770ba951ffa74863",
      "parents": [
        "ec89863adec09dbf980b2d2c90c0fa5e78ffa7a9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Oct 01 16:40:16 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Oct 01 16:40:16 2014 -0700"
      },
      "message": "Account for colorfilter transparency in determining paint opacity\n\nbug:17765601\nChange-Id: I90d76ee199bb357c71fc8f537c1abfa20d848416\n"
    },
    {
      "commit": "8def74de33b197c0c5ec8774576b1d71c7ec4f1b",
      "tree": "3f9d1358848b4514bad542358df106dbfe09257b",
      "parents": [
        "fe426d061ad5feb65200c2970bf826b10e356247"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Oct 01 16:10:16 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Oct 01 16:12:28 2014 -0700"
      },
      "message": "+ correcting shadow visual appearance (b/17610926)\n\n+ adjusting spot and ambient shadow opacity constants to achieve desired appearance\n+ reducing ambient scale ratio back to 1.0 to address over-lightening at higher elevations\n+ partially revert ag/546290\n\nChange-Id: I9d7f664f73a7b9b83df73b739103c97054bd4f6e\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": "a8bea8edde2f20cae48e5cc8de782679306b3cc3",
      "tree": "ef2905c2c3212249a489536895d5eb3ad70cb82d",
      "parents": [
        "ec89863adec09dbf980b2d2c90c0fa5e78ffa7a9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Sep 24 11:29:43 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 29 17:19:05 2014 -0700"
      },
      "message": "Add tracing for saveLayer\n\nbug:17702227\n\nChange-Id: Ia9cbf31b360c93f712e021bea406cb63e4cc4c2a\n"
    },
    {
      "commit": "bc341912b124ea52d1a383bb8cc0a12d0671eaa2",
      "tree": "8b5be4e85cc1d7b8241703a08a04698e9505ea45",
      "parents": [
        "81d9304bdae3a9282572fd361accfdb034651b45"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 22 18:17:39 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Sep 23 01:22:00 2014 +0000"
      },
      "message": "Reject transparent draws more conservatively\n\nbug:17600162\n\nTransparent draws are not safe to reject for all xfermodes other than\nclear. Now, to be safe, only perform the rejection for SrcOver draws\nsince other modes are fairly uncommon.\n\nWe could specifically determine whether the xfermode could change the\noutput given a transparent input, but there\u0027s little to be gained from\nthe additional complexity.\n\nChange-Id: Ia699ac4bdc4da3353955840b53f1922d3cb1d85d"
    },
    {
      "commit": "9e7c91919159050f397e28ba8df04d0b42b96e01",
      "tree": "af9cfbe7f8e2e09d9b8a2a9379a4a16418e38e9e",
      "parents": [
        "cf456e3c225fa736914cca1f51eb5311fa16fb88",
        "9fa364dc72613f4301b0783f0547fe6b01abac39"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 19 23:36:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 19 23:36:22 2014 +0000"
      },
      "message": "Merge \"Account for alpha in hasShadow()\" into lmp-dev"
    },
    {
      "commit": "9fa364dc72613f4301b0783f0547fe6b01abac39",
      "tree": "7293e8cafe80015f4a9d1c7b8c905d85c4ed25c1",
      "parents": [
        "8f8f5f579fa6448a2ed370c5bd48af35a30f4944"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 19 16:04:45 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 19 16:04:45 2014 -0700"
      },
      "message": "Account for alpha in hasShadow()\n\nbug:17587220\nChange-Id: Ic7f2dea95302b713dc93edb4a0193a7be77fb2eb\n"
    },
    {
      "commit": "6cc6219f6fc5bf5a0e1ac22f2cb752fefddec02c",
      "tree": "6f058b1c7e25a3431034b2c5a480a1b538417286",
      "parents": [
        "33d326d1333464e193338cbc2b9d904642d72a20",
        "4ced2620b730a7c7140f73da503946f9827442bc"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 19 17:22:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 19 17:22:17 2014 +0000"
      },
      "message": "Merge \"glFinish to flush deletes\" into lmp-dev"
    },
    {
      "commit": "4ced2620b730a7c7140f73da503946f9827442bc",
      "tree": "c42a6f61d0b73dfe7f6d77983b8bd127fd47aa08",
      "parents": [
        "ccfa1a979901f2b459da736e0ad7f34ae193bb5e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 19 10:10:19 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 19 10:10:19 2014 -0700"
      },
      "message": "glFinish to flush deletes\n\nBug: 17479800\nChange-Id: I4d4a3eeda510e037f806052025184f3cde18c847\n"
    },
    {
      "commit": "651486d0186755f30f08d17126a61bf7127cba96",
      "tree": "9652f71d7957cd74be6218b53d8efc10daa7dce3",
      "parents": [
        "ccfa1a979901f2b459da736e0ad7f34ae193bb5e",
        "284b24358410cb0200e525a5ba36994090c83f20"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 19 15:31:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 19 15:31:18 2014 +0000"
      },
      "message": "Merge \"Fix garbage showing up beneath dialogs\" into lmp-dev"
    },
    {
      "commit": "284b24358410cb0200e525a5ba36994090c83f20",
      "tree": "6251ddc72a3e29f68a94159b89539acf90b30a5a",
      "parents": [
        "c1e1550bf489b5fafff70154232c24bc5026b7df"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 18 16:05:35 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 18 16:05:35 2014 -0700"
      },
      "message": "Fix garbage showing up beneath dialogs\n\nbug:17463894\n\nFixes the setViewport method to immediately affect the return values\nof getViewportWidth/Height methods.\n\nAlso works around tiling extension issues observed on first frame\nafter window resize by disabling tiling for that frame.\n\nChange-Id: Ie172d572d20d74a1be9cc58ad389af2cffa0e4b6\n"
    },
    {
      "commit": "f16b4940e6449752fe425f23d508325775ffdb4e",
      "tree": "773a667d6da711b1499a3c579871a753e781248e",
      "parents": [
        "88924b62fc63ecaf6410f1a1d76e9c54cab0ebef",
        "2cdbc7d2283aae3d77b12c8fdbba8ca4bd3db5ea"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 17 23:30:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 17 23:30:44 2014 +0000"
      },
      "message": "Merge \"Special case EGL_BAD_SURFACE\" into lmp-dev"
    },
    {
      "commit": "2cdbc7d2283aae3d77b12c8fdbba8ca4bd3db5ea",
      "tree": "a129c07e75038b92257f5c6d16eb5dc13c79f8d6",
      "parents": [
        "9077cbc30e6c71c8d103ae44b0c30b765e42f66b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 17 16:06:36 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 17 16:09:57 2014 -0700"
      },
      "message": "Special case EGL_BAD_SURFACE\n\n Bug: 17516789\n\nChange-Id: I3dcb10360c2aef6326f7dbbff6815866d4c143b6\n"
    },
    {
      "commit": "5083943ff85c7452b166e6c2b044e3d9dae9d017",
      "tree": "93b2240111769722e2dc07cd380bb83cb091324d",
      "parents": [
        "61ee1eda0afb78c4ded09ac516f58283191e38df",
        "e9cd97ee88e6628897e878889d3920857e9c118a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 17 21:35:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 17 21:35:02 2014 +0000"
      },
      "message": "Merge \"Change default fbo cache size to 0\" into lmp-dev"
    },
    {
      "commit": "e9cd97ee88e6628897e878889d3920857e9c118a",
      "tree": "1168e7757507b2fa8d7b0475914640469a613034",
      "parents": [
        "9077cbc30e6c71c8d103ae44b0c30b765e42f66b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 17 14:09:26 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 17 14:09:26 2014 -0700"
      },
      "message": "Change default fbo cache size to 0\n\n Bug: 17479800\n\n FBO cache is very expensive and no longer necessary, disable\n it by just setting size to 0.\n\nChange-Id: I664616f262c8339919e1d20baaafa5de2b628d7e\n"
    },
    {
      "commit": "73821c8d2bd453de6bf3f516e1f1cdb9a132f4a7",
      "tree": "f77d9133dcf359aa2a1933d3894f8bce6a593c60",
      "parents": [
        "c1e1550bf489b5fafff70154232c24bc5026b7df"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Sep 16 17:32:13 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Sep 17 10:00:34 2014 -0700"
      },
      "message": "Handle premultiplication correctly for ColorMatrixColorFilters\n\nbug:17405627\n\nPreviously, the input content to the color matrix computation was left\npremultiplied. Since the color matrix could reduce the alpha channel,\nthe alpha was re-multiplied, but this was incomplete, and incorrect.\n\nInstead, apply the color matrix in unpremultiplied space.\n\nChange-Id: I87b8e03d2e228e6ded81f7bbfea952605d7a095c\n"
    },
    {
      "commit": "072707dfad1da6f49f4d3ce58ca104f6c46a7266",
      "tree": "bafc802d2d47b2b3aed527e701b11fa36057ae1d",
      "parents": [
        "9ed2d5f7460973409e44018f5fa7b3456db1e658"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Sep 15 17:20:08 2014 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Sep 16 17:51:55 2014 +0000"
      },
      "message": "Use RenderThread for navigation bar ripples\n\nBug: 17506181\nChange-Id: Icf3b80f8c4bc29fe85313381d4019dda3ef85ea9\n"
    },
    {
      "commit": "025207b3cfbb0bbbaa8c1b8f7e14941fc38160aa",
      "tree": "bc51822a819b68208369f4f11347d8f06a83aab6",
      "parents": [
        "bd9d66474353f411dd2167d4216a46a547b7221d",
        "4ace7305608442ab35ea9aa65a4220df152c187f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 15 15:59:55 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 15 15:59:57 2014 +0000"
      },
      "message": "Merge \"Force isolation of clip and matrix within layer\" into lmp-dev"
    },
    {
      "commit": "4ace7305608442ab35ea9aa65a4220df152c187f",
      "tree": "dd92d11003eb835addb14478c977484d3d6aba27",
      "parents": [
        "db352c783575afee2d6bc29baf45c83d5fc421cf"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Sun Sep 14 15:49:54 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Sun Sep 14 15:49:54 2014 -0700"
      },
      "message": "Force isolation of clip and matrix within layer\n\nbug:17379260\n\nUnclipped save layers need to isolate their clips and matrices\nso that the save time readout of background content matches clip and\nposition with the restore/compose step.\n\nChange-Id: I2de474cda76e960d080852f1716d6ddfa8a512d4\n"
    },
    {
      "commit": "2f259016321d672373ed8c0880ffe6a24e5184a6",
      "tree": "87ed24227ba0cdbc4351c490854409eabd136005",
      "parents": [
        "2642357b8223b417019cf072e59257d2c65c3292",
        "572d9acd598517c20c7bf2feb189357e925fa879"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Sat Sep 13 00:46:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 13 00:46:11 2014 +0000"
      },
      "message": "Merge \"Correctly initialize animator asynchronousity\" into lmp-dev"
    },
    {
      "commit": "572d9acd598517c20c7bf2feb189357e925fa879",
      "tree": "96a23beaf25893abcaf6eca089e8eed76068efd2",
      "parents": [
        "db352c783575afee2d6bc29baf45c83d5fc421cf"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 12 17:40:20 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 12 17:40:20 2014 -0700"
      },
      "message": "Correctly initialize animator asynchronousity\n\nbug:17483792\nChange-Id: Icb6b6e6318d4c79ee94228806cb60b275424b9c9\n"
    },
    {
      "commit": "692737be4fdc5c4e6f209a1c1816858e85024718",
      "tree": "934216c5248a9ffee89cbb20a8eb0646086a538a",
      "parents": [
        "c713bf79dd76ae031bd1a84cdf1da7f271434720",
        "f7d76dffd86398a787f0d8bd092a571c019daf04"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 12 23:02:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 23:02:32 2014 +0000"
      },
      "message": "Merge \"Update the shadow strength\" into lmp-dev"
    },
    {
      "commit": "f7d76dffd86398a787f0d8bd092a571c019daf04",
      "tree": "e79bb7074f379d2b130438a35566d84325bd60c7",
      "parents": [
        "38c29ca3c75b46d631992d77af858bcd82cd04e9"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 12 15:09:32 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 12 15:29:44 2014 -0700"
      },
      "message": "Update the shadow strength\n\nb/17486691\n\nChange-Id: I8e8f0b64e757772c18f038f6b329ef91a4e155a5\n"
    },
    {
      "commit": "1aec711b2e7c2e43fdc2069be229cfd3c9ddba16",
      "tree": "faa0b178079609ec4a3476fca2da5993357f4810",
      "parents": [
        "288e7de22ef831235a5d7640cd228dfc467b4f19",
        "21029ef131d6a98862ae6faf3305bee2872e9c5f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 12 17:41:11 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 17:41:13 2014 +0000"
      },
      "message": "Merge \"Disable layer leak tracking\" into lmp-dev"
    },
    {
      "commit": "21029ef131d6a98862ae6faf3305bee2872e9c5f",
      "tree": "c8cab137ee0111580650c8c8c65be00a8d8a9c87",
      "parents": [
        "db352c783575afee2d6bc29baf45c83d5fc421cf"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 12 09:29:10 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 12 09:29:31 2014 -0700"
      },
      "message": "Disable layer leak tracking\n\nbug:17208461\nChange-Id: Ibbdf3ec79c4fd19e1935a559d425d074b611e162\n"
    },
    {
      "commit": "4340c260c002f0cf7bc41571673e57913b5df19f",
      "tree": "d1e90e3ee3d7eff4414cfd7373083ef38551202e",
      "parents": [
        "db352c783575afee2d6bc29baf45c83d5fc421cf"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 11 18:58:45 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 11 18:58:45 2014 -0700"
      },
      "message": "Snap outline clipping to integer coordinates correctly\n\nbug:17403105\nChange-Id: I65b5d7103aac58ba6feb4b021c276c67e9341716\n"
    },
    {
      "commit": "24a95a10db926e9608c00e522293c372bf566d38",
      "tree": "19cd9b3e2654a654b620f63c802fd36937a8cbca",
      "parents": [
        "b55ccdad03a4fee0742df43aca9c76a501596df5",
        "25e5a02d1cbbaa8352be314c45f9cf3599a8f30e"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 11 21:09:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 11 21:09:51 2014 +0000"
      },
      "message": "Merge \"Finer tessellation can draw better looking shadows for circles.\" into lmp-dev"
    },
    {
      "commit": "5be52c11d98ba85c559634bc9be96368332ac78c",
      "tree": "843bd03a402433742f984e850066462d63a01a9b",
      "parents": [
        "cde5bb45cc86d181d96ee69da1832e6132162871",
        "591be6c7af512a7dbae5a7f0cc9890b82af74e58"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 11 19:43:51 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 11 19:43:52 2014 +0000"
      },
      "message": "Merge \"Update HWUI paint filter to understand new location of skia bitmap filter preference\" into lmp-dev"
    },
    {
      "commit": "591be6c7af512a7dbae5a7f0cc9890b82af74e58",
      "tree": "9bc1fead2d441ed1e529d448123e460346c2e7bc",
      "parents": [
        "fc81bfe3fb43296ca7040b8f259e1cbec50898ca"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 11 11:09:34 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 11 12:16:38 2014 -0700"
      },
      "message": "Update HWUI paint filter to understand new location of skia bitmap filter preference\n\nbug:17455286\nChange-Id: I3b0e04833f0c2699a1322fdd7e98c155841c0d93\n"
    },
    {
      "commit": "25e5a02d1cbbaa8352be314c45f9cf3599a8f30e",
      "tree": "86b34690d2197b1473c648b2c0acf6876ec83191",
      "parents": [
        "c96e3927657558f0d01626c252cf480624749120"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 11 09:57:19 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 11 10:10:25 2014 -0700"
      },
      "message": "Finer tessellation can draw better looking shadows for circles.\n\nb/14976551\n\nChange-Id: I4b9e320b025dbee37cd1893881ddbaad62e3a6e2\n"
    },
    {
      "commit": "ca517b97e06dc76c07c031a6ee6e3aabd530495f",
      "tree": "4d531200f4d43873b53ab920eebab5677ab04450",
      "parents": [
        "698286847c344e1aa623617b761e476209cdb7cf",
        "512e643ce83b1d48ad9630a3622276f795cf4fb2"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 11 16:32:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 11 16:32:05 2014 +0000"
      },
      "message": "Merge \"Re-triangulate the spot shadow.\" into lmp-dev"
    },
    {
      "commit": "512e643ce83b1d48ad9630a3622276f795cf4fb2",
      "tree": "f05101f282d7dd368707f57e3bf3539ecbe0f064",
      "parents": [
        "9f30ce3b82acb1f9582e49e9d87ab0d58c8f9ce4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Sep 10 13:08:20 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Sep 10 17:05:59 2014 -0700"
      },
      "message": "Re-triangulate the spot shadow.\n\nFix the valid umbra detection.\n\nThis looks better b/c every vertex will have one ray shooting at it, such that\nwe don\u0027t miss the corner.\n\nThis performs better too, due to the polygon intersection is removed and less ray\nintersection. 2x performance for rect and circle for spot shadow in test app.\n\n    b/17288227\n    b/15598793\n    b/16712006\n\nChange-Id: I4a5ee397b9e192e93c8e35e6260b499e3e38a6f4\n"
    }
  ],
  "next": "bfd1cd620991ac2fa9202fdce6c00ec47d071935"
}
