)]}'
{
  "log": [
    {
      "commit": "dda570201ac851dd85af3861f7e575721d3345da",
      "tree": "795e46c7cae42b22814af1ef2ac70c083debd746",
      "parents": [
        "216108c492fef05261c70f1018d94cef0c3b23fd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 06 11:39:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 06 12:00:33 2010 -0700"
      },
      "message": "Add a layer (FBO) cache.\n\nThe cache is used to draw layers so that a new\ntexture does not have to be recreated every time\na call to saveLayer() happens.\n\nThe FBO cache used a KeyedVector, which is a bad\nidea. The cache should be able to store several\nFBOs of the same size (this happens a lot during\nscrolling with fading edges for instance.) This\nwill be changed in a future CL.\n\nChange-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726\n"
    },
    {
      "commit": "7d139ba2c331f11e9b485753cc727a0ff202f2a4",
      "tree": "7d61a0d1cacc78c0d3053d31d85c13a5aa3e3326",
      "parents": [
        "d73ddd2c9d459e363c07a8f5e47995b52b4ae049"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 02 11:20:34 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 02 11:20:34 2010 -0700"
      },
      "message": "Remove extra leftover logs and use uint32_t instead of unsigned int.\n\nChange-Id: I944f82fe3255de38dc04048cc8bd861f578f01a7\n"
    },
    {
      "commit": "121e2242565d5f09ad83a2d33ecd2225838802c5",
      "tree": "9c87b01a24909f832e00e9448fc2feb8241e41d1",
      "parents": [
        "37f447338e4633461253539e62c9b8eae04de3b3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 18:26:52 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 18:26:52 2010 -0700"
      },
      "message": "Track the size in memory of the texture cache.\n\nThe texture cache was previously checking the number of stored textures. This was\nnot very useful as this could easily lead to an abuse of memory. The new cache\ninstead tracks the total size occupied in RAM by the cached textures. When a new\ntexture is generated, older textures are kicked out as needed.\n\nChange-Id: Ib27142f4a018d5bf84774c1fb6f45a67a85f20bc\n"
    },
    {
      "commit": "f86ef57f8bcd8ba43ce222ec6a8b4f67d3600640",
      "tree": "1ce9f59ca3dab7579b6548861b21dcf2df159815",
      "parents": [
        "1a3e1056db1deafcc8cdfae3aa36581c70b16cf0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 11:05:42 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 15:27:21 2010 -0700"
      },
      "message": "Don\u0027t use full screen FBOs, this dramatically increase performance.\n\nThe next step will be to add an FBO cache to avoid churning memory on every\nframe we draw. This change also adds support for drawBitmap(Bitmap, Matrix, Paint).\n\nChange-Id: I7825cdcf0cad9bffe6219e05d8328a53d4a6e583\n"
    },
    {
      "commit": "8ba548f81d1ab5f1750cbf86098c4a14e0b8bead",
      "tree": "cac0b8552a14e0b01809d1d67840953e144d7383",
      "parents": [
        "e07f6eeb3af2defe99fbd63a73b8e636139edd1a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 19:21:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 19:21:21 2010 -0700"
      },
      "message": "Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint)\n\nChange-Id: I10904d2325a5431d15801aebcec1048715678e8c\n"
    },
    {
      "commit": "c1396e93b6a5286a5183c00c781b62e940a12c1f",
      "tree": "41da22a7756936c8cbc4687286e9b854235cd3f5",
      "parents": [
        "efcd77407b321498a43ca380c8f67b84eb5a2d6e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 17:56:19 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 17:56:19 2010 -0700"
      },
      "message": "Add implementation for drawBitmap().\n\nChange-Id: Iada9325f3c5642b61c2e0c4cd80bcfbc92cb491e\n"
    },
    {
      "commit": "ce0537b80087a6225273040a987414b1dd081aa0",
      "tree": "31682a01c12091c552217186604fca32f43e98ff",
      "parents": [
        "81ea83d10883886013bc95eac2fe032acf1e7aa9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 29 21:05:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 15:21:01 2010 -0700"
      },
      "message": "Add hooks for drawBitmap().\n\nChange-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0\n\nAdd texture cache.\n\nChange-Id: I1c0e5581d228869e114438258a1014e33e024ad7\n"
    },
    {
      "commit": "d55a86120dd1e8ebcc6906c9ffd463f7460348da",
      "tree": "11ee1cc35750ba27df4fdb80540c3a5752cdd500",
      "parents": [
        "8f704d89dc38c6e25b23721f6a784956521f283a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:42:46 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 18:52:24 2010 -0700"
      },
      "message": "Add support for saveLayer().\n\nsaveLayer() is affected by the paint\u0027s alpha and xfermode.\n\nChange-Id: I28693a9337052643adccdb4889a8f228d4e17903\n"
    },
    {
      "commit": "026c5e16704e817cac7d9c382914c947e34f87e0",
      "tree": "6398f104ab860dd65caf02336ea96fff3c79dadf",
      "parents": [
        "4aef697d58bc142b96953cb2623b06981af2abc9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:12:22 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:12:22 2010 -0700"
      },
      "message": "Implement support for PorterDuff\u0027s blending modes.\n\nThe blending modes are currently hooked up only when drawing filled rects but the\ncode is reusable for other primitives. This will allow implementation of saveLayer().\nThis method is required to support the fade effects used throughout the standard\nAndroid UI.\n\nChange-Id: I396023d123436f16cdafc606e358e4eb80c9df2c\n"
    },
    {
      "commit": "5cbbce535744b89df5ecea95de21ee3733298260",
      "tree": "37dda328f8d127cead9e799e5220b4589267bc5e",
      "parents": [
        "1d58b498de5eb3b53ca0c7ffd14b1c209833d297"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Jun 27 22:59:20 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Jun 27 22:59:20 2010 -0700"
      },
      "message": "Reduced the complexity of layers composition.\n\nThis change also refactors the code base a bit by moving classes out of\nOpenGLRenderer into separate headers/implementations. This makes the code\nmore manageable.\n\nThis change also adds documentation for implementation methods. The\nundocumented methods are simply Skia\u0027s Canvas methods.\n\nChange-Id: I54c68b443580a0129251dddc1a7ac95813d5289e\n"
    },
    {
      "commit": "bd6b79b40247aea7bfe13d0831c6c0472df6c636",
      "tree": "71c913ec50df87a9463e30c8a28e5cb29e734c79",
      "parents": [
        "7ae7ac48aa2b53453c9805075171ecd5bcafd7de"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sat Jun 26 00:13:53 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sat Jun 26 00:13:53 2010 -0700"
      },
      "message": "Add implementations for saveLayerAlpha() and textured rects.\n\nEven though there\u0027s an implementation for textured rects, drawBitmap() is not\nhooked up yet as it will require a good texture cache.\n\nThis method is implemented using FBOs. There\u0027s currently an issue either in the\ndriver or in the Canvas renderer that forces the FBO to be fullscreen, which is\nextremely expensive and yields terrible performance.\n\nChange-Id: I148419195e12d45653c60186938aa78c23a68e2c\n"
    },
    {
      "commit": "7ae7ac48aa2b53453c9805075171ecd5bcafd7de",
      "tree": "a1d496162615bc915bf7642acc5c94bcc98cef53",
      "parents": [
        "1b6333863962ba637be394cb0ba17a12ca62ce61"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:46:18 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:46:18 2010 -0700"
      },
      "message": "Convert tabs to spaces.\n\nChange-Id: I5d3ae48af79b19b6d293deff0521e4bb57d5114b\n"
    },
    {
      "commit": "c7d53494f1fbd9f9d74af89053ff9fdb1ccbac6c",
      "tree": "e9fa1c80906aa67991fea69f664fdddc94897327",
      "parents": [
        "5b7e333cf2f91c94e37dbb7024fa38da3db34619"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:41:57 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:41:57 2010 -0700"
      },
      "message": "Implement quickReject() and drawRect().\n\nThe OpenGL ES 2.0 renderer can now draw colored rectangles. At least there\u0027s\nsomething on screen now.\n\nChange-Id: I80a13ccc1dd56784edf74f2670a364f30700234a\n"
    },
    {
      "commit": "9d5316e3f56d138504565ff311145ac01621dff4",
      "tree": "40c79ba098de4624fbe38cb400c6ac4fe7340673",
      "parents": [
        "a18dbdf420fabebb83e7403d000384a8d98daffa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 24 19:30:36 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 24 19:30:36 2010 -0700"
      },
      "message": "Add colored rectangles implementation in OpenGLRenderer.\n\nDrawing two rectangles one after the other discards the second one because of\nZ buffering issues. This will be fixed in another changelist.\n\nChange-Id: Ida1b3cde8a78e60cacc07e477abc44def527ff67\n"
    },
    {
      "commit": "f6a11b8a9e25ff9861bbba19251bea84d8a5daf2",
      "tree": "c44f214f59f2206de152585d97b23e2bfaa1b3b0",
      "parents": [
        "bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 23 17:47:49 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 23 17:47:49 2010 -0700"
      },
      "message": "Add support for transformations.\n\nThis change adds partial support for the following transforms:\n- scale()\n- translate()\n- rotate()\n- setMatrix()\n- getMatrix()\n\nThe transform is stored in a snapshot and saved/restored as needed.\nThe transform is currently not applied to the clip rect and is not\nmapped to the vertex shader.\n\nChange-Id: Id48993453311200804149917d0c126a4d0471226\n"
    },
    {
      "commit": "bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4",
      "tree": "b38978e88e8434e0a4bd8ac8e5c70bf2af26b3ea",
      "parents": [
        "03f0292744094ec107ffce71301c394503a31ded"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 22 18:56:38 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 23 12:36:03 2010 -0700"
      },
      "message": "Add implementations for clipRect(), save() and restore().\n\nThe current implementation of clipRect() does not apply local transformations\nbefore setting the new clip.\n\nChange-Id: I5997871bb638dfcd1a8ef96354846af52427e445\n"
    },
    {
      "commit": "85bf02fc16784d935fb9eebfa9cb20fe46ff7951",
      "tree": "7d8cb5d36bca58555a33e8647afd8f0e00647b7b",
      "parents": [
        "102fb89b9a4d2a6620f88b247405f853d78a09b6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 22 13:11:24 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 22 13:11:24 2010 -0700"
      },
      "message": "Fix the simulator build.\n\nChange-Id: Ie404f7c2c308f0657f273af19a56e8c039b61898\n"
    },
    {
      "commit": "08ae317c21ec3086b5017672bba87420cc38a407",
      "tree": "fcd8d6cddb0078ac401b96bd5a516025f970eac0",
      "parents": [
        "ab8aa51aa6b98dd5c83132659867aed36532c224"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 21 19:35:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 21 19:35:50 2010 -0700"
      },
      "message": "Add glOrtho equivalent to the OpenGL ES 2.0 renderer.\n\nChange-Id: I063dad3d81dab7833acb1e7a9c7121f8efd2a044\n"
    },
    {
      "commit": "e4d011201cea40d46cb2b2eef401db8fddc5c9c6",
      "tree": "b890cdac7775120beb89308de1b593ec6af76a0e",
      "parents": [
        "5e81e5b96b20bddf90adff33d50f5d003ab619ad"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 16 18:44:05 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 17 13:40:11 2010 -0700"
      },
      "message": "Add libhwui, to hardware accelerate the Canvas API using OpenGL ES 2.0.\n\nThis is the initial checkin to setup the library and turn on OEGL ES 2.0\nin ViewRoot, not a functional renderer.\n\nChange-Id: I6655c54166e2967da2e21e7d6dcfba78bf113b44\n"
    }
  ]
}
