)]}'
{
  "log": [
    {
      "commit": "e88740e6264d829099d04bbe57d1ec2b14996c40",
      "tree": "bef49e54d8541fda96a8defd68807efa1573d662",
      "parents": [
        "274e03c90ee6054e81a16b1bd0a54258e08ddee9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Nov 13 23:52:47 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 14 19:05:45 2011 -0800"
      },
      "message": "rework a bit how we manage EGL extensions\n\n- don\u0027t advertise extensions that are not supported\n  by any implementation\n\n- remove EGL_ANDROID_swap_rectangle which is not\n  implemented by anybody and confuses people\n\n- add some comments about mandatory extensions\n\nBug: 5428001\nChange-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3\n"
    },
    {
      "commit": "b7928463a32092940dd56b0694a624c21d18325d",
      "tree": "b5b6650c1c14e4d770b0375fdc36cd5a0f6d4bd3",
      "parents": [
        "270826a8878b5470d48d93ca3d518ac93860870d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Nov 09 15:35:34 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Nov 11 13:17:03 2011 -0800"
      },
      "message": "EGL: add the ANDROID suffix to the blob cache ext\n\nThis change adds the ANDROID suffix to the all the types and functions\ndefined by the EGL_ANDROID_blob_cache extension.\n\nChange-Id: I087875b96d9a7053efb9c8d5614f9f765eed799d\n"
    },
    {
      "commit": "9cf8b6eadba70aca871faf8ba23825c57ede7cb5",
      "tree": "f20ea0c87b780ef96d185ef51a36f28d51a54635",
      "parents": [
        "2ab7ec90e4a6f21bee7cbfebbd751d32d4cf9e03"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Nov 06 14:14:33 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 07 10:48:42 2011 -0800"
      },
      "message": "EGL: use an in-memory the blob cache\n\nThis change makes the makes the stub EGL_ANDROID_blob_cache callbacks\nactually use a BlobCache object.\n\nBug: 5474671\nChange-Id: I5cbaae2dea3aad2fe306c9f57029c3f215a0863a\n"
    },
    {
      "commit": "1b1d73f3ae5013f6c82f6a9b23a1654896e7a64a",
      "tree": "dbc5953369deffc4b3a8703bff526a36bb390cca",
      "parents": [
        "1fbe7a8e828fd0fe8339d075da08aad701ab6e98"
      ],
      "author": {
        "name": "Jonas Yang",
        "email": "joyang@nvidia.com",
        "time": "Fri Aug 26 20:04:39 2011 +0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 13 16:44:22 2011 -0700"
      },
      "message": "Add (support for) EGL_NV_system_time extension.\n\nChange-Id: I62bf0fcb5ccdc77c042b425a42054fb3122575b6\nSigned-off-by: Mathias Agopian \u003cmathias@google.com\u003e\n"
    },
    {
      "commit": "8fdb8a4dd3f73640f1295d98ae09eadb3e071653",
      "tree": "5f7af241a76562aefcb6e70b0a61e65ac0e68fe2",
      "parents": [
        "755c7dc48d009914feae01ba8c79c3b0b911b932"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jul 17 18:42:09 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jul 17 18:42:09 2011 -0700"
      },
      "message": "EGL: update EGL_ANDROID_recordable extension.\n\nThis change adds an enum value and a description of the expected\nimplementations to the EGL_ANDROID_recordable extension specification.\nIt also adds the new enum value to the \u0027eglext.h\u0027 header.\n\nChange-Id: Ia0de2d5613708445ff83b85a7e550f9417531ee4\n"
    },
    {
      "commit": "b2a153adc9860616acdb96d7cdd64494d5a2a0f2",
      "tree": "3e87a5d9681d86ad68c14222774f77bc4bd3ae4a",
      "parents": [
        "be0cc36525f090032d1b84d95e1d8ba5fc714fc2"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun May 01 11:33:26 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue May 03 16:40:14 2011 -0700"
      },
      "message": "frameworks/base: android_native_buffer_t -\u003e ANativeWindowBuffer\n\nChange-Id: Idc2eabaa805bb6d308ebb315872623f28d428417\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "71438310b52482588dc8b4a2f2cb71652208c070",
      "tree": "274581ae927bc145de5af2cebab61b8eef77316b",
      "parents": [
        "31dc911aee2b50752c0eb7785176075cdaed139c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Nov 05 12:41:51 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Nov 07 23:36:28 2010 +0100"
      },
      "message": "Refresh EGL header to work with the NDK\n\nThis change allows to use this header with the NDK\u0027s standalone toolchain.\nFor the record, the NDK toolchain defines __ANDROID__ as a compiler built-in\nmacro, this is however not the case currently for the prebuilt binaries that\nare being used by the full Android build system, which otherwise defines ANDROID.\n\nThis change allows the header to be used by all toolchains properly. Note however\nthat we should properly should change our toolchain and sources to provide and\nrely on __ANDROID__ instead of ANDROID though.\n\nChange-Id: Iaa1aa1146985b5f24dcf3a83d9ddb9b4b59dc328\n"
    },
    {
      "commit": "ebc3d5a5490c208ac1706b49263bd780999df724",
      "tree": "b7744cf2bd77c9db2cfa70148f0466ea90d73cab",
      "parents": [
        "445ab76c49779998543bb78881f5d9f8ae81e598"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 27 13:15:50 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 27 13:17:32 2010 -0700"
      },
      "message": "cleanup EGL a bit. remove unused extension.\n\nChange-Id: Ia87120b076ab1bf7b28f06087878d8161fb46c88\n"
    },
    {
      "commit": "8b49bd1a2f8117e1c22884f0150e72cbcf838f32",
      "tree": "ec6e43ed118268b09cbb61c8eed02c757e9602ed",
      "parents": [
        "3c80a4a044865bdf1289c7896baffa1c082d835c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 13:56:17 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 15:32:04 2010 -0700"
      },
      "message": "Introduce official public NativeWindow type.\n\nNot yet hooked up to anything in the NDK, but requires renaming\nthe existing android_native_window_t type everywhere.\n\nChange-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e\n"
    },
    {
      "commit": "6d4021a67ddb787b61d5e65cdc1fac517b379b57",
      "tree": "46c6c9d4812a34bfb71acf1af0c608ddb29f7457",
      "parents": [
        "69d2f12e79428b5360b51528370d2ade2a6ae653"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 09 18:46:35 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 09 18:56:05 2010 -0700"
      },
      "message": "update EGL headers to the latest\n\nnote that this doesn\u0027t update the EGL stubs.\n\nChange-Id: I00274431a490249d93eb6b5ba13f274b7f2682ae\n"
    },
    {
      "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": "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"
    }
  ]
}
