)]}'
{
  "commit": "8b76a0ac6fbf07254629ed1ea86af014d5abe050",
  "tree": "e492e09655269fff3ca14b6a62f9b07f2d484038",
  "parents": [
    "c5ea43920919eeaec4ec0686de9fa3d034d82337"
  ],
  "author": {
    "name": "Mathias Agopian",
    "email": "mathias@google.com",
    "time": "Mon Aug 10 21:59:56 2009 -0700"
  },
  "committer": {
    "name": "Mathias Agopian",
    "email": "mathias@google.com",
    "time": "Tue Aug 11 16:12:56 2009 -0700"
  },
  "message": "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything.\n\nThis change makes SurfaceHolder.setType(GPU) obsolete (it\u0027s now ignored).\nAdded an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cb9bf940e23ae1295e37ae73fc282fd1cccfe292",
      "old_mode": 33188,
      "old_path": "include/ui/FramebufferNativeWindow.h",
      "new_id": "68144b5944a535aa173e2ee27ef2949fc6b94f97",
      "new_mode": 33188,
      "new_path": "include/ui/FramebufferNativeWindow.h"
    },
    {
      "type": "modify",
      "old_id": "adba45a48cb4389f3244a85e6e47a05af0d96ecf",
      "old_mode": 33188,
      "old_path": "include/ui/ISurface.h",
      "new_id": "7909c2f41d4a821c3fd662cd5ed03733a7427f22",
      "new_mode": 33188,
      "new_path": "include/ui/ISurface.h"
    },
    {
      "type": "modify",
      "old_id": "d5dad31d00b6fdabb0a1169b4b8424ac8b6825a4",
      "old_mode": 33188,
      "old_path": "include/ui/Surface.h",
      "new_id": "4ff0e4abd807d037e3805340761bcd6af2853fe4",
      "new_mode": 33188,
      "new_path": "include/ui/Surface.h"
    },
    {
      "type": "modify",
      "old_id": "7da69b144a49ebf83cd266e7977e5f5044c451bb",
      "old_mode": 33188,
      "old_path": "include/ui/egl/android_natives.h",
      "new_id": "4c58e474c67d0cd8698c357765bd879f3f96ee5c",
      "new_mode": 33188,
      "new_path": "include/ui/egl/android_natives.h"
    },
    {
      "type": "modify",
      "old_id": "d1142cca86da68b4a2e106369cd958b1d21e05a6",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/Layer.cpp",
      "new_id": "8c0b40d9e4712555cc41063fdc9a470ce1d21738",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/Layer.cpp"
    },
    {
      "type": "modify",
      "old_id": "4c13d6ea2887c0635e5703a027dbaba5a0d78226",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/Layer.h",
      "new_id": "add5d50747418a4d15a586f583f2e073c43b860f",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/Layer.h"
    },
    {
      "type": "modify",
      "old_id": "fbce73ddd3be7b8541f5ad5349b8e8e63b52a89d",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/LayerBase.cpp",
      "new_id": "419574c7def1c61e644bdbf585904b0ebb477496",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/LayerBase.cpp"
    },
    {
      "type": "modify",
      "old_id": "6fb1d1c50cabf52f9510de31d6cb7bdf758fd115",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/LayerBase.h",
      "new_id": "65bf55b51b42d5652cc3b4ac23c350746015f7a1",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/LayerBase.h"
    },
    {
      "type": "modify",
      "old_id": "5221fed56f4dbbc0a8768fd60227df8716e5fd42",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/LayerBitmap.cpp",
      "new_id": "5e74451d5f04a20e380dbc725d6673ff49bdb0dd",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/LayerBitmap.cpp"
    },
    {
      "type": "modify",
      "old_id": "22525cebdfc5145673b39d8116af8b926f3cf3fb",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/LayerBitmap.h",
      "new_id": "48ee553e523ac0c824927abec24ebe0f1edcd957",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/LayerBitmap.h"
    },
    {
      "type": "modify",
      "old_id": "90e7f5048067789b07b1a88e6254ba105d5ed2e8",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/LayerBuffer.cpp",
      "new_id": "e1f4bea228c54a925d7bfdc6267dd0c2f5e74926",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/LayerBuffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "8e9df9cc9bcc334de586d9de96c250a4bbd1f091",
      "old_mode": 33188,
      "old_path": "libs/surfaceflinger/LayerDim.cpp",
      "new_id": "6ebb49f64ca2419b1da0b178a8533b33aea3301a",
      "new_mode": 33188,
      "new_path": "libs/surfaceflinger/LayerDim.cpp"
    },
    {
      "type": "modify",
      "old_id": "f6c666df4263fabb159215b0ad50ee91364633ab",
      "old_mode": 33188,
      "old_path": "libs/ui/FramebufferNativeWindow.cpp",
      "new_id": "90b51634c60cf1d6554bd9e3d9cd34575ff2bb0f",
      "new_mode": 33188,
      "new_path": "libs/ui/FramebufferNativeWindow.cpp"
    },
    {
      "type": "modify",
      "old_id": "9fbae1ebafe19d9aad6703250d9ec064f30bb898",
      "old_mode": 33188,
      "old_path": "libs/ui/ISurface.cpp",
      "new_id": "b78e8b5ab5a148e4e6b24611d2803647d9a726b2",
      "new_mode": 33188,
      "new_path": "libs/ui/ISurface.cpp"
    },
    {
      "type": "modify",
      "old_id": "4abb7f62ad443ec9710e3740dc733d909febf435",
      "old_mode": 33188,
      "old_path": "libs/ui/Surface.cpp",
      "new_id": "2b6905f33fc253fa14904ee0c9f56532f165cdf3",
      "new_mode": 33188,
      "new_path": "libs/ui/Surface.cpp"
    },
    {
      "type": "modify",
      "old_id": "cf66be33729fead2f88e57a7b726dae13e83e636",
      "old_mode": 33188,
      "old_path": "opengl/libagl/egl.cpp",
      "new_id": "0762ebf605fcc0f8c0602783e156339997e08866",
      "new_mode": 33188,
      "new_path": "opengl/libagl/egl.cpp"
    }
  ]
}
