)]}'
{
  "log": [
    {
      "commit": "407ec78b828173257b0c5dae221649a4ccd8b058",
      "tree": "3890ba718151c345ce5c87a8d252e0445d790dc3",
      "parents": [
        "631582f7f7a3c879a5fba81f2bc082e4826758aa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 24 17:06:58 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 24 17:06:58 2011 -0700"
      },
      "message": "Add OpenGL backend to ImageWallpaper\nBug #5204874\n\nCurrently disabled.\n\nChange-Id: I5e7b35dce2981b0691f107e39c6394b260466543\n"
    },
    {
      "commit": "302a9df1d50373c82923bb84ff665dfce584fb22",
      "tree": "01a6e183b3c0f49676730a679397a31692942f8d",
      "parents": [
        "95a78c38373bb99258d83a6ab2c92825d979f200"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 16 13:55:02 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 16 13:55:02 2011 -0700"
      },
      "message": "Add an API to set the transform on a TextureView\u0027s surface texture.\nBug #5156689\n\nChange-Id: I635a625885c9b832a60d44ece0de7613ceb84109\n"
    },
    {
      "commit": "402f05530352f34d5320c2d23be43c274d97c4e2",
      "tree": "f16fff92ad3dead45679fff4ee4c7c3fdb5888bb",
      "parents": [
        "5229f7f2266c25f976070e0c2007e425010152ff"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Aug 09 18:47:17 2011 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Aug 09 18:47:17 2011 -0700"
      },
      "message": "Add a return value for SurfaceTextureListener#onSurfaceTextureDestroyed.\n\nIf returns true, the SurfaceTexture will be released by TextureView.\nIf returns false, the client needs to release the SurfaceTexture.\n\nChange-Id: I946f71e337ad4170c168854ac27e028b82489c8c\n"
    },
    {
      "commit": "bd496bc3d481f9cfc39007d22372d3a1a8809f96",
      "tree": "1c69e8c136dd81e68459c8b9870e0fac4bd6ae10",
      "parents": [
        "6805545649f2b194859033df94602492b9ec086e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 02 17:32:41 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 02 17:32:41 2011 -0700"
      },
      "message": "Paint style and stroke width affect text rendering.\nBug #5112207\n\nChange-Id: Ic34037ace21a5058ba23dd15e51aae58c998454d\n"
    },
    {
      "commit": "0965a3244b4c3009d08db2e084cdcb681ef66d26",
      "tree": "034851a3f3c8e4e8c5da0ef829099ed8907e7286",
      "parents": [
        "a60c3889718f4513a6c9d8b80f655db5d6346905"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 17:39:21 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 17:39:21 2011 -0700"
      },
      "message": "Allow Canvas.setBitmap() to receive a null Bitmap.\n\nChange-Id: I6096f0b44866e532ccd96a29c816bf34d48c1dc2\n"
    },
    {
      "commit": "b50149825fae95b2918bcf67b2ddb773b9797068",
      "tree": "0a7e7b7deda72360adfabed3bc7d64eeccc7311c",
      "parents": [
        "a7ffaee29892cc38ae2327017b6670adafef711b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 28 15:39:12 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 28 15:40:47 2011 -0700"
      },
      "message": "Correctly apply linear filter to drawBitmap(Rect, Rect)\n\nChange-Id: I1049282e1996b1020c92cb7bec46e9f28e94e967\n"
    },
    {
      "commit": "7eabe55db6b113f83c2cefcd06812648927de877",
      "tree": "a105d90d8addbce9bb457b4bef974ce2f699fc81",
      "parents": [
        "ac4159549c10dbe428d42980278c0e43ecc8d93f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 21 14:56:34 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 21 14:56:34 2011 -0700"
      },
      "message": "Add looper profiling to adb shell am\n\nTo profile the looper, run the following command:\n\nadb shell am profile looper start \u003cprocess\u003e \u003cfile\u003e\nadb shell am profile looper stop \u003cprocess\u003e\n\nChange-Id: I781f156e473d7bdbb6d13aaffeeaae88bc01a69f\n"
    },
    {
      "commit": "3c2c9e4e0dde0f3a9c27ccff5313cfbeb4504f8e",
      "tree": "0028f1611f2dbdbb1269330fdb60a5a622132d25",
      "parents": [
        "c27cc947e42b1effb5f6d18e0d6a8a1055f271d9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 18 17:45:04 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 18 17:45:04 2011 -0700"
      },
      "message": "Update TextureView.lockCanvas() test.\n\nChange-Id: Ib0f613fcd6ba64a696936e4e2b386b96d76b828a\n"
    },
    {
      "commit": "6be3d5561cbeccf0a8257a4acb155657f868e548",
      "tree": "c43a668998d17e26dee93e37e4702b5d45ab06c7",
      "parents": [
        "f4f79ac42a318145397327cd6a0d1f421c6c00f0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 14 18:08:37 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 18 15:02:06 2011 -0700"
      },
      "message": "Add lock/unlockCanvas to TextureView\n\nWith this change, TextureView has feature parity with SurfaceView.\n\nChange-Id: I4ef2da33420fc9590f868636ae72a5a6de61965b\n"
    },
    {
      "commit": "f9284695e8c10dad4daf3d2c84f607483bcb56ca",
      "tree": "bb4d52d7d3f6d9b73c8ba23d55036d3f4cd1ba31",
      "parents": [
        "fed878d98bc42db61cf04d759235b8406a7d14fd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 13 18:46:21 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 15 11:25:11 2011 -0700"
      },
      "message": "Add new ViewDebug APIs to profile the event queue.\n\nChange-Id: I225bf288780b0244f459316e2765cfa29cd22c89\n"
    },
    {
      "commit": "5fccb70de94f4270cff1ca35d59a289bdf37a89f",
      "tree": "c7bff5ec29427fc554b24012facd7210691e25ec",
      "parents": [
        "039857520b1a03a52051b966d87d587225bdfcc3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 11 18:23:09 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 11 18:23:09 2011 -0700"
      },
      "message": "Add test for bug #4970944\n\nChange-Id: I3e7287bc406ff497a49cf823cee53b1a943a74a9\n"
    },
    {
      "commit": "cfacbeadffb5dccbf0434d9c05b19430a5237c3b",
      "tree": "aa04e728f2233768a0f919c1349c1c16717aef25",
      "parents": [
        "ec19b4a764d512091a780fc93ced567dfbf80914"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:33:41 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:33:41 2011 -0700"
      },
      "message": "Cleanup\n\nChange-Id: I2a9dc34e907b4c6e60f8c2999150b22015012e74\n"
    },
    {
      "commit": "ec19b4a764d512091a780fc93ced567dfbf80914",
      "tree": "d984af1d55edf6bb305ca36617db679bc546f23a",
      "parents": [
        "9ace8f5e79e76893fe4ca9e4d10f6c4056330485"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:05:04 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:27:14 2011 -0700"
      },
      "message": "Use NEAREST filtering mode for TextureView.getBitmap().\n\nChange-Id: I4649062bbdf18ebba7924bdf578f39ad8f6576ac\n"
    },
    {
      "commit": "9ace8f5e79e76893fe4ca9e4d10f6c4056330485",
      "tree": "dac712f57ecba04e50aac7c5934498d9be89c8a1",
      "parents": [
        "f61970fc79e9c5cf340fa942597628242361864a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:50:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:50:11 2011 -0700"
      },
      "message": "Use NEAREST filtering for layers whenever possible.\n\nChange-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e\n"
    },
    {
      "commit": "f61970fc79e9c5cf340fa942597628242361864a",
      "tree": "c84c5593c85a3526dffa52eea2158a2332d819a8",
      "parents": [
        "a0c680393f2dd03a937c598b2cb9abf98a58152c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 14:10:06 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 14:10:06 2011 -0700"
      },
      "message": "Add an API to query maximum bitmap/texture size on Canvas.\n\nChange-Id: I2c576c9a4ecad9f33cc6636bcbc29786acdf052d\n"
    },
    {
      "commit": "595c18b07a86754f5af1a971e3566fcbb6066b60",
      "tree": "08473dfc840255ecea78697e2aa11cad956d8fb4",
      "parents": [
        "2c22882181e867c9ba4e74ee973b87a71db3389f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 29 17:20:38 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 29 17:20:38 2011 -0700"
      },
      "message": "Add test case for driver issue\n\nChange-Id: I0411bf9c8e114ce388e619170fb4c2b1c6fd80f9\n"
    },
    {
      "commit": "d0d07059943603c8d20ab9e2ee31ba5c7d477fba",
      "tree": "7c526801385fe2fd100b048ffcf8e16e23fb3de0",
      "parents": [
        "4a5a71518a71a44dbccb3af9a08b82056ea748b3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 18:51:28 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 18:51:28 2011 -0700"
      },
      "message": "Update GLTextureView sample to do something real.\n\nChange-Id: I55a62434ae0b602522221689626f6b4155bd0d91\n"
    },
    {
      "commit": "4a5a71518a71a44dbccb3af9a08b82056ea748b3",
      "tree": "d04dafb488a7bfde32e153980a6831c84f93833e",
      "parents": [
        "80429c458506485904715180d10584092a5cd082"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:53:53 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:53:53 2011 -0700"
      },
      "message": "Don\u0027t set texture parameters on every frame.\n\nChange-Id: Iec368405ad6a4ccfd569a0b3b4d681871a770396\n"
    },
    {
      "commit": "80429c458506485904715180d10584092a5cd082",
      "tree": "7a7daee4889e2f9dd679a98b12e38ccb2dbed743",
      "parents": [
        "58f4edb7701bf20925468fa5fd1a06a461ff085b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:20:32 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:20:32 2011 -0700"
      },
      "message": "Properly tear down TextureView\n\nChange-Id: Ic23cd9257889d0abe8cc3fc1d04a66d0505e383e\n"
    },
    {
      "commit": "02ccac69fd1c0a03c24c5f3ace0ad4bed337b1fd",
      "tree": "60531b505178d4fb169abc83567d5d8db4f14ed0",
      "parents": [
        "b0b1b11b965598cb8fb724e636ebb58a77d437b5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 13:20:23 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 13:20:23 2011 -0700"
      },
      "message": "Code cleanup\n\nChange-Id: I64c346004e0adf9a776d0315534d4fe445f0c0ca\n"
    },
    {
      "commit": "cf559377b750271472aa0a717bf3b7d34abc0b39",
      "tree": "d7559dc48209ea1fe84c134ec5b83803dd5a1377",
      "parents": [
        "ea5f51909be34bdaec9d17320aaf25ffa56e76e9"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Wed Jun 22 23:05:40 2011 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Wed Jun 22 23:05:40 2011 -0700"
      },
      "message": "Add onSurfaceTextureUpdated to the TextureView listener.\n\nThe app needs a way to throttle the producer side. Expose this to enable it.\n\nChange-Id: I04b6a3fc444117a9fc2449fb87c3c834247c8ef1\n"
    },
    {
      "commit": "1ec3a58bcdd0d5fa82cf878d974d062811933ae2",
      "tree": "87920da198d25f6b33a64104028d61ceab771ff5",
      "parents": [
        "a9489274d67b540804aafb587a226f7c2ae4464d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 21:01:03 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 21:01:58 2011 -0700"
      },
      "message": "Prevent possible NPE in TextureView\n\nChange-Id: I539813d614c7eb1f68dad6b605cbad5b5144c5e9\n"
    },
    {
      "commit": "a9489274d67b540804aafb587a226f7c2ae4464d",
      "tree": "2e181f440cfdda41da82e3763523b437af0fcf8f",
      "parents": [
        "d586ad9c9fec80aa1d24d6b53cd2c8d5b47fe868"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 20:58:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 20:58:11 2011 -0700"
      },
      "message": "Add the ability to specify the opacity of a TextureView\n\nTextureView assumes its content is opaque by default.\n\nChange-Id: Iba873423566a5b67c388081838bd910dceba32ba\n"
    },
    {
      "commit": "d6b2a00dd43257d1498b09175bff63663f6cb861",
      "tree": "458956fbcc18eb53ddc81fd7a4d1bf64ee3c7a92",
      "parents": [
        "98029c825b9234e6b90721d910cc180885fcab1d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 17:45:59 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 17:45:59 2011 -0700"
      },
      "message": "Add error checking to LayerRenderer::copyLayer\n\nThis method is invoked by TextureView.getBitmap() and failures must be\ncaught to avoid leaving the GL context in a potentially bad state.\n\nChange-Id: I620de395ba1bc20154de58c81963223dc55cac78\n"
    },
    {
      "commit": "98029c825b9234e6b90721d910cc180885fcab1d",
      "tree": "0091be00b155882643ffe2a3f88d6df1c297aa3f",
      "parents": [
        "5d5d1ff2d5daadec48c6c95e86d6d644390c02e6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 15:47:07 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 17 15:47:07 2011 -0700"
      },
      "message": "Fix rendering issue with paths when the stroke width is 0\n\nChange-Id: I5d8ac23dc69e9e17df4ef6b5195186b5207e2524\n"
    },
    {
      "commit": "77a811610f99e21da7f88dafef60d09f345d0506",
      "tree": "f9342ace8ae4541f75c17a3f8531d3c6090de474",
      "parents": [
        "113543c909baadb911cfda6acef056137e16f191"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 14 16:45:55 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 14 17:06:53 2011 -0700"
      },
      "message": "Add TextureView.getBitmap()\n\nThis API can be used to get a Bitmap copy of the content of a\nTextureView.\n\nChange-Id: I07522216c353720fba5cab333174f58f484eb911\n"
    },
    {
      "commit": "54be1cdf3d63095512120fa7ced5c16e462abffa",
      "tree": "01f454747cc08f12375ae1ce458b0ef07beecbef",
      "parents": [
        "40b62576ffeea06e481cae40db89455c2ddf8a63"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 13 19:04:27 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 13 19:04:27 2011 -0700"
      },
      "message": "Batch glCopyTexImage() calls to get about 15 fps back on SGX.\n\nChange-Id: I04079e070739c1e46df3e90fc388c335e2a7d2b9\n"
    },
    {
      "commit": "451ce44a18e4c48f8a43aa250957f76967a35d31",
      "tree": "d9424d45f00843e584097c1dec19a53ec6f96e3c",
      "parents": [
        "181d0a6ccedee03789919d53c46540a8df751896"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 10 15:40:36 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 10 15:44:09 2011 -0700"
      },
      "message": "Add onSurfaceTextureDestroyed() callback.\n\nThis is needed for Renderscript and it also makes implementations\nof TextureView cleaner. This change also hooks up the onSurfaceTextureSizeCHanged()\ncallback whenever the view size changes.\n\nChange-Id: I2f972ee4504d800329defefacf32cf20547d31a3\n"
    },
    {
      "commit": "f09ef51889f75289b041f9e9f949b7b82ed5b686",
      "tree": "abb6fa101bbf18deec6edbd1d799cf7eb31a2b41",
      "parents": [
        "a4fa2cd1c007c2bd0f330f6a3ffde2949d9574c5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 27 11:43:46 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 27 11:43:46 2011 -0700"
      },
      "message": "Fix issue with drawColor(color, Mode.Clear)\n\nChange-Id: I486b24a5b609c6f8adb0276037ddb24af2b888b2\n"
    },
    {
      "commit": "1e59f9d10d164f156221f6d34b932f06cdd29f1f",
      "tree": "bf37ea0028b41c83646021e90b11a9536909bae2",
      "parents": [
        "f504a2fa144504ca1efd39a4ef9208e3d4d336c5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu May 26 18:39:34 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu May 26 18:39:34 2011 -0700"
      },
      "message": "Fix texture coordinates for sub-bitmap rendering.\n\nChange-Id: I05a31775e03f5b223a55a5144d420351abac89be\n"
    },
    {
      "commit": "f504a2fa144504ca1efd39a4ef9208e3d4d336c5",
      "tree": "3d797f8910ac7615bddfc073435d8a26fcb80e61",
      "parents": [
        "3453b1c584f456a18f17d74a72c044b4e39c6405"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu May 26 16:40:55 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu May 26 16:40:55 2011 -0700"
      },
      "message": "Correctly implement the CLEAR xfermode.\n\nThe previous implementation was using glBlendFunc with the parameters\nGL_ZERO/GL_ZERO which doesn\u0027t work for text, paths and other alpha\nsources (anti-aliasing.) The correct implementation is GL_ZERO/\nGL_ONE_MINUS_SRC_ALPHA.\n\nChange-Id: I4cca65e57b6a37bbf5a41d382cb0648ee8e11e79\n"
    },
    {
      "commit": "f9be16a9d4f5e3b2e9f6b9742626e4a87c5e29be",
      "tree": "b51598fcd17821305edd1287e35c015275bb1964",
      "parents": [
        "4725a90e8ea82799fb88fd27db5bb16969ac5abf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed May 25 17:49:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed May 25 17:49:11 2011 -0700"
      },
      "message": "Rename test to be able to launch it on crespo.\n\nChange-Id: Ieb3e1f6a2e3effe5c4042ad170f195244c7e2158\n"
    },
    {
      "commit": "44984ea0cb3702384d023b5f211deda3c4b0b656",
      "tree": "2ee6fb3780dc0e1cfd3b6d2837569bc5f8fe3a60",
      "parents": [
        "3a9e712aca65ac49e7155e98e5d6b815da76f94b"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 19 13:50:47 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 19 16:39:37 2011 -0700"
      },
      "message": "Enable large font rendering with GPU acceleration\n\nChange-Id: I7b022100fb0762613f9cf7753dbb0217e1e75f8d\n"
    },
    {
      "commit": "858aa93ddb6e69e0503382af63bb681b6728aef1",
      "tree": "e6d79eaeef1f9cd204615448da72b63970e3c256",
      "parents": [
        "e4ba346f0f1bb153ec1f9da5c0a4fc96c301efda"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 12 09:06:00 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 12 14:55:29 2011 -0700"
      },
      "message": "Antialiasing for rectangles\n\nChange-Id: I7ca6931606541ddd504bd5db7f8dc04b9cde8cd9\n"
    },
    {
      "commit": "99ecdc480dd4f9b550b2a62ea39f77845a4fec49",
      "tree": "e85b2138c79401cb2da03cfc190ce7e81d12bc71",
      "parents": [
        "098b781699981a550500d2e30b4c844af63eb187"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri May 06 12:06:34 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri May 06 12:10:54 2011 -0700"
      },
      "message": "Fix for scaled AA lines\n\nPreviously, the translucent boundary of AA lines would be scaled\nby the line\u0027s transform. It should always be exactly one pixel wide\nin screen space. This fix accounts for scaling for the boundary\nregion, and fixes some AA calculations that make wide/AA lines\nmore correct.\n\nChange-Id: I30df2d5d96315bf3e7ff30be9735282fd5439a39\n"
    },
    {
      "commit": "df0a7fbdcff3c683641b7980da50a7d0eebe0876",
      "tree": "bce1f0ec1aecb5735a1dd17a7a5a87f13d7a94b0",
      "parents": [
        "8ef9eaaea8cc27145bf159e45b7d9eaa0aae6d5c",
        "8f0095cd33558e9cc8a440047908e53b68906f5f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 02 18:33:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 02 18:33:26 2011 -0700"
      },
      "message": "Merge \"Allows to render with an OpenGL context inside a TextureView.\""
    },
    {
      "commit": "8f0095cd33558e9cc8a440047908e53b68906f5f",
      "tree": "2f55d779bf102e0c134357d89c7de69d0444634a",
      "parents": [
        "3a5c227279011f850036c29e7c0bc96023298d5c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 02 17:24:22 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 02 18:32:29 2011 -0700"
      },
      "message": "Allows to render with an OpenGL context inside a TextureView.\n\nChange-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7\n"
    },
    {
      "commit": "99585adeb4167ca357a72eb866f34c1af944f4b9",
      "tree": "ba993a2167fb880c98e29e4d2bd46933e182b1cf",
      "parents": [
        "71a0dab1ca962c2827be0221a7fbcc065dc3cbb8"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 02 15:00:16 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 02 15:08:38 2011 -0700"
      },
      "message": "Line endcaps for AA lines are now antialiased.\n\nAlso fixed other minor issues with AA and line rendering.\n\nChange-Id: Icd4638d27c70e2ee0f28b5d9a2b97d8b29e8ac4d\n"
    },
    {
      "commit": "ad44445c772efe66fdf063aa8f78d7ae3233570e",
      "tree": "8097234b893dbc0dfe050a0a98e7acecce74b28b",
      "parents": [
        "efe2a0e6ac8183c98dfe969928509e3b32903b40",
        "aa6c24c21c727a196451332448d4e3b11a80be69"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 28 18:47:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 28 18:47:01 2011 -0700"
      },
      "message": "Merge \"New widget: TextureView Bug #4343984\""
    },
    {
      "commit": "aa6c24c21c727a196451332448d4e3b11a80be69",
      "tree": "27114ab3852d31723d885f3846ee874a07247126",
      "parents": [
        "9fc27819d75e24ad63d7b383d80f5cb66a577a0d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 28 18:40:04 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 28 18:46:19 2011 -0700"
      },
      "message": "New widget: TextureView\nBug #4343984\n\nTextureView can be used to render media content (video, OpenGL,\nRenderScript) inside a View.\n\nThe key difference with SurfaceView is that TextureView does\nnot create a new Surface. This gives the ability to seamlessly\ntransform, animate, fade, etc. a TextureView, which was hard\nif not impossible to do with a SurfaceView.\nA TextureView also interacts perfectly with ScrollView,\nListView, etc. It allows application to embed media content\nin a much more flexible way than before.\n\nFor instance, to render the camera preview at 50% opacity,\nall you need to do is the following:\n\nmTextureView.setAlpha(0.5f);\nCamera c \u003d Camera.open();\nc.setPreviewTexture(mTextureView.getSurfaceTexture());\nc.startPreview();\n\nTextureView uses a SurfaceTexture to get the job done. More\nAPIs are required to make it easy to create OpenGL contexts\nfor a TextureView. It can currently be done with a bit of\nJNI code.\n\nChange-Id: Iaa7953097ab5beb8437bcbbfa03b2df5b7f80cd7\n"
    },
    {
      "commit": "8a5cc92a150bae38ec43732d941b38bb381fe153",
      "tree": "24bf32e7fcc20ab94e64f57e6f72bd8762d3bdf9",
      "parents": [
        "b4a56f10d875dc62a9c73008f98596c7e32fc249"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Apr 26 07:28:09 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Apr 27 14:23:29 2011 -0700"
      },
      "message": "Fix various hw-accelerated line/point bugs\n\nAll accelerated lines are now rendered as quads. Hairlines used to\nbe rendered as GL_LINES, but these lines don\u0027t render the same as our\nnon-accelerated lines, so we\u0027re using quads for everything. Also, fixed\na bug in the way that we were offsetting quads (and not offseting points)\nto ensure that our lines/points actuall start on the same pixels as\nSkia\u0027s.\n\nChange-Id: I51b923cc08a9858444c430ba07bc8aa0c83cbe6a\n"
    },
    {
      "commit": "740bf2bb2e900d3db2292b5909b4b4c6e90320e6",
      "tree": "9c6759f83ab467d849ef8072e262fe7ac55b8c71",
      "parents": [
        "3a03eeedafb3e3335b56bdb9c0a2f02104d32299"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 26 15:33:10 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 26 15:33:10 2011 -0700"
      },
      "message": "Apply shaders/filters to text drop shadows.\nBug #4318323\n\nThis change also fixes the fact that shaders were not modulated\nby the paint\u0027s color when drawing paths.\n\nChange-Id: Id88804143aea06c895d4cbcdbe106d660230aa5a\n"
    },
    {
      "commit": "3a03eeedafb3e3335b56bdb9c0a2f02104d32299",
      "tree": "660acf7eb7b5d9eef082b169f7bbc0e5be7abb32",
      "parents": [
        "e1c6ff4b91072a4071589938c74dd65d66f88fb5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 26 14:04:08 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 26 14:04:08 2011 -0700"
      },
      "message": "Update shader text to test with drop shadows.\n\nChange-Id: Iefdf116846c9b5649d1561a9d80d66d1c3acfeca\n"
    },
    {
      "commit": "5b0200bd47e8a9a4dc8d2e6c3a110d522b30bf82",
      "tree": "905d0c539f0ed9a4e6ae6538bd6ab7f74efeefb8",
      "parents": [
        "3ad604b3d8a3ae87ee3f7545677bacc8f11159c0"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Apr 13 17:58:08 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Apr 21 11:47:05 2011 -0700"
      },
      "message": "Enable anti-aliasing for hw-accelerated lines\n\nDraw anti-aliased lines with OpenGL by constructing a quad with\na border that fades out (to mimic fragment coverage).\n\nChange-Id: Ib81a3e62d663acdf1b46b401ac4aa7ee9855cc7e\n"
    },
    {
      "commit": "1a81aea8144b92ebaf807af9de69a0ab3415a5aa",
      "tree": "01eba86ec3fc430e0b174d59019026e35a42b1db",
      "parents": [
        "43e7aeb37e1d4d86eb89a0a5f620d148289d1986"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 21 15:24:51 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 21 15:30:27 2011 -0700"
      },
      "message": "Update GL textures when changing a Bitmap\u0027s pixels\nBug #4146495\n\nChange-Id: I4fe3f8501373b86b164af11ae51642b140035bb8\n"
    },
    {
      "commit": "ed6fcb034b44d9a6ac2fc72fee6030417811f234",
      "tree": "42a469fd5b0eabb1fd3b6a34243d57c081eee764",
      "parents": [
        "67ac217a81f34ee3d35df84b38f3456843c40706"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 21 13:11:28 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 21 13:11:49 2011 -0700"
      },
      "message": "Add support for drawPoint() and drawPoints().\n\nChange-Id: I01bef50c08ec3160f8d40dc060b2cf6c2e4d7639\n"
    },
    {
      "commit": "7b5b6abf852c039983eded25ebe43a70fef5a4ab",
      "tree": "918c9bd4b35e0790a9d01fdf88bafd90b952101e",
      "parents": [
        "c7fcc5076fb2988fba699a2167d19475fd58ed0b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 14 18:05:08 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 14 18:05:08 2011 -0700"
      },
      "message": "Fix rendering artifact in edge fades.\nBug #4092053\n\nThe problem always existed but was made visible by partial invalidation.\nWhen saving a layer, the renderer would try to postpone glClear()\noperations until the next drawing command. This however does not work\nsince the clip might have changed. The fix is rather simple and\nsimply gets rid of this \"optimization\" (that turned out to be\nusless anyway given how View issues saveLayer() calls.)\n\nThis change also fixes an issue with gradients (color stops where\nnot properly computed when using a null stops array) and optimizes\ndisplay lists rendering (quickly rejects larger portions of the\ntree to avoid executing unnecessary code.)\n\nChange-Id: I0f5b5f6e1220d41a09cc2fa84c212b0b4afd9c46\n"
    },
    {
      "commit": "cabfcc1364eb7e4de0b15b3574fba45027b45cfc",
      "tree": "f38e237ba2009dcacb5082a99928aad379a7adc0",
      "parents": [
        "9b7146db6d9c0586b98b062fbcdb3fac6cc54d19"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 07 18:06:46 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 07 18:09:03 2011 -0800"
      },
      "message": "Add support for partial invalidates in WebView\nBug #3461349\n\nThis change also fixes two bugs that prevented partial invalidates\nfrom working with other views. Both bugs were in our EGL implementation:\nthey were preventing the caller from comparing the current context/surface\nwith another context/surface. This was causing HardwareRenderer to always\nredraw the entire screen.\n\nChange-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5\n"
    },
    {
      "commit": "47b8adec3904535c8d8ce2b6e42ecd736f2d90ce",
      "tree": "3aa0807a2963ea256c378bf7dd5200fac9f39484",
      "parents": [
        "81904fa40b501d3907c086e7d4fdc4a3e25cd922"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 23 19:46:33 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 23 19:51:42 2011 -0800"
      },
      "message": "Add a new Camera API to control the camera\u0027s location\n\nChange-Id: Id9a082d2def803eb527e1987875e0d8a22c6e8aa\n"
    },
    {
      "commit": "b18d2d0079b4dbf5675ab79b7111b3dfb3cc1ad0",
      "tree": "36e09ec065df8e1855c6ca3d809dbd59dea935ff",
      "parents": [
        "83a7b963f0070022d98853ea1fb4fa5c81cc5e79"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 10 15:52:54 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 10 15:52:54 2011 -0800"
      },
      "message": "Dirty layers in the area covered by a drawBitmapMesh() call\nBug #3410827\n\nChange-Id: Ic8b4f6201af94497bba86c75819588c78debddc2\n"
    },
    {
      "commit": "f28daffda50042c1b7cbfeb34b4d47741c6e21a8",
      "tree": "ea4ec2648e7c585d35f26750d18cc1007ebd2052",
      "parents": [
        "e5e764ad0bb74d8c1405d018b4e0fe92d6554660"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 04 00:59:34 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 04 00:59:34 2011 -0800"
      },
      "message": "Empty the clip rect when intersection is empty.\nBug #3410035\n\nChange-Id: I5ceb80514d3b20c9ad230478549ad31ced403d53\n"
    },
    {
      "commit": "09b7c91de73b59aa3f679b3ae3ba299f82ec9f8a",
      "tree": "9eb49f2fedb60e6df37b54216ed20f054a6f55fd",
      "parents": [
        "62687ec12cb8e0b1d4044a235b1387b9a8c3b4b4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 02 20:28:09 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 02 20:28:09 2011 -0800"
      },
      "message": "Allocate layers from the layers pool.\nBug #3413433\n\nThis change will be beneficial to Launcher to avoid hiccups when\nswiping pages of icons. When a layer is discarded, it is kept\nin the layers pool instead of being destroyed right away. This\nfavors memory reuse over allocations.\n\nChange-Id: Ifb6944ba83d6ceb67c331527c0827b26ce648eb1\n"
    },
    {
      "commit": "849d0a37cf2ca6c6a6c2d4d4456495e32e363120",
      "tree": "f23404bc72d50712c8d7b26ec375f9e22b91e500",
      "parents": [
        "485d577af1b410769e1a364d8e2bf7837fb313b0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 01 17:20:48 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 01 17:56:09 2011 -0800"
      },
      "message": "New API to let apps draw without layers.\nBug #3413433\n\nLauncher now enables layers all the time, but in some cases (for instance, when the\nworkspace is not scrolling,) it is more efficient to draw without the layer.\n\nChange-Id: I625fb5b48506acda9ae75356fdbbe812c85f2aab\n"
    },
    {
      "commit": "54229ee5eb92e3e2fc63d75353bcf09e0ebc8030",
      "tree": "cbec7a5d7caa4a04d534de6d624b3ae6670d1de9",
      "parents": [
        "feeea8f07c854e6b0ae2fec3aa2d239c17f32b5b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 01 13:05:16 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 01 13:05:16 2011 -0800"
      },
      "message": "Correctly set the alpha of a hardware layer before drawing it.\nBug #3410819\n\nChange-Id: I3ebaca2233f4edf5b59d84ec7706555056a1a4b1\n"
    },
    {
      "commit": "7d7b5490a0b0763e831b31bc11f17d8159b5914a",
      "tree": "7326e41a76618cba25a9757b43db779a607b9bdf",
      "parents": [
        "3dd0908a65095cb6946001ae3039ab87a47b4f33"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 24 16:33:45 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 24 18:39:56 2011 -0800"
      },
      "message": "Enable partial invalidates when rendering with OpenGL.\n\nChange-Id: Ie8be06c4776b815e8737753eb8003b4fd8936130\n"
    },
    {
      "commit": "a566b7c3aada08d37cf08096c972e3e641bed773",
      "tree": "47ad89183050d1689f72ec701cb172ea2a794aeb",
      "parents": [
        "8b2f5267f16c295f12faab810527cd6311997e34"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 16:36:11 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 16:36:11 2011 -0800"
      },
      "message": "Fix bitmap meshes to work in display lists.\n\nChange-Id: Ie226d049840942d9ad9cf58e0c19132f49d62a75\n"
    },
    {
      "commit": "8b2f5267f16c295f12faab810527cd6311997e34",
      "tree": "2f81ab177ebfadee474c44f3aa8e44cdc539665e",
      "parents": [
        "c1cd9ba335b293f11e1082447ef08e474710a05f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 16:15:02 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 16:15:02 2011 -0800"
      },
      "message": "Add support for arcs.\n\nChange-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f\n"
    },
    {
      "commit": "c1cd9ba335b293f11e1082447ef08e474710a05f",
      "tree": "3f07bf1887e0cd5602c2f1e356e3efe92d7f766b",
      "parents": [
        "f6834478b379856d3e5de92ddce7de0e6ba9fa4a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 14:18:41 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 23 14:18:41 2011 -0800"
      },
      "message": "Add support for ovals and stroked rectangles.\n\nChange-Id: I1292e241386763c82e6622c8f7ed90b0f5b7bd4f\n"
    },
    {
      "commit": "5a7b466a2b4b7ced739bd5c31e022de61650545a",
      "tree": "1eef540913ce3a131019586f9187bc8e66f59caa",
      "parents": [
        "c8219299b0003793cee8049b96a3bf7530765eea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 20 19:09:30 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 20 19:09:30 2011 -0800"
      },
      "message": "Add support for drawBitmapMesh().\n\nChange-Id: Ic77f9c534bb90dc7b9458299544bd50b8b6ae6a5\n"
    },
    {
      "commit": "01d58e43ede5ca98cbebdd166f9b0c545032c01b",
      "tree": "6d9976c551fd6ec9f104e5a849c0ad743946af6c",
      "parents": [
        "9335f5b2fde244614184f45d29cc574d1ba8cbba"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 21:54:02 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 21:55:10 2011 -0800"
      },
      "message": "Add rounded rects and circles support to OpenGLRenderer.\n\nChange-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c\n"
    },
    {
      "commit": "42f3a4b7c35dd1ea1922356eb3611af8cde05179",
      "tree": "aac476548acfc97b0dd5785ce06008c40b98753a",
      "parents": [
        "a3311ed7a9ddd7ecb066f4731ce4bc3bd3ffd939"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 13:42:26 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jan 19 13:42:26 2011 -0800"
      },
      "message": "Make embedded hardware layers work.\nBug #3369474\n\nChange-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d\n"
    },
    {
      "commit": "2577db1ec135a1470a2c42139772ec97a6c30e78",
      "tree": "8be799a2fa33a0b68b8b11706ded6e0c66ce66d7",
      "parents": [
        "807daf7df615b60ce6fc41355aabe3aa353cebab"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 13:02:38 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 13:02:38 2011 -0800"
      },
      "message": "Add support for Paint::setTextSkewX in OpenGLRenderer.\nBug #3360888\n\nChange-Id: I42e81a1f10bf7b9ae1c63ca8add1878fd59a1e8a\n"
    },
    {
      "commit": "807daf7df615b60ce6fc41355aabe3aa353cebab",
      "tree": "96eeb8bde5042241238946f787d1dbc3a416d6e6",
      "parents": [
        "d6cd572df8067c40b3e0e7e74e58cdb456b33e92"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 11:19:19 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 18 11:19:19 2011 -0800"
      },
      "message": "Add support for skew()\n\nChange-Id: Ia3a9a867f74fd78b61f75179e3788fdc2f0cacd0\n"
    },
    {
      "commit": "d6cd572df8067c40b3e0e7e74e58cdb456b33e92",
      "tree": "bb0ed888ea6af5780ad0b92c397297ebf4a579b8",
      "parents": [
        "73fddbae964ee41895c8218454d0ed7fd71d6913"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 17 14:42:41 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 17 14:42:41 2011 -0800"
      },
      "message": "Improve hardware layers rendering speed when setting a View\u0027s alpha.\n\nChange-Id: Ib1275677f531c60d9919978c5538c663fdb823b5\n"
    },
    {
      "commit": "2361098da3b9d9c3eeed410dc72ba62c0e9177cf",
      "tree": "f3c5cb63e38bfb99ef76e10400cb846ecc21c812",
      "parents": [
        "875862e3ec85153553ce50acc02863ea0720ccb6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 17 12:51:55 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 17 13:04:12 2011 -0800"
      },
      "message": "Add BitmapFactory.Options.inMutable to load mutable bitmaps.\n\nChange-Id: Iaa222127520f3aa55072d44af12ee3477908b876\n"
    },
    {
      "commit": "fb13abd800cd610c7f46815848545feff83e5748",
      "tree": "299f1c241fc360cbf3016adee07ac3db46750203",
      "parents": [
        "90fc03bc493fc2c984599b198b9d50bc387134f2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 16 15:16:38 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Jan 16 15:16:38 2011 -0800"
      },
      "message": "Fix 9patch rendering in ExpandableListView.\n\nChange-Id: I60843d61a40b0cb7dd09923cb4489a5a76f20486\n"
    },
    {
      "commit": "6c319ca1275c8db892c39b48fc54864c949f9171",
      "tree": "d89e4222487db2ccd9a6b03b0d55f8361a7d1856",
      "parents": [
        "b796889671c089fb7e2fc4498aa701d3e8e552a3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 11 14:29:25 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 11 17:53:19 2011 -0800"
      },
      "message": "Better backend for hardware layers.\n\nWith this new backend, a hardware layer is only recreated when\nits associated view is udpated. This offers fast composition\nin GL and fast update of the layer in GL as well.\n\nChange-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076\n"
    },
    {
      "commit": "7230a74e9a36dfc6c4346c14e325bf07cd05b380",
      "tree": "0726a708eb545618fde761bd03ed3a1830e34c03",
      "parents": [
        "a07105b7d2a27e6d69407bf96ddb773bddb5e553"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 10 22:26:16 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 10 22:26:16 2011 -0800"
      },
      "message": "Composite layers as regions.\n\nThis change detects what area of a layer was drawn into and generates a mesh\nto match this area exactly. This can be used to avoid blending empty pixels\nwhen the layer is composited.\nThis change also adds proper layers support to lines rendering and implements\nlayers composition in a more readable way.\n\nChange-Id: I4a5588b98b19bd66891ebdc39631b193c5e31999\n"
    },
    {
      "commit": "171c592f0b7066acf279863c8a52ddabea49d3db",
      "tree": "eebf9a8c82c6a6d9db6edbf077b9299a96ae36e4",
      "parents": [
        "f0fe6d311d183c5fcf45d5e3e995fc8f9ed12f8b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 06 10:04:23 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 06 18:34:30 2011 -0800"
      },
      "message": "New layers API for Views.\n\nThis API can be used to back a view and its children with either a\nsoftware layer (bitmap) or hardware layer (FBO). Layers have\nvarious usages, including color filtering and performance\nimprovements during animations.\n\nChange-Id: Ifc3bea847918042730fc5a8c2d4206dd6c9420a3\n"
    },
    {
      "commit": "9f0696709b403065d98936e7884536dc98349a59",
      "tree": "b1ae3e0a86e0047c53f86865b477c2b608cdae22",
      "parents": [
        "67ba204aa23e7d5a96ad241a1623e44976b51741"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 06 12:57:49 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 06 12:57:49 2011 -0800"
      },
      "message": "We are now Honeycomb.\n\nChange-Id: I69dadd57184d2d80f426c1c862ed0a040c8baf03\n"
    },
    {
      "commit": "d38e776a3cc8cb53945cbebafbe6f6c2e3501fa5",
      "tree": "91f1359ed446aeafc20c8322073612a77c1652d5",
      "parents": [
        "70119929549b6d241244c51952ed1f4a313a5ff7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 21 06:20:28 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Dec 22 10:30:53 2010 -0800"
      },
      "message": "LayoutLib: support for layers.\n\nLayers require that drawing methods potentially\ndraw in more than one bitmaps.\n\nTo handle this this patch offers the following:\n- move all drawing methods to use Drawable\n- Drawables are now handled by GcSnapshot since\n  its the one handling the layers\n- moved Canvas_Delegate.createCustomGraphics to\n  GcSnapshot which does not expose the Graphics2D\n  objects anymore so its draw() methods are the only\n  way to draw.\n- handles creating layers in GcSnapshot.save() and\n  blitting them in restore()\n\nOther changes:\n- Clean up the create/save API in GcSnapshot\n- Fixed drawing bitmaps with alpha and other\n  composite modes.\n\nChange-Id: I1e230087493d044a10de71f4b6d29083e3f3bf64\n"
    },
    {
      "commit": "63fd87113cea6abec97a6cd966e090e9b590fc3b",
      "tree": "1cbdd623cdac465fc3a648b4afc93b4212a213f7",
      "parents": [
        "d348b6eaa98e23cb38d90906df109aaa2d20ea7f"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 21 01:33:04 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 21 10:43:18 2010 -0800"
      },
      "message": "LayoutLib: Misc rendering fixes.\n\n- always set up the stroke. Paint may not have the proper\n  style when drawing lines. stroke should still be setup.\n\n- Fixed vertical linear gradient. Old code generated\n  a gradient ratio of NaN\n\n- Fixed alpha rendering when using shaders. In that\n  case the alpha channel from the paint color should be\n  used in conjunction with the shader.\n\n- Fixed miter limit. Java expects the value to be multiplied\n  by the stroke width\n\n- Fixed support for drawing ALPHA_8 bitmaps. Java2D doesn\u0027t\n  have bitmaps with only alpha channels, so we keep using\n  ARGB bitmaps but when drawing them into a bitmap we erase\n  the color information.\n\nChange-Id: I4f04341fc843e3f7dadd1fdbf709b11a4f1e24b9\n"
    },
    {
      "commit": "d348b6eaa98e23cb38d90906df109aaa2d20ea7f",
      "tree": "c9195fa9628e78108424cbae0dd2a86a12d2faeb",
      "parents": [
        "19a021038f2f4683dddef651543d7298f5bd7218"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Dec 20 08:22:47 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 21 10:43:18 2010 -0800"
      },
      "message": "LayoutLib: support for Path and BitmapShader using delegates.\n\nAlso created delegates for all missing shader, xfermode\nand patheffect classes. Moved the logic of the xfermode,\nand patheffects that was in Canvas_Delegate into the\nxfermode/patheffect classes, and added support (in all\n3 clases) for knowing if the shader/xfermode/patheffect\nis actually supported or not. Make use of fidelityWarning\nin LayoutLog if they are not.\n"
    },
    {
      "commit": "b146b1214ef6e4fc75d98779b22434335764cfdb",
      "tree": "8cfdf955b50ced23ea8301da9e66a7ee85f148bd",
      "parents": [
        "33a8cfb0af2e1d5983bc128007ded21bcc4f2da9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 15 17:06:45 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 15 17:28:30 2010 -0800"
      },
      "message": "Fix text shadow rendering issue.\n\nChange-Id: Ic9eb0d38ad684d2f2c95a4f586f865db911cb872\n"
    },
    {
      "commit": "ec31a7f119608b94ea1bb41275811027a360bf30",
      "tree": "9e9d175cbbd71b6bf142806f82268680a1bc2176",
      "parents": [
        "d9c64369cf9be6568af2d79c35fb470cc261730d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 14 14:58:59 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Dec 14 14:58:59 2010 -0800"
      },
      "message": "Create some layout files for HwAccelerationTest\n\nThe goal is use the app to test layout lib, so layout\nfiles are needed, and custom views must be instantiable\n(ie public)\n\nChange-Id: I46bb3d8af6e4d7973d041aa618f1c7762efd93d0\n"
    },
    {
      "commit": "a957eea78557cb47a91d44d9e6ee641c58cf1c07",
      "tree": "bc6ee438bdb116feee2fef40ada876367544dcbb",
      "parents": [
        "1e8b5fea90e6160f8cdd101767d0a8f6842751fd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 08 18:34:42 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 08 19:06:58 2010 -0800"
      },
      "message": "New, better line drawing implementation.\nBug #3207544\nBug #3225875\n\nChange-Id: Ibdd1dfc64e01625d5c441f39eb0aa3ee647f6ff5\n"
    },
    {
      "commit": "5ec9924d24495822b589f1a17996655d66273b30",
      "tree": "60a92b5ceb25b980be02cef82ef56ecf55cb7f04",
      "parents": [
        "98444a944c9126898bc4c370f831a79bb3b30bd8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 03 16:19:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 03 16:19:08 2010 -0700"
      },
      "message": "Fix rendering issue with layers.\n\nChange-Id: I1d511ab2707000762a942d32c300a9944ab38603\n"
    },
    {
      "commit": "8164c2d338781c3a3c4a443941070dca5d88f2a7",
      "tree": "22f218c64471d29d1cfbc9a55cb8bb530cf78714",
      "parents": [
        "c361da845a205ac35e724c0ca436744d483de7aa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 25 18:03:28 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 25 18:03:28 2010 -0700"
      },
      "message": "Don\u0027t change textures wrap modes on every draw.\n\nChange-Id: If6d3f313778cc7f3e803a063338539c8b3e165e3\n"
    },
    {
      "commit": "e5ebcb0107a939395e03592fd44c746cd09e311d",
      "tree": "1ee2cc9fb92d3de28f40658df2a7df1da79f64f8",
      "parents": [
        "c65217e4ec3e6c80834988ec3bc66a90778ee4b0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 13:57:28 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 15 13:57:28 2010 -0700"
      },
      "message": "Fix clipping issue in StackView.\n\nChange-Id: I7ec28f25c3993a2bd7ef6399ba1923839d239905\n"
    },
    {
      "commit": "14830948d02f768c41b97b7a8d15e1b3cab78267",
      "tree": "349cf9a5e1120ca3bc92807efb3db10ff11a8468",
      "parents": [
        "6b7bd24659fb175fe1f0e97c86c18969918b496a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 07 15:07:45 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Oct 07 15:07:45 2010 -0700"
      },
      "message": "Add 3D transforms support to all gradients.\n\nChange-Id: I61409edd00dab3a11684a3f5e4f7df0afc734758\n"
    },
    {
      "commit": "e3095e0c1e2a4a4f34f741aa386eae56536ca5aa",
      "tree": "6d2d7c5929bf73af2b0eeb07e757944db921c2de",
      "parents": [
        "572eab6f17a78a9483bbf4b3646aa5a6038ea210"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 06 16:57:29 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 06 16:57:29 2010 -0700"
      },
      "message": "Apply 3D transformations to gradient shaders.\n\nThis fixes only linear gradients. Sweep and radial gradients, as well as\nbitmap shaders, will be fixed in a future commit.\n\nChange-Id: I4eee4ff62e9bbf3b9339fc111a780167449ecfef\n"
    },
    {
      "commit": "469b1dbeaf7d3267d1b43af4e7391b49eac10ee0",
      "tree": "884cbf59149af5326b30902ddb159837a65bf091",
      "parents": [
        "f6904c4bb4f0994f2b569515cafa426681f4100b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 05 11:49:57 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 05 13:42:35 2010 -0700"
      },
      "message": "Code cleanup and disable display lists for now.\n\nChange-Id: I681213036b5279339cb96a016d1dfb15d74dafc8\n"
    },
    {
      "commit": "7975fb6d12cb1eb96b75e3a563627cd4c4081bd6",
      "tree": "5be6b4315c9b3ccffb980fe9d99fa74340bf3430",
      "parents": [
        "d1034c1967178302cad9085d15ae9849497babb2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 01 16:36:14 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 01 16:36:14 2010 -0700"
      },
      "message": "Apply bilinear filtering to text.\n\nChange-Id: I2c81ad657ee2a11a2139e0b11ae3749db54c0749\n"
    },
    {
      "commit": "0bb5667b4ef91fefd0500fae0186789d15d54e0e",
      "tree": "92dfccfc1a428b6124e2a41061cde6a403976cd1",
      "parents": [
        "557ed7aa290497fb5764acb3f577edbe78bad5b9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Oct 01 00:25:02 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Oct 01 00:25:02 2010 -0700"
      },
      "message": "Fix INVALID_OPERATION error with layers rendering.\n\nThis change is a workaround for a driver bug that causes an INVALID_OPERATION\nto be thrown on every glCopyTexSubImage() call. This change also adds a new\ntest for gradients local matrices.\n\nChange-Id: I41b7437481026702d0a3a9677f099b4557c0a84e\n"
    },
    {
      "commit": "ddb80bebb0776e6d852aab6e8bba5d5591847a55",
      "tree": "460e39e115bf75648a3b4dbc9788c911751bd848",
      "parents": [
        "ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 19:04:33 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 21 16:48:50 2010 -0700"
      },
      "message": "Add support for circular gradients to the GL renderer.\n\nThis change also adds full support for local transformation matrices on\nsweep and radial gradients.\n\nChange-Id: Id8773bc0766575190e3f3d51984fc5e57b266c3f\n"
    },
    {
      "commit": "ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f",
      "tree": "4fd53bcd273d42fa1aebb064b18563aa293467b1",
      "parents": [
        "b5ab4173e0927e4668a45298c9900cd8007584e1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 17:53:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 17:54:17 2010 -0700"
      },
      "message": "Add support for SweepGradient in the GL renderer.\n\nChange-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022\n"
    },
    {
      "commit": "759ea80dca64ad652110a129e0d8bf93fea79f61",
      "tree": "910900df67d9f9fed51398de2a03f40e2abefec5",
      "parents": [
        "bf434114cbf55b216fdc76fc8d65a75e84c9dab5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "message": "Add support for drawLines(), with anti-aliasing\n\nChange-Id: I16c0593c5671490909dec13a85df601e1428a1a6\n"
    },
    {
      "commit": "6820ac8b14b4558f5d8b833dde80895306a3e137",
      "tree": "b90f253c05f20ae8a36c7bdc49147d447b75e7d5",
      "parents": [
        "9322775014432ed6c87c864e98fe482f879ff233"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 15 18:11:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 15 18:11:50 2010 -0700"
      },
      "message": "Fix 9patch rendering.\n\nChange-Id: Ic4c18ff483cca95fbabcb10843f7714efe488adb\n"
    },
    {
      "commit": "8411f336c786379c5a03106e9ed3bc8622b579a5",
      "tree": "a84342e818982f1075d6c1722706e3bf4bd14ddb",
      "parents": [
        "1510770165b7bc675e5171560e907c0269dbe0fa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:27:57 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:27:57 2010 -0700"
      },
      "message": "Fix rendering issue with layers intersecting the clip rect.\n\nChange-Id: Icbe35194fa219ef13ce639d33631235f8d7df3d7\n"
    },
    {
      "commit": "8694230ff25fa0a60e480d424843e56b718f0516",
      "tree": "4fa55299cb6a516c443ce2c2082530ec69928211",
      "parents": [
        "f607bdc167f66b3e7003acaa4736ae46d78c1492"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Sep 12 13:02:16 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Sep 12 13:02:16 2010 -0700"
      },
      "message": "Optimize calls to glCopyTexImage2D().\n\nChange-Id: I34ee87bd4472864f440916e03a2894fae24bbe4a\n"
    },
    {
      "commit": "f607bdc167f66b3e7003acaa4736ae46d78c1492",
      "tree": "b3b4fb761b25d08ba836ff822f6e72d85b5be695",
      "parents": [
        "d14f0dfd58af653a2d41424d472fe97de6af0a78"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 10 19:20:06 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Sep 12 12:24:12 2010 -0700"
      },
      "message": "Correct implementation of saveLayer().\n\nChange-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763\n"
    },
    {
      "commit": "a5aed0d58962a24c44728ffc46dc9e1ba2f9fda5",
      "tree": "4194d14711b2cba0e8192e5f1c0764f530bc7309",
      "parents": [
        "d90f23e24a4d1768d5a7ed0e7072e67af6330a45"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 09 14:42:43 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 09 14:42:43 2010 -0700"
      },
      "message": "Add support for advanced blend modes with the framebuffer.\n\nThis adds the ability to blend with the framebuffer using Darken,\nLighten, Add, Multiply, Overlay and Screen.\n\nChange-Id: Iae01a53797d4ad39c373cba6ff2a42293129da1a\n"
    },
    {
      "commit": "53389bdcdf6ffaaec533b73bc1d0abc5807ec7f6",
      "tree": "2c62b2d9a94bb5db26f62a17912c9bade47f1915",
      "parents": [
        "018b0d2918e59b28852d07b90c2d3153533267aa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 07 17:16:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 07 17:16:32 2010 -0700"
      },
      "message": "Correctly set the viewport on window resize.\n\nChange-Id: Idec325264d85feda76d4cda00fa511aaac82cf64\n"
    },
    {
      "commit": "4299c0f2429a266e2390a7a9d5dbe5a8e8d7ce38",
      "tree": "40a635863338f197f59e9ed2c6f53a5863d3a51e",
      "parents": [
        "b45c0c9774bd19a9dbe77d149abae4e124b08bf6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 27 16:56:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 27 16:56:50 2010 -0700"
      },
      "message": "Add test for gamma correction.\n\nChange-Id: Id2a311bc116438d3627a943cb5fb1ba8dc121bb0\n"
    },
    {
      "commit": "fb8b763f762ae21923c58d64caa729b012f40e05",
      "tree": "013792d41f32bff4dd35e6d53eebac711c513729",
      "parents": [
        "a1f1174b396cda7bdff469a2e974a737600c5eb0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 23 21:05:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 24 17:18:14 2010 -0700"
      },
      "message": "Use only one GL context per process, share chaches.\n\nChange-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11\n"
    },
    {
      "commit": "a80d32f7b69aa37026ab99e4ade1ad86dae76a81",
      "tree": "208c28a7cef27756daa88030f4c71ca2a721f41a",
      "parents": [
        "29378192f7ac4162d54fea4e34fddd42fd1f00d2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 18:42:37 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 18:42:37 2010 -0700"
      },
      "message": "Add support for textScaleX.\n\nThis will not look great because we render fonts using bitmaps, not\npaths.\n\nChange-Id: I01b87b81bfbdbfa28460a5d5309d38e2a65e77c4\n"
    },
    {
      "commit": "29378192f7ac4162d54fea4e34fddd42fd1f00d2",
      "tree": "3ec53b8cf13e0bb68bf790df0c61512bbebd1c8d",
      "parents": [
        "015912e7f62989805ed90bc60226e0bbbfbab9c1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 13:51:47 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 20 15:49:27 2010 -0700"
      },
      "message": "Test setTextScaleX()\n\nChange-Id: Iafa421def64a8f9a83b320b6cf3cc5286515c355\n"
    },
    {
      "commit": "e9e7fd0813f1485d20c6cd0014d59aff53c35d84",
      "tree": "27439301826c76d553486539d128c84c648d004f",
      "parents": [
        "207b3ab604bcbe47fa55f26f358cde60cf8a784d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 19 14:45:42 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 19 14:45:42 2010 -0700"
      },
      "message": "Update OpenGLRenderer test to test opaque ARGB8888 bitmaps.\n\nChange-Id: I7159825f4b1d6f5a1cd09ec091994801b52b6bda\n"
    },
    {
      "commit": "2542d199745cdf3ec910b8e3e4cff5851ed24e9b",
      "tree": "b0628a20db972e570e5781a957a2747dc3a3c16a",
      "parents": [
        "a8031c68c8e7ac5b1edfff2b6d03e3b46ec38a9d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 18 11:47:12 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 18 11:47:12 2010 -0700"
      },
      "message": "Layers were using an extra Snapshot causing extra clipping.\n\nBug #2919310\n\nChange-Id: I72ccd44bba7a3f3db72f581aa96198b6226e4478\n"
    },
    {
      "commit": "8fb954263dd2f918ad339045cc6d82e346515599",
      "tree": "6cc5874902c757432432f26cec37f1fdcbab0e4a",
      "parents": [
        "31d5becb7fe2981381a6c16afe6bb357416f4c3a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 17 18:38:51 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 17 18:40:21 2010 -0700"
      },
      "message": "Fix save()/restore() issues in the OpenGL renderer.\n\nThe save stack now behaves exactly like in Skia.\n\nChange-Id: If7e642f41f2c8f693f6e8c26cba81507d466562e\n"
    }
  ],
  "next": "1d83e1981c8b89da93dff37a4f8b2b1ad8480b44"
}
