)]}'
{
  "log": [
    {
      "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": "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": "e88740e6264d829099d04bbe57d1ec2b14996c40",
      "tree": "bef49e54d8541fda96a8defd68807efa1573d662",
      "parents": [
        "274e03c90ee6054e81a16b1bd0a54258e08ddee9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Nov 13 23:52:47 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 14 19:05:45 2011 -0800"
      },
      "message": "rework a bit how we manage EGL extensions\n\n- don\u0027t advertise extensions that are not supported\n  by any implementation\n\n- remove EGL_ANDROID_swap_rectangle which is not\n  implemented by anybody and confuses people\n\n- add some comments about mandatory extensions\n\nBug: 5428001\nChange-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3\n"
    },
    {
      "commit": "222357f33a105ce08177b94334c7d14af29df8f6",
      "tree": "8025f52534c910fe5f54041ad48a0279a96256af",
      "parents": [
        "2ccc47b89868d4f39683e0e2bd057ce95d7d1217"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 04 18:46:11 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 04 18:46:11 2011 -0700"
      },
      "message": "workaround to set the WM refresh rate to 48 Hz for tuna devices only\n\nthis is TEMPORARY until we can do this properly.\n\nBug: 5572464\nChange-Id: I6537706d636a83a4a50e2900d6b829dd89b6f245\n"
    },
    {
      "commit": "919139247ccf5ade7c24ec1a9499a377be5498c2",
      "tree": "aca54f8ec378483be0d9a842261b2f4f1313c4bc",
      "parents": [
        "b946a56b696674f6d6f399f68df38ec18adebe87"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 22:18:55 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 10 22:18:55 2011 -0700"
      },
      "message": "fix an issue where the screen could stay off\n\nthis would happen when toggling on/off/on very fast, the screen\ncould stay black (while the panel is on).\n\nBug: 5429724\nChange-Id: Ic8aa6aff066e6267923c0d47ef65e314e7bb6d41\n"
    },
    {
      "commit": "edaab94c2bc5b131dabff440e7ff3dfde6a012b7",
      "tree": "d77e057787b89660b87434b1b4fb3e6a8c1fc1fa",
      "parents": [
        "94d2f366f971bc052da9856e9f8867094e738cd1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 05 15:00:22 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 05 15:00:22 2011 -0700"
      },
      "message": "Force a repaint when hwc invalidate hook is called\n\nwithout this prepare() would be called but not set() since the\ndirty region is empty.\n\nChange-Id: I038acfbdad4c16015357ccde4d1949391d6f989d\n"
    },
    {
      "commit": "1f29cbe8f4956941219a6e4a4312cad9715beed3",
      "tree": "94155352a858dfcacf3bffd2c8cf5960a4d550fd",
      "parents": [
        "acde31e124adaf29ce67491b8143a01ece889800"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 29 18:07:08 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 29 18:07:08 2011 -0700"
      },
      "message": "improve hwc log output\n\nwe now print the handle of each buffer\n\nChange-Id: I70884ae458a9dcf10cfc403258d48eaa4618b7f4\n"
    },
    {
      "commit": "c4f5d5a0dfb9adc3184eac75fc2c53a7df9e324a",
      "tree": "041d80e20267d621328114808a16496281ed71d5",
      "parents": [
        "fbc8b8861ce819cdac180fdf8d9f8ce3e82f3201"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 22 16:26:39 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 22 16:26:39 2011 -0700"
      },
      "message": "fix dumpsys wording for h/w composer\n\nChange-Id: Iaa1094964f2fb83da491e23b9309f7690079c17e\n"
    },
    {
      "commit": "88cde07df05c275da4e6d5746d79847eea723855",
      "tree": "e734ad7c273339d358b566b5377a91c0461aceca",
      "parents": [
        "d0f2f0d46114d4858cd1d3d5f6cff4f245f104b5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 20 17:21:56 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 20 17:53:33 2011 -0700"
      },
      "message": "fix transition from full overlays to fb\n\nwe need to clear the whole framebuffer in that situation because\nwe can\u0027t trust the content of the FB when partial (fb preserving)\nupdates are used.\n\nBug: 5318492\n\nChange-Id: I3f0e01b0fb665a34e44d88ad9f0f54a5d990060b\n"
    },
    {
      "commit": "880ac7a86501e72428b52228cc4b5003e866f5a9",
      "tree": "53eb85f9a2a97f14968558d0a1e1f568b04f8bf9",
      "parents": [
        "4d3e3c353306e63044d30724d5d8e8df4c146550"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 20 15:13:14 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 20 17:53:33 2011 -0700"
      },
      "message": "improve hwc dumpsys\n\nwe now log the buffer\u0027s format\n\nChange-Id: I9d3ad8018e884240a153de3baefb6331cb014d0f\n"
    },
    {
      "commit": "5bd1b2794b227e25fbd7e4c919bcefc3510e0761",
      "tree": "126c836c07209df2d44cb3db4b596841a0064fe1",
      "parents": [
        "4bacc9dc674792c745f362962883a19f4a35c88c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 09 00:49:11 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 09 00:49:44 2011 -0700"
      },
      "message": "Improve SF dumpsys output wrt HWC\n\nChange-Id: Ibdb7930fa3b521bfd3f44750ed98cfd75f9a01fe\n"
    },
    {
      "commit": "7f97258ab379b3bcf14846c4eb65022d2b39f390",
      "tree": "d96acd1fcde752558dce91615b8148db45ba7f34",
      "parents": [
        "a55c369e73a8864cc34290625acd16c68956c58a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 02 12:22:39 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 02 12:22:39 2011 -0700"
      },
      "message": "fix a bug that caused the off animation to not show sometimes\n\nthis happened when the overlays were in use, since the animation\nis rendered in the FB and the FB is not used.\n\nwe now have a way to turn hwc off temporarily.\n\nChange-Id: I3385f0c25bb9cc91948e7b26e7cd31ed18c36ace\n"
    },
    {
      "commit": "a0bd0d84555c8e503e05b60cd959406a47d76f70",
      "tree": "cdeb85440e2dd6fa9aeeeaf01cba6904de1976c7",
      "parents": [
        "34e1fb1ee229a7e033dcd42f4efd194e1614d5ce"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 01 16:32:21 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 01 20:48:05 2011 -0700"
      },
      "message": "Add a h/w composer API to allow the HAL to trigger a redraw\n\nThis is useful in various situations, for instance if the HAL\nwants to change its compositing strategy.\n\nBug: 4488017\nChange-Id: I5afc14e5917c6db7926d7417d48677d5aba50caa\n"
    },
    {
      "commit": "1861786a97209ed75010a54cca5167593dbfec21",
      "tree": "42aab3fccc20cd655d1d9ac4c1e6ad6108766ffa",
      "parents": [
        "0aaa30dc4859a8f181809eca13a6ec6ed61f3a9e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 06 16:35:30 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 08 14:37:05 2011 -0700"
      },
      "message": "Fix EGLUtils::selectConfigForPixelFormat()\n\n- renderscript now calls EGL directly instead of relying on this function\n- surfaceflinger also does its own EGLConfig selection\n- selectConfigForPixelFormat stays for legacy reason (many tests use it) but\nit now only tries to match the alpha channel of the format rather than the\nformat itself.\n\nthis will allow implementations who don\u0027t support the exact formats\ndefined in the HAL to work properly.\n\nBug: 4998223\n\nChange-Id: Ic664dfc14d5072a514b6f77a115d1521bfc1578f\n"
    },
    {
      "commit": "0c63ef5091def41e91a2202560c57b2f6caabfbe",
      "tree": "afd2477bdbd864d00fe5d7c9d8068686b6f11c61",
      "parents": [
        "23b444a2e4e808262c22fa5254db9861eb961879"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 17:08:43 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 17:09:24 2011 -0700"
      },
      "message": "don\u0027t kill surfaceflinger when system process dies\n\nChange-Id: I2d3ed87b590f9ccea3fa4af41d92911de070b315\n"
    },
    {
      "commit": "9cc5a4e97c69bfb6ab5a8b80d61b30680a20d3d6",
      "tree": "e84673241d1aa4c50f9a98ff26f04078f685df83",
      "parents": [
        "57127bd7c8e133a1dbdfdd7935f39af7da7c5a59",
        "1a338b35be31775a581c4dd4aab99b212d948cc8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 19 18:19:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 18:19:15 2011 -0700"
      },
      "message": "Merge \"remove support for console in SurfaceFlinger\""
    },
    {
      "commit": "1a338b35be31775a581c4dd4aab99b212d948cc8",
      "tree": "56fff98bf8bfca525a290cae364a04e089aee203",
      "parents": [
        "16f61049a872e80628c0004d75e184a6ddf73b02"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 18 16:25:40 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 18 18:09:53 2011 -0700"
      },
      "message": "remove support for console in SurfaceFlinger\n\nthe only supported screen management api now is\n/sys/power/wait_for_fb_{sleep|wake}\n\nChange-Id: I6c7d8d54843da4980b1b38ee3d46cf19be275240\n"
    },
    {
      "commit": "c94dce521b57763c6ace6cee206214fd476fe8f9",
      "tree": "4b756f471d09abf5ec88531935b2db0837d6a18a",
      "parents": [
        "16f61049a872e80628c0004d75e184a6ddf73b02"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 18 15:59:24 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 18 15:59:24 2011 -0700"
      },
      "message": "fix memory corruption when retriving GL_MAX_VIEWPORT_DIMS\n\nChange-Id: I2e0b1eac6dbc6a4ecbbaf31013aa02cf2369fce2\n"
    },
    {
      "commit": "d2112306330ce0c162bee4b864991962ca2b655a",
      "tree": "d169f93867e853220c40d38826fe81b4a1ad9eff",
      "parents": [
        "ff3c470778a69d262470e9707fce58dd485c6cc9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 19:38:17 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:13:59 2010 -0800"
      },
      "message": "remove support for PUSH_BUFFER surfaces and overlays\n\nthe same functionality is now supported through\nthe h/w composer HAL, and YUV support in the GPU.\n\nChange-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf\n"
    },
    {
      "commit": "94720d7ec40d2b5ee200d95a46588cdb0fb30e66",
      "tree": "48c53514ce6f4eb1012a38ec8fd9b422d7937897",
      "parents": [
        "882754e8cc5833e19696271d612b4b9eabcc5bb3"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Dec 01 16:38:01 2010 -0800"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Dec 08 15:40:11 2010 -0800"
      },
      "message": "surfaceflinger: add support for gralloc dump hooks\n\nChange-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c\n"
    },
    {
      "commit": "ac6f0cc317c3ee469a9e5b9c4e7db56c027b02c0",
      "tree": "6797b048d15a49a10b952aa37e3c4c2a54e24a97",
      "parents": [
        "6a6fbfb348c8f648a7615f5dae29de610c7c25f6",
        "fb31036fd844444c395a2ae9c97439eec9f774e4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 13:48:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 13:48:36 2010 -0700"
      },
      "message": "am fb31036f: am 583fefc8: Merge \"Use the context_priority extension when present.\" into gingerbread\n\nMerge commit \u0027fb31036fd844444c395a2ae9c97439eec9f774e4\u0027\n\n* commit \u0027fb31036fd844444c395a2ae9c97439eec9f774e4\u0027:\n  Use the context_priority extension when present.\n"
    },
    {
      "commit": "583fefc8dcadecc7fc933513d3569dd9c16c100c",
      "tree": "13a776cac3e90b41617ee1bca2e479d5f48b77e6",
      "parents": [
        "a0795fc9bdf97703780cbf0ec47c06eccb642e72",
        "cd54dc26f7ac23da6c920dd83b30242049470f00"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 20:04:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 20 20:04:46 2010 -0700"
      },
      "message": "Merge \"Use the context_priority extension when present.\" into gingerbread"
    },
    {
      "commit": "99e3fab534d3a489726665cb8c71edecd5798b04",
      "tree": "86bb8ed74070ebc7bf2f92b0908a2c2959e25217",
      "parents": [
        "a4a2a3aaef730dbab020f7ece09149b05a399000",
        "5bfa3a34eaef759c3ec4def76f646eb1c0bf997f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 15 08:33:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 15 08:33:43 2010 -0700"
      },
      "message": "am 5bfa3a34: am 011b5bcc: Merge \"implement part of [3094280] New animation for screen on and screen off add support for screen on animation\" into gingerbread\n\nMerge commit \u00275bfa3a34eaef759c3ec4def76f646eb1c0bf997f\u0027\n\n* commit \u00275bfa3a34eaef759c3ec4def76f646eb1c0bf997f\u0027:\n  implement part of [3094280] New animation for screen on and screen off\n"
    },
    {
      "commit": "eb86aaaab34687a77454fa130b08788db1317d74",
      "tree": "6a0b8bd8dc7d3bb45511902d5d6fba012a3c8b43",
      "parents": [
        "4afdf666fdb034834c48445570ed9d6f4133fc71",
        "9a12a3c8d4bb20042cf69e07d268e3a04ac71f96"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Oct 13 23:34:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 23:34:21 2010 -0700"
      },
      "message": "am 9a12a3c8: am ba799098: Merge changes I76513387,I335fb671 into gingerbread\n\nMerge commit \u00279a12a3c8d4bb20042cf69e07d268e3a04ac71f96\u0027\n\n* commit \u00279a12a3c8d4bb20042cf69e07d268e3a04ac71f96\u0027:\n  Remove dead code, and make the animation a setting.\n  turn off the electron beam\n"
    },
    {
      "commit": "2d2b803a92ba531cf6c4bb7042326653255b8780",
      "tree": "4f9bfc77e4850d74b260dff622d03a175add6840",
      "parents": [
        "e03471e12f1adcd818b5bfd9dcb894c75fe955c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 12 16:05:48 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 13 14:28:26 2010 -0700"
      },
      "message": "implement part of [3094280] New animation for screen on and screen off\nadd support for screen on animation\n\nChange-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238\n"
    },
    {
      "commit": "aab758e87991d1460ca94d4a5f22c0ef34641e2d",
      "tree": "560d9e47119175b6a5618dd16d9d9ac4a92145fd",
      "parents": [
        "844a6b3ccaff1ad1443ad985e4527b733ce97c0e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 11 12:37:43 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Oct 12 14:16:11 2010 -0700"
      },
      "message": "turn off the electron beam\n\nChange-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6\n"
    },
    {
      "commit": "cd54dc26f7ac23da6c920dd83b30242049470f00",
      "tree": "236243a87912613b6bdcc66fd3eee931dbdb5458",
      "parents": [
        "de846ac659e8c14d898a3fa14bd0504b24096057"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 11 17:54:43 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 11 18:01:00 2010 -0700"
      },
      "message": "Use the context_priority extension when present.\n\nChange-Id: I12eadf1e32d576de5d811fba44afa73263e13eef\n"
    },
    {
      "commit": "3e1a18ac6d9a29a987514b4fe03371336184b1cc",
      "tree": "8294e1b0e5fd8e486c10d6053652fe219207884a",
      "parents": [
        "367a39fbaa5ced901463c7800c960ff75bbcaf57"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 07 14:57:04 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 07 14:57:04 2010 -0700"
      },
      "message": "Fix a null dereference\n\nChange-Id: I3df446b90c1607782778749de7ba0f8c00698c33\n"
    },
    {
      "commit": "90da4dd2a20c11fa2f9b860905c867a64b2b299e",
      "tree": "146eb9919c3762113ade8cc384759b7e07db148e",
      "parents": [
        "4f5388df7f939b3d5854e8c59e82fa0f387a2a22"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 18:13:21 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 18:13:21 2010 -0700"
      },
      "message": "dump HWC state in dumpsys\n\nChange-Id: Ifbb38ca1ac9685776250e01c8d02021b35af72cf\n"
    },
    {
      "commit": "a5ab8ce602ecfd897805e185c89a6eff0c78aabe",
      "tree": "e393ed7e14ae9a42faaf542ccdeda36f6cacf7fa",
      "parents": [
        "19c5df745229374748f38c76a222ec8ce1d08e81",
        "48a862407dda482450bdfd5aa2a2cd8b3e8e38dd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:29:18 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:29:18 2010 -0700"
      },
      "message": "resolved conflicts for merge of 48a86240 to master\n\nChange-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5\n"
    },
    {
      "commit": "04262e9f842edf20168399b6a70f0d67e518fe69",
      "tree": "dd2c01550c43c4658f78d87a60d8d8407af9afe9",
      "parents": [
        "cc5494c9996f809e36539b24e8b6b67683383d29"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 13 22:57:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 13 23:16:58 2010 -0700"
      },
      "message": "Add logging of various important graphics events\n\nThere are 16 events logged in the event log:\nSF_APP_DEQUEUE_BEFORE\nSF_APP_DEQUEUE_AFTER\nSF_APP_LOCK_BEFORE\nSF_APP_LOCK_AFTER\nSF_APP_QUEUE\n\nSF_REPAINT\nSF_COMPOSITION_COMPLETE\nSF_UNLOCK_CLIENTS\nSF_SWAP_BUFFERS\nSF_REPAINT_DONE\n\nSF_FB_POST_BEFORE\nSF_FB_POST_AFTER\nSF_FB_DEQUEUE_BEFORE\nSF_FB_DEQUEUE_AFTER\nSF_FB_LOCK_BEFORE\nSF_FB_LOCK_AFTER\n\nall events log the buffer conserned and a timestamp in microseconds.\n\nby default the logging is not enabled, to turn it on:\nadb shell service call SurfaceFlinger 1006 i31 1\nadb shell setprop debug.graphic_log 1\n\nThe effect is immediate in SurfaceFlinger, but applications need to be\nrestarted.\n\nChange-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1\n"
    },
    {
      "commit": "11042a41c1fe1415df0f45ef5fd3905d34b6e01a",
      "tree": "2b4f1fc582c24b2bef28c19be3d47a7819fda09e",
      "parents": [
        "982f58bdccce7e4e537cffb2410ad78d73398461"
      ],
      "author": {
        "name": "Antti Hatala",
        "email": "ahatala@nvidia.com",
        "time": "Thu Sep 09 02:33:05 2010 -0700"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Sep 09 12:06:48 2010 -0700"
      },
      "message": "surfaceflinger: give hwcomposer a chance to release buffers\n\nChange-Id: I605fa779702022865dd58df3b36f37c2644ade36\n"
    },
    {
      "commit": "cfa275908a220c5e1cf496f7fdde1c04e24e95da",
      "tree": "d2e9038d4ca2c988e7aebf193760c360785fa869",
      "parents": [
        "6ab94608750776bcaaee56696cfcfb16ce29db8a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 17 20:19:23 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 17 20:22:04 2010 -0700"
      },
      "message": "revert hwcomposer HAL changes. DO NOT MERGE.\n\nThis reverts commit:\n94364b91a2894bf037b8beb027132fbb812e1434\nf8e705dea48f77f1c2532fdbadd4997dd1851af0\nb59beb5ca68d0228f60dda60d85e2d0226b33215\ne0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20\n"
    },
    {
      "commit": "f8e705dea48f77f1c2532fdbadd4997dd1851af0",
      "tree": "0c63e3e5b0d2035b57386db4a9b54f52f751c333",
      "parents": [
        "b59beb5ca68d0228f60dda60d85e2d0226b33215"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 12 15:03:26 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 12 15:03:26 2010 -0700"
      },
      "message": "Fix a couple issues with the new hwcomposer HAL\n\n- we now clear the framebuffer upon request from the HAL\n- the HAL list size could get out of sync with reality\n- there was also an issue where sometime we could run past the list\n\nChange-Id: Ic3a34314aed24181f2d8cc787096af83c046ef27\n"
    },
    {
      "commit": "b59beb5ca68d0228f60dda60d85e2d0226b33215",
      "tree": "ae2ddeb41adbf4a17262eb3b6859effe4970616c",
      "parents": [
        "e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 17:31:33 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 17:31:33 2010 -0700"
      },
      "message": "should fix sim build, hopefully\n\nChange-Id: I5390bd34dcca36fef43b5169386fff1b04cc842b\n"
    },
    {
      "commit": "e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20",
      "tree": "85ed9093e65551a73553d19d5e6122d051ef574b",
      "parents": [
        "8514b92bc4dfab58aa762d75322e4c285b6ada17"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 17:14:02 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:08:45 2010 -0700"
      },
      "message": "call into hwcomposer HAL when present\n\nChange-Id: I70f31c69a9436a43860e78977442863ecba6d27b\n"
    },
    {
      "commit": "08e83bb3b7cc41f603867acbeb1168019cf535fe",
      "tree": "79594e01ef6c3306b890cb944d6f15d3098075c4",
      "parents": [
        "c9a11088e503b9e3ae52a3f671b2d21f5cd54f06"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 17:59:35 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 17:59:35 2010 -0700"
      },
      "message": "move native services under services/\n\nmoved surfaceflinger, audioflinger, cameraservice\n\nall native services should now reside in this location.\n\nChange-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8\n"
    }
  ]
}
