)]}'
{
  "log": [
    {
      "commit": "527a3aace1dd72432c2e0472a570e030ad04bf16",
      "tree": "24f8cca71f0377a88b35fbe060a3247040b3de9f",
      "parents": [
        "8d4c23b9c32f8c0328ebca538bb801716fe4478a"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Mar 04 10:19:31 2013 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 15 13:53:02 2013 -0700"
      },
      "message": "Draw Operation merging\n\nMerge simple bitmap draw operations and text operations to avoid\nissuing individual gl draws for each operation. Merging other ops to\nbe done eventually.\n\nThe methods are different - the bitmap merging generates a single\nmesh for reused, unclipped images (esp. repeated images in a listview)\n\nThe text approach queries just defers the normal font rendering until\nthe last drawText in the sequence that can share the same shader.\n\nPatches are sorted and merged, but don\u0027t yet have a multiDraw\nimplementation. For now, the pretending-to-merge gives better sorting\nbehavior by keeping similar patches together.\n\nChange-Id: Ic300cdab0a53814cf7b09c58bf54b1bf0f58ccd6\n"
    },
    {
      "commit": "c5cbee7d78513527e89450e6369a30a04b2d5e7a",
      "tree": "a3709dd93124509c4490b889622b277d11fbef30",
      "parents": [
        "9eac52698b18d089e73c7ec2bf73a64a39504733"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 20 19:15:02 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 20 19:16:53 2013 -0700"
      },
      "message": "Stop worker threads on memory trim \u0026 fix bad pointer access\n\nChange-Id: I6fe7e31aeb6dd41fa65ab952caed97bc2da510d7\n"
    },
    {
      "commit": "6e2004089305cf2cd958b52b234459a49a4e5c83",
      "tree": "e5cd875ac22fc80f9f0098a1c910251d672d50a9",
      "parents": [
        "b09f1471262c3e629daacbc319bcefc2d621a484"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Mar 08 11:28:22 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Mar 08 11:28:22 2013 -0800"
      },
      "message": "Move blur code from FontRenderer to utils/Blur.cpp\n\nChange-Id: I2cebbfbcb722ed4b37e54ffbf8b53bb92ad0c964\n"
    },
    {
      "commit": "13ba0054846ce630ca31e8f26169fd9388faee02",
      "tree": "2bbd8dbad1fee388dd2e408bf54cc4b5caa46ff3",
      "parents": [
        "00e592272ee44cba41832e3cf0a0ffb2de56585d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 15 12:47:26 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 15 12:47:26 2013 -0800"
      },
      "message": "Remove obsolete header file\n\nWe now use the same mechanism to compare keys everywhere in libhwui.\n\nChange-Id: I8b3cb25b13f4f38eb6f12aed0356f796a773617c\n"
    },
    {
      "commit": "f2d8ccc15d7272b3416f73605c1f31d1d346bd40",
      "tree": "de40afaf0e04bd78687f4ac166190b17e300a6a6",
      "parents": [
        "a7d72dfded3437e05c303dc40d61248022eb048b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 13 16:14:17 2013 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 13 16:40:02 2013 -0800"
      },
      "message": "Revert \"Revert \"Use RenderScript for large text blurs\"\"\n\nThis reverts commit bf5703e52e3304246cbf0e73f6976f7d7312d238.\n\nChange-Id: Ic6f991277dec9e80a6fed93db91499726b30ab2a\n"
    },
    {
      "commit": "bf5703e52e3304246cbf0e73f6976f7d7312d238",
      "tree": "81ef6382317512aa2c068e99b35477ca61449b60",
      "parents": [
        "3f76e65d251ead65fe8ff98e3bd4c7623fbaac07"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 13 19:47:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 19:47:24 2013 +0000"
      },
      "message": "Revert \"Use RenderScript for large text blurs\"\n\nThis reverts commit 3f76e65d251ead65fe8ff98e3bd4c7623fbaac07\n\nChange-Id: Ia81cd485e5ca696bb284c419dc8a1d2f3247100e\n"
    },
    {
      "commit": "3f76e65d251ead65fe8ff98e3bd4c7623fbaac07",
      "tree": "b8dfc636012f670aba6a348340ae12770ab63372",
      "parents": [
        "d04892d207d50378356feef181ac4e4eff9652d7"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 14 16:11:10 2012 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Feb 12 17:45:28 2013 -0800"
      },
      "message": "Use RenderScript for large text blurs\n\nStill fall back to simple path for small tasks\n\nChange-Id: I492f1b3f7d6fec1738f3e45cbfb15864bd23a392\n"
    },
    {
      "commit": "f26c8be01bb218619e073a209c9d57fe9d26c517",
      "tree": "6b00b9fb738143b19c3e3ec2496becc0e5309722",
      "parents": [
        "7e22a223afa63c591ef56cb325163e5e82046822"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 18 10:58:45 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 18 10:58:45 2012 -0700"
      },
      "message": "Sanitize display list properties\n\nThe comparisons used in the various properties setters could fail badly\nin some specific conditions. The scale properties in particular did not\nuse the same comparisons.\n\nThis change also clamps alpha to the 0..1 range which avoids overflow\nissues with lowp registers in GLSL computations.\n\nChange-Id: I3e73b584e907a14e2c33d0865ca0d2d4d5bff31d\n"
    },
    {
      "commit": "13ede62fd77acdf158f7210043fe48644cb4a589",
      "tree": "8c6a38f65e0969f39773a85303e413ab85dc8f71",
      "parents": [
        "aab55bf3e323b73062bd932682886b19c062a8a0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 16 12:00:05 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 16 12:00:05 2011 -0700"
      },
      "message": "Make LTE_FLOAT a strict weak order.\nBug: 5327776\n\nCurrently LTE_FLOAT isn\u0027t even a valid partial order, let alone\na strict weak order as needed by binary search.  Consequently,\nKeyedVectors with keys whose types have operator\u003c using LTE_FLOAT\nsometimes find the wrong values!\n\nThis problem affects several graphics caches including the\nTextLayoutCache.\n\n(This is still not a total order because NaNs are not comparable\nbut hopefully we don\u0027t ever search for NaNs this way!)\n\nChange-Id: Ic447a34c7d87f681ee81538f22a0937a039072dd\n"
    },
    {
      "commit": "d313c665e618af3194f504064bcd284fe5368682",
      "tree": "afc941c310913e7ec79af8c50fb152b1281ba2ff",
      "parents": [
        "5fb008e3800032be18c6d5f1e7ace4d7c2661e26"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Feb 24 19:56:18 2011 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Mar 02 13:29:20 2011 -0800"
      },
      "message": "Add TextLayout Cache\n\n- use GenerationCache for caching\n- move GenerationCache.h from libs/hwui/utils to include/utils\n- add #define for cache activation / deactivation\n\nChange-Id: Ifaf519f0b5e33b087a453e4aa6430162d8438f20\n"
    },
    {
      "commit": "fe48f65922d4a3cc4aefe058cee5acec51504a20",
      "tree": "97ea23ae71dade1ef7bf783523bea9cda31dd042",
      "parents": [
        "50c5e4c36e494d092576d42cf2b406abab20510a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 11 15:36:56 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 11 15:36:56 2010 -0800"
      },
      "message": "Free resources only from the GL context thread.\nBug #3179882\n\nResources were freed following garbage collections on a worker thread.\nThis worker thread had no EGL context, which would cause the renderer\nto incorrectly assume that the memory was liberated.\n\nChange-Id: Ifdb51f94ddf42641e8654522787bfac532976c7c\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": "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": "21b028a44f3e0bd9b0f0432b8b92c45f661d22a4",
      "tree": "e337e7e38e6706c4bc9126cfef742521606e6a1d",
      "parents": [
        "2728f961614a385df1f056fc24803a9f65c90fab"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:43:58 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:44:56 2010 -0700"
      },
      "message": "Move GenerationCache to the utils directory.\n\nChange-Id: I210ffa8f1d76a102bb7d971c649c20a74d03fbe6\n"
    },
    {
      "commit": "8550c4c7b5952b7a4e1e0ede95c9492d03099a13",
      "tree": "3f2bccdd02bcf390eac98749475aad4ead1da1e4",
      "parents": [
        "ecd31740a00f8fb07090209cd979257c38cbcc92"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 15:49:53 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 15:49:53 2010 -0700"
      },
      "message": "Better cache for layers, reduce memory usage and increase framerate.\n\nChange-Id: I5ff864a361db4791bd5ff6be716f7ce692ef572d\n"
    }
  ]
}
