)]}'
{
  "log": [
    {
      "commit": "e20a56d929fc8fedc2b468ea6d1900bd2aa6e81a",
      "tree": "50f83446ffa80c8cf20c96b51b621631c114f4b9",
      "parents": [
        "698ddb0cd64f7e317ae2f98de05d6462f22b2b2a"
      ],
      "author": {
        "name": "Michael I. Gold",
        "email": "gold@nvidia.com",
        "time": "Wed Sep 15 15:46:24 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 17:15:31 2010 -0700"
      },
      "message": "surfaceflinger / GL extensions cleanup\n\nAdd correct enumerants for OES_EGL_image_external to glext.h.\nSurfaceFlinger now checks for the correct extension name.\n\nChange-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1\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": "c51114fe044769d078dd9776f790b881c2a20cae",
      "tree": "381a461487257e0fecbd90066d5a6ba3c0343ad0",
      "parents": [
        "c14f9ca6e5e795b641e7809786b4e51e13493907"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 25 14:59:15 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 25 15:09:52 2010 -0700"
      },
      "message": "fix [2946787] Screen flicker on low resolution setting in camcorder.\n\nChange-Id: I7e86f2b6d85dcae8dd212890b978fa6ac7de6893\n"
    },
    {
      "commit": "c817b22055f094e5fd640952e05821f288107eb3",
      "tree": "3f0b0c79b89b8eaeb74639da6ed2cf90fda6c81d",
      "parents": [
        "8395b4625b96f2133e2e4f595fdc69fbe222e4fc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 20 15:59:53 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 25 12:14:27 2010 -0700"
      },
      "message": "don\u0027t try to lock a buffer that wasn\u0027t allocated with SW usage bits\n\nChange-Id: Iabbcec1bfa30dc47d45ece699dd178653f1b675b\n"
    },
    {
      "commit": "e96aa3e859cb747e241dfa2999fcd142a688ed57",
      "tree": "8b725f12dd84b37345eebaa40951bc401b2e0a3f",
      "parents": [
        "0c76c7c5eedf90b5fa1a95b6a9944b4e58747007"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 17:01:19 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 24 15:40:50 2010 -0700"
      },
      "message": "fix [2931513] Add support for setting the orientation of an ANativeWindow\n\nAlso implement support for cropping.\n\nChange-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280\n"
    },
    {
      "commit": "e509328efcbb05856e5e9c0310394911ee3243dc",
      "tree": "1a5111fe0ccdc2a108ed7fc0bc7c6d0abbfc59d2",
      "parents": [
        "3d8c9bdbed0c31143227697bd0d94fd234fe08ad"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 13:11:42 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 13:11:42 2010 -0700"
      },
      "message": "remove unused pixel format\n\nChange-Id: I55bc3cc41385743c07f7e4de06335c922f746f73\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": "6a73368be44f45a80cc4b65dc57b9ff529cb2d89",
      "tree": "368c4feadfd7295b112dd2592386d8dc9e8228d4",
      "parents": [
        "e300b8c10c306b575bbbec29d5572ba92a97785e",
        "10f5c99223663ec0de21c52c1206c3d35cc2fb15"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 16:29:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 13 16:29:48 2010 -0700"
      },
      "message": "Merge \"fix a typo that prevented glTexImage2D codepath to work\" into gingerbread"
    },
    {
      "commit": "10f5c99223663ec0de21c52c1206c3d35cc2fb15",
      "tree": "708c53d9c02b244ae5156bc18ae541f913d3f245",
      "parents": [
        "ab5750115df3143de46cee934422ffea65765480"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 16:25:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 16:25:13 2010 -0700"
      },
      "message": "fix a typo that prevented glTexImage2D codepath to work\n\nChange-Id: I36a3bf9d1d2eacd9b14e00b0a6c53bf88bba381c\n"
    },
    {
      "commit": "94364b91a2894bf037b8beb027132fbb812e1434",
      "tree": "921da7245e7faab6feb77527d658b1e896867e4b",
      "parents": [
        "c8d0d6307fc5cdd24083113456ac33790a5fb94a"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Aug 12 23:21:40 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 10:10:48 2010 -0700"
      },
      "message": "surfaceflinger: don\u0027t check HWComposer numLayers unless one exists\n\nChange-Id: I4b83f7bf7ba1318c70054117f14e759fe0ad105c\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": "8514b92bc4dfab58aa762d75322e4c285b6ada17",
      "tree": "3a76202641f0c159baf59bb77eeb708e09be62b8",
      "parents": [
        "1efba9a61716356014f4c452fd9e099c5ebe9bd0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 20:42:20 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:05:06 2010 -0700"
      },
      "message": "don\u0027t handle the transparent region of a layer in draw()\n\nthis is already taken into consideration in computeVisibleRegion\nand therefore not needed at draw time.\n\nChange-Id: I3fc7336d22f1147dfcd3a20fd71bf79b946d971f\n"
    },
    {
      "commit": "1efba9a61716356014f4c452fd9e099c5ebe9bd0",
      "tree": "92f59d2d9146a58da50cbfe1f1e76221ef44d5c3",
      "parents": [
        "ff1d4102882ae9641a61fc4a3937866521bb72dc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 18:09:09 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:05:05 2010 -0700"
      },
      "message": "get rid of our LayerVector implementation\n\nwe now use SortedVector\u003c\u003e with a special compare implementation.\n\nChange-Id: I910459cf3b3c8993b55ad0786a8c348369262de5\n"
    },
    {
      "commit": "ff1d4102882ae9641a61fc4a3937866521bb72dc",
      "tree": "63fd377016ac4465aab9a12afcf75ed07706b273",
      "parents": [
        "91a7f5fef8a9fc496acef23f513cb48139e8dff5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 17:19:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:04:51 2010 -0700"
      },
      "message": "keep a list of visible sorted surfaces\n\nChange-Id: Ib815eeff894f8a3b1e79fbbf8186d5d91bb60285\n"
    },
    {
      "commit": "51c70e3e41ee8bedc1d951a06a74202dafa13009",
      "tree": "d917c80c3421a1312cfefc3e2ca7db25fce62a37",
      "parents": [
        "eab07e5c1d48d45f76ac2dd4a45c8a3457aa290d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 27 20:11:35 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 27 20:11:35 2010 -0700"
      },
      "message": "fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.\n\nthis situation happened when the last buffer needed to be resized\n(or allocated, the first time). the assumption was that the buffer\nwas in use by SF itself as the current buffer (obviously, this\nassumption made no sense when the buffer had never been allocated, btw).\n\nthe system would wait until some other buffer became the \"front\" buffer.\n\nwe fix this problem by entirely removing the requirement that the\nbuffer being resized cannot be the front buffer. instead, we just\nallocate a new buffer and replace the front buffer by the new one.\n\nthe downside is that this uses more memory (an extra buffer) for a\nbrief amount of time while the old buffer is being reallocated and\nbefore it has actually been replaced.\n\nChange-Id: I022e4621209474ceb1c671b23deb4188eaaa7285\n"
    },
    {
      "commit": "24651682edaf71e8a826f23a7ea09bc97c8072c4",
      "tree": "d3721d203440aaa3d8ac67890bf170a84e832b53",
      "parents": [
        "4055b780bb7e85abcf4754b84e50bf407c45bec8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 18:41:18 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 18:43:19 2010 -0700"
      },
      "message": "added BinderService\u003c\u003e template to help creating native binder services\n\nChange-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe\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"
    }
  ]
}
