)]}'
{
  "log": [
    {
      "commit": "9fded232a9548a304e0145011df8849fba0dcda7",
      "tree": "ffe48b03342817dd2681825498ecdf3799e01a0d",
      "parents": [
        "8b8be50c640a13b98d364b3f36962d9cf185d6d9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 11 16:42:34 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 12 13:05:35 2015 -0800"
      },
      "message": "Recycle OffscreenBuffers\n\nChange-Id: Ia2e219026f211a5308ecf8209c5f986bb888aadd\n"
    },
    {
      "commit": "ec99ff6cd7ca2f19ec5bf36c79e0b78d05bbf371",
      "tree": "23094066debeba0127e9f5e7c54e3b49e64621bb",
      "parents": [
        "ae2e98310ca32c2c9fb669f80244928caff2c36a",
        "b89610c0c913fad90808651a55627f428c5ad98f"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Nov 12 18:40:54 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 18:40:54 2015 +0000"
      },
      "message": "Merge \"Use array instead of vector for test data set\""
    },
    {
      "commit": "b89610c0c913fad90808651a55627f428c5ad98f",
      "tree": "f8af5c56b5d658fff93349a30c8d6eda48aaa8d9",
      "parents": [
        "cdd23f9d45ea2974c3f295754b89f5462bdd2c0d"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Nov 12 10:36:28 2015 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Nov 12 10:36:28 2015 -0800"
      },
      "message": "Use array instead of vector for test data set\n\nChange-Id: I1d3e94c52b8bf0842c21132507b5f55a136a255b\n"
    },
    {
      "commit": "ae2e98310ca32c2c9fb669f80244928caff2c36a",
      "tree": "c52edc2085c072eb6ac3d4f64b25321b363bdff0",
      "parents": [
        "b74b802e0053be9cef3b155588ccaa328f4255a2",
        "d3daa3198e2212c985c634821682d5819346b653"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 12 18:29:24 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 18:29:24 2015 +0000"
      },
      "message": "Merge \"Add shadow support to new reorderer/renderer\""
    },
    {
      "commit": "be2187a175b8d9bee2146b94748a8d8e12b72a3d",
      "tree": "f272b099e8d9c80f4c82c8f37ac8355542da5ba5",
      "parents": [
        "ca596c6e07a0105303dce9ec2a5664f27c29bd44",
        "cdd23f9d45ea2974c3f295754b89f5462bdd2c0d"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Nov 12 01:56:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 12 01:56:06 2015 +0000"
      },
      "message": "Merge \"Add hooks in JNI to start using native path parsing\""
    },
    {
      "commit": "cdd23f9d45ea2974c3f295754b89f5462bdd2c0d",
      "tree": "968297adf4c5e87183f29c15e5dabf7624230704",
      "parents": [
        "3cc97f524af679d93c2d4a9e93720c09e1ec924c"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Nov 11 14:31:13 2015 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Nov 11 17:54:52 2015 -0800"
      },
      "message": "Add hooks in JNI to start using native path parsing\n\nChange-Id: Iaa0d3c2c1936c248146ed7f186a13e8e79be818e\n"
    },
    {
      "commit": "d3daa3198e2212c985c634821682d5819346b653",
      "tree": "2c00e31c98ccfac6dc9ce38e65b95324e44d41b3",
      "parents": [
        "6d9df3974b93b962376ca996e1bfd109286a3f90"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 06 10:59:56 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 11 13:32:37 2015 -0800"
      },
      "message": "Add shadow support to new reorderer/renderer\n\nDoesn\u0027t yet use correct lighting info (esp. in layers), or\ntessellate shadows asynchronously\n\nChange-Id: I9ccec24b28869be42138a9bb234b1af874291a44\n"
    },
    {
      "commit": "7d9eb2aeb07957eaf407003c2235ee3ea881d8c1",
      "tree": "a88dd46eebe7fd7d0c42505b981454f6d45410d5",
      "parents": [
        "3cc97f524af679d93c2d4a9e93720c09e1ec924c",
        "5bb2fdb425dab346fb83c7f2bf9afa03bdf79fd6"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 11 18:17:25 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 11 18:17:25 2015 +0000"
      },
      "message": "Merge \"Fix memory corruption in SpotShadow\" am: 8c85c00b5e am: 8c8353a8c3\nam: 5bb2fdb425\n\n* commit \u00275bb2fdb425dab346fb83c7f2bf9afa03bdf79fd6\u0027:\n  Fix memory corruption in SpotShadow\n"
    },
    {
      "commit": "5bb2fdb425dab346fb83c7f2bf9afa03bdf79fd6",
      "tree": "f96d790c35666b74fd44fedff5336462edd80bff",
      "parents": [
        "3c8f7b53dae22d5ad8d28a48259eca9f83c66226",
        "8c8353a8c3152bc3ee4b74815d64c65c2c9d1991"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 11 18:08:15 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 11 18:08:15 2015 +0000"
      },
      "message": "Merge \"Fix memory corruption in SpotShadow\" am: 8c85c00b5e\nam: 8c8353a8c3\n\n* commit \u00278c8353a8c3152bc3ee4b74815d64c65c2c9d1991\u0027:\n  Fix memory corruption in SpotShadow\n"
    },
    {
      "commit": "a1f563134065abb360096cc06f6bfe4a8cca7a48",
      "tree": "1c446d5cb08cb43867d5ec2ea777d14883982555",
      "parents": [
        "37bf3ec9d2fb3dfdccfe043e51723e4e543f0703"
      ],
      "author": {
        "name": "Keith Mok",
        "email": "ek9852@gmail.com",
        "time": "Tue Nov 10 16:52:05 2015 -0800"
      },
      "committer": {
        "name": "Keith Mok",
        "email": "ek9852@gmail.com",
        "time": "Wed Nov 11 08:49:20 2015 -0800"
      },
      "message": "Fix memory corruption in SpotShadow\n\nThe array list is too small and causing stack corruption\n\nChange-Id: I0e34dad39357fb63977d2ce6f183ced7b6a632be\n"
    },
    {
      "commit": "e49954a7f75962e262fca0f9d774456eca9d0af1",
      "tree": "827c5443c37035a27990ed52663c4f0762d8170d",
      "parents": [
        "bec5a907dd508f30c9c063655767e1522fa5c1fc",
        "f59cb788ba6d06d13b440b2b7d3f9d4480052c2f"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Nov 11 00:44:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 11 00:44:57 2015 +0000"
      },
      "message": "Merge \"Add microbench for PathParser\""
    },
    {
      "commit": "f59cb788ba6d06d13b440b2b7d3f9d4480052c2f",
      "tree": "ca2fd959be1f086f425f7ff225bc1c9e114e5281",
      "parents": [
        "30bcf69df9cfae40b621335958656cb0e4afd7d5"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Nov 10 10:36:17 2015 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Nov 10 16:43:16 2015 -0800"
      },
      "message": "Add microbench for PathParser\n\nChange-Id: I95d6c3153480e3ea56032ffe73707110186fbb0f\n"
    },
    {
      "commit": "bec5a907dd508f30c9c063655767e1522fa5c1fc",
      "tree": "b9249dba8fa0f1004d69fe5278a6deed36b83b71",
      "parents": [
        "bcc0471e2b6a450eff4b571f91871df7de61005d",
        "30bcf69df9cfae40b621335958656cb0e4afd7d5"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Nov 11 00:36:27 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 11 00:36:27 2015 +0000"
      },
      "message": "Merge \"VectorDrawable native rendering - Step 1 of MANY\""
    },
    {
      "commit": "30bcf69df9cfae40b621335958656cb0e4afd7d5",
      "tree": "d4cc05d731a54d19775a0fd5245d0764a5156bcf",
      "parents": [
        "429c5b93ff66e82fa3fd65475489fde133c66002"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Nov 04 14:56:24 2015 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Nov 10 15:46:06 2015 -0800"
      },
      "message": "VectorDrawable native rendering - Step 1 of MANY\n\nImplement path parsing from string to skia path in native. The parsing\ncontains two main stages:\n1) Parse string into a list of nodes that contains one operation (such\n   as move) and a vector of floats as params for that operation.\n2) Interpret the operations defined in the nodes into SkPath operations,\n   and create a skia path\n\nAlso provided unit test for parsing a string path into a list of nodes,\nand then to a skia path.\n\nChange-Id: I0ce13df5e3bb90987dcdc80fe8b039af175ad2e2\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": "1b85ce17a316973a170b3932f2d0a9b02063eaa3",
      "tree": "7491f4e974e7acb57205781b31d29e045fdc4d19",
      "parents": [
        "16009a6deaff272c94046facbeb567bafdaacc69",
        "7516d4d8667957688433b02b2f4985f1b3ab36ad"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 10 23:31:11 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 10 23:31:11 2015 +0000"
      },
      "message": "Merge \"Fix HWUI Path Cache dangling pointer\" am: 37bf3ec9d2\nam: 7516d4d866\n\n* commit \u00277516d4d8667957688433b02b2f4985f1b3ab36ad\u0027:\n  Fix HWUI Path Cache dangling pointer\n"
    },
    {
      "commit": "37bf3ec9d2fb3dfdccfe043e51723e4e543f0703",
      "tree": "bf733341a7a586f01bb1e9c91c2327813b61b935",
      "parents": [
        "8d8515e708f0cebf69587750bbb3abcb315cc61e",
        "2e4f67c388aff0def50dd619388624f1dbe359ad"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 10 23:20:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 10 23:20:03 2015 +0000"
      },
      "message": "Merge \"Fix HWUI Path Cache dangling pointer\""
    },
    {
      "commit": "e2703bee8aebf032d64bf7625fdadb59c618a2a6",
      "tree": "12c6f2b31d9bb25a4ccdc1e8670ef58dac98f637",
      "parents": [
        "807ea28eefa49ccb82b154fa0fb7b6e22aa65ab0",
        "cba287b9716155183faf21865a6c28ba49ffe486"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 10 21:41:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 10 21:41:49 2015 +0000"
      },
      "message": "Merge \"Fix threading issues\""
    },
    {
      "commit": "cba287b9716155183faf21865a6c28ba49ffe486",
      "tree": "90e2be92f6fe3298f3cb289e5cbc1cb3afcb61d7",
      "parents": [
        "8382f98f6246c514106ca2bd88ab9f3c8d2ff5c8"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 10 12:52:44 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 10 13:41:32 2015 -0800"
      },
      "message": "Fix threading issues\n\nBug: 25584167\nChange-Id: I413ef9e0c86f7cca1f7d085e0071745ca0192853\n"
    },
    {
      "commit": "dd763feeb245bde76fe79d119795a08a4753f1c9",
      "tree": "448a14ac5bd94ce45889bffecae0e4821c8e953e",
      "parents": [
        "142af42fd683445b23c7d4e3878cd8b1c9d2e693",
        "5e27140f48a1ec0ae3890dca84bfa91bd32ecb3b"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@google.com",
        "time": "Tue Nov 10 16:59:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 10 16:59:48 2015 +0000"
      },
      "message": "Merge \"Fix persistent Canvas clip handling\""
    },
    {
      "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": "788f7433bd72fc59008c165e94503b78ffb13b2a",
      "tree": "553a6da8bfdfd3a99b60d455efcbd40c90a68dac",
      "parents": [
        "13d30660ef6da2d924e4fc943ccd187767ee0cd2",
        "1375e5f180c1e42c9f4d8c51531935b0449b8ed3"
      ],
      "author": {
        "name": "Tao Bai",
        "email": "michaelbai@google.com",
        "time": "Fri Nov 06 23:49:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 06 23:49:40 2015 +0000"
      },
      "message": "Merge \"Add test to cover loading shared-lib with appAsLib as true. This patch made AppAsLib_test use its own resource\""
    },
    {
      "commit": "1375e5f180c1e42c9f4d8c51531935b0449b8ed3",
      "tree": "2c65d58a6837fc3f8d3769124c5c0ae4f472ed10",
      "parents": [
        "429c5b93ff66e82fa3fd65475489fde133c66002"
      ],
      "author": {
        "name": "Tao Bai",
        "email": "michaelbai@google.com",
        "time": "Fri Nov 06 14:00:17 2015 -0800"
      },
      "committer": {
        "name": "Tao Bai",
        "email": "michaelbai@google.com",
        "time": "Fri Nov 06 14:33:49 2015 -0800"
      },
      "message": "Add test to cover loading shared-lib with appAsLib as true.\nThis patch made AppAsLib_test use its own resource\n\nBug 22487604\n\nChange-Id: Iac4cc949f1b25c326a287a49e0b031bf6831e9e9\n"
    },
    {
      "commit": "5e27140f48a1ec0ae3890dca84bfa91bd32ecb3b",
      "tree": "0d361c53b4f4e8ff0fb9b49de20c3c39d38eff8a",
      "parents": [
        "6d2beef6a819aebed4119ca06cb2369bc56dd214"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@google.com",
        "time": "Wed Nov 04 14:36:02 2015 -0500"
      },
      "committer": {
        "name": "Florin Malita",
        "email": "fmalita@google.com",
        "time": "Fri Nov 06 18:40:25 2015 +0000"
      },
      "message": "Fix persistent Canvas clip handling\n\nPartial Canvas save semantics (clip or matrix persisting after restore)\nare currently emulated in the native canvas wrapper (SkiaCanvas.cpp).\n\nPersistent clips (save w/ MATRIX_SAVE_FLAG only) in particular are\nemulated using the SkCanvas clip stack.  There are two problems with\nthe current implementation:\n\n1) The canvas save count is used to identify the clip stack topmost\nframe, on the assumption that it is the same as the actual clip stack\nsave count.  But with the introduction of lazy SkCanvas saves in Skia,\nthe two values can diverge: the clip stack save count only reflects\n*committed* saves, while the canvas save count includes both committed\nand pending saves.  This means that we can no longer compare canvas and\nclip stack save counts directly.\n\nWhile we\u0027re looking at addressing the save count discrepancy in Skia\nproper, we can also refactor the partial save emulation to no longer\nrely on the two values being synchronized: instead of using the canvas\nsave count to locate the top clip stack frame, simply use the clip\nstack save count for the same purpose - getClipStack()-\u003egetSaveCount()\nalways points to the correct top clip stack frame.\n\nWith this patch:\n\n  * we use SkCanvas::getSaveCount() to track *canvas* save frames which\n      require persistent matrix/clip handling (mSaveRecStack)\n  * we use SkClipStack::getSaveCount() to extract the clips from the\n    top clip stack frame\n\nAlso, since we\u0027re no longer mixing/comparing the two save counts, we\ndon\u0027t have to decrement the canvas value anymore (to make it zero-based\nlike its clip stack counterpart).\n\n2) When iterating over clip stack elements, we currently start at\nkTopIterStart and advance using next().  This is incorrect as next()\nmoves up the stack, so we only iterate over the topmost element \u003d\u003e\nif there are multiple (non-consolidated) clip elements in the top\nframe, we only get to see one.\n\nWe need to iterate using prev() instead.\n\nChange-Id: Ic2d8cad684018925e749b9172fbf7c6202d9fb62\n"
    },
    {
      "commit": "83ea5b7b22e26302eb943ffe7d143a2d242b6eb1",
      "tree": "ebd48014ef80b05d52b71d40940ad85b816447c1",
      "parents": [
        "22b7e496c23c76b1f6d94e3ce99f39f9d3bca973"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 04 16:57:53 2015 -0800"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 05 15:48:35 2015 -0800"
      },
      "message": "When the incoming light source is invalid, don\u0027t generate any shadow\n\nb/25417885\n\nChange-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507\n"
    },
    {
      "commit": "161f54b2d4160b8d3f3da9eba5746da5162e4821",
      "tree": "392dc082f84e8d20ed831c15893053fc7a44d9a4",
      "parents": [
        "679f9863f9390083f91b5e6f8048cbfd7922766e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 11:08:52 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 15:45:59 2015 -0800"
      },
      "message": "Add z-reordering support to OpReorderer\n\nChange-Id: I3fa969fe53cf648d145810f69fa7dada376c0b9a\n"
    },
    {
      "commit": "679f9863f9390083f91b5e6f8048cbfd7922766e",
      "tree": "59058a3c428be7b95af3ec07745096b74529ace5",
      "parents": [
        "7058e4ca585a06462a495d021d61e1fd27f85cd2",
        "76caecf421b42e9b8294a65f62ff2d90b55a337b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 23:32:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 05 23:32:30 2015 +0000"
      },
      "message": "Merge \"Add more RenderNode property support in OpReorderer path\""
    },
    {
      "commit": "76caecf421b42e9b8294a65f62ff2d90b55a337b",
      "tree": "74ff2357d77c6b831aa3723d9f38416b3cef0d67",
      "parents": [
        "429c5b93ff66e82fa3fd65475489fde133c66002"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 02 19:17:45 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 15:25:12 2015 -0800"
      },
      "message": "Add more RenderNode property support in OpReorderer path\n\nChange-Id: I0163fe91d8145e33019739c191bbab0432a5f9aa\n"
    },
    {
      "commit": "290b23a1e11d532b39098bb58693ef97ba98a622",
      "tree": "45a80e36c460d98c7df89a8e6a8e871ed4ea22ee",
      "parents": [
        "374745095659d378164bfee4c7f5c9299c47a814"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 05 14:10:47 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 05 22:15:18 2015 +0000"
      },
      "message": "Fix build\n\nstd::abs requires \u003ccstdlib\u003e\n\nChange-Id: I0722340d17aed88c4c8dabcb723d432b05cebedb"
    },
    {
      "commit": "7fa281c80fb3ccca6070291907ba536bca3ccca9",
      "tree": "bba583c0ab6a27f2114d65911683c589d6b2a32f",
      "parents": [
        "754ea71379f81807bbc85503f9e8dd1ae087a2d0",
        "dfaf23f84669b2f45da892f49b2d8c07f161f7a2"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 05 21:18:00 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 05 21:18:00 2015 +0000"
      },
      "message": "Merge \"When the incoming light source is invalid, don\\\u0027t generate any shadow\" into mnc-dr-dev am: 76d20b4a5c am: 1c7fbe0efb am: d829ab7683\nam: dfaf23f846\n\n* commit \u0027dfaf23f84669b2f45da892f49b2d8c07f161f7a2\u0027:\n  When the incoming light source is invalid, don\u0027t generate any shadow\n"
    },
    {
      "commit": "1c3dd0519a90c12589e32aaa6b31fbcc28e87b64",
      "tree": "cb69c985234cc4752b4b6ddf89fe73e404b3d35c",
      "parents": [
        "8bad93836922805a93c2385fa79e22de8288f9ab",
        "c06ccd77c129cdf198c64babdfd8d289aa8ff908"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 20:37:23 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 05 20:37:23 2015 +0000"
      },
      "message": "Merge \"Revert \"Remove -ffast-math from libhwui makefile\"\" into mnc-dr-dev am: 0cf48e9120 am: 17fc83cbde\nam: c06ccd77c1\n\n* commit \u0027c06ccd77c129cdf198c64babdfd8d289aa8ff908\u0027:\n  Revert \"Remove -ffast-math from libhwui makefile\"\n"
    },
    {
      "commit": "dfaf23f84669b2f45da892f49b2d8c07f161f7a2",
      "tree": "dafd4b92433a6b1b4e6ca504e472b823ac1a2474",
      "parents": [
        "bab8dfd79327309c042b234316813b2c867c9a2c",
        "d829ab76831a0c323f669385c54f666f8a91e4f1"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 05 20:27:43 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 05 20:27:43 2015 +0000"
      },
      "message": "Merge \"When the incoming light source is invalid, don\\\u0027t generate any shadow\" into mnc-dr-dev am: 76d20b4a5c am: 1c7fbe0efb\nam: d829ab7683\n\n* commit \u0027d829ab76831a0c323f669385c54f666f8a91e4f1\u0027:\n  When the incoming light source is invalid, don\u0027t generate any shadow\n"
    },
    {
      "commit": "0cf48e9120fee8e5f0abc7b50a816bb2bc8e6127",
      "tree": "c5aa1259890aaff72b1f91ea13172035428f8b42",
      "parents": [
        "e10faaa41026863b9d0f7dd6b0c239ff79586dc7",
        "e0fa7476a5e6f516fe5d2b4e10113355d43a435f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 20:21:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 05 20:21:45 2015 +0000"
      },
      "message": "Merge \"Revert \"Remove -ffast-math from libhwui makefile\"\" into mnc-dr-dev"
    },
    {
      "commit": "76d20b4a5c6463235d9497b8018a38c059a6761c",
      "tree": "2688c2b07bce52854bb6c1001b974041f9a0a33c",
      "parents": [
        "c8bb39d98d7c2a07f1a5c745f6e89e379e4a25f0",
        "cf22d184a37d4dd551b045857e5725601f89236c"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 05 20:05:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 05 20:05:37 2015 +0000"
      },
      "message": "Merge \"When the incoming light source is invalid, don\u0027t generate any shadow\" into mnc-dr-dev"
    },
    {
      "commit": "704bed0da7cc75d0c517d425445de70ceb58060b",
      "tree": "00c151f39181e0503afd7e1e301ce4698d7a45f5",
      "parents": [
        "3b2872a87159e6ba1a4212465a395ffbcbfccc74"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 05 09:22:17 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 05 10:13:23 2015 -0800"
      },
      "message": "add DeviceInfo\n\nThis reverts commit 096895550b9d5430d7a001d491566decf4f9791b.\n\nChange-Id: Ib2ed1e96d8f7f88302f5e27fe735687194553104\n"
    },
    {
      "commit": "e0fa7476a5e6f516fe5d2b4e10113355d43a435f",
      "tree": "452119b8eb37ce1fff6f62d8c4de9ae6d78bb823",
      "parents": [
        "e02ec7c37a92fd63748a610bac6a23d0409788cf"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 17:58:28 2015 +0000"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 05 17:58:28 2015 +0000"
      },
      "message": "Revert \"Remove -ffast-math from libhwui makefile\"\n\nThis reverts commit e02ec7c37a92fd63748a610bac6a23d0409788cf.\n\nChange-Id: Iea7fadf04c4ffa62be28f783342ae749f89bf931\n"
    },
    {
      "commit": "41925b1ccd4c189bb64ad225804fb639b8fa73e4",
      "tree": "f282957958c030584680d994eff9358ab4de59d6",
      "parents": [
        "f0ac93a705ac67a725a517e6b06d62e03f45f4ac",
        "096895550b9d5430d7a001d491566decf4f9791b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 05 01:39:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 05 01:39:37 2015 +0000"
      },
      "message": "Merge \"Revert \"add DeviceInfo\"\""
    },
    {
      "commit": "096895550b9d5430d7a001d491566decf4f9791b",
      "tree": "18409e55d9d0b89fcc4361b88c08385f1ff8c4e3",
      "parents": [
        "b2442896e3a226c7ebe9d47fa80b257e98a6a34d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 05 01:38:25 2015 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 05 01:38:25 2015 +0000"
      },
      "message": "Revert \"add DeviceInfo\"\n\nThis reverts commit b2442896e3a226c7ebe9d47fa80b257e98a6a34d.\n\nChange-Id: I50f6555451f71067505245333c8e558b5e3b2b3b\n"
    },
    {
      "commit": "cf22d184a37d4dd551b045857e5725601f89236c",
      "tree": "99c02f6e67fc5e805244fbdc45d880f99b76059f",
      "parents": [
        "8e7ab07ce76c20da653e098adfe38da867753305"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 04 16:57:53 2015 -0800"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 04 17:04:18 2015 -0800"
      },
      "message": "When the incoming light source is invalid, don\u0027t generate any shadow\n\nb/25417885\n\nChange-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507\n"
    },
    {
      "commit": "5655c7cdd36a27674f5a286e545cceade54fef69",
      "tree": "9acf0e640966ddb85f0411ab2823b22a73b300ec",
      "parents": [
        "49ab8dd5f37666f48b2ec50ec97e20a2020634a9",
        "b2442896e3a226c7ebe9d47fa80b257e98a6a34d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 21:50:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 04 21:50:36 2015 +0000"
      },
      "message": "Merge \"add DeviceInfo\""
    },
    {
      "commit": "b2442896e3a226c7ebe9d47fa80b257e98a6a34d",
      "tree": "e0f56dadc3c58aff761b784a9cd0d7173281998d",
      "parents": [
        "0a1a5e3781acfb2b34d4671ea3ccc3f85f48fb62"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 07:39:35 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 13:46:49 2015 -0800"
      },
      "message": "add DeviceInfo\n\nChange-Id: I4c122278a7e88b6f47c4dd3c5fc553df7d3c900d\n"
    },
    {
      "commit": "34e9b5b2e418dd43e374dcbb3be27710c53d4b9c",
      "tree": "cc6be44d12f72910c4071b6371ff1512cfc2f8a0",
      "parents": [
        "289c3ba2c4b4d97108fc79977339e7bf7b585f7f",
        "a853bb450ce7e6f06220a86dcc171a837d30511b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 04 19:46:47 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 04 19:46:47 2015 +0000"
      },
      "message": "Merge \"Early return when the scale is 0.\" into mnc-dr-dev am: 10eb6ab94b am: 8b581e2bc7\nam: a853bb450c\n\n* commit \u0027a853bb450ce7e6f06220a86dcc171a837d30511b\u0027:\n  Early return when the scale is 0.\n"
    },
    {
      "commit": "289c3ba2c4b4d97108fc79977339e7bf7b585f7f",
      "tree": "4122353bca310a3a24458634c55567d681660b76",
      "parents": [
        "6df893939e765d910748cfd8a42473793919e9f3",
        "1938c39f77a52c1058e7b2434bdc5d08ed9053b9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 04 19:40:04 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 04 19:40:04 2015 +0000"
      },
      "message": "Merge \"Remove -ffast-math from libhwui makefile\" into mnc-dr-dev am: c4aaf0f4b8 am: 62b16e2e10\nam: 1938c39f77\n\n* commit \u00271938c39f77a52c1058e7b2434bdc5d08ed9053b9\u0027:\n  Remove -ffast-math from libhwui makefile\n"
    },
    {
      "commit": "10eb6ab94b932c33a708e007b0681b26930260e3",
      "tree": "75faabeff552e12de960ebd65ac816a72584ffd4",
      "parents": [
        "c4aaf0f4b853e7df1eaffc350618e07474d0bad1",
        "cdce35a7e877ae51e194b03033bbd35b5c10ce06"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 04 19:28:39 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 04 19:28:39 2015 +0000"
      },
      "message": "Merge \"Early return when the scale is 0.\" into mnc-dr-dev"
    },
    {
      "commit": "cdce35a7e877ae51e194b03033bbd35b5c10ce06",
      "tree": "1eefda1826ff4dee3b0babe155f7280d276b08d2",
      "parents": [
        "8e7ab07ce76c20da653e098adfe38da867753305"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Oct 01 16:49:16 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 04 18:31:50 2015 +0000"
      },
      "message": "Early return when the scale is 0.\n\nb/24534579\n\nChange-Id: Ib3581ec99387ca70ca036026f64857a49657d94b\n(cherry picked from commit 8d0ec389531d071529fb0a800f10733b057205d9)\n"
    },
    {
      "commit": "392b0926aa19ae3856bfddbbeeeb7639f051a86b",
      "tree": "bc6f95e4d83b6c0a4489b91cb8303d3240d1cba3",
      "parents": [
        "68b7d59f3e278fb18ec6f2631f60341df40b0abc",
        "26f50df75477a18e40c6da59a15cc2bd4b441239"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 18:21:35 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 04 18:21:35 2015 +0000"
      },
      "message": "Merge \"Revert \"Use clang for libhwui\"\" into mnc-dr-dev am: 1e1fbd804b am: f8635c2e04\nam: 26f50df754\n\n* commit \u002726f50df75477a18e40c6da59a15cc2bd4b441239\u0027:\n  Revert \"Use clang for libhwui\"\n"
    },
    {
      "commit": "e02ec7c37a92fd63748a610bac6a23d0409788cf",
      "tree": "67bc5df9cbe6e7c70a0f94e4150da0fdb70d6fda",
      "parents": [
        "b0e4f9e97e272783f08b2245219239aaa667073d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 04 10:12:28 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 04 10:14:57 2015 -0800"
      },
      "message": "Remove -ffast-math from libhwui makefile\n\nbug:25417885\n\nChange-Id: I8244bd28c2d46fc449398b9bf5104bf7cbaded8a\n"
    },
    {
      "commit": "967bb181c1ee4e4779e457a1f765b3bdc7f0a230",
      "tree": "9a58b212fe3d68de9a02526186e5e2da0dcf81bb",
      "parents": [
        "f7fea166d40842fc5b55b2169d41df88136ae2cc",
        "c90ed759cf06072f2aecc57dc82d7be8cbfd6d73"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 17:24:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 04 17:24:07 2015 +0000"
      },
      "message": "Merge \"Fix GCC build\""
    },
    {
      "commit": "c90ed759cf06072f2aecc57dc82d7be8cbfd6d73",
      "tree": "5eaddb4e976487070ae02479949977bbe0492321",
      "parents": [
        "562bb9f3a7c100463505b5a91df13da3c72d628f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 07:39:44 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 07:39:44 2015 -0800"
      },
      "message": "Fix GCC build\n\nChange-Id: I990993b8b751bdaf41ce4db1aa7e28823f296777\n"
    },
    {
      "commit": "492a56cc93fef4c844fc2ce429fb8f4fbfef7674",
      "tree": "452119b8eb37ce1fff6f62d8c4de9ae6d78bb823",
      "parents": [
        "d354fd2c66855d116440eb4c936317f124241225"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 15:21:35 2015 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 04 15:21:35 2015 +0000"
      },
      "message": "Revert \"Use clang for libhwui\"\n\nBug 25462107\n\nThis reverts commit d354fd2c66855d116440eb4c936317f124241225.\n\nChange-Id: Ib7c50b5becf247f837f3cc20f9128d9411d22563\n"
    },
    {
      "commit": "0cda530e0e4d8b8e8742541ddb45de9d0c80dedc",
      "tree": "2aa2b55a07b166449afeb75cacf5cb951095b7bc",
      "parents": [
        "7078a446874bdb2a51b9eae8b41f9d1ec0bce86a",
        "a32f221db0361c9047fd61373fbf815c37d958f8"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Nov 03 19:55:52 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 03 19:55:52 2015 +0000"
      },
      "message": "Merge \"Use clang for libhwui\" into mnc-dr-dev am: 61c93eb16d am: a66dc6e159\nam: a32f221db0\n\n* commit \u0027a32f221db0361c9047fd61373fbf815c37d958f8\u0027:\n  Use clang for libhwui\n"
    },
    {
      "commit": "d354fd2c66855d116440eb4c936317f124241225",
      "tree": "237a643b117f3e993d71243c80490968ae128441",
      "parents": [
        "b0e4f9e97e272783f08b2245219239aaa667073d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 03 10:33:34 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 03 10:34:28 2015 -0800"
      },
      "message": "Use clang for libhwui\n\nbug:25417885\n\nChange-Id: I0ef8034d79ba3682925e3c2a4b7ccd833fd4f156\n"
    },
    {
      "commit": "b4e228918e9317b6b21fee4f9b9c1c20f59c79b8",
      "tree": "48d14fb39192b07773577f4b0b4f68a9ad43544e",
      "parents": [
        "71b5d29971f8832c2dbd7c154de585ae077ed131",
        "6b50780363d3bb8db600c770183fa07677509ae8"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 03 18:19:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 18:19:15 2015 +0000"
      },
      "message": "Merge \"Remove almost-all android::Singleton users\""
    },
    {
      "commit": "6b50780363d3bb8db600c770183fa07677509ae8",
      "tree": "0679f62b2f0f680d5eabd3589e89b1fc1ec9f866",
      "parents": [
        "562bb9f3a7c100463505b5a91df13da3c72d628f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 03 10:09:59 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 03 10:09:59 2015 -0800"
      },
      "message": "Remove almost-all android::Singleton users\n\nBug: 25426213\nChange-Id: I88e6206e8915cce95c3a8a8a82a4bb8fbf668141\n"
    },
    {
      "commit": "3ebc155c409feed7fd19ee1e5fb8bf903d97d51a",
      "tree": "8a9113f80171ad5093b9ffbfdb7be3164a5b8d8e",
      "parents": [
        "3d9153b00da37acb32e6db0371b547bbaddc8697",
        "a6ac95e5772c5df441b49189af3a0df79a22679d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 03 17:26:34 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 17:26:34 2015 +0000"
      },
      "message": "Merge \"Add unit test failure messages to recordingcanvas/reorderer\""
    },
    {
      "commit": "a6ac95e5772c5df441b49189af3a0df79a22679d",
      "tree": "84edf6350d4ed598990f1875267612642a759575",
      "parents": [
        "4f16073556f7978708fb71c87628cfe1692412d5"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 02 18:06:59 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 02 18:06:59 2015 -0800"
      },
      "message": "Add unit test failure messages to recordingcanvas/reorderer\n\nChange-Id: I3be7f096cdfb4eb66063c7e4d50f5bd859f43fbd\n"
    },
    {
      "commit": "8d2cf943d9c7292e54726399faefdec4a01c084b",
      "tree": "0b73f75520a8e0847b19b016af7bf3d87dc6c08c",
      "parents": [
        "4f16073556f7978708fb71c87628cfe1692412d5"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 02 14:52:21 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 02 17:34:06 2015 -0800"
      },
      "message": "Add region-tracking to OffscreenBuffers\n\nChange-Id: I024c7219c080b9a89888517f5a89d49dfe8065ba\n"
    },
    {
      "commit": "2359d85e31c8f17b82869fb35ebca50b8dd428bd",
      "tree": "586f8b98d5e4b940fc3474e4e4b0c85529c050ec",
      "parents": [
        "02a5a6bb9ba05bdf7517de90ede49fb535ea06ca",
        "0b7e8245db728d127ada698be63d78b33fc6e4da"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 02 21:16:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 02 21:16:37 2015 +0000"
      },
      "message": "Merge \"Initial HW layer support in new reorderer/renderer\""
    },
    {
      "commit": "0b7e8245db728d127ada698be63d78b33fc6e4da",
      "tree": "b7138962e159b3359cb08735098d34779a5ce78e",
      "parents": [
        "8462bad554c2c0f5639c00dd7f1f32e9567c8e04"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Oct 28 16:50:44 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 02 12:59:38 2015 -0800"
      },
      "message": "Initial HW layer support in new reorderer/renderer\n\nShares vast majority of clipped savelayer code, with only minor\ndifferences in lifecycle.\n\nDoesn\u0027t yet handle fill region, resize, or window transform.\n\nChange-Id: Iabdd71811590d2b937eb11e1b01ce556ade54a5a\n"
    },
    {
      "commit": "b97ba3c09d5baf7c85ac4ddbdeb99770a7d3cab3",
      "tree": "bb325154d874c4bb3b90ee7a2960ba53c9df725b",
      "parents": [
        "bac13378ca2490e98e814908984bc9184ed1d42b",
        "b6c2624c8d9ee71d1c8d0aaf8082f92bb84b1418"
      ],
      "author": {
        "name": "Rob Carr",
        "email": "racarr@google.com",
        "time": "Fri Oct 30 20:55:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 20:55:35 2015 +0000"
      },
      "message": "Merge \"Add window setDecorView API.\""
    },
    {
      "commit": "c0c0ac37abe6f0b1ab780765b4a48beada7d3444",
      "tree": "40cb4eb99cc3108f3b2f0aa5e51a37170e18993e",
      "parents": [
        "f789ef7e381ea57a4f515fde470d40f93bc5f345"
      ],
      "author": {
        "name": "Jun Mukai",
        "email": "mukai@google.com",
        "time": "Tue Oct 27 10:09:21 2015 -0700"
      },
      "committer": {
        "name": "Jun Mukai",
        "email": "mukai@google.com",
        "time": "Fri Oct 30 10:24:55 2015 -0700"
      },
      "message": "Bring DisplayEventReceiver to PointerController.\n\nNow the fading animation of pointers is handled at vsync.\n\nChange-Id: I10fe27d9d7a0d46c4e6504ca487e80bb56e2fd98\n"
    },
    {
      "commit": "41b10518d08dbd42c9026c66dea4ff4f42311a02",
      "tree": "37933fbf6a59d5c50c7eb24aeb0e5a50e037dbef",
      "parents": [
        "64d1f8109f9b852a8b58921886f76577b61c1984",
        "76ace115f7870fed9899a9db7d3852e21b5fb258"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 29 20:56:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 29 20:56:40 2015 +0000"
      },
      "message": "Merge \"Add FatVector\""
    },
    {
      "commit": "76ace115f7870fed9899a9db7d3852e21b5fb258",
      "tree": "3c78d5d736d6e5449a8a9801122a771d598c6b07",
      "parents": [
        "37028137f25b298c00bf2d1e7e090b3b1ccbe633"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 29 12:46:19 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 29 13:22:06 2015 -0700"
      },
      "message": "Add FatVector\n\nFatVector uses an inlined allocation to avoid malloc costs for small\nvectors, especially those which are constructed/destructed frequently.\n\nChange-Id: I9809dfd1255cfe98b4ce2b1124ca0fd6ca33dfe0\n"
    },
    {
      "commit": "263e19bf46a40e3924ab9a7f374ecc420726fc9d",
      "tree": "dc3c94e21379c93676abf9f6b317941ee9180f64",
      "parents": [
        "02ed4a0e10522147425ea65704edd56f2aa6d061",
        "e2e53a7079733694bd52dbce665e9ceff21e9727"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 29 19:49:22 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 29 19:49:22 2015 +0000"
      },
      "message": "Merge \"Simplify TreeInfo\""
    },
    {
      "commit": "b6c2624c8d9ee71d1c8d0aaf8082f92bb84b1418",
      "tree": "6557ee8a8c6bbda603d1a0876ca2551d870c5542",
      "parents": [
        "1e4313dfd06aba910785d7395ca72736b7b3731e"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Oct 22 12:03:28 2015 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Oct 29 12:31:47 2015 -0700"
      },
      "message": "Add window setDecorView API.\n\nAdd a Window API for setting a view which will be placed in\nthe decoration area (next to the window control buttons).\n\nChange-Id: Ie106cbea653ff95fdba987a2a43506d394600612\n"
    },
    {
      "commit": "f35b989d26bb98900f6c5fa2e586326b30b6e161",
      "tree": "c3a9baef08336c3ddbda8bacd572355d2b01c21b",
      "parents": [
        "438c220d78482c85b16a108d9ffde6d7ada27d19"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Jul 31 10:38:40 2015 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Thu Oct 29 12:29:03 2015 -0400"
      },
      "message": "Merge six commits from master-skia to master\n\nAlso corrects some code under development behind the HWUI_NEW_OPS flags\nto match the updated Skia API.\n\nInclude external/skia/include/private\nuse SrcConstraint for drawBitmapRect\nclean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS\ndon\u0027t call DEPRECATED getDevice()\nupdate to newer API for drawBitmapRect\nasABitmap is deprecated, used isABitmap\n\nprevious-Change-Id: I12208855a95948897077b1c1549eb35416cc801e\nprevious-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56\nprevious-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab\nprevious-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b\nprevious-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec\nprevious-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec\nprevious-Change-Id: I85de3462ad1e4877784df38edc4bcd0acbd24e5e\nChange-Id: Ide8e2f669e91a13c32521af3a16efdaa085c81d0\n"
    },
    {
      "commit": "e2e53a7079733694bd52dbce665e9ceff21e9727",
      "tree": "80dc4fae5d8c38c8bb4716593f90e25e34f379cc",
      "parents": [
        "37028137f25b298c00bf2d1e7e090b3b1ccbe633"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Oct 28 15:55:40 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Oct 28 15:55:40 2015 -0700"
      },
      "message": "Simplify TreeInfo\n\nChange-Id: I8f05e9046236d607016b6c2bb77a333cfb47ba47\n"
    },
    {
      "commit": "1de39f15632bfbcc1918e558262f93209c758a99",
      "tree": "49246344ee6943b10769466f01dd6ea970735cbf",
      "parents": [
        "97c92659fab67ca61d276f551e6f9d315428a6aa",
        "d8f904f256b82e48e9a85561eb96e15399b0b2d9"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 28 20:48:05 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 20:48:05 2015 +0000"
      },
      "message": "Merge \"Revert \"Merge six commits from master-skia to master\"\""
    },
    {
      "commit": "d8f904f256b82e48e9a85561eb96e15399b0b2d9",
      "tree": "6f418fc8ec95ab0112a39adbd7fa3bfff0d2ca4d",
      "parents": [
        "550780745fa28ae9a87d02331841ca5ce4f9c763"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 28 20:35:36 2015 +0000"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 28 20:35:36 2015 +0000"
      },
      "message": "Revert \"Merge six commits from master-skia to master\"\n\nThis reverts commit 550780745fa28ae9a87d02331841ca5ce4f9c763.\n\nChange-Id: Ic71eccea454b26261fe6e9a9a7a24eff56396989\n"
    },
    {
      "commit": "97c92659fab67ca61d276f551e6f9d315428a6aa",
      "tree": "d668c9d351223d8475a4658dbef81b34d8e164ec",
      "parents": [
        "3398abb25b6a8614f80f79efcf428a07185fe50f",
        "e486d932ca5a10446a3c98d6d065213913277268"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 28 19:24:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 19:24:45 2015 +0000"
      },
      "message": "Merge \"Tune scheduling a bit, avoid a binder ipc\""
    },
    {
      "commit": "e486d932ca5a10446a3c98d6d065213913277268",
      "tree": "b424ac4bf217a048a784f00377828a651ce1380a",
      "parents": [
        "5918519f972b4eedfc0e402b96cf8a288446deed"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 28 09:21:19 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 28 12:24:13 2015 -0700"
      },
      "message": "Tune scheduling a bit, avoid a binder ipc\n\nDon\u0027t query running behind if it\u0027s not possible to be behind such\nas having received a vsync since the last call to swap buffers.\n\nThis also avoids an accidental-starvation issue where if surface\nflinger was a bit sluggish to dequeue then renderthread would drop\nthinking the queue was full.\n\nAlso be a bit smarter about tracking if we\u0027ve already drawn for this\nvsync target to avoid producing two frames for the same vsync\n\nChange-Id: Ib266500a693c27000b2e8ea578f111229d75147a\n"
    },
    {
      "commit": "3398abb25b6a8614f80f79efcf428a07185fe50f",
      "tree": "a5562847fd183fad7a51fdebb5aa36e4cfe5907b",
      "parents": [
        "9f091287b1a06986871faebffb0d72771ec99df6",
        "77c40109cf25d29f85ee6c13aeb96e22e55f33ab"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 28 19:21:17 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 19:21:17 2015 +0000"
      },
      "message": "Merge \"Cleanups\""
    },
    {
      "commit": "9f091287b1a06986871faebffb0d72771ec99df6",
      "tree": "9f9f9b807527825aa565d40fc7dee531382b277d",
      "parents": [
        "39baa9d45b9a45d26bd291b7608e8a700555db8b",
        "9dea0d53f598d8fa98d9b50899fc9c7559f7a1a1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 28 19:20:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 19:20:49 2015 +0000"
      },
      "message": "Merge \"Free DisplayListData for Views with GONE parents\""
    },
    {
      "commit": "9dea0d53f598d8fa98d9b50899fc9c7559f7a1a1",
      "tree": "948831ab00192df553f10f9fad04a16d6b4b554d",
      "parents": [
        "5918519f972b4eedfc0e402b96cf8a288446deed"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Oct 27 10:04:38 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 28 12:20:20 2015 -0700"
      },
      "message": "Free DisplayListData for Views with GONE parents\n\nBug: 22565656\nChange-Id: I06060e6ae473482ec79feb891f9123c85706237f\n"
    },
    {
      "commit": "37028137f25b298c00bf2d1e7e090b3b1ccbe633",
      "tree": "fd4336ddede803988a41bb8fed61c7c9b293c4bd",
      "parents": [
        "e29953c17550a1071426e32cd37bf030bbd76e73",
        "550780745fa28ae9a87d02331841ca5ce4f9c763"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 28 17:56:10 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 28 17:56:10 2015 +0000"
      },
      "message": "Merge \"Merge six commits from master-skia to master\""
    },
    {
      "commit": "550780745fa28ae9a87d02331841ca5ce4f9c763",
      "tree": "849b02fc26044d1f2ec6fbce3323147e02b1cd4a",
      "parents": [
        "d0d316049dc791dc8e44337e69873532a218d0db"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Jul 31 10:38:40 2015 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 28 13:41:38 2015 -0400"
      },
      "message": "Merge six commits from master-skia to master\n\nInclude external/skia/include/private\nuse SrcConstraint for drawBitmapRect\nclean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS\ndon\u0027t call DEPRECATED getDevice()\nupdate to newer API for drawBitmapRect\nasABitmap is deprecated, used isABitmap\n\nChange-Id: I519f54f97321a7a365ea81a3b78cb03b9bdca021\nprevious-Change-Id: I12208855a95948897077b1c1549eb35416cc801e\nprevious-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56\nprevious-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab\nprevious-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b\nprevious-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec\nprevious-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec\n"
    },
    {
      "commit": "5854b34881b1a747ac80b5077869ef270a92b1f4",
      "tree": "9b25f2320950929e03a772bc985ea40df50d5e4b",
      "parents": [
        "ac7062e7f1716f137f14299c28e3c638cf4bdb9f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Oct 26 15:49:56 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Oct 27 16:44:50 2015 -0700"
      },
      "message": "Rework receiver/dispatcher design slightly, and replace Layer usage.\n\nSwitched from \u0027renderer/info\u0027 to \u0027dispatcher/renderer\u0027 to make their\ninteraction more natural. The new BakedOpRenderer is more similar in\nresponsibilities to the OpenGLRenderer, as it manages layer and frame\nlifecycles, and performs the actual rendering.\n\nHowever, it\u0027s still simpler because the BakedOpDispatcher handles\nmapping Canvas drawing ops to Glops, and the OpReorderer handles almost\nall canvas state operations.\n\nAlso switch BakedOpRenderer to use the new OffscreenBuffer, which\nserves as a lightweight Layer replacement, with a much simpler\nlifecycle.\n\nChange-Id: Ie0e2e248503400041d49729d813d485d28c76eb3\n"
    },
    {
      "commit": "77c40109cf25d29f85ee6c13aeb96e22e55f33ab",
      "tree": "479c941dfbb94c36fb73dc86e03da8412636fcec",
      "parents": [
        "5918519f972b4eedfc0e402b96cf8a288446deed"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 26 15:49:47 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Oct 27 07:54:17 2015 -0700"
      },
      "message": "Cleanups\n\nChange-Id: I10001711afb2530c5dc19aebf2d055ae41f58c6a\n"
    },
    {
      "commit": "ac7062e7f1716f137f14299c28e3c638cf4bdb9f",
      "tree": "128a3c79a8954ff79553fc8a0f4955e9f8a695e1",
      "parents": [
        "541f92cb19438678abfa888f1821ec2df334844b",
        "818c9fbf1d76d5df19253ba4eb964efa939ec9ec"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Oct 26 23:12:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 26 23:12:46 2015 +0000"
      },
      "message": "Merge \"Initial version of clipped saveLayer in new pipeline\""
    },
    {
      "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": "1e4313dfd06aba910785d7395ca72736b7b3731e",
      "tree": "412be4e314d27c619d0e799aa6b9958e2ecf5535",
      "parents": [
        "20070371f37db12d6f3e22763a0fbde4abdb2841",
        "c2547fa6f9a0f4247b35edcee69f3c3cc3510b1a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 26 21:32:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 26 21:32:52 2015 +0000"
      },
      "message": "Merge \"eglSwapBuffers can also return EGL_BAD_NATIVE_WINDOW\""
    },
    {
      "commit": "c2547fa6f9a0f4247b35edcee69f3c3cc3510b1a",
      "tree": "23aeacf0a2854276db75d0efcc48a408a7931b2d",
      "parents": [
        "b1423ddee906333d1ac3ec46226cd210e7648e10"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 26 13:52:52 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 26 13:52:52 2015 -0700"
      },
      "message": "eglSwapBuffers can also return EGL_BAD_NATIVE_WINDOW\n\nBug: 25017107\nChange-Id: I545a746ba89d577de5769bc3e7dd335a100638c0\n"
    },
    {
      "commit": "9564ff0baf1b4f178794977a02e54fca38df8772",
      "tree": "25d5c014ab59cb9b617d41afe7cbf2db0f220a46",
      "parents": [
        "b1423ddee906333d1ac3ec46226cd210e7648e10"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 26 09:55:00 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 26 09:55:00 2015 -0700"
      },
      "message": "cleanup\n\nChange-Id: I3b64e0af45f778c7d030c3c1a38c2103f91a4223\n"
    },
    {
      "commit": "7bd3721bc61a011310267a29acfae264a0a09bde",
      "tree": "4e3286d43802e89b68962b7e7f51c4b9d0634038",
      "parents": [
        "64bb63f0eeee73df64b22b9d1edd1962b8b9ba36",
        "82f5e0c5cd0fcbacd8094b7963a50a2e30e0846f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 23 15:19:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 23 15:19:47 2015 +0000"
      },
      "message": "Merge \"Add ShadowBench\""
    },
    {
      "commit": "64bb63f0eeee73df64b22b9d1edd1962b8b9ba36",
      "tree": "a99d60428726b9e71ca1fa75ef7d55822cdb61f7",
      "parents": [
        "342b89e2da205066a910d8c37b1bf92408c683ae",
        "b2f5bd2d6043132d8c1d0f3e2e7e454c2693f499"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Fri Oct 23 14:17:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 23 14:17:11 2015 +0000"
      },
      "message": "Merge \"Remove direct dependency of external/skia on frameworks/native\""
    },
    {
      "commit": "b2f5bd2d6043132d8c1d0f3e2e7e454c2693f499",
      "tree": "0f2d880b607a45d7b60d274ffc1735cecb52e8f3",
      "parents": [
        "3128c842e7a771b6f2e64c240ca7cf6f3483c186"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Thu Oct 15 16:41:55 2015 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Fri Oct 23 10:07:03 2015 -0400"
      },
      "message": "Remove direct dependency of external/skia on frameworks/native\n\nMoves all code that needs to link with libgui or libui into\nframeworks/native/hwui/utils/TestWindowContext. This allows us to\nrun Skia automated tests against a HWUI backend to watch for\nperformance or correctness regressions on Android.\n\nBUG\u003d23556017\nTEST\u003dAfter this change, we can remove libui and frameworks/native/include\nfrom external/skia/Android.mk\nR\u003ddjsollen@google.com\n\nChange-Id: I6f02a5ff98101e448606a1e892686e2c648b6c8a\n"
    },
    {
      "commit": "342b89e2da205066a910d8c37b1bf92408c683ae",
      "tree": "ade835886da8da6d392be6d4663aaf0d3079e713",
      "parents": [
        "6243426e66cdf94db7b41955e744df2fa58bc72d",
        "b61fd4fae2cefc441a75f7b695e671e84570006f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 23 04:30:35 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 23 04:30:35 2015 +0000"
      },
      "message": "Merge \"Revert \"libs: add libpackagelistparser\"\" am: e3da6ba5dd am: 314e1e00d8\nam: b61fd4fae2\n\n* commit \u0027b61fd4fae2cefc441a75f7b695e671e84570006f\u0027:\n  Revert \"libs: add libpackagelistparser\"\n"
    },
    {
      "commit": "314e1e00d812e4edf426a46726a2127c563048a5",
      "tree": "616085c5840e3fe258f552becd00c6fb85cd7063",
      "parents": [
        "188e8875db1a55a6bafc8e8ef741400baab6e6fb",
        "e3da6ba5dd29002789a76dafdc14987c51d92ea5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 23 04:16:20 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 23 04:16:20 2015 +0000"
      },
      "message": "Merge \"Revert \"libs: add libpackagelistparser\"\"\nam: e3da6ba5dd\n\n* commit \u0027e3da6ba5dd29002789a76dafdc14987c51d92ea5\u0027:\n  Revert \"libs: add libpackagelistparser\"\n"
    },
    {
      "commit": "ce969123b19dbc1755700a97bc06e82fe3f893d5",
      "tree": "99fdebbce30a15692ff43715fbb524b9a3fa2f84",
      "parents": [
        "cc7373eafd0d5be7df8898748a700b47298ebf10"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 22 19:49:29 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 22 19:50:09 2015 -0700"
      },
      "message": "Revert \"libs: add libpackagelistparser\"\n\nThis reverts commit dc06bb0752c1bc3e87b04a097b308bca1bc86181.\n\nThis should go into system/core.\n\nChange-Id: Idf304ac5ccd4bcc86722f65688e3ee6284452287\n"
    },
    {
      "commit": "82f5e0c5cd0fcbacd8094b7963a50a2e30e0846f",
      "tree": "3cefab7166b2b9bf3029490fb29ba1d9cd71431e",
      "parents": [
        "3b7acbb86207df78eccfeb40aabcc8543703a58f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 17:07:45 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 17:13:07 2015 -0700"
      },
      "message": "Add ShadowBench\n\nDrop -O3 \u0026 -ffast-math as they don\u0027t\nhelp on clang and just hit SIGBUS issues\n\nChange-Id: I8e9a8f4cd9ddf136103a6b7f69902e9f3a730c57\n"
    },
    {
      "commit": "4c6b40ec81c6394cb10e5ecb6c00d1412cba8272",
      "tree": "5e10142de22be41d87cbbd049b833489f945020b",
      "parents": [
        "11ad7f2c229e5233c1fdc6cda14cb4e85fe34c1d",
        "a2dbc1cea3c60510f27bfeb39012ae2c2796503c"
      ],
      "author": {
        "name": "Daniel Cashman",
        "email": "dcashman@google.com",
        "time": "Thu Oct 22 23:47:40 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 22 23:47:40 2015 +0000"
      },
      "message": "Merge \"libs: add libpackagelistparser\" am: cc7373eafd am: 188e8875db\nam: a2dbc1cea3\n\n* commit \u0027a2dbc1cea3c60510f27bfeb39012ae2c2796503c\u0027:\n  libs: add libpackagelistparser\n"
    },
    {
      "commit": "188e8875db1a55a6bafc8e8ef741400baab6e6fb",
      "tree": "9a78c1d61fc62615e667c6935f50829c3ae27cce",
      "parents": [
        "ac140e7f7690979378897546e7934381f62922ab",
        "cc7373eafd0d5be7df8898748a700b47298ebf10"
      ],
      "author": {
        "name": "Daniel Cashman",
        "email": "dcashman@google.com",
        "time": "Thu Oct 22 23:12:49 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 22 23:12:49 2015 +0000"
      },
      "message": "Merge \"libs: add libpackagelistparser\"\nam: cc7373eafd\n\n* commit \u0027cc7373eafd0d5be7df8898748a700b47298ebf10\u0027:\n  libs: add libpackagelistparser\n"
    },
    {
      "commit": "0cc90c36f345d992c23e39dabda051e30fae7e90",
      "tree": "a892d10772a6baaeb7c9e589e5eb18206bfa6579",
      "parents": [
        "679b62edcae385c2bcf3644f5e66d4e0102ba261",
        "708b6687da23d2ac5bd394dec3e6d950b34d5b6c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 20:27:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 22 20:27:36 2015 +0000"
      },
      "message": "Merge \"Add assert for required EGL extensions\""
    },
    {
      "commit": "708b6687da23d2ac5bd394dec3e6d950b34d5b6c",
      "tree": "fb4e9a0b7fe651ed7f8ccbac78461bc9dd710db3",
      "parents": [
        "a672f6ba4c9f65de0b94bcdc639f1e053d7ee5d9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 13:11:00 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 13:18:37 2015 -0700"
      },
      "message": "Add assert for required EGL extensions\n\nBug: 25149700\n\nChange-Id: I535ead7c1f8ba8766dff85fcf26a9cfe76647fb8\n"
    },
    {
      "commit": "914e362d1884a79588e848f6f87772e4e3fc73b2",
      "tree": "19a29465b4d45ea896fc96515d838236af561960",
      "parents": [
        "c6e7167a93e80efe3f28e600cf9c4ff7cd5327bf",
        "6fe991e5e76f9af9dab960100d5768d96d5f4daa"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 22 17:16:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 22 17:16:55 2015 +0000"
      },
      "message": "Merge \"Work to support saveLayer in new pipeline\""
    },
    {
      "commit": "c6e7167a93e80efe3f28e600cf9c4ff7cd5327bf",
      "tree": "3260fdf4d62fd3274b8a12abc8efcebae56c1551",
      "parents": [
        "5c1b9613da8460ce0158adc2e1341a85a525f70f",
        "a672f6ba4c9f65de0b94bcdc639f1e053d7ee5d9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 17:05:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 22 17:05:37 2015 +0000"
      },
      "message": "Merge \"Remove obsolete debug option\""
    },
    {
      "commit": "a672f6ba4c9f65de0b94bcdc639f1e053d7ee5d9",
      "tree": "d8360984d9a7fe060947b2391b8bd82625813b2e",
      "parents": [
        "075f9ce097f7fd2f880fb75f336dbd71e46a454f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 09:53:26 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 22 09:53:26 2015 -0700"
      },
      "message": "Remove obsolete debug option\n\nBug: 25149700\nChange-Id: I9280e2414255fb01e672094cd8d173efadac1681\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": "5ec7420ecd0e94be0a07fc77b0bc950deb0178fd",
      "tree": "71eff50268fe0f4e860458a43ed6b6cc87d2032d",
      "parents": [
        "3a36f0a3ab7af0fde7267c70c4866c145b23aeb3"
      ],
      "author": {
        "name": "Jun Mukai",
        "email": "mukai@google.com",
        "time": "Wed Oct 07 16:58:09 2015 +0900"
      },
      "committer": {
        "name": "Jun Mukai",
        "email": "mukai@google.com",
        "time": "Wed Oct 21 13:03:01 2015 -0700"
      },
      "message": "Use invisible icon for POINTER_ICON_STYLE_NULL.\n\nChange-Id: I10d35bdc4da4817d769eb164e6f15e4618670a05\n"
    },
    {
      "commit": "0a24b146cd3dacf372ce98424044423a5b2fbf2a",
      "tree": "6b55b3f00ff079a67c3774bc1e1c1c4020719f67",
      "parents": [
        "ec3d759a34ae45f5f1d6fe1b7aa9d83ebc09048d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Oct 19 17:10:19 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Oct 20 17:19:33 2015 -0700"
      },
      "message": "Add initial OpReorderer benchmarks\n\nChange-Id: I6ca8ea89be2159331b2ad7031769c65f54161918\n"
    }
  ],
  "next": "ec3d759a34ae45f5f1d6fe1b7aa9d83ebc09048d"
}
