)]}'
{
  "log": [
    {
      "commit": "caaac348ed163f59cf1b8185bb14137050c18e7e",
      "tree": "c8c973d90da970ca9dbcc10d58e393d2c47f3a20",
      "parents": [
        "7e4ef61732d7de33e34f5935cfad51049f65116a",
        "109116bb2f751d84a9ce89ac40c45e76c0aa462c"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jan 26 13:55:57 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 13:55:57 2012 -0800"
      },
      "message": "Merge \"Fix bugs with unsigned rsAtomicCas/Max/Min.\""
    },
    {
      "commit": "109116bb2f751d84a9ce89ac40c45e76c0aa462c",
      "tree": "1e2c530a23c0383fcc56b5da2571ddc62352c774",
      "parents": [
        "fb9ffe02609c9c4ffca64927e72bc935cfe87768"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Jan 25 18:17:34 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Jan 25 18:17:34 2012 -0800"
      },
      "message": "Fix bugs with unsigned rsAtomicCas/Max/Min.\n\nBUG\u003d5888007\n\nrsAtomicMax/Min did not have proper semantics for unsigned integers. They were\nalways using signed comparisons. rsAtomicCas had the wrong function signature\nin our math library, leading to no way to properly link/execute it.\n\nChange-Id: I336cdd8cd9f2d8093f12e101b55b2797515f039b\n"
    },
    {
      "commit": "5ff9df658230d49e42c43586997a02d8e4dd417e",
      "tree": "4b6f2b97036285bd8e114c2f476bcfd0c812d4c9",
      "parents": [
        "36d7549181af397cfaf879f46e407e762e0e8cba"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 23 17:09:05 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 23 17:09:05 2012 -0800"
      },
      "message": "Add full support for Canvas.setDrawFilter()\n\nChange-Id: I0ad35d0603c4eeda469014803be14c1dcdde918c\n"
    },
    {
      "commit": "22d418437e44587cb0fba4353515719453269189",
      "tree": "dbebce7f76ba71031a68fd39fc7299edd862f08c",
      "parents": [
        "90bd18737a5ce16708003363683744cfd0480d83"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 19 18:33:25 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 19 18:33:25 2012 -0800"
      },
      "message": "Fix the build, for real\n\nChange-Id: I6263f7e5e3ae2f7efe045f8b464c0ed1b87fc793\n"
    },
    {
      "commit": "4785a6ff8d48f51813611f2cab998b235ce2bbca",
      "tree": "746b2e1deb9af261392e32966bb05c16d03fd37d",
      "parents": [
        "170bfe32ab8971805d56f8870758cbc46060d1ef",
        "671d6cf460531825a321edb200523d0faa7792c9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 18 18:01:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 18:01:34 2012 -0800"
      },
      "message": "Merge \"Full support for Canvas.drawPosText\""
    },
    {
      "commit": "671d6cf460531825a321edb200523d0faa7792c9",
      "tree": "7fde21ba8f48911629c3dd67a1138bd6a569c084",
      "parents": [
        "fb9ffe02609c9c4ffca64927e72bc935cfe87768"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 18 12:39:17 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 18 18:00:12 2012 -0800"
      },
      "message": "Full support for Canvas.drawPosText\n\nThis also introduces a small optimization when rendering text.\n\nChange-Id: Iff620ac97bf878eaac406bccc6daa07052c93890\n"
    },
    {
      "commit": "b41c96a374134c84558291fbb532fe490386a4ba",
      "tree": "627c5cd1576ab1bfff4a7011ed53d19a7b5d642a",
      "parents": [
        "1ad65e7054fa757b6c909550691d849fcb43e8b9",
        "43fda84e91b1fe356af35386d2f304d3ab71529e"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Wed Jan 18 13:21:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 18 13:21:51 2012 -0800"
      },
      "message": "am 43fda84e: am 6ad9ea7d: Merge \"update overview page for rs api docs to open iframe links in parent\" into ics-mr1\n\n* commit \u002743fda84e91b1fe356af35386d2f304d3ab71529e\u0027:\n  update overview page for rs api docs to open iframe links in parent\n"
    },
    {
      "commit": "eb9a5367e8f0e970db8509ffb2584f5376bc62ed",
      "tree": "b1edb8a663363a150fa25545f035372defbe7b70",
      "parents": [
        "d1d4bb70704e8f37d0823837eacdae21ebe0ed05"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 17 17:39:26 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 17 17:39:26 2012 -0800"
      },
      "message": "First pass at implementing Canvas.drawPosText() in GL\n\nChange-Id: Ia3ac347e95d57eb86c63045156c8dbc0572b03cb\n"
    },
    {
      "commit": "d36f7d249591559e713a8ca45c6d452c14c94895",
      "tree": "db8797e003da02474de2c9147af1562f1000beb0",
      "parents": [
        "1e80869133924e1ffff5c10ca787da303fd0b53d",
        "6b4cf07cab1374d71c07d0b70666ad2d781d5be7"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jan 13 13:57:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 13:57:24 2012 -0800"
      },
      "message": "Merge \"Add support for new root.expand() calls.\""
    },
    {
      "commit": "1e80869133924e1ffff5c10ca787da303fd0b53d",
      "tree": "4c354abe54c717ec7c52c6a607947e5f57e70ea3",
      "parents": [
        "fcbbaf1d837e96e77d0ec45a050e8a41060ae7f3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 19 13:55:34 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 13:45:39 2012 -0800"
      },
      "message": "Get AID_GRAPHICS from right place\n\nChange-Id: I97b1754dc7260fec083275c71a8f71ebfb2cefa8\n"
    },
    {
      "commit": "2eeb53c1555128bdc810c5457d82b447e53cf926",
      "tree": "f206745f2310516e979a9c7bac2c0d9deb003a6a",
      "parents": [
        "62472581c30a3202b7bbd86e644b4346d5a4e65c"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 10:18:19 2012 -0800"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 10:18:43 2012 -0800"
      },
      "message": "update overview page for rs api docs to open iframe links in parent\n\nChange-Id: Ic0aa77192fa19b045a7fd9df5926255511fdc3be\n"
    },
    {
      "commit": "0272f1dfd797f44db7b528f0f2c0b19b200256a6",
      "tree": "a00521e6cec17c38eacf298212d5e6fb6a4e8171",
      "parents": [
        "dacbf67ab915fa8b987f6fb9f044160af92652cd"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 10:07:20 2012 -0800"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 10:07:20 2012 -0800"
      },
      "message": "cherrypick from master - add overview description for RS API reference Change-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\n\nChange-Id: Iff4b4bd171818208bb3be46dd3ef7e91b6cbd80f\n"
    },
    {
      "commit": "6b4cf07cab1374d71c07d0b70666ad2d781d5be7",
      "tree": "037ce84414aa6687756da29f4d06431739881e38",
      "parents": [
        "a9830d430ac36e22b53a1c2d405e4315396a8ab7"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jan 12 18:56:23 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jan 12 18:56:43 2012 -0800"
      },
      "message": "Add support for new root.expand() calls.\n\nBUG\u003d5444144\n\nChange-Id: I9ab942561a03e9f837a3199457259bb3e07ac76f\n"
    },
    {
      "commit": "0db7590ed2785cfa8973dbcb6b93627ea02774ce",
      "tree": "4371c3f854095cee97dec40f23b7713c40c611f0",
      "parents": [
        "7e9a3706d9236be563341cf076ddd41098e161ea"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 06 15:54:37 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jan 11 22:03:41 2012 -0800"
      },
      "message": "remove dead/usnused code\n\nChange-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e\n"
    },
    {
      "commit": "ec193dec4d9ca2cfc8295c4becfe950a906a15ed",
      "tree": "c93578b9568a1b9f5b7b4b3d20732857d4e3a6c4",
      "parents": [
        "5c17a820f9e46e0756c11795b3e6f89105f2f539"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Jan 09 18:35:44 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Jan 09 21:36:22 2012 +0000"
      },
      "message": "Rename LOG_ASSERT to ALOG_ASSERT  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157519\n\nBug: 5449033\nChange-Id: I8ceb2dba1b031a0fd68d15d146960d9ced62bbf3\n"
    },
    {
      "commit": "3762c311729fe9f3af085c14c5c1fb471d994c03",
      "tree": "7d4caccad80ac7327c7bff96dafc857d5f4631ad",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "8564c8da817a845353d213acd8636b76f567b234",
      "tree": "71acbd8ace822c769aef917629bf5a079f63274d",
      "parents": [
        "c42e6a0bed2c88fd03466c5104d62d7f98e68768"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    },
    {
      "commit": "d4a69b4a1cb5b52035345abd8cb9595ae4cf9fa5",
      "tree": "37611fad9b9cde629eac0f20ceb7684cddf47f0b",
      "parents": [
        "a4ad2928eb47974e922191dd008dfa98e3711ca0",
        "c511bee87cda99a252d1a62487f47c8f05aee78c"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Jan 05 15:18:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 05 15:18:52 2012 -0800"
      },
      "message": "Merge \"Fix bug #5753006 Garbled Labels in Maps\""
    },
    {
      "commit": "bd47cac4dfc8440a848b33107cba1d6773f3e124",
      "tree": "90def33029a99f96318ef4661203f24cce060f07",
      "parents": [
        "c726ff02c7749f134885decadd2ea86877119c3d",
        "6215d3ff4b5dfa52a5d8b9a42e343051f31066a5"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 14:07:02 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 05 14:07:02 2012 -0800"
      },
      "message": "Merge \"Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)  DO NOT MERGE\""
    },
    {
      "commit": "c511bee87cda99a252d1a62487f47c8f05aee78c",
      "tree": "5a1586e33205499fcbf2f9437dc5046ab5c6d834",
      "parents": [
        "2853041e6a5b848824a4e518a5d41cb334855302"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Jan 05 13:30:54 2012 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Jan 05 13:30:54 2012 -0800"
      },
      "message": "Fix bug #5753006 Garbled Labels in Maps\n\n- it was a regression introduced into this CL: https://android-git.corp.google.com/g/#/c/154240/5\n- basically needed to set the GlyphID encoding to the Skia Paint as we are now using glyphID resulting\nfrom the Harfbuzz shaping\n- also define GlyphID encoding as the default on the Paint class\n\nChange-Id: Idb7c2c57ac67595425ce3be9421258962690fcdd\n"
    },
    {
      "commit": "a8719ad9d53d3fe51e8031b2471e9558b8ef727f",
      "tree": "b64e560b500236cbe7f9f31b26a5c5f2032373e7",
      "parents": [
        "9a03482c66b2f5c30c7fde38216239a1f233df02",
        "e80a4ccd2bac7bf121441e257044f5813e85180f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 05 07:38:29 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 05 07:38:29 2012 -0800"
      },
      "message": "Merge \"Use the standard CC_LIKELY and CC_UNLIKELY macros\""
    },
    {
      "commit": "e80a4ccd2bac7bf121441e257044f5813e85180f",
      "tree": "795c33992f702be01aac2ffbfb652408168d9b26",
      "parents": [
        "7c48707a9d320230452d5937239f28ab0ea2e695"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 15 09:51:17 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 05 07:33:45 2012 -0800"
      },
      "message": "Use the standard CC_LIKELY and CC_UNLIKELY macros\n\nSeveral source files privately defined macros LIKELY and UNLIKELY in terms\nof __builtin_expect. But \u003ccutils/compiler.h\u003e already has CC_LIKELY and\nCC_UNLIKELY which are intended for this purpose.  So rename the private\nuses to use the standard names.\n\nIn addition, AudioFlinger was relying on the macro expanding to extra ( ).\n\nChange-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873\n"
    },
    {
      "commit": "6215d3ff4b5dfa52a5d8b9a42e343051f31066a5",
      "tree": "fa31802ed64676368447b67d20567fc1e806c79d",
      "parents": [
        "c9c76a82c6d0bf2362044d899013832882f32c94"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156801\n\nBug: 5449033\nChange-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea\n"
    },
    {
      "commit": "5baa3a62a97544669fba6d65a11c07f252e654dd",
      "tree": "109755e1595b438873d34b981e31f84ea64bd2a5",
      "parents": [
        "173ab4d61077c49f115b82eff34f97fda5a7273a"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\n"
    },
    {
      "commit": "82bc7a772747fcf8a6fe7097f70bf2981429ffe9",
      "tree": "c4991ea3e2f27ab029616ab2f87ce6413b639e0d",
      "parents": [
        "b8f90a0e6eae582778bbe10b6347acbf5fc69bfb"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 03 14:13:39 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 03 14:14:55 2012 -0800"
      },
      "message": "Properly restore the GL scissor after a GL draw functor\nBug #5781254\n\nChange-Id: I1dc4809563a793b6b579814951d4d73b4c34bf32\n"
    },
    {
      "commit": "0faa05563992fd4b3632df50921a9c612378a049",
      "tree": "08a55b373b2b31590ab57f639e8581834e12bc6a",
      "parents": [
        "f15784a5efc3e615621db8efd0053a83bfb7c253",
        "9a8245629d69d81e0b62e52970feaf9c02580e75"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Sat Dec 17 10:20:14 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 17 10:20:14 2011 -0800"
      },
      "message": "Merge \"De-allocate caches for large glyphs when trimming memory\""
    },
    {
      "commit": "9a8245629d69d81e0b62e52970feaf9c02580e75",
      "tree": "3aa17c76e6a1b2d4abde5bfe75640c2dcc08d5d9",
      "parents": [
        "6a6da2c9719c6942246d50833e04ee48f9fb2b03"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Dec 16 15:44:59 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Dec 16 15:44:59 2011 -0800"
      },
      "message": "De-allocate caches for large glyphs when trimming memory\n\nCurrently, font renderers eliminate some texture caches when\nmemory is trimmed. This change makes it go further by eliminating the\nlarge-glyph caches for all font renderers. These caches are\nonly allocated as needed, but continue to consume large amounts of\nmemory (CPU and GPU) after that allocation. De-allocating this memory\non a trim operation should prevent background apps from holding onto\nthis memory in the possible case that they have allocated it by drawing\nlarge glyphs.\n\nChange-Id: Id7a3ab49b244e036b442d87252fb40aeca8fdb26\n"
    },
    {
      "commit": "1b678528237d4eea623840ce3ba5520c59ca4b2c",
      "tree": "efdcb8d7bcfbdde7962d153721b88e9206f5588a",
      "parents": [
        "cca5b116dbf05942fae0fa4fedd278c8b2e84c19",
        "c17d9b75b636e2db164ec4213252b06cfb474924"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 16 14:35:16 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 14:35:16 2011 -0800"
      },
      "message": "Merge \"Fix invalid madvise() during concurrent alloc/dealloc of MemoryDealer\""
    },
    {
      "commit": "0904c203c4c56e43f723522351b7a3bc304196ef",
      "tree": "d7b5dc8f7f0e36e26c54df4067a0d04390bbd1ce",
      "parents": [
        "77aba791ac2a9b72632d52d5f6af3bb93334088d",
        "2a47c14e2a6f152496b43104bc785c488583fd59"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Dec 16 06:49:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 06:49:59 2011 -0800"
      },
      "message": "Merge \"Fix issues from recent glyph caching change\""
    },
    {
      "commit": "2a47c14e2a6f152496b43104bc785c488583fd59",
      "tree": "9cddf26e743b5c6fe83f3b57d89840433883da88",
      "parents": [
        "dd73df35b84007b1735a45577560912434246aae"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Dec 14 15:22:56 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Dec 15 15:43:02 2011 -0800"
      },
      "message": "Fix issues from recent glyph caching change\n\nThere were 2 issues remaining after a recent change to support\nglyph caching from multiple textures:\n- memory in the GPU for all textures was being allocated automatically.\nThis is now lazy, being allocated only when those textures are first\nneeded.\n- filtering (applied when a rendered object is transformed) was ignoring\nthe new multiple-texture structure. Filtering should be applied correctly\nwhenever we change textures.\n\nChange-Id: I5c8eb8d46c73cd01782a353fc79b11cacc2146ab\n"
    },
    {
      "commit": "8f85e80b64b89fd38cc23b129f61ec36ddde7f15",
      "tree": "bac2bd06357532f524277551c7606ad2471f7be8",
      "parents": [
        "2d4fd364843d3efc6e6ee59ccc5beb513a86d789"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 14 19:23:32 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 14 19:23:32 2011 -0800"
      },
      "message": "Generate even fewer GL commands\n\nChange-Id: I0f4dcacb03ef5ee7f6ebd501df98bfead5f0a7f8\n"
    },
    {
      "commit": "c17d9b75b636e2db164ec4213252b06cfb474924",
      "tree": "b9432bd98b915b2e8e9a02ba36ff675f31d45afd",
      "parents": [
        "17b289048766d6b101e70061fe5774ec8f370b55"
      ],
      "author": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Thu Dec 15 03:53:24 2011 +0900"
      },
      "committer": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Thu Dec 15 04:37:22 2011 +0900"
      },
      "message": "Fix invalid madvise() during concurrent alloc/dealloc of MemoryDealer\n\nCurrently, madvise(MADV_REMOVE) is called after deallocation.\nAnother thread might allocate (and even write) the same region between\ndeallocation and madvise(), in which case the new thread will fail to read\nwhat it have written.  So, call deallocate() after madvise(MADV_REMOVE).\n\nBug: 5654596\nChange-Id: I26f36cd6013de499090768a0ddc68206a4a68219\n"
    },
    {
      "commit": "2d4fd364843d3efc6e6ee59ccc5beb513a86d789",
      "tree": "e6314681f94a7fcd0355a5700ecf65d9e3e0c5bb",
      "parents": [
        "ec31f83bd3af1f900d1ee9116b15f56904c66dcd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 22:00:19 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 22:00:19 2011 -0800"
      },
      "message": "Reduce the number of active texture changes\n\nChange-Id: I94046bdfe20740c26c8183822e3002d692fde7c4\n"
    },
    {
      "commit": "ec31f83bd3af1f900d1ee9116b15f56904c66dcd",
      "tree": "ff764a7793f4114db8a0c30c8b16511df2daedf9",
      "parents": [
        "a1d3c91afbd52c7e8b01f4a9060c5459f02ae7a5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 18:39:19 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 18:41:12 2011 -0800"
      },
      "message": "\u003cInsert something improper about OpenGL\u003e\n\nChange-Id: Ib645376093838156771588adc76a718da0ceb0db\n"
    },
    {
      "commit": "a1d3c91afbd52c7e8b01f4a9060c5459f02ae7a5",
      "tree": "25fabe19bc7667a756c27aec7b541acee0f49def",
      "parents": [
        "e829bc0f0364e942bed01536d115a5c08d25d776"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 14:55:06 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 14:58:14 2011 -0800"
      },
      "message": "Further reduce the number of GL commands sent to the driver\n\nChange-Id: Id922b2a166ea4573b767c27d3195e11c70320b23\n"
    },
    {
      "commit": "e829bc0f0364e942bed01536d115a5c08d25d776",
      "tree": "4a0cb89d442820f6dd72a709587331a816ee64e2",
      "parents": [
        "ee4d45f3052c8d339035c4bb8eca9b7a724e5074",
        "7de0cb12d0e5fd64811da0b5d1ae0c0d58b86f86"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Dec 13 14:03:43 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 13 14:03:43 2011 -0800"
      },
      "message": "Merge \"Make glyph cache more flexible\""
    },
    {
      "commit": "7de0cb12d0e5fd64811da0b5d1ae0c0d58b86f86",
      "tree": "a6af39c2baaeaf820cb2ed31d96fecac51adaada",
      "parents": [
        "666e6d73c187ecaa771591f87b929c4dff4e84bc"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Dec 05 16:35:38 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Dec 13 13:41:58 2011 -0800"
      },
      "message": "Make glyph cache more flexible\n\nSome GPU architectures could not handle the previous implementation\nof our glyph cache. Frequent uploads would cause memory problems in the GPU\nand eventually a crash due to these memory issues. The solution is to move to\na system of several, smaller caches instead of one monolythic cache for all\nglyphs.\n\nChange-Id: I0fc7a323360940d16d5a33eeb33abfab194c5920\n"
    },
    {
      "commit": "15bc6437f8b4cf10dba55c7638d349e7b9563f4f",
      "tree": "18e054e26a43a757fec54387571ae2d1aadbea1c",
      "parents": [
        "5009f65c9a676b64869e638e08ec0294e20d7e6e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 13:11:32 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 13 13:11:32 2011 -0800"
      },
      "message": "Reduce the number of GL commands generated by the UI\n\nThis optimization along with the previous one lets us render an\napplication like Gmail using only 30% of the number of GL commands\npreviously required\n\nChange-Id: Ifee63edaf495e04490b5abd5433bb9a07bc327a8\n"
    },
    {
      "commit": "5009f65c9a676b64869e638e08ec0294e20d7e6e",
      "tree": "80ae684575c89499e1ce173e16ea0ffcac5e7749",
      "parents": [
        "4dbfa44a2164724914b451ab1d6d0af8c0e9d1be",
        "f3a910b423db7ad79cf61518bdd9278c048ad0d8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 20:36:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 20:36:22 2011 -0800"
      },
      "message": "Merge \"Optimize state changes\""
    },
    {
      "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": "da7642b31bb3490655016df979b0fad95425ac5f",
      "tree": "7e28d94fbfde05371c8c78d88d066e1a450ea105",
      "parents": [
        "51fbb009661e8eeb41730fe107179425e5392b6d",
        "d71dd367af604571c7d00ca473184a1b9240eca2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 19:04:40 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 19:04:40 2011 -0800"
      },
      "message": "Merge \"Minimize the amount of data uploaded to draw text\""
    },
    {
      "commit": "51fbb009661e8eeb41730fe107179425e5392b6d",
      "tree": "633d2a4607a50a5f228c07a88b32cf43ac584d1a",
      "parents": [
        "9751190b85a0e74c1f3bb99d23067149a0de88da",
        "39d252a6632d057d5077f7eaf1b8ed7a142f3397"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 19:04:32 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 19:04:32 2011 -0800"
      },
      "message": "Merge \"Various OpenGL optimizations\""
    },
    {
      "commit": "d71dd367af604571c7d00ca473184a1b9240eca2",
      "tree": "c39db3ed12ca360773e3ede3462bd86ce6c4c28c",
      "parents": [
        "39d252a6632d057d5077f7eaf1b8ed7a142f3397"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 19:03:35 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 19:03:35 2011 -0800"
      },
      "message": "Minimize the amount of data uploaded to draw text\n\nChange-Id: I6313ac039291c9cd93aadafe3566ad9d60cab42d\n"
    },
    {
      "commit": "39d252a6632d057d5077f7eaf1b8ed7a142f3397",
      "tree": "c840b4084ba7fb8be54b0d387953cc6a15decbdd",
      "parents": [
        "f44e66fcf70aa4a354deca72dfbd3b29c29302be"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 18:14:06 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 18:14:06 2011 -0800"
      },
      "message": "Various OpenGL optimizations\n\nChange-Id: Ib0742c96f10f5f50e7e5148b742c31b6c232d127\n"
    },
    {
      "commit": "d2ea737a1f28b43ce2e01686d64a5cf8243daa49",
      "tree": "63b16f052dc6bc3fba457ca74d2aacd12ebd7e90",
      "parents": [
        "ebb2c6b36da049b32c1dba6f14f16660d860eb09",
        "f44e66fcf70aa4a354deca72dfbd3b29c29302be"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 16:50:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 16:50:55 2011 -0800"
      },
      "message": "Merge \"Remove leftover debugging code\""
    },
    {
      "commit": "f44e66fcf70aa4a354deca72dfbd3b29c29302be",
      "tree": "a0ad778032fe70f89b07b55750c772f5edc84b79",
      "parents": [
        "3e263fac8c9c0e0fb242186b514a7af8efb40961"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 16:50:13 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 16:50:13 2011 -0800"
      },
      "message": "Remove leftover debugging code\n\nChange-Id: I1589af7991da36744071d5081daa24ebae5b4dfd\n"
    },
    {
      "commit": "ebb2c6b36da049b32c1dba6f14f16660d860eb09",
      "tree": "80805a5077913b048dbcc1ccfedfdde6605e989f",
      "parents": [
        "c1761e7fe10390d90b805f373b51ecaabf214dac",
        "3e263fac8c9c0e0fb242186b514a7af8efb40961"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 16:49:40 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 16:49:40 2011 -0800"
      },
      "message": "Merge \"Keep shaders to render properly\""
    },
    {
      "commit": "3e263fac8c9c0e0fb242186b514a7af8efb40961",
      "tree": "c4333a2489886c933172a5cd271c8bda0796324a",
      "parents": [
        "6752d0ab029a185a42e34e7a933b669e6ed19e89"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 16:47:48 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 16:47:48 2011 -0800"
      },
      "message": "Keep shaders to render properly\n\nI don\u0027t know who\u0027s to blame, SGX or Tegra2 but one of those two GPUs is not\nfollowing the OpenGL ES 2.0 spec.\n\nChange-Id: I2624e0efbc9c57d571c55c8b440a5e43f08a54f2\n"
    },
    {
      "commit": "f08403ba92999448512c4af7062fe30206e32dcf",
      "tree": "cd3a6d1c8e3ecd4cb2378a75b87ae79ec12bc17a",
      "parents": [
        "b2bf2471b1f0b4a76660e63f91a8de84cc643da8",
        "74e0fcaed1cd20ae8632224ff5a5404ff1a6e497"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Dec 12 16:10:28 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 16:10:28 2011 -0800"
      },
      "message": "am 74e0fcae: am a1dee3f5: Merge \"SurfaceTexture: fix a verbose-log compile error\" into ics-mr1\n\n* commit \u002774e0fcaed1cd20ae8632224ff5a5404ff1a6e497\u0027:\n  SurfaceTexture: fix a verbose-log compile error\n"
    },
    {
      "commit": "6752d0ab029a185a42e34e7a933b669e6ed19e89",
      "tree": "1aeae1aa8a3907412fd12521c99f19b629b53ba4",
      "parents": [
        "11326aa1b9482fefa0c0bdcb7e48cfeae6f9e33d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 12:15:17 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 12 12:15:17 2011 -0800"
      },
      "message": "Mark color uniform fetched after fetching it\n\nChange-Id: I10e8027018608070a536eb8b51c7a4272e37006c\n"
    },
    {
      "commit": "798b9cdf8ca6fdede46c7f697bed78756f9029f9",
      "tree": "765004b4a6aac101718cb6a6337d5663548018e8",
      "parents": [
        "720efc43d89ce9fd50b66f22cdb1bb4363cfb291"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Dec 09 15:07:44 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Dec 09 15:07:44 2011 -0800"
      },
      "message": "SurfaceTexture: fix a verbose-log compile error\n\nChange-Id: I045231207e068d950bb0cb5085717af5d9454ed1\n"
    },
    {
      "commit": "24edca8b526515979778e577191089a57f5277d7",
      "tree": "8974701bf7100ce56b1c13b47c3c4ada7af02181",
      "parents": [
        "05bbde70fd2a3af737656b9f8c5a25b56429632e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 09 13:08:06 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 09 13:08:06 2011 -0800"
      },
      "message": "Code cleanup\n\nChange-Id: If92e3addfc4d8546a60edcdea60a1fc89c27b680\n"
    },
    {
      "commit": "05bbde70fd2a3af737656b9f8c5a25b56429632e",
      "tree": "9bfe33e07e50af451260807d67606d1b75e692f8",
      "parents": [
        "9477c6e6581ce97976250951f33e1297604ac777"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 09 12:55:37 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 09 12:55:37 2011 -0800"
      },
      "message": "Free up resources by deleting shaders early on\n\nChange-Id: I29a39775732c0a48d3e6823f7afa3e741cae8541\n"
    },
    {
      "commit": "4a46ee57f10f4a121776cfc05143aa580a92b5e5",
      "tree": "8dc388e00447b5e284ddba27e925dba2e5652f45",
      "parents": [
        "7554c57c173352c0b3e9026b54fdda9fad101f8b",
        "6779df2c28a68616134b1988f009221652d9f2ad"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 07 14:15:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 07 14:15:21 2011 -0800"
      },
      "message": "Merge \"Improve the VSYNC api a bit.\""
    },
    {
      "commit": "6779df2c28a68616134b1988f009221652d9f2ad",
      "tree": "6e19f621e6306cdbcf49816df648e749dc384838",
      "parents": [
        "2b621bc5bb52339cc677beb89d0495b8b5d4f444"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 06 17:22:19 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 06 22:43:10 2011 -0800"
      },
      "message": "Improve the VSYNC api a bit.\n\n- add the ability to set the vsync delivery rate, when the rate is\nset to N\u003e1 (ie: receive every N vsync), SF process\u0027 is woken up for\nall of vsync, but clients only see the every N events.\n\n- add the concept of one-shot vsync events, with a call-back\nto request the next one. currently the call-back is a binder IPC.\n\nChange-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b\n"
    },
    {
      "commit": "f7f930480c75bcb57ae98d4a0fc59a3fb8e90e3d",
      "tree": "bd66a9ecbfb1efac52d1b0388356b552d9b01ae2",
      "parents": [
        "2b621bc5bb52339cc677beb89d0495b8b5d4f444",
        "4d322043ab695583a6741924b60c934fd9dc7e3e"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Dec 06 18:33:35 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 06 18:33:35 2011 -0800"
      },
      "message": "Merge \"NULL should not be const for RS.\""
    },
    {
      "commit": "4d322043ab695583a6741924b60c934fd9dc7e3e",
      "tree": "39ec43e6234bad98a0e446ecf8be6d43b859a08c",
      "parents": [
        "7da48db9c5c071cfc1c54a3709a02c1300dccd76"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Dec 06 16:47:32 2011 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Dec 06 16:47:32 2011 -0800"
      },
      "message": "NULL should not be const for RS.\n\nChange-Id: I24d96843c40f822bf064a0fa1fc0440b6bf0518d\n"
    },
    {
      "commit": "9c4b79af221b53f602f946faa9ff317a596a0c39",
      "tree": "134a3a19b685c55dc23a08ae8929fb292333f768",
      "parents": [
        "e98ae0a050d6ce4b3e2aec7c070a87922086c256"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 10 19:23:58 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Dec 06 16:37:10 2011 -0800"
      },
      "message": "Discard framebuffer rendering queues when discarding layers\nBug #5581817\n\nChange-Id: Ie30700a29059d2ea60eb7bd3f8bd20ac48a149ab\n"
    },
    {
      "commit": "7da48db9c5c071cfc1c54a3709a02c1300dccd76",
      "tree": "960648b93566fe5b23dac29d39137f0c03378383",
      "parents": [
        "315e468763c9601e2f06443fda847d2c9eb27a75",
        "8f9a9f61ab793d9387a5942b307e74324704893b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 05 11:56:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 05 11:56:09 2011 -0800"
      },
      "message": "Merge \"Clip text correctly Bug #5706056\""
    },
    {
      "commit": "8f9a9f61ab793d9387a5942b307e74324704893b",
      "tree": "999b4e35822f96473165bf861d5c7e908f19140f",
      "parents": [
        "cac5fd3e09e9dc918753d4aff624bf29a367ade3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 05 11:53:26 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 05 11:53:26 2011 -0800"
      },
      "message": "Clip text correctly\nBug #5706056\n\nA newly introduced optimization relied on the display list renderer\nto properly measure text to perform fast clipping. The paint used\nto measure text needs to have AA and glyph id encoding set to return\nthe correct results. Unfortunately these properties were set by\nthe GL renderer and not by the display list renderer. This change\nsimply sets the properties in the display list renderer instead.\n\nThis change also improves the error message printed out when the\napplication attempts to use a bitmap larger than the max texture\nsize.\n\nChange-Id: I4d84e1c7d194aed9ad476f69434eaa2c8f3836a8\n"
    },
    {
      "commit": "f0fef4f17bdf3e6ba2ef2d3bc0899e791837456b",
      "tree": "c571648487b189a76e2bf02e8961b70d3a440a61",
      "parents": [
        "0422ebfd97787538d52556f8d92b0876710d1186",
        "f1a4c48b886d53e2afceb0620215e3792af79fd5"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu Dec 01 22:08:20 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 01 22:08:20 2011 -0800"
      },
      "message": "am f1a4c48b: am e21dabf6: Merge \"Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.\" into ics-mr1\n\n* commit \u0027f1a4c48b886d53e2afceb0620215e3792af79fd5\u0027:\n  Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.\n"
    },
    {
      "commit": "e21dabf654e3d90e50e95174d5e9670bc930c194",
      "tree": "dbac517b6ca9b151605af1f929da336b4aef9cba",
      "parents": [
        "0d3a2e93394efa4729e5c29ff4515f9f2644b8c3",
        "045057087905e23c270715e9ae21de652caa2132"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu Dec 01 22:05:07 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 22:05:07 2011 -0800"
      },
      "message": "Merge \"Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.\" into ics-mr1"
    },
    {
      "commit": "cac5fd3e09e9dc918753d4aff624bf29a367ade3",
      "tree": "6d1db0b5ed0cf9ce616f7e8d969da81f7f606b66",
      "parents": [
        "d21b6e1fe337b35f62cf2028e9bd0637fd009a75"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Dec 01 20:08:50 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Dec 01 20:08:50 2011 -0800"
      },
      "message": "Faster text clipping\n\nChange-Id: I03a00c4261d81a416b1ad7b86ce2d432c71908b4\n"
    },
    {
      "commit": "045057087905e23c270715e9ae21de652caa2132",
      "tree": "ab70aa87e4bb6968085b920cb6ac55ad43df7cd6",
      "parents": [
        "88f10c6ce5a97b1990934148deb8ed6aa6ef7a48"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu Dec 01 17:11:32 2011 -0800"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu Dec 01 17:11:32 2011 -0800"
      },
      "message": "Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.\n\nI/valgrind( 1309): \u003d\u003d1310\u003d\u003d Syscall param\nioctl(BINDER_WRITE_READ).read_buffer points to uninitialised byte(s)\nI/valgrind( 1309): \u003d\u003d1310\u003d\u003d    at 0x480E670: __ioctl (__ioctl.S:10)\nI/valgrind( 1309): \u003d\u003d1310\u003d\u003d  Address 0xbda651b4 is on thread 1\u0027s stack\n\nChange-Id: I02893df7b5786b6b2dbd9659f5706d7171295ab2\n"
    },
    {
      "commit": "976ae27270a64c5abeb380d6e61d6d71f29b9433",
      "tree": "5334a078004d38af765ba9f2cf81f99868e6506e",
      "parents": [
        "335c4e6cb2094c7cbd6039e0c7915702b69e7657"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Nov 22 19:43:58 2011 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Dec 01 16:37:00 2011 -0800"
      },
      "message": "Add support for handling a bitcode wrapper to librs.\n\nBUG\u003d5425905\n\nChange-Id: I75676060703df6d9043b287fea900c4379455ee2\n"
    },
    {
      "commit": "d21b6e1fe337b35f62cf2028e9bd0637fd009a75",
      "tree": "8831d34e2dd0335c158c2aa12bee68452745c8c5",
      "parents": [
        "28147b654bba8ae2b7976e58aa7869255e436b0b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 30 20:21:23 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 30 20:21:23 2011 -0800"
      },
      "message": "Optimize away unnecessary state changes\n\nChange-Id: I0f6816f9f6234853575ecee5033186ad19e76380\n"
    },
    {
      "commit": "993b2099cee5c3ad86a5fbbd29194994336187be",
      "tree": "418b272f4f123457611c33146a53cf5ad3abb0fb",
      "parents": [
        "df96385b9acf9ec74c62edc34ffa9c8d9dae1c03",
        "55d3880eed3450748eb7b97281e030902ee29c2a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 30 10:50:52 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 10:50:52 2011 -0800"
      },
      "message": "am 55d3880e: am bb1e7d43: Merge changes I7e973a35,Ib3386fcc into ics-mr1\n\n* commit \u002755d3880eed3450748eb7b97281e030902ee29c2a\u0027:\n  SurfaceTexture: add EGL_KHR_fence_sync option\n  SurfaceTexture: add a blit-to-FBO test\n"
    },
    {
      "commit": "77cec6132aea6ed98812125f5ad5f79e889cf658",
      "tree": "57535ce4ed1806290cb04f8434d324dec7995df2",
      "parents": [
        "d6c938f04ec1e39dcbcf4d5adfcbdfbac0484540"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 14 14:51:01 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 29 17:09:01 2011 -0800"
      },
      "message": "SurfaceTexture: add EGL_KHR_fence_sync option\n\nThis change adds a compile-time option for SurfaceTexture to use the\nEGL_KHR_fence_sync extension to synchronize access to Gralloc buffers.\n\nBug: 5122031\nChange-Id: I7e973a358631fff5308acf377581b811911fe790\n"
    },
    {
      "commit": "d6c938f04ec1e39dcbcf4d5adfcbdfbac0484540",
      "tree": "9acd90f3ac1bd34dd53ec287e8ceaf4b14a0d9e8",
      "parents": [
        "be6ab576ff0e3bf2a8dc3feee6f476061afbda30"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Nov 11 18:05:11 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 29 14:52:36 2011 -0800"
      },
      "message": "SurfaceTexture: add a blit-to-FBO test\n\nThis change adds a test for blitting (via GL rendering) from a\nSurfaceTexture to an FBO.\n\nChange-Id: Ib3386fcc3f37153277f3e37a26347441bb80ab58\n"
    },
    {
      "commit": "79f39eb46055282c86815853ad94a1e01ca6675f",
      "tree": "3853d9c0c5b1877a390178558e77dd7b6c31ad75",
      "parents": [
        "f9e88fbee04f83638b07546741196bd4c242ef54"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 17 17:49:17 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 13:10:25 2011 -0800"
      },
      "message": "Add support for sending VSYNC events to the framework\n\nuse gui/DisplayEvent to receive the events. Events are\ndispatched through a unix pipe, so the API is compatible\nwith utils/Looper. see gui/DisplayEvent.h for more info.\n\nBug: 1475048\nChange-Id: Ia720f64d1b950328b47b22c6a86042e481d35f09\n"
    },
    {
      "commit": "f9e88fbee04f83638b07546741196bd4c242ef54",
      "tree": "a0b0da85f2411f6a025637cd082f1efced6790e5",
      "parents": [
        "e11ec1df421be0b1a18fd3cf6ec23361d86ca32a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 13:07:24 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 13:07:40 2011 -0800"
      },
      "message": "Fix build.\n\nRevert \"Add support for sending VSYNC events to the framework\"\n\nThis reverts commit f3918c5bd4bc9f02f74da42995564150ca2dd382.\n\nChange-Id: I998e3e1aa3fa310829ae973b64fe11b01f6f468f\n"
    },
    {
      "commit": "aa2892edc7bb2b915771679d9811ec54a26db366",
      "tree": "49c0dc6ac659e69b4a2b7c4c439d60b7d759e3e6",
      "parents": [
        "1e773932a1658128b80508f081de3c80655465d2",
        "f3918c5bd4bc9f02f74da42995564150ca2dd382"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 11:47:03 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 11:47:03 2011 -0800"
      },
      "message": "Merge changes If4126023,Iacda2386,I1eb691f7,Ib56139f8\n\n* changes:\n  Add support for sending VSYNC events to the framework\n  BitTube::read now handles EAGAIN\n  split ComposerService out of SurfaceComposerClient.h\n  rewrite SF\u0027s message loop on top of Looper\n"
    },
    {
      "commit": "f3918c5bd4bc9f02f74da42995564150ca2dd382",
      "tree": "9f8a1bb871b9b5a7571a6a9cbc65d539ac947b92",
      "parents": [
        "bb9ba8bae551305acba4f60577b0f461a9421bc5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 17 17:49:17 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 11:44:05 2011 -0800"
      },
      "message": "Add support for sending VSYNC events to the framework\n\nuse gui/DisplayEvent to receive the events. Events are\ndispatched through a unix pipe, so the API is compatible\nwith utils/Looper. see gui/DisplayEvent.h for more info.\n\nBug: 1475048\nChange-Id: If4126023fc9c067e56087ec7d16a8fd542ce1794\n"
    },
    {
      "commit": "bb9ba8bae551305acba4f60577b0f461a9421bc5",
      "tree": "8a4ccf7b3a0a92232933f55dd2ab4ac591bc803e",
      "parents": [
        "3f15700a012b1ab0097eaf90caf0540ba6caa529"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 11:42:32 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 29 11:42:59 2011 -0800"
      },
      "message": "BitTube::read now handles EAGAIN\n\nChange-Id: Iacda2386342ba0727bbf278f6c597488d5467bb8\n"
    },
    {
      "commit": "cb52d6760078197cd6d0c16349348dd2ad16a88c",
      "tree": "bbce61abcabc4031bcef8783ecba3280975d4b0f",
      "parents": [
        "748025579912f92609cadd71786805e10281858d",
        "02e88f23a65c602e83d7a46c0925e653b948e418"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 28 16:11:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 28 16:11:27 2011 -0800"
      },
      "message": "am 02e88f23: am 46685db9: Merge \"Fix crash in existing applications Bug #5659476\" into ics-mr1\n\n* commit \u002702e88f23a65c602e83d7a46c0925e653b948e418\u0027:\n  Fix crash in existing applications Bug #5659476\n"
    },
    {
      "commit": "46685db957cc01cef4ba198aafe44d99fe31f62c",
      "tree": "0a04fceefb38ca16d539c917fa3a8143b213da17",
      "parents": [
        "da822367886d68f997153c7edd5368f3dfb6d58d",
        "ff98fa5a847f66e591287154c634ef7895a9549c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 28 16:06:52 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 28 16:06:52 2011 -0800"
      },
      "message": "Merge \"Fix crash in existing applications Bug #5659476\" into ics-mr1"
    },
    {
      "commit": "d3ea6b40bb8f0fbc2a877963db1ab4fa0fc02b2f",
      "tree": "2f0be21ad21c6efc24597d5cadbadd5645da091c",
      "parents": [
        "589364c7179e764f4e8b9c0d53f45a1abf528aa8",
        "3892889952b0ad3fa0b095c96d8ae2ae110585e2"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Nov 28 15:47:16 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 28 15:47:16 2011 -0800"
      },
      "message": "am 38928899: am 8990cb57: Merge \"Fix flashing wifi dialog after rotating back from landscape.\" into ics-mr1\n\n* commit \u00273892889952b0ad3fa0b095c96d8ae2ae110585e2\u0027:\n  Fix flashing wifi dialog after rotating back from landscape.\n"
    },
    {
      "commit": "3f15700a012b1ab0097eaf90caf0540ba6caa529",
      "tree": "548cf135dc366cfd34e430024e89b8e0b58a35b4",
      "parents": [
        "16aca5197244f9066968658735611a0dbbe46403"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 17 17:48:35 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 28 15:21:57 2011 -0800"
      },
      "message": "split ComposerService out of SurfaceComposerClient.h\n\nChange-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6\n"
    },
    {
      "commit": "08837c246c9c27902c59b41c8661c2f27a4aa2bc",
      "tree": "ef44ddbbbe0ffe253fff53baa2701d8c747db570",
      "parents": [
        "425c595acb798ed9652b5a1f0e5412cbd8e3873d"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Nov 28 11:53:21 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Nov 28 15:19:22 2011 -0800"
      },
      "message": "Fix flashing wifi dialog after rotating back from landscape.\n\nThere was an error in some of the OpenGL layer logic such that we would\noccasionally set up a layer for rendering and then not clean up when it was\ndone. This caused future OpenGL rendering to go into that layer instead of\nto the buffers being displayed on the screen, resulting in artifacts including\nflashes and displaying of stale content. This happened specifically when\nusing the wifi settings dialog with the InputMethod keyboard displayed,\nbut it was probably visible in other situations as well.\n\nIssue #5628248: Flickering/flashing after entering password for WiFi\n\nChange-Id: I38139f620b310f4309570fa7224552d2ee633999\n"
    },
    {
      "commit": "ff98fa5a847f66e591287154c634ef7895a9549c",
      "tree": "87df4b0743e2b8b8d80ef85eaaa93bdad6f3eecf",
      "parents": [
        "e35581ad5ad635f9dcfe4ab6a432c48b46b782cd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 28 09:35:09 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 28 14:55:56 2011 -0800"
      },
      "message": "Fix crash in existing applications\nBug #5659476\n\nThe FontRenderer was not cleaning up its temporary state, leading\nto crashes when invoking renderDropShadow.\n\nChange-Id: I43b24820dd5625af8c080bbe11b64de2f74164b2\n"
    },
    {
      "commit": "12be3fff12e5c55193867f49e13169b9400b2997",
      "tree": "fbc630524bfb174e5741b6ea47c8063988afa310",
      "parents": [
        "b145ae9eca9c6a998d15915b17346d35991ad0af"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Sun Nov 27 08:41:23 2011 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Sun Nov 27 08:42:11 2011 +0800"
      },
      "message": "Remove dead code.\n\nChange-Id: I2838a40026291e7345b07911af3ba17278b63ffe\n"
    },
    {
      "commit": "8a743d90a973e4fcf52093f2a89a5c049b626480",
      "tree": "4b9cef02449deff2fb8e2e1bf7dc2d07aaeb84be",
      "parents": [
        "e7d17220be8e20523ffd1c9855f3d389d9ef22ee",
        "9d61edcc0fd960f227aa0c4b8e20b05dea2aca19"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 23 15:32:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 23 15:32:09 2011 -0800"
      },
      "message": "Merge \"Add a basic hashtable data structure, with tests!\""
    },
    {
      "commit": "e7d17220be8e20523ffd1c9855f3d389d9ef22ee",
      "tree": "ef52f95323ad3333cc239fa082dccb7195e6d23a",
      "parents": [
        "08e74ba8b05573d0acddc51d09a2554b29a62dbc",
        "09ee7c80eabe0d92119ea0ffff949109602b5833"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Nov 23 13:58:13 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 23 13:58:13 2011 -0800"
      },
      "message": "Merge \"Add support for handling a bitcode wrapper to librs.\""
    },
    {
      "commit": "09ee7c80eabe0d92119ea0ffff949109602b5833",
      "tree": "0cbefe33f8df5cfac9bdc0cf766bfdcb5f78348a",
      "parents": [
        "fc6cf2888426f5192b9f284d14b911f3bbc7c2fb"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Nov 22 19:43:58 2011 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Nov 22 20:10:45 2011 -0800"
      },
      "message": "Add support for handling a bitcode wrapper to librs.\n\nBUG\u003d5425905\n\nChange-Id: I75676060703df6d9043b287fea900c4379455ee2\n"
    },
    {
      "commit": "9d61edcc0fd960f227aa0c4b8e20b05dea2aca19",
      "tree": "61daffde4cf87f4a1af612ccd93e291731215c99",
      "parents": [
        "b1e72b6826455a19a80dab14612da7f22e0e1a75"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 14 18:29:15 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 22 17:12:22 2011 -0800"
      },
      "message": "Add a basic hashtable data structure, with tests!\n\nThe basic hashtable is intended to be used to support a variety\nof different datastructures such as map, set, multimap,\nmultiset, linkedmap, generationcache, etc.\n\nConsequently its interface is fairly primitive.\n\nThe basic hashtable supports copy-on-write style functionality\nusing SharedBuffer.\n\nThe change introduces a simple generic function in TypeHelpers for\nspecifying hash functions.  The idea is to add template\nspecializations of hash_type\u003cT\u003e next to the relevant data structures\nsuch as String8, String16, sp\u003cT\u003e, etc.\n\nChange-Id: I2c479229e9d4527b4fbfe3b8b04776a2fd32c973\n"
    },
    {
      "commit": "b1e72b6826455a19a80dab14612da7f22e0e1a75",
      "tree": "f824b11cf5eb377ccfb6e084169817e41e41a213",
      "parents": [
        "7e254a37d0beb1fe307ca45617fbe7cc394d275f",
        "77228be41788c1fc582e195d9b17f5eeb58ef6e9"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Tue Nov 22 16:21:45 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 22 16:21:45 2011 -0800"
      },
      "message": "Merge \"add overview description for RS API reference\""
    },
    {
      "commit": "dd39fdfe99a08b0bbb03eba8f32cad4018271def",
      "tree": "01ae28f76d5edc975ad53b881de6fd73d392af5b",
      "parents": [
        "ec99c62e8b7c223c86a89008219be6c78f14eab8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 22 12:49:11 2011 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Nov 22 13:17:18 2011 -0800"
      },
      "message": "Fix script init error handling.\n\nChange-Id: I7ceb0af4dfd12db0274985ff658f678d7af829ff\n"
    },
    {
      "commit": "ec99c62e8b7c223c86a89008219be6c78f14eab8",
      "tree": "417f6b4c61bf5da7127b01b3a5f3071ec0eb7936",
      "parents": [
        "c28e574037b2bfc8c2ea24593299aa20ae9078f8",
        "38a931fcd3e3d5f16082fe41317f427f25b8d279"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 22 12:57:08 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 22 12:57:08 2011 -0800"
      },
      "message": "Merge \"Use libcorkscrew to format the stack trace.\""
    },
    {
      "commit": "c28e574037b2bfc8c2ea24593299aa20ae9078f8",
      "tree": "38a75bdcc25887e4c9f2c640227fce4d2635079a",
      "parents": [
        "0ce49783083bf81cc1ea812e029fc94e1625a8fd",
        "a2fabf4a109d46f99ff7370aa05e48c1708c2838"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Nov 22 12:42:06 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 22 12:42:06 2011 -0800"
      },
      "message": "am a2fabf4a: am 303a0695: Merge \"Draw in the correct FBO after invoking a GL functor Bug #5650514\" into ics-mr1\n\n* commit \u0027a2fabf4a109d46f99ff7370aa05e48c1708c2838\u0027:\n  Draw in the correct FBO after invoking a GL functor Bug #5650514\n"
    },
    {
      "commit": "303a0695b8fa0b8f0095c437145a28633a7a8d92",
      "tree": "dd160fcabedd56f0be6c73850eec81672ef82cf9",
      "parents": [
        "26dd54f87c1daaa369576d9abea823c8105bd702",
        "421458aad764cd9d1403d2540ab979b336b02341"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Nov 22 12:33:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 22 12:33:17 2011 -0800"
      },
      "message": "Merge \"Draw in the correct FBO after invoking a GL functor Bug #5650514\" into ics-mr1"
    },
    {
      "commit": "77228be41788c1fc582e195d9b17f5eeb58ef6e9",
      "tree": "59ea57ef25136ec0691fed9673130df3e04dfcaa",
      "parents": [
        "75f9808e5544c69254ea6cf374469a3dd9042b7d"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Tue Nov 22 09:41:28 2011 -0800"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Tue Nov 22 09:45:16 2011 -0800"
      },
      "message": "add overview description for RS API reference\n\nChange-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\n"
    },
    {
      "commit": "4c6d112c169412d69702b65e54a3a788a55fd7d8",
      "tree": "67df5ae877fb8783a859b031b4e1dc70ff43e71d",
      "parents": [
        "29c18ca579f95716719d7664e037580725f3a519",
        "cc4d02e0cbb99341a0508838c88eeef53180fdfd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 21 21:08:47 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 21 21:08:47 2011 -0800"
      },
      "message": "am cc4d02e0: am 07a2d831: Merge \"don\\\u0027t report an error when disconnecting from an abandoned surfacetexture\" into ics-mr1\n\n* commit \u0027cc4d02e0cbb99341a0508838c88eeef53180fdfd\u0027:\n  don\u0027t report an error when disconnecting from an abandoned surfacetexture\n"
    },
    {
      "commit": "29c18ca579f95716719d7664e037580725f3a519",
      "tree": "2ca077135cd3e4ff4f7dd4632a65b5fb3f36f694",
      "parents": [
        "3526b00a53a2582a51ff8b98ac1400a48f351107",
        "8390cf39f8a4f74f7baa91d23cba06894a3fb9b5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 21 21:08:44 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 21 21:08:44 2011 -0800"
      },
      "message": "am 8390cf39: am 8646cd42: Merge \"enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices\" into ics-mr1\n\n* commit \u00278390cf39f8a4f74f7baa91d23cba06894a3fb9b5\u0027:\n  enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices\n"
    },
    {
      "commit": "07f062b6271e7ec820d1079566e7451a9cf55558",
      "tree": "57d9f1caf0e0ab9ed8d13a00f1391bdb7823edf7",
      "parents": [
        "53d42cb7d3c5c35b63363abbe9c44b8f6961afd4",
        "c25972950c2ea62fb085524dbe737c2bf0f08f4a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 21:08:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 21 21:08:21 2011 -0800"
      },
      "message": "am c2597295: am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ics-mr1\n\n* commit \u0027c25972950c2ea62fb085524dbe737c2bf0f08f4a\u0027:\n  SurfaceTexture: fix a couple tests\n  EGL: default to swap interval 1\n  SurfaceTexture: clean up some tests\n"
    },
    {
      "commit": "38a931fcd3e3d5f16082fe41317f427f25b8d279",
      "tree": "3114e43fdb8e001827bde69c701f8d83fb3823e6",
      "parents": [
        "fc6cf2888426f5192b9f284d14b911f3bbc7c2fb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 21 21:04:55 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 21 21:04:55 2011 -0800"
      },
      "message": "Use libcorkscrew to format the stack trace.\n\nChange-Id: I3a5439ada76bc77c2dd491eaed2272e16a811cc7\n"
    },
    {
      "commit": "07a2d831903774e07c1c6b6dd5c7c06bf8ca176a",
      "tree": "7b120ba029a7efaea3780ddad4149992dc303496",
      "parents": [
        "8646cd42df5edc5f5b9c52d6ab5309821e875656",
        "b05bb17eebe631637cf9fa3af00758e8159d6e8d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 21 17:57:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 21 17:57:31 2011 -0800"
      },
      "message": "Merge \"don\u0027t report an error when disconnecting from an abandoned surfacetexture\" into ics-mr1"
    },
    {
      "commit": "8646cd42df5edc5f5b9c52d6ab5309821e875656",
      "tree": "6434c3dc4ea983b856a0755cacd9d402e2a2d65e",
      "parents": [
        "8cd39e3a104d0739fd2f1ae73e5f4081f1528c6c",
        "e2fa30cba0c3412d07214dec346bb21a562d3461"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 21 17:57:20 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 21 17:57:20 2011 -0800"
      },
      "message": "Merge \"enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices\" into ics-mr1"
    },
    {
      "commit": "421458aad764cd9d1403d2540ab979b336b02341",
      "tree": "403620dc73a58422834e39e2ba04059ea1ed1274",
      "parents": [
        "7859c1842c1f2e3c43415dfb5337a0b005bdb1c4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 21 15:14:37 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 21 15:14:37 2011 -0800"
      },
      "message": "Draw in the correct FBO after invoking a GL functor\nBug #5650514\n\nAfter invoking a GL functor, libhwui restores a few OpenGL states\nincluding the current FBO. The renderer was however making the\nwrong assumption that the FBO to restore to was the base layer\ninstead of the FBO associated with the current canvas state.\n\nChange-Id: Ie565500832ebffd673f6a43b83422d6cc05470a0\n"
    },
    {
      "commit": "caa4482a6880d81281dc2d312aeb515a3af3f0a1",
      "tree": "d06843b2be4ca07a01d8477f975582b0c5b975aa",
      "parents": [
        "87f3265bb082160efdfdfb87a79698c67ebad447"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sat Nov 19 21:20:17 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 14:38:15 2011 -0800"
      },
      "message": "SurfaceTexture: fix a couple tests\n\nThis change fixes some robustness issues with the\nEglDestroySurfaceUnrefsBuffers and\nEglDestroySurfaceAfterAbandonUnrefsBuffers tests.  The tests previously\ndepended upon GL implementation details that should not have been relied\nupon.\n\nChange-Id: I37fd43b56568efe1dbe69d85e892be8a1cf44d20\n"
    },
    {
      "commit": "87f3265bb082160efdfdfb87a79698c67ebad447",
      "tree": "a9eb05cf1cb1a6d59d1dafe806c843aee10daa76",
      "parents": [
        "c10a94c4b8b42ef75168ad140fdb97d6cca3d2eb"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sat Nov 19 18:04:43 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 14:37:29 2011 -0800"
      },
      "message": "EGL: default to swap interval 1\n\nThis change explicitly sets swap interval 1 on the window when an\nEGLSurface is created to render to it.\n\nChange-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03\n"
    }
  ],
  "next": "c10a94c4b8b42ef75168ad140fdb97d6cca3d2eb"
}
