)]}'
{
  "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": "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": "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": "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"
    },
    {
      "commit": "058d0390a44f68b67788021bae9ca1775812997b",
      "tree": "23b97aa83da730d4057a68647f8fd09a37fe636f",
      "parents": [
        "36ff93aa1f489e6af6c2acce38beb0bffd6b8f8a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 07 14:53:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 15:12:05 2010 -0700"
      },
      "message": "Remove the YV16 format for simplicity\u0027s sake.\n\nChange-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf\n"
    },
    {
      "commit": "61c55c49073d4b10ca4dfdbb4e86684d11ac9c1c",
      "tree": "db54ecb0cc3ba4558e591818f9c74e9fe05bba4d",
      "parents": [
        "c6e1d88022db800773401c16803e1ab27fd01a7e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:17:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:17:56 2010 -0700"
      },
      "message": "remove unused YUV formats\n\nChange-Id: Ie84616f842c7e0329d68e67e65a65d510558004b\n"
    },
    {
      "commit": "8fa4c811e6d0da82282f9db1a32706399ee538bc",
      "tree": "7605cedca3a805f2845df27b8a5094f6901abf7c",
      "parents": [
        "781953d62dc17d761e39540f0480e5ca7451cdbe"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 28 19:54:17 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 28 19:54:17 2010 -0700"
      },
      "message": "fix[2798925] Gingerbread TOT not booting\n\nFixed a typo where checking against the wrong constant caused GL_TEXTURE_EXTERNAL_OES\nto be used with a regular texture, which some GL driver will choke on.\n\nChange-Id: I93dfc4c8fa674433bbb678eee31954e9a8d0cb4b\n"
    },
    {
      "commit": "781953d62dc17d761e39540f0480e5ca7451cdbe",
      "tree": "b5762ff0e04ff7cdbd0a8a0df2b6cf74db8ce369",
      "parents": [
        "1cb3fdc91e1b82a5afe064714a1b530cc05577a7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 25 18:02:21 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 25 18:02:21 2010 -0700"
      },
      "message": "Revert \"Revert \"fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\"\"\n\nThis reverts commit 330dd304a471d260a73e342a240921c03c825f99.\n"
    },
    {
      "commit": "330dd304a471d260a73e342a240921c03c825f99",
      "tree": "dc4fb488faab0e0f3fac616cb8cb58632cf32d7b",
      "parents": [
        "357f8209f3aec63fa2779da4eeab8825f80b0a41"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 25 09:25:19 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jun 25 11:05:37 2010 -0700"
      },
      "message": "Revert \"fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\"\n\nThis reverts commit 081bc5c47d8a980e6eafa70ddafcd89981586391.\n"
    },
    {
      "commit": "081bc5c47d8a980e6eafa70ddafcd89981586391",
      "tree": "7f69e950394cfd54a2bd5083345fba31fb330d9c",
      "parents": [
        "8896783dc1d31c5274b277c364da0ffe7cc27cca"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 24 21:22:43 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 24 21:28:59 2010 -0700"
      },
      "message": "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\n\nMake sure to not use GL_TEXTURE_EXTERNAL when it\u0027s not supported\nby the GL. The error was harmless, but annoying.\n\nChange-Id: I571a9a9b05d35da51420950a6a6e95629067efd0\n"
    },
    {
      "commit": "07ccf5ad7edfeeebb79208ad3e8a52917fe038a8",
      "tree": "9c1f269584648a4c4591ec0b885eb3811952538a",
      "parents": [
        "875500b47ac74a164f7792ce89a16d600ea72695"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 21 17:45:29 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 21 18:22:09 2010 -0700"
      },
      "message": "remove unused YUV formats\n\nChange-Id: Id0ae28b1700cf771cdbe0ca27b139d32cab90b2a\n"
    },
    {
      "commit": "f8b4b4408cb864bf604608221eafa9d37323d348",
      "tree": "ede6098c2dd841e667123e238562ad796519be3b",
      "parents": [
        "2d468c5d73cc1cefbcfa8d98e30622c54756918c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 14 21:20:00 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 15 17:31:17 2010 -0700"
      },
      "message": "Added support for the GL_TEXTURE_EXTERNAL target\n\nThis will allow us to support YUV surfaces.\n\nChange-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183\n"
    },
    {
      "commit": "898c4c91be8e11b6d5388c623ae80f12ac25fd27",
      "tree": "8f59a103707c25a05bcf4fa074e944e766c15503",
      "parents": [
        "66c46a6bd15422fe898d533d1350d6df748dd95b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 18 17:06:55 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 20 18:00:42 2010 -0700"
      },
      "message": "fix the threading issue for setBuffercount()\n\nthis change introduces R/W locks in the right places.\non the server-side, it guarantees that setBufferCount()\nis synchronized with \"retire\" and \"resize\".\non the client-side, it guarantees that setBufferCount()\nis synchronized with \"dequeue\", \"lockbuffer\" and \"queue\"\n"
    },
    {
      "commit": "9f2c4fd9a14ea79e4cbbd3ab8925794711a6411c",
      "tree": "59ef7201919232e3fe9b0bd044339608db459128",
      "parents": [
        "aca2ee8a7045e6b3d0399736d7d1adf7e1dbf825"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 10 20:06:11 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 12 17:26:22 2010 -0700"
      },
      "message": "Refactor some code in surfaceflinger in preparation of upcoming changes\n\nthe new TextureMagager class now handle texture creation and upload\nas well as EGL image creation and binding to GraphicBuffers. This is\nused indirectly by Layer and directly by LayerBuffer\n\nthe new BufferManager class handles the set of buffers used for a\nLayer (Surface), it abstracts how many buffer there is as well as\nthe use of EGLimage vs. regular texture ops (glTexImage2D).\n\nChange-Id: I2da1ddcf27758e6731400f6cc4e20bef35c0a39a\n"
    }
  ]
}
