)]}'
{
  "log": [
    {
      "commit": "74befcc7fd721ca34f60bf75e18ce6faaab37aef",
      "tree": "40ceb357754a0619c9f0a719679065272fd1fe50",
      "parents": [
        "fac576360f7b2cd06e6b174894e8d192088349b0",
        "981ccfbbfd737e2bdf0cedec0089975f91fd4e0a"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 15:59:08 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:59:08 2009 -0800"
      },
      "message": "am 981ccfbb: Implement Matrix Palette extension.\n\nMerge commit \u0027981ccfbbfd737e2bdf0cedec0089975f91fd4e0a\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027981ccfbbfd737e2bdf0cedec0089975f91fd4e0a\u0027:\n  Implement Matrix Palette extension.\n"
    },
    {
      "commit": "fac576360f7b2cd06e6b174894e8d192088349b0",
      "tree": "59b1d0189a21e3677793f7500eae792970843606",
      "parents": [
        "44a95cc084f1904d9d0dd433553d418817e733aa",
        "aa396b9610f339cf280159144fbea47506f060e7"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 15:58:56 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:58:56 2009 -0800"
      },
      "message": "am aa396b96: Unhide the Android OpenGL ES 2.0 API\n\nMerge commit \u0027aa396b9610f339cf280159144fbea47506f060e7\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027aa396b9610f339cf280159144fbea47506f060e7\u0027:\n  Unhide the Android OpenGL ES 2.0 API\n"
    },
    {
      "commit": "44a95cc084f1904d9d0dd433553d418817e733aa",
      "tree": "12a9459213cb2a0c0b623f8ad42408ad2af656c5",
      "parents": [
        "00666295a03f36d908c9d2aa57cc08bc0c57226a",
        "0dce2dd26699e4dbfba8b8c5ea01f7fd03369e02"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 15:58:45 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:58:45 2009 -0800"
      },
      "message": "am 0dce2dd2: Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context\n\nMerge commit \u00270dce2dd26699e4dbfba8b8c5ea01f7fd03369e02\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00270dce2dd26699e4dbfba8b8c5ea01f7fd03369e02\u0027:\n  Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context\n"
    },
    {
      "commit": "00666295a03f36d908c9d2aa57cc08bc0c57226a",
      "tree": "f9a9fb3f4a53811e48814ef5806f6629fd034374",
      "parents": [
        "ea483723b3cc630cf5b5b6fda7b08d9592bdbbde",
        "3608891b83af9fbd1af9b9a411f2a90e52353ff8"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 15:58:35 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:58:35 2009 -0800"
      },
      "message": "am 3608891b: Add a Java API for OpenGL ES 2.0.\n\nMerge commit \u00273608891b83af9fbd1af9b9a411f2a90e52353ff8\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00273608891b83af9fbd1af9b9a411f2a90e52353ff8\u0027:\n  Add a Java API for OpenGL ES 2.0.\n"
    },
    {
      "commit": "981ccfbbfd737e2bdf0cedec0089975f91fd4e0a",
      "tree": "1625a7d2cc71a5f8e86f0dc575069e030c8ac0e3",
      "parents": [
        "aa396b9610f339cf280159144fbea47506f060e7"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Dec 08 15:43:51 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 16:34:46 2009 +0800"
      },
      "message": "Implement Matrix Palette extension.\n\nAdds support for formerly-unimplemented methods:\n\nglCurrentPaletteMatrixOES\nglLoadPaletteFromModelViewMatrixOES\nglMatrixIndexPointerOES\nglWeightPointerOES\n\nThe bulk of the changes are related to implementing the two PointerOES\nmethods, which are implemented pretty much the same way as the existing\nPointer methods were implemented.\n\nThis change also changes the way glPointSizePointerOES is implemented,\nmaking it act like all the other Pointer methods. (Previously it was\nnot handling non-direct-buffer arguments correctly.)\n\nFixes bug 2308625 \"Support matrix palette skinning\nin JSR239 and related APIs\"\n\nAlso updated GLLogWraper to fix two bugs in GLLogWrapper that were\ndiscovered while testing matrix palette skinning support:\n\na) Handle trying to print the contents of null-but-enabled buffers.\n(It\u0027s not legal to draw with null-but-enabled buffers, and\nin fact some OpenGL drivers will crash if you try to render in this\nstate, but there\u0027s no reason the GLLogWrapper should crash while trying\nto debug this situation.\n\nb) Don\u0027t read off the end of a vertex buffer with non-zero position when\nprinting the entire contents of the vertex buffer. Now we only print from\nthe current position to the end of the buffer.\n"
    },
    {
      "commit": "aa396b9610f339cf280159144fbea47506f060e7",
      "tree": "cde57c6f229bf98c256e6411d87d86eedb8ef1fa",
      "parents": [
        "0dce2dd26699e4dbfba8b8c5ea01f7fd03369e02"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 27 19:59:05 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 16:34:42 2009 +0800"
      },
      "message": "Unhide the Android OpenGL ES 2.0 API\n\nAdd a Matrix.setLookAtM method for computing a look-at viewing transform.\n\nChange GLU.lookAt to use Matrix.setLook.\n"
    },
    {
      "commit": "0dce2dd26699e4dbfba8b8c5ea01f7fd03369e02",
      "tree": "248e09a9cd55f92b9b97110850320af9ed6566aa",
      "parents": [
        "3608891b83af9fbd1af9b9a411f2a90e52353ff8"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Nov 19 19:08:52 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 16:34:34 2009 +0800"
      },
      "message": "Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context\n\nProvide a new method, GLSurfaceView.setEGLContextClientVersion. Clients\ncall this method to define which level of OpenGL ES support they want.\n\nThis method only affects the default behavior of GLSurfaceView. If clients\nhave supplied their own EGLContextFactory or EGLConfigChooser then they\nare on their own if they want to create an OpenGL ES 2.0 context.\n\nThis API is currently hidden.\n\nUpdate the gl2_java test to use this new API.\n\nUpdate the gl2_java test\u0027s AndroidManifest.xml file to indicate that\nit requires OpenGL ES 2.0.\n"
    },
    {
      "commit": "3608891b83af9fbd1af9b9a411f2a90e52353ff8",
      "tree": "bde3e48044987e890ddeaf490e07c62cb788588f",
      "parents": [
        "9fbb534ebddb2ae43e862a3bc0ff5859358b194b"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Nov 19 16:34:55 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 09 16:34:33 2009 +0800"
      },
      "message": "Add a Java API for OpenGL ES 2.0.\n\nCurrently this API is hidden.\n\nAdd a test program.\n"
    },
    {
      "commit": "9196034b84c48844799a2904ef3ce31f18ee748e",
      "tree": "8b608364215e2007718771e948c6f421402c2cf2",
      "parents": [
        "e300deaf2fd2842240ea90fd00296a6e2ceba9d8",
        "30d905235074f343ebac6002408ab5c2b360ea14"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Dec 04 15:59:10 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 15:59:10 2009 -0800"
      },
      "message": "am 30d90523: Merge changes Id682ab72,I9bb4dbae into eclair-mr2\n\nMerge commit \u002730d905235074f343ebac6002408ab5c2b360ea14\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002730d905235074f343ebac6002408ab5c2b360ea14\u0027:\n  Improve error message thrown when eglCreateContext fails.\n  Improve error reporting by always returning the public\n"
    },
    {
      "commit": "9bb4dbae91df0971038e955ef49c5d9a64d4a428",
      "tree": "fd26f392ac4891ae5ce880c161cd0b9e084ed927",
      "parents": [
        "d682ab72c5b7781109b0f30ac16202441fb925d6"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Dec 04 17:15:07 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Dec 04 17:15:07 2009 +0800"
      },
      "message": "Improve error message thrown when eglCreateContext fails.\n"
    },
    {
      "commit": "d682ab72c5b7781109b0f30ac16202441fb925d6",
      "tree": "a474f497ea34b3a20ed3da1f1cef30d67fd743f8",
      "parents": [
        "39b082356851e29ba7a0af981eaa27d3b08a387b"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Dec 04 17:07:31 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Dec 04 17:07:31 2009 +0800"
      },
      "message": "Improve error reporting by always returning the public\nEGL10.EGL_NO_XXX objects for displays, surfaces, and contexts.\n\nThis allows clients to compare the returned object against\nthe public EGL10.EGL_NO_XXX object using a simple \u003d\u003d operation.\n\nThis fixes bug 2303947 \"Java layer EGL API makes it difficult\nto tell when certain methods have failed\"\n"
    },
    {
      "commit": "51438c18f5af96c16ac33a85b3ebaacf200b7b5e",
      "tree": "370d6bcb2e20899100ae4f1ea70976bcb2b6c322",
      "parents": [
        "a45e925108f6c9d35d9e7b5e8def9aba49ee0dba"
      ],
      "author": {
        "name": "Li Wenhao",
        "email": "gliwenhao@gmail.com",
        "time": "Wed Jul 29 14:45:08 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Dec 02 21:15:33 2009 -0800"
      },
      "message": "the vertex index should be \"first + i\".\n"
    },
    {
      "commit": "7671c088cd5e6ce938c89939f55ead6629bd6516",
      "tree": "f79359875b093194c8dc1c31d7f84d80f446939d",
      "parents": [
        "a628e0238519a596e2d10981aae0aab65418f271",
        "77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 01 18:41:42 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 18:41:42 2009 -0800"
      },
      "message": "am 77f17095: am 533a2803: Merge change I18ffb549 into eclair\n\nMerge commit \u002777f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002777f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2\u0027:\n  fix [2069023] STOPSHIP: disable DEBUG_COPYBIT\n"
    },
    {
      "commit": "77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2",
      "tree": "da69a367dbc5ba69460feaf396746f1930e3cee0",
      "parents": [
        "102f4dbb2396e779c588862cfb748ebfc333340d",
        "533a2803506cc4f196403fdfafd948bd4f8e60d9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 01 17:13:50 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 17:13:50 2009 -0800"
      },
      "message": "am 533a2803: Merge change I18ffb549 into eclair\n\nMerge commit \u0027533a2803506cc4f196403fdfafd948bd4f8e60d9\u0027 into eclair-mr2\n\n* commit \u0027533a2803506cc4f196403fdfafd948bd4f8e60d9\u0027:\n  fix [2069023] STOPSHIP: disable DEBUG_COPYBIT\n"
    },
    {
      "commit": "18ffb5493b92e2ae22d8cb01f0b9db1a8617c3f2",
      "tree": "8cf6059218dc3d837cec7ec316a1dfdbff6fc8e4",
      "parents": [
        "5469a4ac1c5073bde2c7caf8540a459c8fb759cd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 30 12:10:53 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 30 12:10:53 2009 -0800"
      },
      "message": "fix [2069023] STOPSHIP: disable DEBUG_COPYBIT\n"
    },
    {
      "commit": "85a9498a2f33d62a4313a3561b5468456974696e",
      "tree": "d253b0415c7ba791e2478ee6f1e527beb2323e0b",
      "parents": [
        "03c185bf763fd2a289131d64e4b14d4a5461d80f",
        "9c0b39c47efade5ee2303a8f8ffbd9cf87c2c841"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Nov 25 14:04:14 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 25 14:04:14 2009 -0800"
      },
      "message": "am 9c0b39c4: am ca00dee2: Merge change I5aa3adcf into eclair\n\nMerge commit \u00279c0b39c47efade5ee2303a8f8ffbd9cf87c2c841\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00279c0b39c47efade5ee2303a8f8ffbd9cf87c2c841\u0027:\n  Improve the exception message text by including eglGetError().\n"
    },
    {
      "commit": "9c0b39c47efade5ee2303a8f8ffbd9cf87c2c841",
      "tree": "22f00f90c4efac18e962bdeba071fd79227d259d",
      "parents": [
        "c61b0de83bc0c6f7bb1d10bcfc02ab29f3a49caa",
        "ca00dee21425882619aef4ecbe3e0d08de0544e5"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Nov 25 13:48:54 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 25 13:48:54 2009 -0800"
      },
      "message": "am ca00dee2: Merge change I5aa3adcf into eclair\n\nMerge commit \u0027ca00dee21425882619aef4ecbe3e0d08de0544e5\u0027 into eclair-mr2\n\n* commit \u0027ca00dee21425882619aef4ecbe3e0d08de0544e5\u0027:\n  Improve the exception message text by including eglGetError().\n"
    },
    {
      "commit": "5aa3adcf304ec3767b3c22128acb23240d8d0bab",
      "tree": "2ceb679ff56e9964bacc79c3e29c744f58a131c0",
      "parents": [
        "55896f3c5121e73e3f657ed14e7ee8937ad72449"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Nov 25 13:56:21 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Nov 25 13:56:21 2009 +0800"
      },
      "message": "Improve the exception message text by including eglGetError().\n\nShould help us track down the cause of bug 2285187\n"
    },
    {
      "commit": "8e9af2bd1d600cd2c69c88c7d60c7d455921677e",
      "tree": "eb3d0bb4399d1af1db5b864a99e0ab8277c0cfe3",
      "parents": [
        "23eb822369952931935589a8b838929b4c044fba",
        "b439f561a6aa3900f1850e71a4aa60618af13f90"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 19:12:01 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 19:12:01 2009 -0800"
      },
      "message": "am b439f561: am 13feccf5: Merge change I39f0003e into eclair\n\nMerge commit \u0027b439f561a6aa3900f1850e71a4aa60618af13f90\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027b439f561a6aa3900f1850e71a4aa60618af13f90\u0027:\n  fix [2235414] libagl glDeleteBuffers() crashes\n"
    },
    {
      "commit": "b439f561a6aa3900f1850e71a4aa60618af13f90",
      "tree": "d14d7c51404256a86fceb8481411f2068f94b68e",
      "parents": [
        "4f81eac4ea57aaf9d2b89ab8b201c60ca5bf3c09",
        "13feccf592d6870b41b3b8a0a31d2abefad0d7ae"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 19:07:36 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 19:07:36 2009 -0800"
      },
      "message": "am 13feccf5: Merge change I39f0003e into eclair\n\nMerge commit \u002713feccf592d6870b41b3b8a0a31d2abefad0d7ae\u0027 into eclair-mr2\n\n* commit \u002713feccf592d6870b41b3b8a0a31d2abefad0d7ae\u0027:\n  fix [2235414] libagl glDeleteBuffers() crashes\n"
    },
    {
      "commit": "39f0003e3ad0a9d9eb144d9e826f194d3533319a",
      "tree": "e0c60ae2a2bae84c5ca9162a64910c1b82196cd7",
      "parents": [
        "74a331b5dd1d39da44b608743c36ab3523f598d2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 17:32:05 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 19 17:32:05 2009 -0800"
      },
      "message": "fix [2235414] libagl glDeleteBuffers() crashes\n\ndon\u0027t dereference null pointers, would happen if one of the array wasn\u0027t bound.\n"
    },
    {
      "commit": "8d0e14723312a9f8286ba95cc559ee000eab1b82",
      "tree": "ab91d91583b668c17e1c37cf79eabfb5447fe1d0",
      "parents": [
        "e5fa335b0dffbd06385b6de05ae04b2bd2ea277e",
        "a822f02bb9c7f5bf2e3fa3cb63effc391be158c5"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Nov 16 19:52:12 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 16 19:52:12 2009 -0800"
      },
      "message": "am a822f02b: resolved conflicts for merge of dc49acb0 to eclair-mr2\n\nMerge commit \u0027a822f02bb9c7f5bf2e3fa3cb63effc391be158c5\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027a822f02bb9c7f5bf2e3fa3cb63effc391be158c5\u0027:\n  More GLSurfaceView cleanup.\n"
    },
    {
      "commit": "a822f02bb9c7f5bf2e3fa3cb63effc391be158c5",
      "tree": "1e966e8efcebb346e51c027a7d0d4b25e29f178b",
      "parents": [
        "6e045e0aa1b465e9e989d3058a5d2fa13dcf026b",
        "dc49acb0289cab2a6e0d73e66b69516605893e28"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Nov 17 11:39:54 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Nov 17 11:39:54 2009 +0800"
      },
      "message": "resolved conflicts for merge of dc49acb0 to eclair-mr2\n"
    },
    {
      "commit": "a08d46d8aaabb53eef4d5dc47272565d50f23c19",
      "tree": "f2f1bb9ca023c1b40241472d40347e0cee3eecb6",
      "parents": [
        "7c1c46000be136ffda36283fdc93bfe3cba72601"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Nov 16 18:48:26 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Nov 16 18:48:26 2009 +0800"
      },
      "message": "More GLSurfaceView cleanup.\n\n+ The mDone flag is now a pair of flags: mShouldExit and mExited. The\nproblem with mDone was that it meant \"had been asked to exit\", but was\nbeing used by some observers as \"had exited\". Using two variables means\nthat observers can observe either \"had been asked to exit\" or \"had exited\",\nas they prefer.\n\n+ Simplyify where we check for mShouldExit. We now check for it at the\n  top of our innermost guardedRun while loop.\n\n+ requestExitAndWait now waits for mExited to be set to true to know\nthat a thread has exited, rather than using join(). This means we can use\nwait() for the check, which releases the sGLThreadManager\nmonitor, avoiding a potential deadlock.\n\n+ move the event queue into the sGLThreadManager monitor. This avoids\nhaving to acquire two locks in order to enque/deque events, which also\navoids the potential for lock ordering deadlocks.\n\n+ Simplify the event dequeueing code. We now deque one event each time\nthrough the main GLSurfaceView loop. Events still have priority over\nrendering, so there isn\u0027t any semantic change, it just cleans up the code.\n\n+ Avoid trying to acquire an egl Surface if we\u0027re paused.\n\n+ To simplify reasoning about the code, call sGLThreadManager.notifyAll()\nin every case where we modify one of the variables that\u0027s protected by\nthe sGLThreadManager monitor. It would be slightly more efficient to only\nnotify when we change variables that could cause a thread to wait(), but\nthen we would have to redo our analysis every time we change any code.\n\n+ Clean up the logic for creating the EGL surface and then calling the\nrenderer\u0027s onSurfaceCreated / onSurfaceChanged methods.\n\n+ Implement work-around for bug 2263168\t\"Need to draw twice after\n  screen rotation...\"\n"
    },
    {
      "commit": "da5e90bee443129511e231e9078a134626b87541",
      "tree": "c13da13b0493a220b9dee63c4345b9513736444f",
      "parents": [
        "adf38939836ee1d1f5967fc45d02e07117f44009",
        "66b5d902a29e08237f16be53a84f9c2472df8493"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 13 09:26:24 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 13 09:26:24 2009 -0800"
      },
      "message": "am 66b5d902: am 27407208: Merge change Icf335098 into eclair\n\nMerge commit \u002766b5d902a29e08237f16be53a84f9c2472df8493\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002766b5d902a29e08237f16be53a84f9c2472df8493\u0027:\n  fix [2236865] STOPSHIP: bump soft gl and egl minor version number\n"
    },
    {
      "commit": "66b5d902a29e08237f16be53a84f9c2472df8493",
      "tree": "c9a870933370595b8f2056b76c5ba90e74fcdc45",
      "parents": [
        "da8bb292db289bdd0e02b672daec09e2a3f9f462",
        "274072089ceff6eacb9ccfb59290a18f43739c87"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 12 23:06:15 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 12 23:06:15 2009 -0800"
      },
      "message": "am 27407208: Merge change Icf335098 into eclair\n\nMerge commit \u0027274072089ceff6eacb9ccfb59290a18f43739c87\u0027 into eclair-mr2\n\n* commit \u0027274072089ceff6eacb9ccfb59290a18f43739c87\u0027:\n  fix [2236865] STOPSHIP: bump soft gl and egl minor version number\n"
    },
    {
      "commit": "cf3350982f63d918e8e4a1de31ea54829ffc0b67",
      "tree": "26ac0c16c83ae6117766edc3474fa5c1f78fecd1",
      "parents": [
        "dffa96f7349a44a5d587656fce5c55386d44b150"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 12 15:19:42 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 12 15:19:42 2009 -0800"
      },
      "message": "fix [2236865] STOPSHIP: bump soft gl and egl minor version number\n"
    },
    {
      "commit": "99cf71b0856e00c1ae9631db91702349cceb9bf8",
      "tree": "a00a753b096e951cce2bf9c01bc168b4ea768489",
      "parents": [
        "fbac9bdfd40b0676a914e9dae7bdd26829087cae",
        "83536cee2b2b5445c5ba0b22531c23890b82da41"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Nov 10 18:06:05 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 10 18:06:05 2009 -0800"
      },
      "message": "am 83536cee: Merge change I1179efbb into eclair-mr2\n\nMerge commit \u002783536cee2b2b5445c5ba0b22531c23890b82da41\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002783536cee2b2b5445c5ba0b22531c23890b82da41\u0027:\n  Fix multi-lock ordering issues in GLSurfaceView\n"
    },
    {
      "commit": "1179efbb3b8856eb8160e2dd67a300a5d64e8e98",
      "tree": "52c7fcf280eb76e4171e833e5084ae1d9437ab24",
      "parents": [
        "6780d8c006c9381919c0ee4de3d2bdc6d7a728d6",
        "ba56915a71cad672baff5594dbb7c9331bf01283"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Nov 11 10:01:46 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Nov 11 10:01:46 2009 +0800"
      },
      "message": "resolved conflicts for merge of ba56915a to eclair-mr2\n"
    },
    {
      "commit": "ba56915a71cad672baff5594dbb7c9331bf01283",
      "tree": "4d6315840c49585786dbbb48e5e48b9d40da7285",
      "parents": [
        "cfe45c775ddb5e48bf556aee7422298260eb4fd8",
        "67dcd6c2392caf3ff98f35a3d1ec550d229c167b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 10 15:21:28 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 10 15:21:28 2009 -0800"
      },
      "message": "Merge change Ie806ae6f into eclair\n\n* changes:\n  Fix multi-lock ordering issues in GLSurfaceView\n"
    },
    {
      "commit": "67dcd6c2392caf3ff98f35a3d1ec550d229c167b",
      "tree": "424ee1b424f4fc7c69f4df0ea065c7d3dd365c06",
      "parents": [
        "e6ab011b8b8aa6c461e64cabb9b25d890d68edb1"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Nov 10 18:26:42 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Nov 10 18:26:42 2009 +0800"
      },
      "message": "Fix multi-lock ordering issues in GLSurfaceView\n\nThere were potential deadlocks between the per-GLThread monitors and the\nGLThreadManager monitor.\n\nTo avoid these deadlocks we now use a single monitor for\nboth the GLThreadManager state and the per-GLThread state.\n\nConverted GLThreadManager\u0027s semaphore into the equivalent\nsynchronized-wait-notifyAll code. This enables us to wait for\neither mDone, or user events, or the EGL surface with a single \"wait()\".\n\nSimplified the logic used to acquire and release the EGL surface. The\nEGL surface is now only requested while the surfaceFlinger surface\nis acquired.\n\nRemoved the \"egl surface stealing\" policy we had recently inserted.\nIt\u0027s not needed now that we reliably quit when requested.\n\nPulled user event processing outside of the  GLThreadManager monitor\nso that we don\u0027t call any potentially-long-running code while\ninside the monitor.\n\nThis should help with bug 2228262.\n"
    },
    {
      "commit": "c6ed8100c2385596117a033e999519e31c5c1c0e",
      "tree": "5fdf2736dac050bc2ebd2a243b5276c5c2b6762b",
      "parents": [
        "eac4222f7f30bf1df14b223cf62e594914dd32d4",
        "0b9d3ba2feab494e7bbd180b51a4311864d08e13"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 09 19:38:43 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 09 19:38:43 2009 -0800"
      },
      "message": "am 0b9d3ba2: am c421fc2a: Merge change Id09376d1 into eclair\n\nMerge commit \u00270b9d3ba2feab494e7bbd180b51a4311864d08e13\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00270b9d3ba2feab494e7bbd180b51a4311864d08e13\u0027:\n  fix [2071412] work around mdp 32-bits fade limitation\n"
    },
    {
      "commit": "0b9d3ba2feab494e7bbd180b51a4311864d08e13",
      "tree": "815665af004fa89c87016f05218666f1850629f9",
      "parents": [
        "949ffa3da5231772425c3bde50caeab6c4d08ec5",
        "c421fc2ada7c1bff104733b840bd640151bebbbb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 09 19:34:59 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 09 19:34:59 2009 -0800"
      },
      "message": "am c421fc2a: Merge change Id09376d1 into eclair\n\nMerge commit \u0027c421fc2ada7c1bff104733b840bd640151bebbbb\u0027 into eclair-mr2\n\n* commit \u0027c421fc2ada7c1bff104733b840bd640151bebbbb\u0027:\n  fix [2071412] work around mdp 32-bits fade limitation\n"
    },
    {
      "commit": "d09376d1e2bce635adfb9e4c5439b6ae0991cf92",
      "tree": "e8d7d799cd7f523a6bc7907b2ef071833e819d6a",
      "parents": [
        "3ea2ae7d6f8a73947831c15f970de70730c5a0f6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 09 17:55:59 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 09 17:55:59 2009 -0800"
      },
      "message": "fix [2071412] work around mdp 32-bits fade limitation\n\nmake sure to always specify blits *inside* the source bitmap.\n"
    },
    {
      "commit": "73ae27f0c56fa705dcfb86d784a95b86f10e48ad",
      "tree": "544814ea82e94aee5e5f552240c20fc9fddefffb",
      "parents": [
        "6720bb8314600a2b55a18159b4a22dc4b18aec88",
        "8da3ac92a6a6247ef06de4d4b684f8635d8fc003"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Mon Nov 09 16:11:11 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 09 16:11:11 2009 -0800"
      },
      "message": "am 8da3ac92: resolved conflicts for merge of 3f857b78 to eclair-mr2\n\nMerge commit \u00278da3ac92a6a6247ef06de4d4b684f8635d8fc003\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00278da3ac92a6a6247ef06de4d4b684f8635d8fc003\u0027:\n  Allow a GLThread to release and reacquire the EGL Surface as needed.\n"
    },
    {
      "commit": "8da3ac92a6a6247ef06de4d4b684f8635d8fc003",
      "tree": "6384e0aecbba872ab451d47528792cbe9a07fb3d",
      "parents": [
        "26c91fa694464c79de39988f9f42cee375ff0a14",
        "3f857b78fc68e5d700139bdc6078c5333b62a9bc"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Nov 10 08:04:53 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Nov 10 08:04:53 2009 +0800"
      },
      "message": "resolved conflicts for merge of 3f857b78 to eclair-mr2\n"
    },
    {
      "commit": "ac94fbd081450ae7f208e4525b23b36d90d382e0",
      "tree": "2996378268ba732d6b70249d63965913c92c0c05",
      "parents": [
        "f7dec4a7986c8d4034d9b029b315bfef4f73158e",
        "4d88cbd98e3398e9f8db48c4a054fba467a242ba"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Nov 09 11:00:18 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Nov 09 11:00:18 2009 -0800"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "32d416518473f3bf5323d660e5910ca5633ffed6",
      "tree": "91f2387a92133132b0faf49989245c5ca5709291",
      "parents": [
        "a44249500f6c1c7a75b5c420fa2e81c2aa317a10"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Sun Nov 08 10:55:56 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Sun Nov 08 10:55:56 2009 +0800"
      },
      "message": "Allow a GLThread to release and reacquire the EGL Surface as needed.\n\nWe currently only allow one GLThread to have an active EGL Surface at a\ntime.(This may be lifted in the future, when EGL and GL are reentrant.)\n\nPrior to this change we would enforce this rule by having older GLThreads\nquit when a new GLThread started. That had the drawback of leaving the\nolder GLSurfaceViews in a zombie state -- their GLThreads would be\ngone.\n\nWe now enforce this rule by just releasing and reacquiring the EGL surface\ncontext as needed.\n\nSpecific changes to the code:\n\ncreated private helper methods - startEgl and stopEgl to help manage\nstarting and stopping EGL.\n\nMove the calls to sGLThreadManager start and end from the outermost run\nmethod into the startEgl / stopEgl methods.\n\nReworked the wait loop to handle starting and stopping EGL as needed.\n\nneedToWait() gets simpler -- just looks at current status.\n\nsGLThreadManager.shouldQuit was replaced by shouldHaveEgl.\n\n\nThis is another step in fixing bug 2228262.\n"
    },
    {
      "commit": "e54f267f06e86f9c1248742fc56967355721a4e7",
      "tree": "5c9afbd9db7305b1e2435e0d97a67b9e9ba8bf7e",
      "parents": [
        "a3c90d930ebabcfffd9d4d7715ad1329e1f8c2d8",
        "a3a351e5d164d0c8b461ae7af86edc0227654a76"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 16:45:58 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 06 16:45:58 2009 -0800"
      },
      "message": "am a3a351e5: resolved conflicts for merge of 4e3fadd0 to eclair-mr2\n\nMerge commit \u0027a3a351e5d164d0c8b461ae7af86edc0227654a76\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027a3a351e5d164d0c8b461ae7af86edc0227654a76\u0027:\n  Fix stupid bug in GLThreadManager implementation.\n"
    },
    {
      "commit": "a3a351e5d164d0c8b461ae7af86edc0227654a76",
      "tree": "a321acc2bd61f1ee164e4db6f01302155d719b47",
      "parents": [
        "f6ff2be323812b5525a0755d194b2fc751ba5968",
        "4e3fadd0c99d2774709a067e017d8fd622440f0e"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 16:35:19 2009 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 16:35:19 2009 -0800"
      },
      "message": "resolved conflicts for merge of 4e3fadd0 to eclair-mr2\n"
    },
    {
      "commit": "a44249500f6c1c7a75b5c420fa2e81c2aa317a10",
      "tree": "7a793f8e3e1cb0abc67246af04c195dbbcd6d2b8",
      "parents": [
        "8d51f7101d2427953dbff9b4b8f8c9fdc0dc4a91"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Sat Nov 07 07:49:15 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Sat Nov 07 07:49:15 2009 +0800"
      },
      "message": "Fix stupid bug in GLThreadManager implementation.\n\nThe code intended to copy the old value of a field, before the\nfield was updated. However, what the code was actually doing was\ncopying the new value of the field, after the field was updated.\n\nThe fix was to move the copy to before the update.\n\nThis is work towards fixing bug 2228262\n"
    },
    {
      "commit": "a9e47546a5132b30a2ed1e24d9193d4db09ef323",
      "tree": "496054740c8e481497fb631d32740bf6486ac968",
      "parents": [
        "78e502df5163e8bcdd803af7f0a3958322a288dc",
        "79447b2087c8c820d742185dda7305101f9656f0"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 00:25:44 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 06 00:25:44 2009 -0800"
      },
      "message": "am 79447b20: resolved conflicts for merge of 84872738 to eclair-mr2\n\nMerge commit \u002779447b2087c8c820d742185dda7305101f9656f0\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002779447b2087c8c820d742185dda7305101f9656f0\u0027:\n  Improve GLSurfaceView to avoid deadlocks and race conditions.\n"
    },
    {
      "commit": "79447b2087c8c820d742185dda7305101f9656f0",
      "tree": "9244ad5c29a8a8d1789d7fd94647af3c86b56260",
      "parents": [
        "892574f5f91b834f70ace880301db61f60d58362",
        "84872738f291faf25ae07235cde382d38c796567"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 00:13:38 2009 -0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 00:13:38 2009 -0800"
      },
      "message": "resolved conflicts for merge of 84872738 to eclair-mr2\n"
    },
    {
      "commit": "8b2c9c9ecb08d25244fa97fb42c2c315ae3cf03d",
      "tree": "0267829c2e976a2b97f3eefa4a03ee47f9f06f6c",
      "parents": [
        "bfa68abc955ed1fe6cf6d98e42f344a8d623fab7"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 10:21:46 2009 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Nov 06 10:21:46 2009 +0800"
      },
      "message": "Improve GLSurfaceView to avoid deadlocks and race conditions.\n\nThis is work towards fixing bug 2228262\n\nSpecific issues fixed by this change:\n\n+ GLThread names now include the thread id, making it easier to tell one\nGLThread from another.\n\n+ A private final static boolean LOG_THREADS can be set to true at compile\ntime to print out thread-related trace information, helpful for debugging\nGLSurfaceView behavior. This static defaults to \"false\".\n\n+ Changed calls to \"notify\" to \"notifyAll\" to make the code more\nrobust in case more than two threads are blocked on the same monitor.\n\n+ Add a GLThreadManager to help manage the transition to\na new GLThread. Currently only one GLThread can be active in an address\nspace. When the second thread starts up, the GLThreadManager helps the old\nGLThread to shut down,\n\n+ Make sure we stop waiting for dead GLThreads. This is done by adding\nchecks for a variable mDone being true to our monitor wait loops. And\nwe use a \"finally\" clause at the end of GLThread.run() method to set mDone\nand notifyAll any wait loops.\n"
    },
    {
      "commit": "ba37ea550d97b753fc74049d22f5e752d4b0185f",
      "tree": "091ad996eb20629b09639223ca0957b17a3c1365",
      "parents": [
        "ffb4eeb54b90659cd95f89268eec47a509690d4c",
        "6d9e0c7aa797f4dae5f529560e9e7c31336624e3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 04 15:10:13 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 04 15:10:13 2009 -0800"
      },
      "message": "am 6d9e0c7a: am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer\n\nMerge commit \u00276d9e0c7aa797f4dae5f529560e9e7c31336624e3\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00276d9e0c7aa797f4dae5f529560e9e7c31336624e3\u0027:\n  part of fix [2186418] switch passion to 24-bits framebuffer\n"
    },
    {
      "commit": "6d9e0c7aa797f4dae5f529560e9e7c31336624e3",
      "tree": "62ea3ba4ffe8c427f8f0fb47922502d9723958b9",
      "parents": [
        "3613385fbc5368715e7af1a6676b7bb63fafcf09",
        "36fe3eeaa056ff13455c0df73b495b2bae8c1469"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 04 14:59:44 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 04 14:59:44 2009 -0800"
      },
      "message": "am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer\n\nMerge commit \u002736fe3eeaa056ff13455c0df73b495b2bae8c1469\u0027 into eclair-mr2\n\n* commit \u002736fe3eeaa056ff13455c0df73b495b2bae8c1469\u0027:\n  part of fix [2186418] switch passion to 24-bits framebuffer\n"
    },
    {
      "commit": "36fe3eeaa056ff13455c0df73b495b2bae8c1469",
      "tree": "6c98eb774a6ed513fd71c18df22d286f654fc370",
      "parents": [
        "5fc71e67498ed64ad2d41c23471b008f93cb580e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 03 16:17:55 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 04 14:51:18 2009 -0800"
      },
      "message": "part of fix [2186418] switch passion to 24-bits framebuffer\n\nadd support for RGBX_8888 EGLConfigs in the software renderer\n(since that\u0027s what we\u0027re using in the MDP case)\n"
    },
    {
      "commit": "4360624241251035534a46449e23be38d9e6b03c",
      "tree": "4fd0c0550b147b7f5cfce0f22ae278428e881be8",
      "parents": [
        "dcef5348f4457b20bcf29b8754a07160ea572372",
        "8e5e44e9538fc327800414926651d46967ccc725"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 04 13:23:36 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 04 13:23:36 2009 -0800"
      },
      "message": "am 8e5e44e9: am 9a54d7dd: Merge change Ibbf945f3 into eclair\n\nMerge commit \u00278e5e44e9538fc327800414926651d46967ccc725\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00278e5e44e9538fc327800414926651d46967ccc725\u0027:\n  fix [2236832] software OpenGL ES driver doesn\u0027t work on sholes\n"
    },
    {
      "commit": "8e5e44e9538fc327800414926651d46967ccc725",
      "tree": "7b023670f8a039d517c65321ddc881d76821d04e",
      "parents": [
        "8742696b0d74f5dc45093d524d12fbb8abb76fa4",
        "9a54d7dddcbc982d644c627693dc39fb2cb5c0fb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 04 13:14:59 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 04 13:14:59 2009 -0800"
      },
      "message": "am 9a54d7dd: Merge change Ibbf945f3 into eclair\n\nMerge commit \u00279a54d7dddcbc982d644c627693dc39fb2cb5c0fb\u0027 into eclair-mr2\n\n* commit \u00279a54d7dddcbc982d644c627693dc39fb2cb5c0fb\u0027:\n  fix [2236832] software OpenGL ES driver doesn\u0027t work on sholes\n"
    },
    {
      "commit": "bbf945f3c0324b5bedd95aa7e436f0a6dc50aa7f",
      "tree": "1f6f700798bc08e9b41ff51b34bc51ad15ef675c",
      "parents": [
        "e1e0dc8e6eaec052ebb6b88f5b1223075ce5a356"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 03 20:38:08 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 03 21:08:06 2009 -0800"
      },
      "message": "fix [2236832] software OpenGL ES driver doesn\u0027t work on sholes\n\nmake sure to not pass our fake handles to the real gralloc\n"
    },
    {
      "commit": "4e90c907f4fb222901f9db07a1f603c01211868d",
      "tree": "62443f8bc0358836b73603c4d7d9ebed0c647d88",
      "parents": [
        "03fa848afd16ee678e2d04ec824794893f199804",
        "65ab88c78916d7e3a182125878b17c8f40d7cac5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 03 15:21:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 03 15:21:00 2009 -0800"
      },
      "message": "am 65ab88c7: am 21977eb0: Merge change I56981989 into eclair\n\nMerge commit \u002765ab88c78916d7e3a182125878b17c8f40d7cac5\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002765ab88c78916d7e3a182125878b17c8f40d7cac5\u0027:\n  fix [2231527] Compatibility with SpaceJunk game (OpenGL)\n"
    },
    {
      "commit": "65ab88c78916d7e3a182125878b17c8f40d7cac5",
      "tree": "957a6be7710791e0b2ecbe14e7fdc820ae88e4b7",
      "parents": [
        "ebca5eec1c1e0a0cfc4ad25d1aacb1a3e30e44ef",
        "21977eb0f1d22497d0beed0492e579f953a56552"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 03 15:11:11 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 03 15:11:11 2009 -0800"
      },
      "message": "am 21977eb0: Merge change I56981989 into eclair\n\nMerge commit \u002721977eb0f1d22497d0beed0492e579f953a56552\u0027 into eclair-mr2\n\n* commit \u002721977eb0f1d22497d0beed0492e579f953a56552\u0027:\n  fix [2231527] Compatibility with SpaceJunk game (OpenGL)\n"
    },
    {
      "commit": "21977eb0f1d22497d0beed0492e579f953a56552",
      "tree": "d505193840d27b1e1b746ca60b894fe7526df318",
      "parents": [
        "83665194abceeb7681cb7ac49a4b71aa6e96b1b1",
        "569819896760f06e33af1fa261ab3614c3e1e5ff"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 18:04:49 2009 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 03 18:04:49 2009 -0500"
      },
      "message": "Merge change I56981989 into eclair\n\n* changes:\n  fix [2231527] Compatibility with SpaceJunk game (OpenGL)\n"
    },
    {
      "commit": "d1d744cdf4b08c8ef969790bae305c82ae783f4e",
      "tree": "762ea10c48d0b35074c79b2074f5f916e47a2577",
      "parents": [
        "c4bbb9144d1955340d69548e7245417cbe862d3c",
        "07d38c66692b7d87415667010c0658202b5a7f39"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 03 09:47:31 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 03 09:47:31 2009 -0800"
      },
      "message": "am 07d38c66: am 8637759a: Merge change I36d0184e into eclair\n\nMerge commit \u002707d38c66692b7d87415667010c0658202b5a7f39\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002707d38c66692b7d87415667010c0658202b5a7f39\u0027:\n  fix[2228133] pixelflinger ignores the \"vertical stride\" leading to artifacts when playing back video\n"
    },
    {
      "commit": "07d38c66692b7d87415667010c0658202b5a7f39",
      "tree": "e9571801445894dac9baa92d15aa153f18d65973",
      "parents": [
        "6cb76ac37f1b4a36d81db7d7e8652d82b6f1b8b5",
        "8637759a1d34a4adda292579d5f8790587659235"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 03 09:34:40 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 03 09:34:40 2009 -0800"
      },
      "message": "am 8637759a: Merge change I36d0184e into eclair\n\nMerge commit \u00278637759a1d34a4adda292579d5f8790587659235\u0027 into eclair-mr2\n\n* commit \u00278637759a1d34a4adda292579d5f8790587659235\u0027:\n  fix[2228133] pixelflinger ignores the \"vertical stride\" leading to artifacts when playing back video\n"
    },
    {
      "commit": "569819896760f06e33af1fa261ab3614c3e1e5ff",
      "tree": "9e2894ae9df4936da4d47c1e6d1f0b10af099575",
      "parents": [
        "989b76aadd92538c7ab4ca00c34508b42fda8cef"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 02 18:33:08 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 02 18:33:08 2009 -0800"
      },
      "message": "fix [2231527] Compatibility with SpaceJunk game (OpenGL)\n\nwe treated all lights as local lights when transforming their\nposition back to object space.\n"
    },
    {
      "commit": "36d0184e089831b74de6005f01da9e7b26679bb9",
      "tree": "8a6cb7b2f9e5c53db29bc818a403b26add0c66fe",
      "parents": [
        "989b76aadd92538c7ab4ca00c34508b42fda8cef"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 02 17:48:33 2009 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 02 17:48:33 2009 -0800"
      },
      "message": "fix[2228133] pixelflinger ignores the \"vertical stride\" leading to artifacts when playing back video\n\nwe lost the concept of vertical stride when moving video playback to EGLImage.\nHere we bring it back in a somewhat hacky-way that will work only for the\nsoftgl/mdp backend.\n"
    },
    {
      "commit": "cb80b4f18e63cd8ef065bd375c28d90c8356ae42",
      "tree": "45004c56c98579d22679dd432dcea27974095649",
      "parents": [
        "0d8aa05d306205850e3014550bce34735ac78660",
        "8385baea4742734dd23843b6dcf89fd2e0490dd6"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 30 18:41:22 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 18:41:22 2009 -0700"
      },
      "message": "am 8385baea: am 05cb5610: Merge change I8c0eb9a6 into eclair\n\nMerge commit \u00278385baea4742734dd23843b6dcf89fd2e0490dd6\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00278385baea4742734dd23843b6dcf89fd2e0490dd6\u0027:\n  libagl: silence a LOGD\n"
    },
    {
      "commit": "78383abf76e7daf8c1968d2e9a29a1ba354edb2e",
      "tree": "02868c0ff1e5e811f0614f35d48abbc8a230bf6c",
      "parents": [
        "739dcc562af9bc4506d8cc6ccf837f072ed90d2d",
        "cbf583d7229aaff65734b4234e81db8ead864761"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 18:41:00 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 18:41:00 2009 -0700"
      },
      "message": "am cbf583d7: am 77bd91f8: Merge change Ie3e80456 into eclair\n\nMerge commit \u0027cbf583d7229aaff65734b4234e81db8ead864761\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027cbf583d7229aaff65734b4234e81db8ead864761\u0027:\n  Turns out the SGX driver is correct and the bug was in this test.\n"
    },
    {
      "commit": "8385baea4742734dd23843b6dcf89fd2e0490dd6",
      "tree": "7bb3033789f9f6224b0174ebee8bfb7fb6485267",
      "parents": [
        "b5868caa8cfe4b3fb14c04f64a71c20a172faaef",
        "05cb5610fdfb7b69cf90a9230853e59b4ae5e219"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 30 18:35:51 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 18:35:51 2009 -0700"
      },
      "message": "am 05cb5610: Merge change I8c0eb9a6 into eclair\n\nMerge commit \u002705cb5610fdfb7b69cf90a9230853e59b4ae5e219\u0027 into eclair-mr2\n\n* commit \u002705cb5610fdfb7b69cf90a9230853e59b4ae5e219\u0027:\n  libagl: silence a LOGD\n"
    },
    {
      "commit": "8c0eb9a6eb5bec699630aeeb1603e5449c45d8e1",
      "tree": "6a4901e18a23722d8b4092dc9cfc291380e6e416",
      "parents": [
        "77bd91f8af44867935ea2df22f69fb244b009b94"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 30 18:29:08 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 30 18:29:08 2009 -0700"
      },
      "message": "libagl: silence a LOGD\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "cbf583d7229aaff65734b4234e81db8ead864761",
      "tree": "10ae49ef9227b5154126e5f2b40d2f310c07ba21",
      "parents": [
        "b199d1145382afc0401e93ee4d6b79b852a97801",
        "77bd91f8af44867935ea2df22f69fb244b009b94"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 17:07:49 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 17:07:49 2009 -0700"
      },
      "message": "am 77bd91f8: Merge change Ie3e80456 into eclair\n\nMerge commit \u002777bd91f8af44867935ea2df22f69fb244b009b94\u0027 into eclair-mr2\n\n* commit \u002777bd91f8af44867935ea2df22f69fb244b009b94\u0027:\n  Turns out the SGX driver is correct and the bug was in this test.\n"
    },
    {
      "commit": "77bd91f8af44867935ea2df22f69fb244b009b94",
      "tree": "74ced80f6556363497cb790b77b6472060189ddd",
      "parents": [
        "9baef73c9b2ea17a4eba997c45e944ac6b9af835",
        "e3e80456fb4cc768890a12bdb8ddb9fac28f3f07"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 19:40:09 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 19:40:09 2009 -0400"
      },
      "message": "Merge change Ie3e80456 into eclair\n\n* changes:\n  Turns out the SGX driver is correct and the bug was in this test.\n"
    },
    {
      "commit": "e3e80456fb4cc768890a12bdb8ddb9fac28f3f07",
      "tree": "85a6295865c9fe8c21b652b8206e4995205fdaea",
      "parents": [
        "4d0bf1201edd3dd8da5b9f07379336390bd234fe"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 16:32:52 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 16:32:52 2009 -0700"
      },
      "message": "Turns out the SGX driver is correct and the bug was in this test.\n\nmake sure the 565 1-texel wide texture is specified with an alignment of 4\nwhich is the OpenGL ES default.\n"
    },
    {
      "commit": "c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc",
      "tree": "691057c8e8fd78420346359df23ae7e969572354",
      "parents": [
        "5acbf81a20f5cd121c1eee81de5f9350b1a8c16e",
        "d85545d0b4c92cceafafce98f246483de5c4903e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 15:10:08 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 15:10:08 2009 -0700"
      },
      "message": "am d85545d0: am d01767f8: Merge change I56779290 into eclair\n\nMerge commit \u0027d85545d0b4c92cceafafce98f246483de5c4903e\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027d85545d0b4c92cceafafce98f246483de5c4903e\u0027:\n  fix[2222341] Soft reset while going back from camcorder settings\n"
    },
    {
      "commit": "5acbf81a20f5cd121c1eee81de5f9350b1a8c16e",
      "tree": "c22313126e961b9344f5d463ab12172c7c1f7414",
      "parents": [
        "2cacabaea9beabb0019b38a4734c1297ffeff607",
        "74d4640c0b362b40f507263627f5657396ff24f0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 15:10:01 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 15:10:01 2009 -0700"
      },
      "message": "am 74d4640c: am f989c114: Merge change If007a2fa into eclair\n\nMerge commit \u002774d4640c0b362b40f507263627f5657396ff24f0\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002774d4640c0b362b40f507263627f5657396ff24f0\u0027:\n  return proper error code from eglCreateImageKHR\n"
    },
    {
      "commit": "d85545d0b4c92cceafafce98f246483de5c4903e",
      "tree": "845f1c74f65a6b18a283151f7e59cb02181455de",
      "parents": [
        "74d4640c0b362b40f507263627f5657396ff24f0",
        "d01767f8b7038108f9125cd2122b117db9919824"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 15:01:57 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 15:01:57 2009 -0700"
      },
      "message": "am d01767f8: Merge change I56779290 into eclair\n\nMerge commit \u0027d01767f8b7038108f9125cd2122b117db9919824\u0027 into eclair-mr2\n\n* commit \u0027d01767f8b7038108f9125cd2122b117db9919824\u0027:\n  fix[2222341] Soft reset while going back from camcorder settings\n"
    },
    {
      "commit": "74d4640c0b362b40f507263627f5657396ff24f0",
      "tree": "65bac84d842036a1fbc0dfebbb785396330e920b",
      "parents": [
        "58d30b69071363aba38307bc5ee3b2d81f22f09d",
        "f989c1140bbc84480498df38abec0fafff04e6ee"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 15:01:44 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 30 15:01:44 2009 -0700"
      },
      "message": "am f989c114: Merge change If007a2fa into eclair\n\nMerge commit \u0027f989c1140bbc84480498df38abec0fafff04e6ee\u0027 into eclair-mr2\n\n* commit \u0027f989c1140bbc84480498df38abec0fafff04e6ee\u0027:\n  return proper error code from eglCreateImageKHR\n"
    },
    {
      "commit": "d01767f8b7038108f9125cd2122b117db9919824",
      "tree": "ec6353d79a856b6227eeeb474fd9c653cc142d95",
      "parents": [
        "f989c1140bbc84480498df38abec0fafff04e6ee",
        "0b0722f980f40e1ac0929a7f1a6e2df7af983478"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:10 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:10 2009 -0400"
      },
      "message": "Merge change I56779290 into eclair\n\n* changes:\n  fix[2222341] Soft reset while going back from camcorder settings\n"
    },
    {
      "commit": "f989c1140bbc84480498df38abec0fafff04e6ee",
      "tree": "88fa9b4256d04c5971c6652e04d8bdf9eeea26a9",
      "parents": [
        "1864d01f2be0e82da7d8844fa91bee8880282041",
        "f007a2faa1d765e9b53553a8214179b253e3cbbd"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:03 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 30 17:54:03 2009 -0400"
      },
      "message": "Merge change If007a2fa into eclair\n\n* changes:\n  return proper error code from eglCreateImageKHR\n"
    },
    {
      "commit": "0b0722f980f40e1ac0929a7f1a6e2df7af983478",
      "tree": "f420562ab6642a7a4fa82e7db0443d10280ef4f2",
      "parents": [
        "f007a2faa1d765e9b53553a8214179b253e3cbbd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 18:29:30 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 30 14:48:50 2009 -0700"
      },
      "message": "fix[2222341] Soft reset while going back from camcorder settings\n\nadd a way to convert a mapped \"pushbuffer\" buffer to a gralloc handle\nwhich then can be safely used by surfaceflinger, without including\ngralloc_priv.h\n"
    },
    {
      "commit": "894449ac461e69cd40f10e9d3644555357a5ed82",
      "tree": "b6e2b05eba1e36f96d0c4a3e255fb555488f56f1",
      "parents": [
        "c7749e4bf724e26a9be530b3baef2441533490f7",
        "af7d2dda809be2ce43b4b892509648857f09f5e3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 19:59:18 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 19:59:18 2009 -0700"
      },
      "message": "am af7d2dda: am 5dc7a21c: Merge change I4e036287 into eclair\n\nMerge commit \u0027af7d2dda809be2ce43b4b892509648857f09f5e3\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027af7d2dda809be2ce43b4b892509648857f09f5e3\u0027:\n  update line test to expose some bug on SGX530 ed4\n"
    },
    {
      "commit": "af7d2dda809be2ce43b4b892509648857f09f5e3",
      "tree": "875e9ebc84d6009e00d166e4726a00de2e25ef2f",
      "parents": [
        "6b9954790e6f4f48d9585dd50131d8080a086cc8",
        "5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 19:34:15 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 19:34:15 2009 -0700"
      },
      "message": "am 5dc7a21c: Merge change I4e036287 into eclair\n\nMerge commit \u00275dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a\u0027 into eclair-mr2\n\n* commit \u00275dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a\u0027:\n  update line test to expose some bug on SGX530 ed4\n"
    },
    {
      "commit": "f007a2faa1d765e9b53553a8214179b253e3cbbd",
      "tree": "7928e89551e22c634ab697673072128e2a2444ff",
      "parents": [
        "ec1f1e3df1ca5e73e262df479bf91a92f3ccafde"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 28 21:00:29 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 16:45:41 2009 -0700"
      },
      "message": "return proper error code from eglCreateImageKHR\n"
    },
    {
      "commit": "4e036287fd64d936478f7168454ed5b8816e157f",
      "tree": "92fb55d7cbab1794dc534950854604fe5ba0b08a",
      "parents": [
        "ec1f1e3df1ca5e73e262df479bf91a92f3ccafde"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 15:47:12 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 15:47:12 2009 -0700"
      },
      "message": "update line test to expose some bug on SGX530 ed4\n"
    },
    {
      "commit": "09976cafb14944f50ea4b3f7b5e8d5fc831f24ff",
      "tree": "8a732f21142a777d4aaad9a9f0cb72a59de68ac9",
      "parents": [
        "cda27c790adc37804ba1940c027621ab232de1b3",
        "2b770bbe4697ebea040532f308d63478ee4b9454"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 14:01:38 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 14:01:38 2009 -0700"
      },
      "message": "am 2b770bbe: am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation\n\nMerge commit \u00272b770bbe4697ebea040532f308d63478ee4b9454\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00272b770bbe4697ebea040532f308d63478ee4b9454\u0027:\n  fix [2071412] work around mdp 32-bits fade limitation\n"
    },
    {
      "commit": "2b770bbe4697ebea040532f308d63478ee4b9454",
      "tree": "9127b7051f7c5c829d329fbb08fa6d7a0cc74ed6",
      "parents": [
        "72c0d293793bfacb0ad9ebcefec305cca7e5dd2e",
        "85ade33edcc7d9be462ad7b8455d27f6654aca5e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 13:43:26 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 13:43:26 2009 -0700"
      },
      "message": "am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation\n\nMerge commit \u002785ade33edcc7d9be462ad7b8455d27f6654aca5e\u0027 into eclair-mr2\n\n* commit \u002785ade33edcc7d9be462ad7b8455d27f6654aca5e\u0027:\n  fix [2071412] work around mdp 32-bits fade limitation\n"
    },
    {
      "commit": "2eca23d690379911a102729eecd35412d0c8be63",
      "tree": "2e693f3f009e4f755e753bc2ea3da5a2baf84be8",
      "parents": [
        "64d3f44c7bf5a6e80be419df5850ef60fec216b5",
        "a2151b2b982cce5d424fdea2510ea9334a131475"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 01:46:31 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 01:46:31 2009 -0700"
      },
      "message": "am a2151b2b: am 7bde36e6: added GL test for textured lines\n\nMerge commit \u0027a2151b2b982cce5d424fdea2510ea9334a131475\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027a2151b2b982cce5d424fdea2510ea9334a131475\u0027:\n  added GL test for textured lines\n"
    },
    {
      "commit": "64d3f44c7bf5a6e80be419df5850ef60fec216b5",
      "tree": "c3085258ac4641e0551082014aab99d458788019",
      "parents": [
        "0200ec3eb4c9c11cc8f9e3db5a1a51f5db840524",
        "893cb4da1034870a8814394a1c3bdac10ca6cadf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 01:46:16 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 01:46:16 2009 -0700"
      },
      "message": "am 893cb4da: am 73e17015: Merge change I8d2de438 into eclair\n\nMerge commit \u0027893cb4da1034870a8814394a1c3bdac10ca6cadf\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027893cb4da1034870a8814394a1c3bdac10ca6cadf\u0027:\n  fix [2143798] Need to figure out how to do video\n"
    },
    {
      "commit": "a2151b2b982cce5d424fdea2510ea9334a131475",
      "tree": "6e1f31bdcd27ba308134d1b170d8bd0f0c133f62",
      "parents": [
        "893cb4da1034870a8814394a1c3bdac10ca6cadf",
        "7bde36e64e66c81f0150d0372e1357a31f4ec704"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 01:27:18 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 01:27:18 2009 -0700"
      },
      "message": "am 7bde36e6: added GL test for textured lines\n\nMerge commit \u00277bde36e64e66c81f0150d0372e1357a31f4ec704\u0027 into eclair-mr2\n\n* commit \u00277bde36e64e66c81f0150d0372e1357a31f4ec704\u0027:\n  added GL test for textured lines\n"
    },
    {
      "commit": "893cb4da1034870a8814394a1c3bdac10ca6cadf",
      "tree": "f4ba2333222c80a64c263cc58ad574433bc77952",
      "parents": [
        "b07d14c26ef33b8aa94a815273d6cb2caac180f5",
        "73e17015d3cd67c93ccad5d63d31c439ff6fa694"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Oct 29 01:26:48 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 29 01:26:48 2009 -0700"
      },
      "message": "am 73e17015: Merge change I8d2de438 into eclair\n\nMerge commit \u002773e17015d3cd67c93ccad5d63d31c439ff6fa694\u0027 into eclair-mr2\n\n* commit \u002773e17015d3cd67c93ccad5d63d31c439ff6fa694\u0027:\n  fix [2143798] Need to figure out how to do video\n"
    },
    {
      "commit": "85ade33edcc7d9be462ad7b8455d27f6654aca5e",
      "tree": "71756ba5ab83253d2fa611dcce3083de11eb948e",
      "parents": [
        "763ccae7d734cc7e55772936dc3f101a2bf453d4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 27 23:33:48 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 28 14:49:44 2009 -0700"
      },
      "message": "fix [2071412] work around mdp 32-bits fade limitation\n\nin the case where we fade a 32-bits surface (ie: GL_MODULATE w/ a,a,a,a + blending),\nwe first make a copy of the background into a RGB buffer, then we blend the 32-bits\nsurface as usual (without the alpha component), and finally blend the copy of\nthe background on top with 1-a. This uses a lot of bandwidth, but no CPU time.\n"
    },
    {
      "commit": "7bde36e64e66c81f0150d0372e1357a31f4ec704",
      "tree": "656069803709ce035abc4ff0bd01e2a0ccefd536",
      "parents": [
        "73e17015d3cd67c93ccad5d63d31c439ff6fa694"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 28 02:09:21 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 28 02:09:21 2009 -0700"
      },
      "message": "added GL test for textured lines\n"
    },
    {
      "commit": "9042b4564de5477b18e680c7dce13b587a681dd9",
      "tree": "04872061371527ef76dbfff6ee0d6c8fdadb99bc",
      "parents": [
        "678cdbe55e0de71436f8aad5f139eafc2ab6f937"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 26 20:12:37 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 27 13:13:29 2009 -0700"
      },
      "message": "    fix [2143798] Need to figure out how to do video\n\n    Use EGLImageKHR instead of copybit directly.\n    We now have the basis to use streaming YUV textures (well, in fact\n    we already are). When/if we use the GPU instead of the MDP we\u0027ll\n    need to make sure it supports the appropriate YUV format.\n\n    Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported\n"
    },
    {
      "commit": "a904672996c60c4ec50439a8d2be04fd9bd6444c",
      "tree": "7dec75b5e59fbd280042ace83fccef9ba1c1e493",
      "parents": [
        "24b7dc20afabea6ebf0b1f7e80ff2aaaabe0e8bd",
        "a2ec1f4cea5531fb824b3fb2802ef4573a4916d9"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Oct 23 17:49:17 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 23 17:49:17 2009 -0700"
      },
      "message": "am a2ec1f4c: am 8f89a1a3: Merge change Ic620a52b into eclair\n\nMerge commit \u0027a2ec1f4cea5531fb824b3fb2802ef4573a4916d9\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027a2ec1f4cea5531fb824b3fb2802ef4573a4916d9\u0027:\n  Add size checks for glBufferData and glBufferSubData\n"
    },
    {
      "commit": "a2ec1f4cea5531fb824b3fb2802ef4573a4916d9",
      "tree": "6a0ec30eaa261b0fd250ab8aefb4d0e5cce35760",
      "parents": [
        "b81199b3eed6f6079e5dc7bedeaa50712f3d9b11",
        "8f89a1a360465e08e81ceca3cb3042606a98668b"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Oct 23 17:39:47 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 23 17:39:47 2009 -0700"
      },
      "message": "am 8f89a1a3: Merge change Ic620a52b into eclair\n\nMerge commit \u00278f89a1a360465e08e81ceca3cb3042606a98668b\u0027 into eclair-mr2\n\n* commit \u00278f89a1a360465e08e81ceca3cb3042606a98668b\u0027:\n  Add size checks for glBufferData and glBufferSubData\n"
    },
    {
      "commit": "c620a52b69a5f29563e06497e30877809f5d67a5",
      "tree": "b0771555e1063ed4653cdfc454a209998a236bb0",
      "parents": [
        "d443ba4534b88fe6dfd3bd8f1dd1dc8451ed6734"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Oct 21 11:02:44 2009 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Oct 21 11:02:44 2009 -0700"
      },
      "message": "Add size checks for glBufferData and glBufferSubData\n\nWithout the size checks it\u0027s possible for calls to glBufferData\nand glBufferSubData to read off the end of the Buffer object\u0027s\ndata, which can cause page faults.\n\nFix end-of-line characters for the \"spec\" files. (That\u0027s why\nevery line of these files is changed.)\n\nEnhance our code emitter to properly handle bounds checks for\npossibly-null pointers.\n"
    },
    {
      "commit": "18dc8826a2c7244a7a61c9c53113516416db4714",
      "tree": "5698cb832831a5808b7110d1ef8b7c186a014c11",
      "parents": [
        "5a4c7a61da8f8586a535661c73ce4681cb9bf111",
        "992f4802aefba9f4a8122cc5332f2bc726a3f3f6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 16:37:36 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 16:37:36 2009 -0700"
      },
      "message": "am 992f4802: am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined\n\nMerge commit \u0027992f4802aefba9f4a8122cc5332f2bc726a3f3f6\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027992f4802aefba9f4a8122cc5332f2bc726a3f3f6\u0027:\n  Use the TLS register if HAVE_ARM_TLS_REGISTER is defined\n"
    },
    {
      "commit": "992f4802aefba9f4a8122cc5332f2bc726a3f3f6",
      "tree": "769a22fbd31001a31dd69c76ba4bd32c69471c4d",
      "parents": [
        "60714539ad896a548c4b0c0b42afc61447cb6e2b",
        "b34d5d527596102ae7a040d787e4d8c336bf192b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 16:27:37 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 16:27:37 2009 -0700"
      },
      "message": "am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined\n\nMerge commit \u0027b34d5d527596102ae7a040d787e4d8c336bf192b\u0027 into eclair-mr2\n\n* commit \u0027b34d5d527596102ae7a040d787e4d8c336bf192b\u0027:\n  Use the TLS register if HAVE_ARM_TLS_REGISTER is defined\n"
    },
    {
      "commit": "b34d5d527596102ae7a040d787e4d8c336bf192b",
      "tree": "0798a46cb5cb451c5067e9e2d4c320f0e39f13cf",
      "parents": [
        "62df88bcc95a714c1d5035471dfe7fe0ddd9d50b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Oct 14 02:39:53 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 16:13:46 2009 -0700"
      },
      "message": "Use the TLS register if HAVE_ARM_TLS_REGISTER is defined\n\nthis will be needed for SMP, but would improve dispatching GL calls a bit\non armv6 and above.\n"
    },
    {
      "commit": "5a4c7a61da8f8586a535661c73ce4681cb9bf111",
      "tree": "cff29a7869e53df46d42690a2475541f54f5c29b",
      "parents": [
        "c0df229d203aa8d4f06c7847c0d53d8ad9026b74",
        "60714539ad896a548c4b0c0b42afc61447cb6e2b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 15:44:18 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 15:44:18 2009 -0700"
      },
      "message": "am 60714539: am 62df88bc: Merge change I0953c1d5 into eclair\n\nMerge commit \u002760714539ad896a548c4b0c0b42afc61447cb6e2b\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002760714539ad896a548c4b0c0b42afc61447cb6e2b\u0027:\n  fix [2153873] EGL-1.4 software implementation misses surface attributes\n"
    },
    {
      "commit": "60714539ad896a548c4b0c0b42afc61447cb6e2b",
      "tree": "3e19e41d381a778390f851b1f8c0f8def9f62a5e",
      "parents": [
        "b0f4d0cd249773927c891ab52505505b6b19347b",
        "62df88bcc95a714c1d5035471dfe7fe0ddd9d50b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 15:33:59 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 15:33:59 2009 -0700"
      },
      "message": "am 62df88bc: Merge change I0953c1d5 into eclair\n\nMerge commit \u002762df88bcc95a714c1d5035471dfe7fe0ddd9d50b\u0027 into eclair-mr2\n\n* commit \u002762df88bcc95a714c1d5035471dfe7fe0ddd9d50b\u0027:\n  fix [2153873] EGL-1.4 software implementation misses surface attributes\n"
    },
    {
      "commit": "62df88bcc95a714c1d5035471dfe7fe0ddd9d50b",
      "tree": "bf31797c243a61d05e2250edfbd5a847f6d85b16",
      "parents": [
        "f37447bad3773b62176baa837908daf6edb44273",
        "0953c1d5e1c295c84fa02237bf70c779e45c83ae"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 19 18:27:47 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 19 18:27:47 2009 -0400"
      },
      "message": "Merge change I0953c1d5 into eclair\n\n* changes:\n  fix [2153873] EGL-1.4 software implementation misses surface attributes\n"
    },
    {
      "commit": "a4aa677db36651e806f38e8aa7e8532da4f06b0d",
      "tree": "28c6ae6b466ff8209fa04d4178fb44ee94e133d5",
      "parents": [
        "220f052f6103655e08cba6cfb1dc542b81ffab11",
        "b263450f7a5b6ff3c8be8cd4b16aa2f65978f657"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 14:53:18 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 14:53:18 2009 -0700"
      },
      "message": "am b263450f: am 3662f9ee: Merge change Ide4c8cbc into eclair\n\nMerge commit \u0027b263450f7a5b6ff3c8be8cd4b16aa2f65978f657\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027b263450f7a5b6ff3c8be8cd4b16aa2f65978f657\u0027:\n  fix [2151588] glTexSubImage2D() allows pixel format conversion\n"
    },
    {
      "commit": "220f052f6103655e08cba6cfb1dc542b81ffab11",
      "tree": "00b771a903c8f697251c1715d16b8de46f3e053e",
      "parents": [
        "da4204caa487bc613e51684db457ef4be6a914fc",
        "cf4ff74017ec6b29646022ae5cbf667483b6137b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 14:53:01 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 14:53:01 2009 -0700"
      },
      "message": "am cf4ff740: am 639d69fe: Merge change I88d11cfb into eclair\n\nMerge commit \u0027cf4ff74017ec6b29646022ae5cbf667483b6137b\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027cf4ff74017ec6b29646022ae5cbf667483b6137b\u0027:\n  one step towards fixing [2071412] work around mdp 32-bits fade limitation\n"
    },
    {
      "commit": "0953c1d5e1c295c84fa02237bf70c779e45c83ae",
      "tree": "130e293e5f3ff4d68f38c3bc5b807500ac413a14",
      "parents": [
        "78811906c3a8a99a155543eda73f51914143277a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 14:46:27 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 14:46:27 2009 -0700"
      },
      "message": "fix [2153873] EGL-1.4 software implementation misses surface attributes\n"
    },
    {
      "commit": "b263450f7a5b6ff3c8be8cd4b16aa2f65978f657",
      "tree": "6d0521f9ae8d173ad921bfa088770451e6afc4e5",
      "parents": [
        "cf4ff74017ec6b29646022ae5cbf667483b6137b",
        "3662f9ee5be3113b57693e1495fd83a2f5c7200c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 14:42:00 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 14:42:00 2009 -0700"
      },
      "message": "am 3662f9ee: Merge change Ide4c8cbc into eclair\n\nMerge commit \u00273662f9ee5be3113b57693e1495fd83a2f5c7200c\u0027 into eclair-mr2\n\n* commit \u00273662f9ee5be3113b57693e1495fd83a2f5c7200c\u0027:\n  fix [2151588] glTexSubImage2D() allows pixel format conversion\n"
    },
    {
      "commit": "cf4ff74017ec6b29646022ae5cbf667483b6137b",
      "tree": "84c7c093386eff5d1acf971c9785a27160de35df",
      "parents": [
        "dad4780bbd6be0891ea8745bd274fc8d6882f071",
        "639d69fe8799ac2fa0bbf7560229531377ccc0f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 14:41:48 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 14:41:48 2009 -0700"
      },
      "message": "am 639d69fe: Merge change I88d11cfb into eclair\n\nMerge commit \u0027639d69fe8799ac2fa0bbf7560229531377ccc0f4\u0027 into eclair-mr2\n\n* commit \u0027639d69fe8799ac2fa0bbf7560229531377ccc0f4\u0027:\n  one step towards fixing [2071412] work around mdp 32-bits fade limitation\n"
    },
    {
      "commit": "3662f9ee5be3113b57693e1495fd83a2f5c7200c",
      "tree": "9e05f76a9beff60e2a4e8c4fa81fb4cb0aef7a2d",
      "parents": [
        "639d69fe8799ac2fa0bbf7560229531377ccc0f4",
        "78811906c3a8a99a155543eda73f51914143277a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 19 17:31:52 2009 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 19 17:31:52 2009 -0400"
      },
      "message": "Merge change Ide4c8cbc into eclair\n\n* changes:\n  fix [2151588] glTexSubImage2D() allows pixel format conversion\n"
    },
    {
      "commit": "78811906c3a8a99a155543eda73f51914143277a",
      "tree": "d684be0e7901e24e72d212bdf0818c3cbb185ff8",
      "parents": [
        "69fba87ac16d1c10da81fc3213ae169c755797f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Oct 16 18:34:31 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Oct 19 14:23:02 2009 -0700"
      },
      "message": "fix [2151588] glTexSubImage2D() allows pixel format conversion\n"
    }
  ],
  "next": "88d11cfbfcde32d3212600d4e96a0c04b556c4d0"
}
