)]}'
{
  "log": [
    {
      "commit": "3d69bea1f6e009a9ad096c5be9098d1064853f43",
      "tree": "3dcd1bec56facfbbfd6fe3f4cfa6a94bdcb7b038",
      "parents": [
        "2d5cbc92add5065a62acdd38cd254eebb1ee2f94"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 16 14:19:03 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 16 14:19:03 2011 -0700"
      },
      "message": "fix [4107131] nvidia driver call takes a very long time\n\nWe were leaking all EGLSyncKHR objects, over time the list\nwould grow and become very slow to operate on.\n\nBug: 4107131\nChange-Id: I6c82daf49fe3189d04550781d64d57c30c95f552\n"
    },
    {
      "commit": "bae716bc153962c3ac79660bf32e5c50f0de343d",
      "tree": "2ee7aa6eddbd9789b1b561143927c274004e0977",
      "parents": [
        "75597105e6e03f656bdc1e40acac44afb9a3b01b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 15:34:04 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 15 10:37:37 2011 -0700"
      },
      "message": "SurfaceTexture: disallow unsupported uses.\n\nThis change makes the ANativeWindow_lock NDK function error out if it is\npassed an ANativeWindow with a concrete type that is not Surface.  It\nalso makes eglCreateWindowSurface fail if it is passed a\nSurfaceTextureClient as its \u0027window\u0027 argument.\n\nBug: 4087277\nChange-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c\n"
    },
    {
      "commit": "6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc",
      "tree": "96c132d858fd4f4319ad053befdd5136ef196bbf",
      "parents": [
        "87e8ab372bd722c5c1a00ff5262acccee5dae5e5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Mar 10 14:49:00 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 11:30:02 2011 -0700"
      },
      "message": "gl2_yuvtex: use the gralloc-provided stride.\n\nThis change fixes the gl2_yuvtex test to use the stride chosen by the\ngralloc implementation rather than hard-coding it.\n\nBug: 4081948\nChange-Id: If7c96a20fc3fb1df2ff25e6afaa9f34dbad2002c\n"
    },
    {
      "commit": "9b7146db6d9c0586b98b062fbcdb3fac6cc54d19",
      "tree": "bb07142137a690e7fe705608da0d779ea942809e",
      "parents": [
        "0aaa11ed5be45170fb2535a6ce021c92b18d8878"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 07 18:05:04 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 07 18:05:04 2011 -0800"
      },
      "message": "Fix EGL JNI bugs\nBug #3461349\n\nBefore this change, eglGetCurrent*() could not be used to compare\ncontexts, displays and surfaces at the Dalvik level.\n\nChange-Id: I442037dae37bc357b64810ab10c779b5754e9153\n"
    },
    {
      "commit": "bb9d394b21bdfeb1ceb4cf6e4ed0306e39757b15",
      "tree": "dbe7d5b2eef96e80ed4a3a1595e1a26cb19e228d",
      "parents": [
        "9497144281b92dd5293ea734d668217bcf4e86e9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 16 10:13:53 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 16 10:56:32 2011 -0800"
      },
      "message": "Clean up use of HAVE_ANDROID_OS\n\nHAVE_ANDROID_OS was defined as \"1\" for targets, but never defined as \"0\"\nfor non-targets. Changing them to #ifdef should be safe and matches\nall the other uses of HAVE_ANDROID_OS throughout the system.\n\nChange-Id: I82257325a8ae5e4e4371ddfc4dbf51cea8ea0abb\n"
    },
    {
      "commit": "70a1875635cf988b9962fbe2325ea73fd346858c",
      "tree": "e2587fed775427e2a896a3a7a623a51cced7f8b7",
      "parents": [
        "e44e28fa116549608cfde064d8951dbc3f8e1fd3"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Feb 07 11:36:47 2011 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Feb 07 11:36:47 2011 -0800"
      },
      "message": "Extend recycled bitmap check to all GLUtils APIs.\n\nChange-Id: I9ea0022b167af2153190b6642aa303232e257379\n"
    },
    {
      "commit": "5f89f510f327228d4ba2261aff7e8faa7d3715aa",
      "tree": "8f94af6ab17533e3c424b6ed1188190a93c17843",
      "parents": [
        "944170f2cf3456a9885e998516120f053e2496d1"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Feb 02 21:16:53 2011 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Feb 02 21:16:53 2011 -0800"
      },
      "message": "Throw an exception when trying to upload a recycled bitmap.\n\nPreviously we would upload garbage.\n\nChange-Id: Id785792a16f9d24685687f4e6b64ec893ccad225\n"
    },
    {
      "commit": "f27bbc238cb53f51186ca04f69810cda61664f9a",
      "tree": "233c758a3d783be9e14bd82f939b2565958da9fa",
      "parents": [
        "c999a4ca96ec72c03f913a93a097ccc8afed0a6a",
        "e3b179c732fde81da0bffecd9579cafd727b3417"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jan 31 15:40:06 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 31 15:40:06 2011 -0800"
      },
      "message": "Merge \"Clear all EGL errors when entering EGL funcs.\""
    },
    {
      "commit": "4a702faf5b2a871ae7766e8472ebe737c4624683",
      "tree": "7bf019420eaf4b5e41aa5ff5e0a546d6fafdec14",
      "parents": [
        "fe86a7f64c666b86c4aedbdd159c27e1cd0d7490",
        "cf675303927d8008c5952759d534dcc6c0ca3d4a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jan 31 15:01:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 31 15:01:21 2011 -0800"
      },
      "message": "am cf675303: am 8df2c424: Merge \"Fix a multithreading bug in libagl\\\u0027s EGL.\" into honeycomb\n\n* commit \u0027cf675303927d8008c5952759d534dcc6c0ca3d4a\u0027:\n  Fix a multithreading bug in libagl\u0027s EGL.\n"
    },
    {
      "commit": "e3b179c732fde81da0bffecd9579cafd727b3417",
      "tree": "87c4098fd50934d76e38a325014745f6f409482e",
      "parents": [
        "a3b5960f6f28a81cd63abd69adcdfb5dcc05aa30"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 30 16:50:04 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jan 31 14:08:23 2011 -0800"
      },
      "message": "Clear all EGL errors when entering EGL funcs.\n\nThis changes the clearError function in the EGL wrapper layer to simply\ncall eglGetError().  That should clear any pending errors from all the\nunderlying EGL implementations, which is needed to correctly report the\nerror for the most recently called EGL function.\n\nChange-Id: Iad19c69f0c5305e873f3c2f96d353280d31f7b61\n"
    },
    {
      "commit": "ae2aa286af67f7990486ca6476e73f677c58872b",
      "tree": "6566ba54a3bf666d9c93425d1f14afe9c38f0a5b",
      "parents": [
        "0982dc6488a921d9d54d23b9180a9acf33c61526"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 30 15:59:36 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jan 30 15:59:36 2011 -0800"
      },
      "message": "Fix a multithreading bug in libagl\u0027s EGL.\n\nThe bug caused libagl to return 0 from eglGetError if an EGL error value\n(including EGL_SUCCESS) was set on a different thread but not yet on the\ncurrent thread.\n\nBug: 3403756\nChange-Id: Ifd965091d116745c2e22c121151ade9e78eb14c6\n"
    },
    {
      "commit": "29406daf21c2dfa4d893b421d39137eb47fb3aa6",
      "tree": "e76a3d4f66aec93b0f17ecf7ddfcda02552da114",
      "parents": [
        "e8e0ebbfd09214020cfbbaafaeb940a2e52985b3"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Jan 27 14:46:52 2011 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Jan 27 14:46:52 2011 -0800"
      },
      "message": "Add GL11ExtensionPack support to GLDebugWrapper\n\nAllows calling GL11ExtensionPack APIs in a GL context that has been\nwrapped for debugging.\n\nChange-Id: Ib0695b51a92f5dcce32db8b0dc7ee948e5059e7f\n"
    },
    {
      "commit": "e7ff5ddb47c8d30865f37cfdffa3b7ebb597c4d7",
      "tree": "7fbb0afb9168cf802d24d074ada12d7a98475675",
      "parents": [
        "3115dad3fc8493ff510b9f6a46b18d951bf5c162"
      ],
      "author": {
        "name": "Michael I. Gold",
        "email": "gold@nvidia.com",
        "time": "Fri Jan 21 15:39:38 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 25 15:36:21 2011 -0800"
      },
      "message": "egl: clear error on function entry\n\nClear the current thread error state on entry to API functions as\nmandated by the EGL 1.4 specification, section 3.1.  glGetError\nreturns additional information about the \"most recent EGL function\".\n\nChange-Id: Ic24c64b39294ffc1a4e43fa72663e076b9d7decf\n"
    },
    {
      "commit": "75f2bc04df11c67d7074186432278f182381b9f2",
      "tree": "58f2f597517fc95e93ea1030987feca5ebf0a0eb",
      "parents": [
        "1418de7eff012c37cf34328eb368a547d70a1441"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jan 18 15:53:25 2011 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jan 18 15:53:25 2011 -0800"
      },
      "message": "Unhide GLSurfaceView.get/setPreserveEGLContextOnPause\n\nChange-Id: I882b8fa7888e2baae41c81b75af7fc1f639d38d6\n"
    },
    {
      "commit": "b54407f2bbc616d60291ad7bc659aed7f148cb26",
      "tree": "6ee60b357a22b3d4166735ad3131d03c8d2356da",
      "parents": [
        "529fc53d3fd298ee5aef20e3a07bd263f7376b8d",
        "8432b3f98a22d5cdfcc0183d134770597e44d412"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jan 18 13:00:27 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 18 13:00:27 2011 -0800"
      },
      "message": "Merge \"Add support for preserving EGL contexts when pausing / resuming.\" into honeycomb"
    },
    {
      "commit": "f4a43837f9577a24983c17a6c1dc128166af5961",
      "tree": "67ca682df4cbe3572649fbed2aa5f14f01d9083a",
      "parents": [
        "3ece010a4b09c82b5d59ae62dbed4957f665902c"
      ],
      "author": {
        "name": "Michael I. Gold",
        "email": "gold@nvidia.com",
        "time": "Tue Jan 04 01:16:59 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jan 16 18:12:04 2011 -0800"
      },
      "message": "egl: fix GetProcAddress for EGLimage extensions\n\nReturn wrappers from GetProcAddress for glEGLImageTargetTexture2DOES\nand glEGLImageTargetRenderbufferStorageOES which unwrap the EGLimage\nhandle before calling through to the implementation.\n\nChange-Id: I2f5b180ab3ccdb28a4f510a2bd8c2eee941a84df\n"
    },
    {
      "commit": "3ece010a4b09c82b5d59ae62dbed4957f665902c",
      "tree": "6ebeab6f16dab4a6045da0fb67b8f2361dac7597",
      "parents": [
        "6e72ff9082f82885d738f637d40bfe43d267107a"
      ],
      "author": {
        "name": "Michael I. Gold",
        "email": "gold@nvidia.com",
        "time": "Thu Jan 13 10:13:15 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jan 16 18:02:52 2011 -0800"
      },
      "message": "egl: expose EGLimage extensions\n\nAdd EGL_KHR_gl_texture_cubemap_image and EGL_KHR_gl_renderbuffer_image\nto the static EGL extension string since these require no new APIs\nbeyond what is already required.\n\nChange-Id: I2d1fde86b19bb9eee46b3b977f51784a17cfcc3c\n"
    },
    {
      "commit": "8432b3f98a22d5cdfcc0183d134770597e44d412",
      "tree": "cdf97b000439df11704863aa4ffbd7d79473fd8c",
      "parents": [
        "9aba2324ac8d7216732b42346bfcaf0be71eb22e"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Jan 14 11:45:17 2011 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Jan 14 11:45:17 2011 -0800"
      },
      "message": "Add support for preserving EGL contexts when pausing / resuming.\n\nHidden for now.\n\nChange-Id: I350576c11960a1aa232da7aebc5c6ec60ff796b5\n"
    },
    {
      "commit": "676693674f10440ed62050cc8970562d29e020ac",
      "tree": "c07f1860bfcb9b2b625d6ca3ca169c711218d8b6",
      "parents": [
        "35ad62763fe5937c51a32cd1e285cffa4971298f"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Mon Jan 10 18:03:05 2011 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Mon Jan 10 18:03:05 2011 -0800"
      },
      "message": "Hardware Composer Test hwcCommit set blend type\n\nChange-Id: If345641bd009cfd131b1a8e74cd4a9e8e4a7dfc7\n"
    },
    {
      "commit": "35ad62763fe5937c51a32cd1e285cffa4971298f",
      "tree": "a7c4d2e0dc338b1bc7eb73ccfe068b95c478b1e7",
      "parents": [
        "5e63e2515f3f0d2712d80f2cb27f263f8d3d1081"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Mon Jan 10 17:21:15 2011 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Mon Jan 10 17:21:15 2011 -0800"
      },
      "message": "Hardware Composer Test Overlap Stats\n\nChange-Id: I2f4a02924149f3964de31fb6250f4c21a64d96aa\n"
    },
    {
      "commit": "081ce9fec3ffffc882941248b5b9592a0311f88a",
      "tree": "1d05b3704ece45c6baa3c4a9f46fb0eb11cc3a58",
      "parents": [
        "edca0e4d134610fe81f731d22f6bf1cfae767ee4"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Sun Jan 09 19:02:05 2011 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Sun Jan 09 19:02:05 2011 -0800"
      },
      "message": "Hardware Composer Test Lib HBlen off by 1\n\nChange-Id: If51727a041e20afa307e5d1735b77da5a54a712b\n"
    },
    {
      "commit": "585cd4f78c6cf141f307f3cb2659ef08ed2003cc",
      "tree": "f3e7cac57d9aaa32b1f93d5de460ac8ae3c5c2f0",
      "parents": [
        "b0512c372587f366f0b0bd859b22a344a5d5a520"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Sun Jan 09 10:59:31 2011 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Sun Jan 09 10:59:31 2011 -0800"
      },
      "message": "Hardware Composer Commit Points Benchmark\n\nChange-Id: Ie997d13559c0e4e9dc3babfe92ca1acacef2a549\n"
    },
    {
      "commit": "ec0da1a5ffc0c856efea16e6a05f2ce9e7c82a94",
      "tree": "e02c8a7573f0655252bab8dc2c4d4ca074e89ab5",
      "parents": [
        "325a0f969c1d803d7e39a9caee8cc3d400350659"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Wed Jan 05 18:53:47 2011 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Thu Jan 06 21:25:50 2011 -0800"
      },
      "message": "Hardware Composer new and refactored test cases\n\nChange-Id: Iabf46fc5d75891f917e06a257470a0e3f2bd3c95\n"
    },
    {
      "commit": "f0ca1d388e92d43a1403443bdcd282ff331f0e34",
      "tree": "a885ff6f057dc3b851a5dcda15f36e7ee150b6e7",
      "parents": [
        "00ee5b46854404a91d903e8bf42d9f900326326c"
      ],
      "author": {
        "name": "Michael I. Gold",
        "email": "gold@nvidia.com",
        "time": "Thu Dec 23 13:51:36 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Dec 23 16:12:19 2010 -0800"
      },
      "message": "egl: fixes for object refcounts\n\neglMakeCurrent() would only deref the previous surfaces if the old and\nnew contexts were the same.  eglTerminate() should not touch TLS.\neglReleaseThread() needs to unbind the current context.\n\nChange-Id: I213b8be77b1a23b5a8a6afaac60643662c8aa010\n"
    },
    {
      "commit": "7c43ebc930f17a308abfffcff71f857ab2aa8511",
      "tree": "114a4642035e8296870621442851b66d9f9d3b40",
      "parents": [
        "185097f56caf047f93fc2f842385d73d8680ed26"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Tue Dec 14 14:58:55 2010 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Tue Dec 14 14:58:55 2010 -0800"
      },
      "message": "HWC Stress Test - relocate print msg\n\nChange-Id: I95f9f5c6edffff8c737c4a6996f97e69bccc0448\n"
    },
    {
      "commit": "051d1665230b99a1b485c20d557051314130e4ad",
      "tree": "f7b2fb6f22c6e65890db33a606373f0392105a22",
      "parents": [
        "f812760381bc78f221d09d9c0f11cc7a668eaeca"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Tue Dec 14 10:22:42 2010 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Tue Dec 14 10:31:57 2010 -0800"
      },
      "message": "HWC Stres Test Enhancments\n\n  + YV12 width/height divisable by 2\n  + Row width determined by getStride()\n  + Misc comment and whitespace fixes\n  + printf changed to testPrintI\n\nChange-Id: I27551141bafbfb258eb1b6b7f63c5295b1f9501a\n"
    },
    {
      "commit": "406041848f95557693317bcd202c0dcec93bd9f2",
      "tree": "bc7a69263ba5da947b9f6a4e5c6fbd61080a25c0",
      "parents": [
        "4e47e716d681b56f6ed2a262ddfd40e0c7a296f5"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Sun Dec 12 23:05:31 2010 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Mon Dec 13 13:19:13 2010 -0800"
      },
      "message": "Hardware Composer Stress Test Enhancements\n\nEnhancements include:\n  + Change default delay after each set operation\n    from 0.1 to 0.0 seconds.  This significantly\n    increases the default rate at which operations\n    are performed.\n\n  + Make sourceCrop to displayFrame scale\n    factor of 1.0 a frequent occurance.\n\n  + Enable use of RGB888 and YV12 graphic formats.\n\n  + Add initCheck() call after creation of a\n    GraphicBuffer, to confirm it was created\n    without any errors.\n\nChange-Id: I1606dff3924a23bdd5cb27ba302bebb4f200d768\n"
    },
    {
      "commit": "b5393dc479183740c58c73daffbce8fd24d8ddd7",
      "tree": "e84a6fc92536ee68d261c4e1f22ca9f0fd25a3c0",
      "parents": [
        "2d54cd6637d3bf2eb55e2ff6a48c50fea80f796f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 17:44:07 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 17:44:07 2010 -0800"
      },
      "message": "fix build.\n\nChange-Id: I49262ac143da297efcaec4eed04052274c73b7f8\n"
    },
    {
      "commit": "cd505aef7201ccd7f028ac99a2ecfed96bf474de",
      "tree": "b52f64b1d6c4cbc7767c311ca72fde0782286e4c",
      "parents": [
        "c106a9d1e38bd3044dcbecfbc58fba60cafaf2d4",
        "054ae78245fe9b4c14bbc372ae77cd0a977ded73"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 17:20:39 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 08 17:20:39 2010 -0800"
      },
      "message": "am 054ae782: am e1752f41: Merge \"fix [3258603] \\\u0027Quadrant\\\u0027 benchmark crashes inside eglQueryContext on GB/Crespo\" into gingerbread\n\n* commit \u0027054ae78245fe9b4c14bbc372ae77cd0a977ded73\u0027:\n  fix [3258603] \u0027Quadrant\u0027 benchmark crashes inside eglQueryContext on GB/Crespo\n"
    },
    {
      "commit": "054ae78245fe9b4c14bbc372ae77cd0a977ded73",
      "tree": "66b19f2c05f3ebeee47746abc635cb7b37c2b9a7",
      "parents": [
        "c402def718f0daa8ff0aa4ae83aef87259d6c1cf",
        "e1752f41d34249c891564889b07963262b1bd8bf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:20:23 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 08 16:20:23 2010 -0800"
      },
      "message": "am e1752f41: Merge \"fix [3258603] \\\u0027Quadrant\\\u0027 benchmark crashes inside eglQueryContext on GB/Crespo\" into gingerbread\n\n* commit \u0027e1752f41d34249c891564889b07963262b1bd8bf\u0027:\n  fix [3258603] \u0027Quadrant\u0027 benchmark crashes inside eglQueryContext on GB/Crespo\n"
    },
    {
      "commit": "791982bad921ee8244264c36af81d46ae6f4e79e",
      "tree": "d8aa30b923c6680b6d85ae3ad183a81c95006ee2",
      "parents": [
        "a2977c383d363e1e88a5b36230b1fa4c312807d2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 15:34:02 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 15:34:02 2010 -0800"
      },
      "message": "fix [3258603] \u0027Quadrant\u0027 benchmark crashes inside eglQueryContext on GB/Crespo\n\neglQueryContext(..., EGL_CONFIG_ID, ...) is dereferencing an uninitialized pointer\ndue to a typo.\n\nChange-Id: I100addf3150f19cb6dfbce9987fb5239dd240878\n"
    },
    {
      "commit": "a2584aa9a30565080223f38fd33ebbe6f5d58b69",
      "tree": "0085c27f41b0e8e30c37a8b602b2a55054f45c07",
      "parents": [
        "1fbe4abaf90883787ff2b2f05a01b74b95ba8c76",
        "7715d2179749839e358e3f0c1da1024cc68f3801"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 16:39:45 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 07 16:39:45 2010 -0800"
      },
      "message": "Merge \"Fix another set of out-of-date headers.\""
    },
    {
      "commit": "7715d2179749839e358e3f0c1da1024cc68f3801",
      "tree": "6afdb2000de1dc3750aabf69f063fdde8a809f1a",
      "parents": [
        "c087a87e01b9544c28a7a9e2d14491917baee73c"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 16:27:55 2010 -0800"
      },
      "committer": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 16:27:55 2010 -0800"
      },
      "message": "Fix another set of out-of-date headers.\n\nThis time in XML files.\n\nChange-Id: Iebe36810c3a2d7a6ff354f43808b1b8649b85637\n"
    },
    {
      "commit": "8028a951c3aa74990907efb9376d1093d84084af",
      "tree": "8df58e58347f0e5899b61bac5a2d8374181ee105",
      "parents": [
        "331edf84e2815e309c558e7cedbc414fb23162ec",
        "c087a87e01b9544c28a7a9e2d14491917baee73c"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 16:27:31 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 07 16:27:31 2010 -0800"
      },
      "message": "Merge \"Fix newlines in this file.\""
    },
    {
      "commit": "c087a87e01b9544c28a7a9e2d14491917baee73c",
      "tree": "825a9a3a18d5e3f276217f359aba1719266b64f4",
      "parents": [
        "c086ca1fa7cebc3e9a51abd4be4688346225c2e4"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 16:23:05 2010 -0800"
      },
      "committer": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 16:23:05 2010 -0800"
      },
      "message": "Fix newlines in this file.\n\nThey were CRLF instead of just LF.\n\nChange-Id: I2d06d19b4d8ca969527d93bd996103c161e48a79\n"
    },
    {
      "commit": "331edf84e2815e309c558e7cedbc414fb23162ec",
      "tree": "0a9657ad10603e636b20cf110c1589e08215137d",
      "parents": [
        "1a94f3b582a75466bb8e73fbff477d837fb88850",
        "c086ca1fa7cebc3e9a51abd4be4688346225c2e4"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 16:18:02 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 07 16:18:02 2010 -0800"
      },
      "message": "Merge \"These files had an older header.\""
    },
    {
      "commit": "c086ca1fa7cebc3e9a51abd4be4688346225c2e4",
      "tree": "e9b897e3cb60179cf642262c1d0de9b21bb41e74",
      "parents": [
        "11a8af5ea1e5a760e6d40f025f9cbc356edf1894"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 15:35:20 2010 -0800"
      },
      "committer": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Tue Dec 07 15:35:20 2010 -0800"
      },
      "message": "These files had an older header.\n\nThis patch replaces the file headers with the approved Android\nheader text.\n\nChange-Id: I63cbd21e9112dab404158fb65f74bc6ca5b07eac\n"
    },
    {
      "commit": "9889e2b1923e94fdbe046e1599008d4696e56e64",
      "tree": "c071d1d5903062385935b19d7d785b9239504250",
      "parents": [
        "ffac19ede6723ae00ed24ecc658d69c5effbe4bc",
        "0484a673c5839d2be9e615e52c6a45febdf1127b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Dec 06 18:25:58 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 06 18:25:58 2010 -0800"
      },
      "message": "am 0484a673: am daef0a04: Merge \"[3229973, 3247470, ...] set EGLNativeWindowSurface\\\u0027s format in EGL\" into gingerbread\n\n* commit \u00270484a673c5839d2be9e615e52c6a45febdf1127b\u0027:\n  [3229973, 3247470, ...] set EGLNativeWindowSurface\u0027s format in EGL\n"
    },
    {
      "commit": "0484a673c5839d2be9e615e52c6a45febdf1127b",
      "tree": "3620fc8068ab80b315fe29c17f4649eeb159c3d4",
      "parents": [
        "ea294903ca4c298c44b50b473b9b10ae2b77c9e3",
        "daef0a040de7a9825bdbcba7b2eae66195e3a95f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Dec 06 18:22:57 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 06 18:22:57 2010 -0800"
      },
      "message": "am daef0a04: Merge \"[3229973, 3247470, ...] set EGLNativeWindowSurface\\\u0027s format in EGL\" into gingerbread\n\n* commit \u0027daef0a040de7a9825bdbcba7b2eae66195e3a95f\u0027:\n  [3229973, 3247470, ...] set EGLNativeWindowSurface\u0027s format in EGL\n"
    },
    {
      "commit": "698a8aaca2b9e2b4707e39b8f6fc62a91db1a3b5",
      "tree": "45d3d62fb66cedd3bd5201c5e4b77085241a60cb",
      "parents": [
        "78d81851a8ef6691541215afb19e5bc690a4c3c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 24 15:59:35 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Dec 03 14:15:40 2010 -0800"
      },
      "message": "[3229973, 3247470, ...] set EGLNativeWindowSurface\u0027s format in EGL\n\n(there are multiple bugs this should fix)\n\nwe now use the EGL_NATIVE_VISUAL_ID of a config to set\nthe ANativeWindow\u0027s format from eglCreateWindowSurface(),\nthis guarantees that the surface\u0027s format will match\nwhatever EGLConfig the user chose.\n\nthis should fix all current and future config/surface format\nmismatch and allow users to easily select 32-bits surfaces.\n\nChange-Id: I3835d0eb70c75eeecded3c3509a0a8207554c98b\n"
    },
    {
      "commit": "98027ada3a55ddf32bbd0153de71849d5ca8b4df",
      "tree": "e48e574bb91ca015b91db4ee7a0bdf5e347a8779",
      "parents": [
        "656a23ba2bfab62aec4e682a998f4f39a3ef0087"
      ],
      "author": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Mon Nov 22 18:05:30 2010 -0800"
      },
      "committer": {
        "name": "Louis Huemiller",
        "email": "lhuemill@google.com",
        "time": "Mon Nov 29 14:08:57 2010 -0800"
      },
      "message": "Hardware Composer Stress Test\n\nChange-Id: Ief08b22dacd052483f10754b3ab61aa09ca28b17\n"
    },
    {
      "commit": "d6c7893d663aa74840bb491ddbce500bc0752ac5",
      "tree": "0618d335092a58276894f611c2425e98c1df81eb",
      "parents": [
        "bf44ebae04f837596b9942ccb15d3d47bad4acec",
        "17fd21fc0638d8734867b6f189efbabb227f3ae1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 10 14:15:57 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 10 14:15:57 2010 -0800"
      },
      "message": "am 17fd21fc: Merge \"DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions\" into gingerbread\n\n* commit \u002717fd21fc0638d8734867b6f189efbabb227f3ae1\u0027:\n  DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions\n"
    },
    {
      "commit": "17fd21fc0638d8734867b6f189efbabb227f3ae1",
      "tree": "e608091cb3744b4b6bdb17b1d75f5ab1c214430a",
      "parents": [
        "f4724cdd0b39eddb14a686ecaec05ff44258a7f7",
        "4c2bfc18b9161449c5df7abf3e5112e16c004a75"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 10 14:09:17 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 10 14:09:17 2010 -0800"
      },
      "message": "Merge \"DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions\" into gingerbread"
    },
    {
      "commit": "8cbb85dc4687cd3b83b7f8f430d3a44487175b58",
      "tree": "f05a94fb6f190a6441c0212ef6899a802cbb8918",
      "parents": [
        "21c1114dad3a778992479ec8ef514e412a7b2646",
        "b02ca27f05a47fad75c57d6d8c52ccc5b21a8043"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Nov 09 16:42:27 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 09 16:42:27 2010 -0800"
      },
      "message": "am b02ca27f: am b7a109c0: Merge \"Refresh EGL header to work with the NDK\" into gingerbread\n\n* commit \u0027b02ca27f05a47fad75c57d6d8c52ccc5b21a8043\u0027:\n  Refresh EGL header to work with the NDK\n"
    },
    {
      "commit": "b02ca27f05a47fad75c57d6d8c52ccc5b21a8043",
      "tree": "d38abccb24030616bdaef1c2fd1a19f7b5d88467",
      "parents": [
        "fe8c4f7bbad87fc387b8d8b79f5343055a1a1039",
        "b7a109c02735bb0d9e0bcb8f84e4aa3923701460"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Nov 09 16:25:58 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 09 16:25:58 2010 -0800"
      },
      "message": "am b7a109c0: Merge \"Refresh EGL header to work with the NDK\" into gingerbread\n\n* commit \u0027b7a109c02735bb0d9e0bcb8f84e4aa3923701460\u0027:\n  Refresh EGL header to work with the NDK\n"
    },
    {
      "commit": "4c2bfc18b9161449c5df7abf3e5112e16c004a75",
      "tree": "20439c84c4ae589a9149b475e35665d63a24a9c3",
      "parents": [
        "1b2efbca7120cf799d1242d277af354df7b0a9bb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 09 14:41:13 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 09 14:41:13 2010 -0800"
      },
      "message": "DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions\n\nWe just make sure eglGetProcAddress() will return NULL for\n glEGLImageTargetTexture2DOES\n glEGLImageTargetRenderbufferStorageOES\n\nwhich is better than returning the address of the wrong implementation.\n\nthe correct fix is more involved.\n\nChange-Id: I585a1f40e564f862e5dd382224609ccd069cd3b5\n"
    },
    {
      "commit": "71438310b52482588dc8b4a2f2cb71652208c070",
      "tree": "274581ae927bc145de5af2cebab61b8eef77316b",
      "parents": [
        "31dc911aee2b50752c0eb7785176075cdaed139c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Nov 05 12:41:51 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Nov 07 23:36:28 2010 +0100"
      },
      "message": "Refresh EGL header to work with the NDK\n\nThis change allows to use this header with the NDK\u0027s standalone toolchain.\nFor the record, the NDK toolchain defines __ANDROID__ as a compiler built-in\nmacro, this is however not the case currently for the prebuilt binaries that\nare being used by the full Android build system, which otherwise defines ANDROID.\n\nThis change allows the header to be used by all toolchains properly. Note however\nthat we should properly should change our toolchain and sources to provide and\nrely on __ANDROID__ instead of ANDROID though.\n\nChange-Id: Iaa1aa1146985b5f24dcf3a83d9ddb9b4b59dc328\n"
    },
    {
      "commit": "ed84a3b5db43d51886cea6d9a09b946983de3740",
      "tree": "ca2a248c76e5b83b79b9b33e46e485dd7d6c09d7",
      "parents": [
        "327bd38af2434236bdeefbe08fa62fcda8b63775",
        "25443b2d8fff2b8ffbb65315cce6f35410682bfb"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Oct 28 15:44:11 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 28 15:44:11 2010 -0700"
      },
      "message": "Merge \"OpenGL ES 1 YUV texturing test\""
    },
    {
      "commit": "327bd38af2434236bdeefbe08fa62fcda8b63775",
      "tree": "07b679816aca9fb8f1b6c6dcd963fcafe87ae7f0",
      "parents": [
        "ed82725f0ee4c8a06b03828d5855bda245828d20",
        "8338b06190a8e3edced2498d3b5fbae6bbd42adc"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Oct 28 15:44:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 28 15:44:01 2010 -0700"
      },
      "message": "Merge \"YUV texturing test.\""
    },
    {
      "commit": "ad4c609858923ff8f597f8f8eb67eddf2fcc54be",
      "tree": "792310c2600f63900b9428dd26a030c1d5c698c2",
      "parents": [
        "1ab2cafb80e925e7461f78eb515fa08beacdc9a1"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Oct 27 15:34:11 2010 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Oct 27 15:37:01 2010 -0700"
      },
      "message": "Trace glUniformXXv and glUniformMatrixXfv calls.\n\nChange-Id: I653021d2174fa1a7343d10b0fd2c29b3e5147be6\n"
    },
    {
      "commit": "25443b2d8fff2b8ffbb65315cce6f35410682bfb",
      "tree": "9b94f605156d33c3484bdd0be1c2141820359139",
      "parents": [
        "8338b06190a8e3edced2498d3b5fbae6bbd42adc"
      ],
      "author": {
        "name": "Nuno Subtil",
        "email": "nsubtil@nvidia.com",
        "time": "Fri Oct 08 17:10:06 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 27 15:14:56 2010 -0700"
      },
      "message": "OpenGL ES 1 YUV texturing test\n\nChange-Id: I295e5bce16a8ab088b99929f788f2fbbe8492b8d\n"
    },
    {
      "commit": "8338b06190a8e3edced2498d3b5fbae6bbd42adc",
      "tree": "062fb32c87e4c7116e59b3137fff117b7c41a2a5",
      "parents": [
        "551397d5eb91d1bf13b9eff5a89824ea1b3c479e"
      ],
      "author": {
        "name": "Michael I. Gold",
        "email": "gold@nvidia.com",
        "time": "Mon Sep 20 17:48:52 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Oct 27 14:51:43 2010 -0700"
      },
      "message": "YUV texturing test.\n\nChange-Id: Ib2a6b7eb2a5fc98ecaace032d6c63d50613aaa0d\n"
    },
    {
      "commit": "732734acd67469fe6a251f5a72a2ba3d433de9b8",
      "tree": "41181c6653ebe11a3dd2c50c1153759cdbd1fa03",
      "parents": [
        "091511b41ba1469bea46e9e56cc8e9c0c16c3a6f"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Oct 27 17:59:09 2010 +0100"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Oct 27 22:49:34 2010 +0100"
      },
      "message": "Fix for simulator build\n\nThe code looks correct, but causes an internal compiler error on\nsimulator builds on mine (an other) gLucid desktops.\n\nChange-Id: Iaf0d8120778ec1c6fc739ef13e6eaaac53e3bcc8\n"
    },
    {
      "commit": "1396afb73047c402db5af98e8f6b442ecbfa98d4",
      "tree": "f4e718f0577f7b1a7f41e6b37100cc8e78401ced",
      "parents": [
        "0424d69d484dfc25c73f6557199cfbb7aaaeb043"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Oct 27 11:37:23 2010 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Oct 27 11:37:23 2010 -0700"
      },
      "message": "Preserve the render mode when recreating the render thread.\n\nChange-Id: I67a12a9598d3ef099bef8727411891614b1bc3f7\n"
    },
    {
      "commit": "6b5f29f34a4a7a7539a31a682dcef44b2137bcf7",
      "tree": "153efeae89369ed64715ba4d4ee35d107c368546",
      "parents": [
        "6f688ae7fb4e19acd80c6b006d24b9701fc3f0f2",
        "d4d0fb966060f7eaeb7b93e113482724c51c15e6"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Oct 26 18:37:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 26 18:37:10 2010 -0700"
      },
      "message": "Merge \"OpenGL tracing.\""
    },
    {
      "commit": "2ff6a824619ac6849ba9f36d97590acf74f62518",
      "tree": "c08fc1534f9639cab6f03d786613e14b742d3dc1",
      "parents": [
        "9440083be22ec13e252aa347e654911d33e50086"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Oct 26 18:19:14 2010 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Oct 26 18:19:14 2010 -0700"
      },
      "message": "Allow a GLSurfaceView to be reattached to a window.\n\nThis approach is more backwards-compatible than the previous attempt.\n\nThe onDetachedFromWindow case is unchanged from the \"classic\"\nGLSurfaceView behavior, except that we don\u0027t throw a NPE if the\nrenderer has never been set.\n\nChange-Id: Ia8103a73366ddb13be44f16b789c929e75ddc792\n"
    },
    {
      "commit": "d4d0fb966060f7eaeb7b93e113482724c51c15e6",
      "tree": "c0a9c5f199fe441609d2c3a800e6551bc559d732",
      "parents": [
        "f0a896b353e01c7093ba2ee0539f1a7cabef6ec6"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Oct 26 15:21:24 2010 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Oct 26 15:21:24 2010 -0700"
      },
      "message": "OpenGL tracing.\n\nEnable with:\n\nadb shell setprop debug.egl.trace 1\n\nChange-Id: Icfbc795f5260141510975228e72234e9aab56a85\n"
    },
    {
      "commit": "324be170219987d643c1d05701a00cd358bc03e2",
      "tree": "c63128e44b832ba78f37e4d1a4ba38b9967ed206",
      "parents": [
        "eb1f2de6310df5a26eca658de5bac9e74d7a3ee9",
        "d9588e9c3cd5ffd6bcab28d41b6eda83a1d3d65a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 26 12:23:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 26 12:23:46 2010 -0700"
      },
      "message": "am d9588e9c: am a7b745ca: Merge \"fix eglChooseConfig() for special attributes.\" into gingerbread\n"
    },
    {
      "commit": "d9588e9c3cd5ffd6bcab28d41b6eda83a1d3d65a",
      "tree": "fc331b85ca1fb928474327b0d058ba2f338b2439",
      "parents": [
        "f56aac4b6e169dc6e57aec6e94709e2425f34459",
        "a7b745ca75136112f369f249fd06c2edafe0a6f6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 26 12:19:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 26 12:19:43 2010 -0700"
      },
      "message": "am a7b745ca: Merge \"fix eglChooseConfig() for special attributes.\" into gingerbread\n"
    },
    {
      "commit": "fc5508bc994174bc4d1b1d028cfa25eb70ea8203",
      "tree": "6a43ba3a1e8f2bb887a80d4d24290af83a9fea4a",
      "parents": [
        "fc6d54ea074aa1f6a177b031e6b2814368ac7583"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Oct 25 19:38:13 2010 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Oct 25 19:38:13 2010 -0700"
      },
      "message": "Do not exit the GLSurfaceView thread when detached from a window.\n\nAllows a GLSurfaceView to be removed from a window and later reattached\nto a window.\n\nChange-Id: I2b44f35d0c95404b13912782df8877953609a5d0\n"
    },
    {
      "commit": "d8e350bc96c3f170d3016989b249174e65c1a661",
      "tree": "3373c8d89e8db995e516fdbd13f49480655827b6",
      "parents": [
        "457bed2bc6561dd67429dde238453fee8602fa9b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 25 15:51:24 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 25 15:51:24 2010 -0700"
      },
      "message": "fix eglChooseConfig() for special attributes.\n\naffects software renderer (emu) only.\n\nper EGL spec:\n  If EGL_MAX_PBUFFER_WIDTH, EGL_MAX_PBUFFER_HEIGHT,\n  EGL_MAX_PBUFFER_PIXELS, or EGL_NATIVE_VISUAL_ID are speciﬁed\n  in attrib list, then they are ignored\n\nChange-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6\n"
    },
    {
      "commit": "c765a5d9e27ecdf42cb44cfa583bb30ad85fccd0",
      "tree": "0704424c08c7cc0ca60d2e4c65f0d2bd234e0978",
      "parents": [
        "27ca388728288c24ee1e784ff17bd6c9f4ca9a28",
        "49af98ed877e8a2db5a6b5be811c798e6f73dff7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 17:23:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 17:23:24 2010 -0700"
      },
      "message": "am 49af98ed: am aa6df366: Merge \"fix [3119687] [Maps][4.6.0] Force close in street view\" into gingerbread\n\nMerge commit \u002749af98ed877e8a2db5a6b5be811c798e6f73dff7\u0027\n\n* commit \u002749af98ed877e8a2db5a6b5be811c798e6f73dff7\u0027:\n  fix [3119687] [Maps][4.6.0] Force close in street view\n"
    },
    {
      "commit": "49af98ed877e8a2db5a6b5be811c798e6f73dff7",
      "tree": "55c8513ca0c9970d4ec5fdefe3627ef209e6e320",
      "parents": [
        "46beb43357e32507189203db4626d0df954abe62",
        "aa6df3669deab2a804c6f8cc1ea3fd5af0a28685"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 17:07:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 17:07:15 2010 -0700"
      },
      "message": "am aa6df366: Merge \"fix [3119687] [Maps][4.6.0] Force close in street view\" into gingerbread\n\nMerge commit \u0027aa6df3669deab2a804c6f8cc1ea3fd5af0a28685\u0027 into gingerbread-plus-aosp\n\n* commit \u0027aa6df3669deab2a804c6f8cc1ea3fd5af0a28685\u0027:\n  fix [3119687] [Maps][4.6.0] Force close in street view\n"
    },
    {
      "commit": "c4e84b8fbde26c8de362cd96d2420f0e192fac9a",
      "tree": "c5c3b962875e73d707f9857af228d74c39a77969",
      "parents": [
        "703aae06c0925b19657877bb1872bb2f28874969"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 15:58:25 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 15:58:25 2010 -0700"
      },
      "message": "fix [3119687] [Maps][4.6.0] Force close in street view\n\nThe EGLConfig attributes MUST be sorted, because they\u0027re used in a binary search.\nA recent change introduced a bug where 2 of the configs had improperly\nsorted attributes.\n\nChange-Id: I1ac53e4463d62f27125ca9f82ed946e6c98ddba0\n"
    },
    {
      "commit": "55d7bca71ce62248d4d41ba3e1680b9c627971f4",
      "tree": "f8da4aa1f5e63f73442bca7643424c1acab0dcfa",
      "parents": [
        "27767c4856ce1011563fdb5aa21ac50173c83b1b",
        "63ac8f5377833303a7f8c4d60f0d74daf903e6ea"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 13:48:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 13:48:50 2010 -0700"
      },
      "message": "am 63ac8f53: am 2b2da526: Merge \"Add a test application to dump all the EGLConfig available\" into gingerbread\n\nMerge commit \u002763ac8f5377833303a7f8c4d60f0d74daf903e6ea\u0027\n\n* commit \u002763ac8f5377833303a7f8c4d60f0d74daf903e6ea\u0027:\n  Add a test application to dump all the EGLConfig available\n"
    },
    {
      "commit": "6a6fbfb348c8f648a7615f5dae29de610c7c25f6",
      "tree": "75aa42fb3c7673356ba9691fa2b69d1d67f0f4d3",
      "parents": [
        "276bb3a32794097918671780ea9d39aea522aa41",
        "6d90e89afa47293cf5fe18f512cce43d2fa6df82"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 13:47:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 13:47:59 2010 -0700"
      },
      "message": "am 6d90e89a: am a0795fc9: Merge \"software renderer: fix [3117351] GL driver doesn\\\u0027t set the EGL_NATIVE_VISUAL_ID\" into gingerbread\n\nMerge commit \u00276d90e89afa47293cf5fe18f512cce43d2fa6df82\u0027\n\n* commit \u00276d90e89afa47293cf5fe18f512cce43d2fa6df82\u0027:\n  software renderer: fix [3117351] GL driver doesn\u0027t set the EGL_NATIVE_VISUAL_ID\n"
    },
    {
      "commit": "0d4e658bade07d0a1c5f35cb76affdf0a6d3f95f",
      "tree": "818314746bd1825eb972ec42bbe606fafaab0cfd",
      "parents": [
        "9a9849ac7f20923af705887099696721c58207e6",
        "add9db83fdbf939f0610f8b357788fd3e8ad9ab5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 21 10:47:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 21 10:47:32 2010 -0700"
      },
      "message": "am add9db83: am f4cd9be0: Merge \"fix [2236865] STOPSHIP: bump soft gl and egl minor version number\" into gingerbread\n\nMerge commit \u0027add9db83fdbf939f0610f8b357788fd3e8ad9ab5\u0027\n\n* commit \u0027add9db83fdbf939f0610f8b357788fd3e8ad9ab5\u0027:\n  fix [2236865] STOPSHIP: bump soft gl and egl minor version number\n"
    },
    {
      "commit": "63ac8f5377833303a7f8c4d60f0d74daf903e6ea",
      "tree": "dc0678dcd066003c246bfee8a01d90647df52711",
      "parents": [
        "4ceee5a6b0089ffbec75690b7284f80d481ab212",
        "2b2da52608303b149d22418865e67c8030c70e73"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 21:28:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 20 21:28:34 2010 -0700"
      },
      "message": "am 2b2da526: Merge \"Add a test application to dump all the EGLConfig available\" into gingerbread\n\nMerge commit \u00272b2da52608303b149d22418865e67c8030c70e73\u0027 into gingerbread-plus-aosp\n\n* commit \u00272b2da52608303b149d22418865e67c8030c70e73\u0027:\n  Add a test application to dump all the EGLConfig available\n"
    },
    {
      "commit": "2b2da52608303b149d22418865e67c8030c70e73",
      "tree": "6123fe71d2baa25693ccbe17afe5ce6a6d407178",
      "parents": [
        "73655bd2d303f8b3fe5c4bb0d8e4824361647381",
        "cd1e02d46037dd63f42e79d5fffd78887547369f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 20:05:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 20 20:05:28 2010 -0700"
      },
      "message": "Merge \"Add a test application to dump all the EGLConfig available\" into gingerbread"
    },
    {
      "commit": "6d90e89afa47293cf5fe18f512cce43d2fa6df82",
      "tree": "3351d539a5cdbc925cb73e7b03ab7ea4ace91d09",
      "parents": [
        "843ff92bb0f2ff259145fd90333b0a50d8bbf342",
        "a0795fc9bdf97703780cbf0ec47c06eccb642e72"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 18:22:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 20 18:22:17 2010 -0700"
      },
      "message": "am a0795fc9: Merge \"software renderer: fix [3117351] GL driver doesn\\\u0027t set the EGL_NATIVE_VISUAL_ID\" into gingerbread\n\nMerge commit \u0027a0795fc9bdf97703780cbf0ec47c06eccb642e72\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a0795fc9bdf97703780cbf0ec47c06eccb642e72\u0027:\n  software renderer: fix [3117351] GL driver doesn\u0027t set the EGL_NATIVE_VISUAL_ID\n"
    },
    {
      "commit": "c9923876d4ec07d64901436010755ad227f811e6",
      "tree": "7ea6a0249fc3b5f04f5bcfdf3c58a7321afada9f",
      "parents": [
        "6037a056ea0dda27a286ddcb527b323b58a1c7c7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 17:21:43 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 17:21:43 2010 -0700"
      },
      "message": "software renderer: fix [3117351] GL driver doesn\u0027t set the EGL_NATIVE_VISUAL_ID\n\nChange-Id: I371bc0abfee6065247bc6f04b0e0451645eb2dbf\n"
    },
    {
      "commit": "cd1e02d46037dd63f42e79d5fffd78887547369f",
      "tree": "8a064e76693b387fdbdb5db0fa9118c6b29fb3cc",
      "parents": [
        "6037a056ea0dda27a286ddcb527b323b58a1c7c7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 17:10:47 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 20 17:10:47 2010 -0700"
      },
      "message": "Add a test application to dump all the EGLConfig available\n\nChange-Id: Iddf27f2a9dd51733f6b90081a523ca37bfe310fa\n"
    },
    {
      "commit": "add9db83fdbf939f0610f8b357788fd3e8ad9ab5",
      "tree": "1620dd0fb8ee465cc2c0ff1425db88624f204786",
      "parents": [
        "62ad0db62393073a8cda9b21e4ae1506954c10a5",
        "f4cd9be0390135269e22e42fd2e1fe61fdcf9863"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 19 18:26:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 19 18:26:28 2010 -0700"
      },
      "message": "am f4cd9be0: Merge \"fix [2236865] STOPSHIP: bump soft gl and egl minor version number\" into gingerbread\n\nMerge commit \u0027f4cd9be0390135269e22e42fd2e1fe61fdcf9863\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f4cd9be0390135269e22e42fd2e1fe61fdcf9863\u0027:\n  fix [2236865] STOPSHIP: bump soft gl and egl minor version number\n"
    },
    {
      "commit": "f91bff9fd4f159aae942ce68e3de9f9151e6ffbc",
      "tree": "820830766447da2176522dc34b0d7c10a3285b88",
      "parents": [
        "59993d9bc589089e6be55371c6536a42afe21a64"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 19 14:47:08 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 19 14:47:08 2010 -0700"
      },
      "message": "fix [2236865] STOPSHIP: bump soft gl and egl minor version number\n\nChange-Id: Ibf46b18d7493348e189f2c93e969a6cac61f68b5\n"
    },
    {
      "commit": "1d83631af509545da575f01d9c1a464db488e11f",
      "tree": "6a8ac819e6432117e9676e7bc12eca39630ba667",
      "parents": [
        "2fe9a8f6f6a5264597a9dbed2fb2e02d84853189"
      ],
      "author": {
        "name": "Ari Hirvonen",
        "email": "ahirvonen@nvidia.com",
        "time": "Fri Oct 01 19:00:54 2010 +0300"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 06 16:44:37 2010 -0700"
      },
      "message": "libagl: eglSwapInterval fix\n\nSW egl returned always EGL_FALSE even when the display was valid.\nThis made calls to eglSwapInterval to fail on HW since the wrapper\nfails if either SW or HW egl fails.\n\nLetting SW eglSwapInterval to return true when display is valid is\nok since spec says that interval parameter is silently clamped.\n\nChange-Id: Ib4aa1dbfccf510a0f36621796e79a4d46852ee6a\n"
    },
    {
      "commit": "cf9076e7a5d818bab0c9365b075e03d000f677d0",
      "tree": "369e92e4eb138b4aa9ed29c24ae3180f380782d6",
      "parents": [
        "464fb74e28b6d76d5e741abcdbb714eea2d9b4d1"
      ],
      "author": {
        "name": "Jim Shuma",
        "email": "jshuma@google.com",
        "time": "Tue Sep 28 14:59:20 2010 -0700"
      },
      "committer": {
        "name": "Jim Shuma",
        "email": "jshuma@google.com",
        "time": "Tue Sep 28 14:59:20 2010 -0700"
      },
      "message": "Initial checkin of a framerate test app\n\nMeasures the time to do nothing but clear the screen in an\nOpenGL Java app. Spews frame time statistics to the log.\n\nControl long frame time by setting debug.longframe_ms;\ne.g., adb shell setprop debug.longframe_ms 33\n\nChange-Id: I435a3cb170048349e00417c44db42121c68744b2\n"
    },
    {
      "commit": "2184624db15088bcd230d1e8da1ad7d9bca91c90",
      "tree": "d88a3a008dd2122eef440431c760003e5aaf7db0",
      "parents": [
        "04e79051dce4f7ea3b3c6ced2c03676083449267",
        "4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 21:41:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 21:41:30 2010 -0700"
      },
      "message": "am 4eb1ad5e: am 524a6d8e: Merge \"better fix for [3028370] GL get error should return a valid error if no context is bound.\" into gingerbread\n\nMerge commit \u00274eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e\u0027\n\n* commit \u00274eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e\u0027:\n  better fix for [3028370] GL get error should return a valid error if no context is bound.\n"
    },
    {
      "commit": "4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e",
      "tree": "37aa85af453e7523872ffe80d81bf7505064f4e4",
      "parents": [
        "56d6090380027efc7910537a2c2b99097ca36778",
        "524a6d8e9bb4df9cec0520ac1d9733642b13e76f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 18:17:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 18:17:08 2010 -0700"
      },
      "message": "am 524a6d8e: Merge \"better fix for [3028370] GL get error should return a valid error if no context is bound.\" into gingerbread\n\nMerge commit \u0027524a6d8e9bb4df9cec0520ac1d9733642b13e76f\u0027 into gingerbread-plus-aosp\n\n* commit \u0027524a6d8e9bb4df9cec0520ac1d9733642b13e76f\u0027:\n  better fix for [3028370] GL get error should return a valid error if no context is bound.\n"
    },
    {
      "commit": "25b388c43bd0444985776c4d129e0ccaef9b6229",
      "tree": "d58e3de3d31497d20adfd170de367eff3e02fc17",
      "parents": [
        "5c6c5c7a43d44316395f5c35ab713372124b8b4c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 16:38:38 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 16:44:48 2010 -0700"
      },
      "message": "better fix for [3028370] GL get error should return a valid error if no context is bound.\n\nit turns out that we cannot return INVALID_OPERATION from glGetError() because the\nGL spec says that it must be called in a loop until it returns GL_NO_ERROR.\n\nnow, we always return 0 from GL functions called from a thread with no\ncontext bound. This means that glGetError() will return NO_ERROR in this case,\nwhich is better than returning a random value (which could trap the app in a loop).\n\nif this happens in the main thread of a process, we LOG an error message once.\n\nChange-Id: Id59620e675a890286ef62a257c02b06e0fdcaf69\n"
    },
    {
      "commit": "ecc875e22c10676d4612ab5f79debf3bc778fc1c",
      "tree": "648e89cbc4a519bb7698854690c906f560c10ee3",
      "parents": [
        "9c7bec2538eb30c7e8049effb8de827da74793a9",
        "9c4d7d677097981a349c718902e29050dad3d59f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 13:28:47 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 13:28:47 2010 -0700"
      },
      "message": "am 9c4d7d67: am 5c6c5c7a: fix [3028370] GL get error should return a valid error if no context is bound.\n\nMerge commit \u00279c4d7d677097981a349c718902e29050dad3d59f\u0027\n\n* commit \u00279c4d7d677097981a349c718902e29050dad3d59f\u0027:\n  fix [3028370] GL get error should return a valid error if no context is bound.\n"
    },
    {
      "commit": "9c4d7d677097981a349c718902e29050dad3d59f",
      "tree": "bbf813aa3cc58acfb30a69a457a80da220118657",
      "parents": [
        "1fd1129264ef4379633aa4fcd8a9ecaeeb9797f3",
        "5c6c5c7a43d44316395f5c35ab713372124b8b4c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 13:24:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 23 13:24:11 2010 -0700"
      },
      "message": "am 5c6c5c7a: fix [3028370] GL get error should return a valid error if no context is bound.\n\nMerge commit \u00275c6c5c7a43d44316395f5c35ab713372124b8b4c\u0027 into gingerbread-plus-aosp\n\n* commit \u00275c6c5c7a43d44316395f5c35ab713372124b8b4c\u0027:\n  fix [3028370] GL get error should return a valid error if no context is bound.\n"
    },
    {
      "commit": "5c6c5c7a43d44316395f5c35ab713372124b8b4c",
      "tree": "43ec94e3ed008616b1ddeee67aef3420180cbe1b",
      "parents": [
        "bb0d23b5475cb516fa6f61ee3fe4e7b79cd980f8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 11:32:52 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 23 13:19:02 2010 -0700"
      },
      "message": "fix [3028370] GL get error should return a valid error if no context is bound.\n\nglGetError() will now always return GL_INVALID_OPERATION if called from a thread\nwith no GL context bound.\n\nChange-Id: I28ba458871db051bb4f5a26668a1fa123526869c\n"
    },
    {
      "commit": "50804e0cb27e66c3fa906e127f7f39c148219d7c",
      "tree": "cab43c721d35b46c67abe6b44d62b389eecb6c76",
      "parents": [
        "353a48e8ed90c028fb51fe145dae6113661f03e4",
        "d01ce1924a51539c4d47ef1f55913bdf1a018124"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 22 14:41:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 22 14:41:45 2010 -0700"
      },
      "message": "am d01ce192: am 9d5fac51: Merge \"fix small bug in EGL error management\" into gingerbread\n\nMerge commit \u0027d01ce1924a51539c4d47ef1f55913bdf1a018124\u0027\n\n* commit \u0027d01ce1924a51539c4d47ef1f55913bdf1a018124\u0027:\n  fix small bug in EGL error management\n"
    },
    {
      "commit": "d01ce1924a51539c4d47ef1f55913bdf1a018124",
      "tree": "cbf2879d3850234aa6cf847faa587bfb5b785016",
      "parents": [
        "cc6b941cf01994c04b5e1f92b0860be8e2abc50e",
        "9d5fac517463526450268bf6353e32c13a8cdd0c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 22 14:21:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 22 14:21:01 2010 -0700"
      },
      "message": "am 9d5fac51: Merge \"fix small bug in EGL error management\" into gingerbread\n\nMerge commit \u00279d5fac517463526450268bf6353e32c13a8cdd0c\u0027 into gingerbread-plus-aosp\n\n* commit \u00279d5fac517463526450268bf6353e32c13a8cdd0c\u0027:\n  fix small bug in EGL error management\n"
    },
    {
      "commit": "e59c69dc3b1f2fa206aa22698c4aa31498438a5e",
      "tree": "0da6a15a07d802a0b74d11d8cc318c9a4fb91d4c",
      "parents": [
        "cedb67efd81e31f001d4c1309b4259ad48554c09",
        "4644ea7f46951452a091d172a425559cd07411d7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 22 14:15:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 14:15:15 2010 -0700"
      },
      "message": "Merge \"fix typo EGL_NO_IMAGE_KHR -\u003e EGL_NO_SYNC_KHR\""
    },
    {
      "commit": "d0259a47fc90a0a3c69724a686580b29b4c36e69",
      "tree": "fb4d206364dee7b8498a95415a7b29d33b01f0be",
      "parents": [
        "2867be8820963e03a091fb86ea4569ec9a2a4101"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Sep 22 12:13:02 2010 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Sep 22 12:13:02 2010 -0700"
      },
      "message": "Add simple interactive end-to-end latency test.\n\nChange-Id: I4c2f2acf797a3a753f8a6061db3d2bcdc7d642f0\n"
    },
    {
      "commit": "4644ea7f46951452a091d172a425559cd07411d7",
      "tree": "426c0c1d251113bc1749351cebf7265b9ee0dafe",
      "parents": [
        "d7b871419e09c497ed98a49fd0d7ab9376b2a0d5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 21 16:22:10 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 21 16:22:10 2010 -0700"
      },
      "message": "fix typo EGL_NO_IMAGE_KHR -\u003e EGL_NO_SYNC_KHR\n\nChange-Id: I38c87803e32030918f2deb06381eabce0faa870c\n"
    },
    {
      "commit": "f65630a4b84fdc8cad670dcc61225e55d4ca4ca1",
      "tree": "6b8f8ce2153f1896060c8d77964c7300faf0b2fb",
      "parents": [
        "d45cb72ac0d7d57829ffc9223decb89a5fc42ce2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 21 15:43:59 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 21 15:43:59 2010 -0700"
      },
      "message": "fix small bug in EGL error management\n\nmake sure to clear our EGL implementation\u0027s error when returning\nan error from an underlying implementation\n\nChange-Id: Ibce4726cef1f900e4c7f16002345d7a07f8cdf41\n"
    },
    {
      "commit": "23838860b0295351a5891899f2249fc30ecdfd10",
      "tree": "de2943001aaadab8c76e69ae7cc20d6bd1efe0cb",
      "parents": [
        "399542a7a30aa691c4923961c557fc99960786fd",
        "5c7465220d52c64c87fe4566fe109c649ec5c4f7"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Mon Sep 20 19:32:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 20 19:32:01 2010 -0700"
      },
      "message": "am 5c746522: am 181e5ea8: Merge \"support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl\" into gingerbread\n\nMerge commit \u00275c7465220d52c64c87fe4566fe109c649ec5c4f7\u0027\n\n* commit \u00275c7465220d52c64c87fe4566fe109c649ec5c4f7\u0027:\n  support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl\n"
    },
    {
      "commit": "5c7465220d52c64c87fe4566fe109c649ec5c4f7",
      "tree": "41f30cd2e1d4d28f39d7698beb04ace4867cb37d",
      "parents": [
        "852e5354f60a0131692c46f509c2e9901b0b6810",
        "181e5ea8087360742b3ed0a7f2e6f8f8baa0a760"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Mon Sep 20 14:08:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 20 14:08:46 2010 -0700"
      },
      "message": "am 181e5ea8: Merge \"support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl\" into gingerbread\n\nMerge commit \u0027181e5ea8087360742b3ed0a7f2e6f8f8baa0a760\u0027 into gingerbread-plus-aosp\n\n* commit \u0027181e5ea8087360742b3ed0a7f2e6f8f8baa0a760\u0027:\n  support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl\n"
    },
    {
      "commit": "a21c2009f1deceef0fd22a4134e35040a13fb039",
      "tree": "90c5d37cd2e1fa4b8a3eab2189e6cbb46102da78",
      "parents": [
        "4258bfb7a9fb18907fbfbe79ec0a937b4e7382b1"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Mon Sep 20 12:58:15 2010 -0700"
      },
      "committer": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Mon Sep 20 12:58:15 2010 -0700"
      },
      "message": "support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl\n\nChange-Id: Idd9ca85ce3ba6c92234375071b53e5365e689062\n"
    },
    {
      "commit": "10a96daf7fefb2c1e6381ea233f2aac3fae2869c",
      "tree": "0c6a5df58e80358e08daa1714cd36825b6422fba",
      "parents": [
        "99ce45732030d379549f74248f1f5cc88dfbf191",
        "793b2293797ea930078640c4827d3cbdf449c227"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 18:26:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 18:26:19 2010 -0700"
      },
      "message": "am 793b2293: am 1bcb8b1a: Merge \"surfaceflinger / GL extensions cleanup\" into gingerbread\n\nMerge commit \u0027793b2293797ea930078640c4827d3cbdf449c227\u0027\n\n* commit \u0027793b2293797ea930078640c4827d3cbdf449c227\u0027:\n  surfaceflinger / GL extensions cleanup\n"
    },
    {
      "commit": "793b2293797ea930078640c4827d3cbdf449c227",
      "tree": "c86ad075903ffa8adf25caed67bf6841d41b97cf",
      "parents": [
        "8f476407bf4e6283b128532d594d44cc527e8204",
        "1bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 17:57:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:57:34 2010 -0700"
      },
      "message": "am 1bcb8b1a: Merge \"surfaceflinger / GL extensions cleanup\" into gingerbread\n\nMerge commit \u00271bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69\u0027 into gingerbread-plus-aosp\n\n* commit \u00271bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69\u0027:\n  surfaceflinger / GL extensions cleanup\n"
    },
    {
      "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": "9ca8a84c67ff1aa23c4b963a274acac557df44d4",
      "tree": "fd3f239339bb1723a7b23e2acf6edb1ad811b503",
      "parents": [
        "bc234a19f4c74116454e2c77f4739290e761995a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 27 16:48:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Sep 10 14:01:45 2010 -0700"
      },
      "message": "Add support for KHR_fence_sync\n\nChange-Id: Ie2771b5869c9c8dcf5ecf9318e2ee6d4d1cd5cc9\n"
    },
    {
      "commit": "127612855a5c73ed4d8b2b46a540626da4f5c6cb",
      "tree": "113643a75541c7f87a64cd06b16a69bc5c0dacc9",
      "parents": [
        "ddf719e519d84138dde1ab4ba66eae1beb1b87e6",
        "d997f71d3046424e977352d442b4944369ddbe9a"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 09 14:51:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 09 14:51:56 2010 -0700"
      },
      "message": "Merge \"Rework gl perf test to focus on important use cases.\""
    },
    {
      "commit": "3748b718a4aedc07a07a636da3ed8587c09c9bcb",
      "tree": "b95e74721c10166721305a8e2983d38e8f8840c3",
      "parents": [
        "c8532dac2122b17cd4ad9007ee4351bdae07384d",
        "45bd99466ce9962778eacaefff1c0a44bb268f0c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 09 14:23:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 09 14:23:09 2010 -0700"
      },
      "message": "am 45bd9946: am fec5d38b: Merge \"option to enable multisampling\" into gingerbread\n\nMerge commit \u002745bd99466ce9962778eacaefff1c0a44bb268f0c\u0027\n\n* commit \u002745bd99466ce9962778eacaefff1c0a44bb268f0c\u0027:\n  option to enable multisampling\n"
    },
    {
      "commit": "12e85311f4d8de8011f1c4b10320a399ba97597f",
      "tree": "6a1f53019f3830fce04d2137eb456834fc925bf5",
      "parents": [
        "293de3eaf22987b011b3b9a4bd176b4d2c17d224",
        "a9ff29b59cf33e552285a0bff3caf7a44f93f1c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 09 14:21:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 09 14:21:55 2010 -0700"
      },
      "message": "am a9ff29b5: am 6808e6a8: Merge \"Fix a few typos in EGL wrapper\" into gingerbread\n\nMerge commit \u0027a9ff29b59cf33e552285a0bff3caf7a44f93f1c0\u0027\n\n* commit \u0027a9ff29b59cf33e552285a0bff3caf7a44f93f1c0\u0027:\n  Fix a few typos in EGL wrapper\n"
    },
    {
      "commit": "45bd99466ce9962778eacaefff1c0a44bb268f0c",
      "tree": "52816f294ef198d6bd3bda2581b83f15f481b45c",
      "parents": [
        "1ed20dc43b070903597c55738f342bc77f7ab21d",
        "fec5d38baf4487d8ab0143451a3f2c39edeeb5b2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 09 11:58:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 09 11:58:14 2010 -0700"
      },
      "message": "am fec5d38b: Merge \"option to enable multisampling\" into gingerbread\n\nMerge commit \u0027fec5d38baf4487d8ab0143451a3f2c39edeeb5b2\u0027 into gingerbread-plus-aosp\n\n* commit \u0027fec5d38baf4487d8ab0143451a3f2c39edeeb5b2\u0027:\n  option to enable multisampling\n"
    },
    {
      "commit": "850753b6f45e66f805b69c033ed06d8177aa1e19",
      "tree": "48e417a22a9b2982f437222fe391a30d9f64b035",
      "parents": [
        "6808e6a867ba0b32f8bd97163e134c2866423f01"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 09 11:53:17 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 09 11:53:17 2010 -0700"
      },
      "message": "option to enable multisampling\n\nmultisampling can be enabled by specifying the number of\nsamples desired on the command line.\n\nChange-Id: I5f93c93ae7ada54bcd646c1065e07890d0cb9808\n"
    }
  ],
  "next": "a9ff29b59cf33e552285a0bff3caf7a44f93f1c0"
}
