)]}'
{
  "log": [
    {
      "commit": "2af4635e4a9e448a65ff541252f8f94bc6ac48e0",
      "tree": "2ea27d507f81660cdbb8e2cdf48cce875c1b8cdd",
      "parents": [
        "878749fef09c7cb5894f77d9b032f876f9476e47"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 26 18:30:17 2012 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jan 22 13:47:03 2013 -0800"
      },
      "message": "Object-based DisplayList recording\n\nbug:8037003\n\nChanges the DisplayList from using stream read/write commands to use an array of\nobjects manually allocated on a linear buffer.\n\nDepends on frameworks/native change https://googleplex-android-review.googlesource.com/#/c/257695/ which adds LinearAllocator\n\nAlso changes drawRects to use float count instead of rect count, to be more like drawLines/drawPoints\n\nChange-Id: Ia2e4a11acd8f0a757042a05cbc9e7563cb73ee47\n"
    },
    {
      "commit": "5341cead27070656458750a789ba211a505b57b5",
      "tree": "4887e2e3289373e24a6496427df4597b5b28f458",
      "parents": [
        "16ad17705eb22bb02a551cddd68f65b8addaa4d6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 09 14:15:58 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 09 14:15:58 2013 -0800"
      },
      "message": "Cleanup 9patch mesh matching code\nBug #7970966\n\nThe bug described in #7970966 should normally never happen but just in\ncase, change the detection code to be more robust.\n\nChange-Id: I7040a6087590e34abe8803cb8f83f051d77f3944\n"
    },
    {
      "commit": "c37f349ecff54f15ed31d57c1b886897c91430af",
      "tree": "431ab2a4385f6c3b61818e0c48b49bcf4e7ffff6",
      "parents": [
        "41d35aef06c2a570a45474a01ca95a6cb9c29d9e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 10 17:13:36 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 10 17:13:36 2012 -0700"
      },
      "message": "Prevent possible divide by 0\nBug #7307304\n\nShould never happen, but eh :))\n\nChange-Id: Ic7a09fd5c7a3622e6b4963f9ee6920e232018e2e\n"
    },
    {
      "commit": "41d35aef06c2a570a45474a01ca95a6cb9c29d9e",
      "tree": "0e4d15428b41eef15744027e19a00516bb8edab6",
      "parents": [
        "251445667ce045c4425c10fb24e3e23f90a210c0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 10 16:06:04 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 10 16:06:04 2012 -0700"
      },
      "message": "Allow 9patches to shrink\nBug #7307304\n\nChange-Id: I1fabf6df99c18c86ab1ec0e1e398a3d6d4098496\n"
    },
    {
      "commit": "70561df470c31513056df181571632851fd0d081",
      "tree": "371119049d622a7c524017ad0cf3900bd5e53a96",
      "parents": [
        "753e1280cbc3f0006b04f67385f02e1f92019f7d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 10 17:40:18 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 10 17:40:18 2012 -0700"
      },
      "message": "Prevent degenerate 9-patches from drawing out of bounds\nBug #7137292\n\nChange-Id: I371e94899445d2f3c6794d5c0aee8faa514d3c2c\n"
    },
    {
      "commit": "4ff0cf4b83605bff630c4e6f1fabe4f72a3f93a1",
      "tree": "2616ad1230b8ebc22a720945c5841a36572b9545",
      "parents": [
        "bec1d13da2ef3c8c2c4cc4f740474d095068bd8b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 06 14:51:10 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 06 14:51:10 2012 -0700"
      },
      "message": "Add new debug tool to track hardware layers updates\n\nYou can setprop debug.hwui.show_layers_updates true to flash\nhw layers in green when they update. This is also a setting\nin the Dev. section of the settings app.\n\nChange-Id: Ibe1d63a4f81567dc1d590c9b088d2e7505df8abf\n"
    },
    {
      "commit": "f3a910b423db7ad79cf61518bdd9278c048ad0d8",
      "tree": "a0ae14d597ee14202ec6ca60cedfb446ff470379",
      "parents": [
        "d71dd367af604571c7d00ca473184a1b9240eca2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 20:35:21 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 20:35:21 2011 -0800"
      },
      "message": "Optimize state changes\n\nChange-Id: Iae59bc8dfd6427d0967472462cc1994987092827\n"
    },
    {
      "commit": "5e7c469c7a3039af7696789a797f8d91a45227eb",
      "tree": "f66d7d042190f6ec0418dd04db3853d803fcb2d5",
      "parents": [
        "a62f172215727a1e00af0cb934904e00926a86c9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 20 20:31:50 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 20 20:33:07 2011 -0700"
      },
      "message": "Make sure 9patches are not filtered when not necessary\nBug #5383406\n\nChange-Id: I061c8069a4d9f4eaf45671283710b564639eeb32\n"
    },
    {
      "commit": "f504a2fa144504ca1efd39a4ef9208e3d4d336c5",
      "tree": "3d797f8910ac7615bddfc073435d8a26fcb80e61",
      "parents": [
        "3453b1c584f456a18f17d74a72c044b4e39c6405"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu May 26 16:40:55 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu May 26 16:40:55 2011 -0700"
      },
      "message": "Correctly implement the CLEAR xfermode.\n\nThe previous implementation was using glBlendFunc with the parameters\nGL_ZERO/GL_ZERO which doesn\u0027t work for text, paths and other alpha\nsources (anti-aliasing.) The correct implementation is GL_ZERO/\nGL_ONE_MINUS_SRC_ALPHA.\n\nChange-Id: I4cca65e57b6a37bbf5a41d382cb0648ee8e11e79\n"
    },
    {
      "commit": "a3311ed7a9ddd7ecb066f4731ce4bc3bd3ffd939",
      "tree": "9b612b812078e8c9ee8b86c378a7264ca161f1a2",
      "parents": [
        "c4d09f2b69b82201ce48dbe29c4d8bd85bdda92a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 12:00:08 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 12:00:08 2011 -0800"
      },
      "message": "Fix the fix for 9patches.\n\nChange-Id: I66dca835d9d0e9766d887746c3265e4b13ae688b\n"
    },
    {
      "commit": "fdbec3e4828f93bfa5cde758ad0e77b89c5c2ecd",
      "tree": "cc77b42b6e772ca9093eeb99a80d97f1b49cfea9",
      "parents": [
        "7890fe2da4719bf72b4fbcbef20a555d5fbd94bb"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 10:37:35 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 10:37:35 2011 -0800"
      },
      "message": "Fix 9patches in Launcher\n\nChange-Id: Ieedf36ccaab253909b44ed8c222d523867f095be\n"
    },
    {
      "commit": "eb6a4a17a07f1aa41bd58d418b2982cddb97685a",
      "tree": "3c838bf10e360e69d032d41bbff55661bcb30edd",
      "parents": [
        "2577db1ec135a1470a2c42139772ec97a6c30e78"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 14:02:16 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 14:02:16 2011 -0800"
      },
      "message": "Fix 9patches, again...\nBug #3365243\n\nChange-Id: Id45a1f1fd5e099b1d691e6064401d3de1b0c5c20\n"
    },
    {
      "commit": "7444da512680df0c52af39ea521e35adbe0c167d",
      "tree": "001f5bbb70e6f0a8759381498665343136e003f9",
      "parents": [
        "fb13abd800cd610c7f46815848545feff83e5748"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 17 10:53:31 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 17 10:53:44 2011 -0800"
      },
      "message": "Yet another fix for 9patch rendering.\nBug #3362133\n\nChange-Id: Ia6521d31a8c208a2ad2506a23b6a01e5e442ad86\n"
    },
    {
      "commit": "fb13abd800cd610c7f46815848545feff83e5748",
      "tree": "299f1c241fc360cbf3016adee07ac3db46750203",
      "parents": [
        "90fc03bc493fc2c984599b198b9d50bc387134f2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 16 15:16:38 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 16 15:16:38 2011 -0800"
      },
      "message": "Fix 9patch rendering in ExpandableListView.\n\nChange-Id: I60843d61a40b0cb7dd09923cb4489a5a76f20486\n"
    },
    {
      "commit": "8ab4079ca27e36e5c584495bcd71b573598ac021",
      "tree": "80b5dca2e6ad9cf75a7215109575a9c2d927b278",
      "parents": [
        "3a3fa1be9ab8e11edc660ecb35ae21ae0b5c8cc2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 07 13:30:10 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 07 13:30:10 2010 -0800"
      },
      "message": "Fix 9patch rendering\nBug #3253396\n\nSome quads were incorrectly assumed to be degenerate.\n\nChange-Id: I9155699edc3424afe9d5a131886bb9966d46b109\n"
    },
    {
      "commit": "a5ef39a21683189e5906c9f252b997f0508e350d",
      "tree": "f87616c7a443f8e8d19d40654036653252bf65e4",
      "parents": [
        "d8591020ec5940aa9ac738593a460a8df8cd560a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Dec 03 16:48:20 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Dec 03 16:48:20 2010 -0800"
      },
      "message": "Don\u0027t render degenerate triangles in 9patches.\nBug #3251983\n\nChange-Id: Ib0b38a7b8111542372f4c4c106b6321c26fe4ad4\n"
    },
    {
      "commit": "bd41a11078e94b755c8b6f78e1e4242c715fccd4",
      "tree": "d8649ba2cba31ba1a0e651b25a21a8203eb94927",
      "parents": [
        "5e3af5fcba360916f38753bd505e47040fc87729"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Dec 02 17:16:26 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Dec 02 17:16:26 2010 -0800"
      },
      "message": "Correctly index transparent quads when generating 9patch meshes.\nBug #3250026\n\nChange-Id: Id7e051e9ed81f6b4e7748756503d8055ac7d531a\n"
    },
    {
      "commit": "6f72bebe92a4db7b5dc83f4ac5b5fd02e3b4e2cd",
      "tree": "50c8b82bd203c9c71821a4cf8b649f73d258eeae",
      "parents": [
        "730666858692ea396f5ad779654b5d86ff90b6ca"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Nov 30 12:04:14 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Nov 30 12:06:39 2010 -0800"
      },
      "message": "Update 9patch structure when rendering with different divs/colors.\nBug #3221488\n\nChange-Id: Ifc9e42a991d630feadc9e8032322f37504d09d6d\n"
    },
    {
      "commit": "5b3b35296e8b2c8d3f07d32bb645d5414db41a1d",
      "tree": "bad2ebdbfeb8a3a0be1591d5a357a8280df7d1d2",
      "parents": [
        "2444ddb3d9b59ec45ba50858fcbff639e59b93b1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 27 18:57:51 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Nov 02 16:17:23 2010 -0700"
      },
      "message": "Optimize FBO drawing with regions.\nThis optimization is currently disabled until Launcher is\nmodified to take advantage of it. The optimization can be\nenabled by turning on RENDER_LAYERS_AS_REGIONS in the\nOpenGLRenderer.h file.\n\nChange-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1\n"
    },
    {
      "commit": "9bca4793a33d2714b306d69ceb870925a588fe71",
      "tree": "03d6bc554b1a61de818c32330039af59cad4b70d",
      "parents": [
        "3e3ba155fc0ef7a7f40f06762240d9ba22f62b19"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 25 18:42:25 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 25 18:42:25 2010 -0700"
      },
      "message": "Small cleanup.\n\nRemoves unnecessary forward class declaration, make Caches::currentBuffer\nprivate instead of public.\n\nChange-Id: Idba6325c8c602d89239e667cb8ec87e7943f8e75\n"
    },
    {
      "commit": "2665b85b2bd08faabf7c520a622a0e4d3465245f",
      "tree": "b64b59b93eb532763f6323e4e90b33d6186faab8",
      "parents": [
        "03750a067e818ca7fbd0f590e2ff6a8fded21e6c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 18 15:11:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 18 15:11:50 2010 -0700"
      },
      "message": "Small cleanup.\n\nChange-Id: I0e5b9154a2d93af793d62f462d68cb7c6c3f6d75\n"
    },
    {
      "commit": "03750a067e818ca7fbd0f590e2ff6a8fded21e6c",
      "tree": "e41ffdc1b72f66c13284df27877703111f048170",
      "parents": [
        "65202242defad10eb33a3b3277af49eb238a3f33"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 18 14:06:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 18 14:49:19 2010 -0700"
      },
      "message": "Use VBOs to render most geometries.\n\nChange-Id: I4360dc4fe5693ab425450c107282b2c22db4dca7\n"
    },
    {
      "commit": "4bb942083a0d4db746adf95349108dd8ef842e32",
      "tree": "7707bc9551f3db4ad0561c30c73293e4a0edfbf2",
      "parents": [
        "5a3b8e698e276839e502dcf41894b56ad59695c3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 15:59:26 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 15:59:26 2010 -0700"
      },
      "message": "Optimize 9patch rendering.\n\nThis change detects empty quads in 9patches and removes them from\nthe mesh to avoid unnecessary blending.\n\nChange-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704\n"
    },
    {
      "commit": "31529ff7918ce891fba9a660d0a861eb313ea554",
      "tree": "8be25943daf28a7e39af5d87d389abf1e986dd5a",
      "parents": [
        "a977120681904ee6309f3e90f51c6cc43615c007"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 10:26:31 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 10:26:31 2010 -0700"
      },
      "message": "Correctly free memory.\n\nChange-Id: I08fcbfa7d27ae413e0a8e8ca6ea305c8530a72c1\n"
    },
    {
      "commit": "759ea80dca64ad652110a129e0d8bf93fea79f61",
      "tree": "910900df67d9f9fed51398de2a03f40e2abefec5",
      "parents": [
        "bf434114cbf55b216fdc76fc8d65a75e84c9dab5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "message": "Add support for drawLines(), with anti-aliasing\n\nChange-Id: I16c0593c5671490909dec13a85df601e1428a1a6\n"
    },
    {
      "commit": "6820ac8b14b4558f5d8b833dde80895306a3e137",
      "tree": "b90f253c05f20ae8a36c7bdc49147d447b75e7d5",
      "parents": [
        "9322775014432ed6c87c864e98fe482f879ff233"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 15 18:11:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 15 18:11:50 2010 -0700"
      },
      "message": "Fix 9patch rendering.\n\nChange-Id: Ic4c18ff483cca95fbabcb10843f7714efe488adb\n"
    },
    {
      "commit": "fb5e23c327cd5f8f93d1eaa7c10f34d6fd3efb6c",
      "tree": "8637af6593869b9e3f31a8b35c4388016eb690ac",
      "parents": [
        "3465d5f532b65b0e50d21f5b23bc3badc73248ba"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 09 13:52:56 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 09 13:52:56 2010 -0700"
      },
      "message": "Refactoring to move vertex computing to the Patch class.\n\nThis change is mostly cleanup to keep less code in OpenGLRenderer.\n\nChange-Id: I954375143b2943829457ab470423729b60b844f5\n"
    }
  ]
}
