)]}'
{
  "log": [
    {
      "commit": "7cd8ced29848450dbd2568471c97690aaf719020",
      "tree": "4a9734a3febeadc067204ca75380e4768fa4e4fd",
      "parents": [
        "334a67740c9f7f35fa9ee93cf0f8051d41ce2d7a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 14 14:50:44 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 14 14:50:44 2009 -0700"
      },
      "message": "this header file is not needed anymore\n"
    },
    {
      "commit": "c1e3ec555b79b1e45fccbdf0bbc8ac2d51902860",
      "tree": "67d08ce1adc9ddfedc790b907ef3de15041e00d9",
      "parents": [
        "3a7e1832ac940cf5b8f92d3c3e8e8e5303c3c34e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 22:37:39 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 00:02:44 2009 -0700"
      },
      "message": "Add eglGetRenderBufferANDROID() extension, which returns the current render buffer as an android_native_buffer_t*\n"
    },
    {
      "commit": "e8f7c682d2a083742c293a7de59f2282e6fa7a53",
      "tree": "eec211cc4c727a6a41c6b7209fdc63006437ecbf",
      "parents": [
        "3142f4f40ba745ecd3cd9f1839adaebc1f20fede"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 14:05:35 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 14:05:35 2009 -0700"
      },
      "message": "Android now has its own EGL extension block (yay) 0x3140-0x314F. EGL_NATIVE_BUFFER_ANDROID now maps to 0x3140 instead of using the staging range\n"
    },
    {
      "commit": "2820bd4eda4c75457007f11eb9d98da9bff24a27",
      "tree": "4b076f3e7ffbe4ebf272b2d9b6733b3ac86f9988",
      "parents": [
        "f5fbc7983a85f42ec891decbae3581185c8428ab"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 20:38:06 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 20:38:06 2009 -0700"
      },
      "message": "Added most of the support needed for GLES 2.x\n"
    },
    {
      "commit": "f5fbc7983a85f42ec891decbae3581185c8428ab",
      "tree": "a32303721019c45d16b47e2eb11cfd260b4c5172",
      "parents": [
        "d53c8ee26b9e6703633033ea51f4f7c21b253dd1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 20:32:20 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 20:32:20 2009 -0700"
      },
      "message": "minor modifications to the official GLES 2.x headers\n\n- changed glTexImage2D() declaration so it matches that of GLES 1.x; otherwise we can\u0027t include both headers (!!!)\n- added parameter names to the declaration of some extensions (this is needed by glapigen and glentrygen)\n"
    },
    {
      "commit": "d53c8ee26b9e6703633033ea51f4f7c21b253dd1",
      "tree": "ad5a38edf7e6a9168b4a172ed2e66002541fcda1",
      "parents": [
        "12c659a50ca1407a40f9f7dbf0dc8c174c7d3493"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 20:31:18 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 20:31:18 2009 -0700"
      },
      "message": "add GLES 2.x headers\n"
    },
    {
      "commit": "11abc8a36d639775b05a0471c9ea45d83fa19e56",
      "tree": "edf234f013ef3c88507f81dea65b8187cc672564",
      "parents": [
        "6ec72e3fa9cdf9e896f3042fb1b1b4f3f6cea541",
        "e52a5a5fca18348728dfc5609b42b88e9cc7ef98"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 14 22:44:23 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 14 22:44:23 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n\nConflicts:\n\topengl/libagl/Android.mk\n\topengl/libs/Android.mk\n\topengl/libs/egl_impl.h\n"
    },
    {
      "commit": "8331f72078051cdf5a26230ee819f7ef7f9fcc24",
      "tree": "16b20bd6033861b728038ebf7ac735cf3e739b00",
      "parents": [
        "2accb31239cf7a3cad77b51baed4b23934636e5b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 08 15:35:17 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 08 17:18:55 2009 -0700"
      },
      "message": "remove the gl{Vertex|Color|TexCoord|Normal}PointerBounds() \"extension\" fro eglext.h\n"
    },
    {
      "commit": "cb29e6237d7f471a28f8e73116e131f257d9842f",
      "tree": "c27cbc44f6783ca09d8cc3a1881c229c1265dbcb",
      "parents": [
        "ed3b804f2cc61029cf2969cbfa499ea230c22bb0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 08 15:23:38 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 08 15:23:38 2009 -0700"
      },
      "message": "only export the GL entry-points, hide everything else.\n\nConflicts:\n\n\topengl/libagl/Android.mk\n\topengl/libs/Android.mk\n\topengl/libs/egl_impl.h\n"
    },
    {
      "commit": "2e20bffbab8084fedce39d14d7dd17b08f6e9ba2",
      "tree": "be397ea1383b74bc09e48d591ca7aa2cc54f0539",
      "parents": [
        "9bd5da4db97fec7cdbe6e07870411c1fcaff4365"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 04 19:29:25 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 07 15:07:33 2009 -0700"
      },
      "message": "created an new EGL extension called ANDROID_swap_rectangle\n\nANDROID_swap_rectangle allows to specify the rectangle affected by eglSwapBuffers(), anything outside of this rectangle is unchanged. in particular EGL_BUFFER_DESTROYED only applies to that rectangle. This extension as well as EGL_BUFFER_PRESERVED allow major optimizations on surfaceflinger, which can redraw only the dirty area during compositing.\n\nHowever, ANDROID_swap_rectangle allows further optimizations in EGL by reducing the amount of copy-back needed. ANDROID_swap_rectangle is particularily important for software implementations.\n"
    },
    {
      "commit": "ac2523b161df2bb507cc88906bb070878266770d",
      "tree": "30ee897d6e8fa63e067627a91697f13f1fbd919d",
      "parents": [
        "e633f9339a2556771c79c784b0b23a9aade30485"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 05 18:11:11 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 05 18:11:11 2009 -0700"
      },
      "message": "move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h and don\u0027t include it from egl.h\n\nthe android_native_ types are just forward declared in egl.h\n"
    },
    {
      "commit": "e633f9339a2556771c79c784b0b23a9aade30485",
      "tree": "bb334508992dc3a8320957bb39e0016d047530ad",
      "parents": [
        "430f2ed5c03312700131a70c858b98e1cc6bc161"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 05 00:59:23 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 05 00:59:23 2009 -0700"
      },
      "message": "get rid of android_native_buffer_t::getHandle() and replace it with an handle field\n\nthis abstraction was not necessary. things are easier now.\n"
    },
    {
      "commit": "430f2ed5c03312700131a70c858b98e1cc6bc161",
      "tree": "9ca0a2fbaeab0b932002818f2a33bd0de2e80623",
      "parents": [
        "6279619e4279daf77feff0c76e089b26ad66124f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 05 00:37:46 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 05 00:37:46 2009 -0700"
      },
      "message": "removed the \"bits\" attribute from android_native_buffer_t.\n\n\"bits\" can never be trusted now that we need to call lock() on the handle to get the virtual address of the buffer.\n"
    },
    {
      "commit": "dff8e58d47ede6e748c0b02e128ca33b42a4f362",
      "tree": "716d70cda74aa625d6e67c4debc2eb7c6b81bfc9",
      "parents": [
        "fa6eda01a9f3df0102ce6a65302c8674cc9c7e50"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 04 14:17:04 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 04 14:17:04 2009 -0700"
      },
      "message": "update surfaceflinger, libui and libagl to the new gralloc api\n\n- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually.\n- factor all the lock/unlock code in SurfaceBuffer.\n- fixed \"showupdate\" so it works even when we don\u0027t have preserving eglSwapBuffers().\n- improved the situation with the dirty-region and fixed a problem that caused GL apps to not update.\n- make use of LightRefBase() where needed, instead of duplicating its implementation\n- add LightRefBase::getStrongCount()\n- renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp\n\n- disabled copybits test, since it clashes with the new gralloc api\n\n- Camera/Video will be fixed later when we rework the overlay apis\n"
    },
    {
      "commit": "1473f46cbc82aa6f0ba744cc896a36923823d55b",
      "tree": "1a03737c7eb71b32735693e5cfdd91d0b57a2ad5",
      "parents": [
        "71d83c04897a10394009b02808bb6b86886b27e1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 10 14:24:30 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 10 14:24:30 2009 -0700"
      },
      "message": "Integrate from //sandbox/mathias/donut/...@145728\n\nSurfaceFlinger rework for new EGL driver model support.\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    }
  ]
}
