)]}'
{
  "log": [
    {
      "commit": "624234f69b2a4781d24f3e4c6ae6450729e38397",
      "tree": "d6ae0bfd751e0e59329cb678c1d9f1cec447ee3e",
      "parents": [
        "0b58a3deab66c30a8d35072e55aac6279dd367cc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Mar 05 16:43:31 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Mar 05 18:12:35 2013 -0800"
      },
      "message": "Take only the scale params into account to rasterize text\n\nThis change extracts the scale parameters of the current transform\nto pass then to the font renderer. Rotation and perspective are\napplied to the generated mesh inside the vertex shader. This limits\nthe number of glyphs we have to create in the font cache and thus\nreduces memory churn.\n\nChange-Id: Ic5b3bae2b2b0e0250a8ee723b071a1709725c749\n"
    },
    {
      "commit": "3b753829ae858d424fe109f714745379a6daf455",
      "tree": "2b4c370574319ff1cfbd5014be3748d17e362b4a",
      "parents": [
        "e78b8003a5870c0e80ed92c4df442871fb9d0b61"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Mar 05 10:27:35 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Mar 05 10:27:35 2013 -0800"
      },
      "message": "Fix colored rects clipping and code cleanup\n\nThe drawColorRects() method was clipping individual rectangles\nusing the wrong parameters left, top, right and bottom instead\nof l, r, t and b. It also checked for count \u003d\u003d 0 after the loop\nwhen it should have checked for vertexCount \u003d\u003d 0. The quickReject\nis now not part of the loop since it\u0027s a bit overkill to perform\nso many matrix multiplications. What we really care about is the\nfinal quickReject performed on the max bounds of the entire set\nof rectangles.\n\nThis change also replaces all instances of mSnapshot-\u003etransform\nby currentTransform() to make the code slightly more readable.\n\nChange-Id: I6485280414499716852f7dbfba186774eb6763d4\n"
    },
    {
      "commit": "c74f45a334f0e3725c23cdd270cbcb0efac4ea75",
      "tree": "1b198e8b6b7d6d4a69237116a580236836744294",
      "parents": [
        "d80806b305ce337283c24f14522cc58fea090b8c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 26 19:10:14 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 27 15:49:57 2013 -0800"
      },
      "message": "Properly scale text\n\nThis change does not apply to drawPosText() and drawTextOnPath() yet.\n\nPrior to this change, glyphs were always rasterized based on the\nfont size specified in the paint. All transforms were then applied\non the resulting texture. This creates rather ugly results when\ntext is scaled and/or rotated.\n\nWith this change, the font renderer will apply the current transform\nmatrix to the glyph before they are rasterized. This generates much\nbetter looking results.\n\nChange-Id: I0141b6ff18db35e1213e7a3ab9db1ecaf03d7a9c\n"
    },
    {
      "commit": "13ba0054846ce630ca31e8f26169fd9388faee02",
      "tree": "2bbd8dbad1fee388dd2e408bf54cc4b5caa46ff3",
      "parents": [
        "00e592272ee44cba41832e3cf0a0ffb2de56585d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 15 12:47:26 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 15 12:47:26 2013 -0800"
      },
      "message": "Remove obsolete header file\n\nWe now use the same mechanism to compare keys everywhere in libhwui.\n\nChange-Id: I8b3cb25b13f4f38eb6f12aed0356f796a773617c\n"
    },
    {
      "commit": "8ce00301a023eecaeb8891ce906f67b513ebb42a",
      "tree": "3b14c80a49cbec537aad39aa4bb266cac41102f7",
      "parents": [
        "0f8d155363c361199a9d9aa5dcdbc4088990f893"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 15 18:51:42 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 17 15:39:31 2013 -0800"
      },
      "message": "Implement clipRect with a transform, clipRegion \u0026 clipPath\nBug #7146141\n\nWhen non-rectangular clipping occurs in a layer the render buffer\nused as the stencil buffer is not cached. If this happens on a\nView\u0027s hardware layer the render buffer will live for as long\nas the layer is bound to the view. When a stencil buffer is\nrequired because of a call to Canvas.saveLayer() it will be allocated\non every frame. A future change will address this problem.\n\nIf \"show GPU overdraw\" is enabled, non-rectangular clips are not\nsupported anymore and we fall back to rectangular clips instead.\nThis is a limitation imposed by OpenGL ES that cannot be worked\naround at this time.\n\nThis change also improves the Matrix4 implementation to easily\ndetect when a rect remains a rect after transform.\n\nChange-Id: I0e69fb901792d38bc0c4ca1bf9fdb02d7db415b9\n"
    },
    {
      "commit": "a3dc55f83ab583e0a66b893c71b849afa046770a",
      "tree": "bce89bc2bccaa9e4e9eb334b5c3185e360c02dc0",
      "parents": [
        "3cd961292e877cc5fac146290421e9e67aa553a2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 28 13:55:44 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 28 13:55:44 2012 -0700"
      },
      "message": "Fix a couple of rendering issues\nBug #7253839\n\n1. Make sure we don\u0027t make GL calls while recording display lists\n\n2. Disable an early and trivial clip optimization in font renderer\n   when a perspective transformation is used on the Canvas\n\nChange-Id: I3f1052164239329346854f72d0a0d401fbfecf06\n"
    },
    {
      "commit": "710f46d9d6a5bf9ea1c1833384caf61e1934124f",
      "tree": "5dbc56cf9b6bb957f9cbdaaff7283d44897b265d",
      "parents": [
        "5ca88a103c2841b64bfa01b4848aec4b8aa64687"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 17 17:25:49 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Sep 20 13:08:20 2012 -0700"
      },
      "message": "Polygonal rendering of simple fill shapes\n\nbug:4419017\n\nChange-Id: If0428e1732139786cba15f54b285d880e4a56b89\n"
    },
    {
      "commit": "d3efd6920e64d0207a0655640297d87d4937ee27",
      "tree": "22054ead2157be4ed8db2147a9507e9f94e0e86c",
      "parents": [
        "73b61d67109c9a4267b93c238bb9cbab7b1304c4"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 07 12:18:19 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 07 12:18:19 2012 -0700"
      },
      "message": "Fix issue where scale-animating text would jump temporarily a few pixels\n\nSome logic in the native matrix code would determine that a matrix was\n\u0027pureTranslate\u0027 based on the scale values of a matrix being close-enough to 1,\nwhich was within a very small epsilon. This works in general, because screen space\ncoordinates make that epsilon value irrelevant, so close-enough really is close-enough.\n\nHowever, TextView, when centering text, works in a coordinate system that is quite\nhuge, with left/right values about 500,000. These numbers multiplied times that small\nepsilon value would give a result that was significant, and would cause a miscalculation\nof up to 4-5 pixels, causing the snap that we\u0027d see for a couple of frames as the\nscale got \"close enough\" to 1.\n\nThe fix is to remove the optimization of \"close enough\". What we really need the matrix to\ndo is to identify itself as being translate-only when no scale as been set (which is the\ndefault). For the purposes of that check, it is good enough to simply check the values against\n1 directly. Similarly, the bounds-check logic needs to check against 0 and 1 directly.\n\nIssue #6452687: Glitch when changing scale of a view containing text\n\nChange-Id: I167fb45d02201fb879deea0e5a7ca95e38128e17\n"
    },
    {
      "commit": "5baa3a62a97544669fba6d65a11c07f252e654dd",
      "tree": "109755e1595b438873d34b981e31f84ea64bd2a5",
      "parents": [
        "173ab4d61077c49f115b82eff34f97fda5a7273a"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\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": "181d0a6ccedee03789919d53c46540a8df751896",
      "tree": "9a18b084e28573c7625b4f1db25fb12fd05f8f71",
      "parents": [
        "59a12cae208790dd202656f50a40a53ef49baeeb"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 09 18:52:38 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 09 18:52:38 2011 -0700"
      },
      "message": "Don\u0027t apply AA to rects with no rotation/perspective.\n\nChange-Id: I21138d4d0589cc28f1dcffb8b675cd81a9900e24\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": "6620c6d413f972819fada92b574f0fa9e96d36c1",
      "tree": "0804ffb39cfbdd4490f0adce93ef8cb421f2bd83",
      "parents": [
        "02047f7e88f1d78b29d6d93dc521df279398505d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 06 18:07:02 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Dec 06 18:07:02 2010 -0800"
      },
      "message": "Correctly render text when coordinates are not integers.\nBug #3225632\n\nChange-Id: If09759e6e95eb2885362ab3ba088cf5aae64c7bf\n"
    },
    {
      "commit": "5b3b35296e8b2c8d3f07d32bb645d5414db41a1d",
      "tree": "bad2ebdbfeb8a3a0be1591d5a357a8280df7d1d2",
      "parents": [
        "2444ddb3d9b59ec45ba50858fcbff639e59b93b1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 27 18:57:51 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Nov 02 16:17:23 2010 -0700"
      },
      "message": "Optimize FBO drawing with regions.\nThis optimization is currently disabled until Launcher is\nmodified to take advantage of it. The optimization can be\nenabled by turning on RENDER_LAYERS_AS_REGIONS in the\nOpenGLRenderer.h file.\n\nChange-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1\n"
    },
    {
      "commit": "03750a067e818ca7fbd0f590e2ff6a8fded21e6c",
      "tree": "e41ffdc1b72f66c13284df27877703111f048170",
      "parents": [
        "65202242defad10eb33a3b3277af49eb238a3f33"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 18 14:06:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 18 14:49:19 2010 -0700"
      },
      "message": "Use VBOs to render most geometries.\n\nChange-Id: I4360dc4fe5693ab425450c107282b2c22db4dca7\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": "4bb942083a0d4db746adf95349108dd8ef842e32",
      "tree": "7707bc9551f3db4ad0561c30c73293e4a0edfbf2",
      "parents": [
        "5a3b8e698e276839e502dcf41894b56ad59695c3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 15:59:26 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 12 15:59:26 2010 -0700"
      },
      "message": "Optimize 9patch rendering.\n\nThis change detects empty quads in 9patches and removes them from\nthe mesh to avoid unnecessary blending.\n\nChange-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704\n"
    },
    {
      "commit": "e8cb9c14309b0f01c0159efdf9a7198f44a62642",
      "tree": "4e4e2702c4db4fadc6161f62d5e34c36bfc83ccf",
      "parents": [
        "95930e13faac8c17dabfaa1478089baa772f091b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 04 14:14:11 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 04 14:14:11 2010 -0700"
      },
      "message": "Apply bilinear filtering on text only when necessary.\n\nChange-Id: Ic903f4b5d30e9c92528c6291941896efe4729ee3\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": "1d83e1981c8b89da93dff37a4f8b2b1ad8480b44",
      "tree": "84e1106e4f55d13b9398658f6e639b18f4a9c9c1",
      "parents": [
        "0a41749953f35d33f61b3119e3161a82bb5fa59e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 17 11:37:00 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 17 11:37:00 2010 -0700"
      },
      "message": "Correctly set the viewport in layers.\n\nBug #2919295\n\nChange-Id: I16ce79ab0d5747cb01c6c1abe531da3dfd93fb54\n"
    },
    {
      "commit": "0ba681bce12d522c5575dfccb5a6ca12f0fba746",
      "tree": "5e99242b4abb19331003338fabea81ddf1111ce3",
      "parents": [
        "af28b514964861d81b48902f942f706050936d38"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 12 15:37:00 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 12 15:37:00 2010 -0700"
      },
      "message": "Fix GC issue, fix local shader transformations.\n\nChange-Id: I208bdf89815dcd18dcadd43df932a77362918435\n"
    },
    {
      "commit": "af28b514964861d81b48902f942f706050936d38",
      "tree": "e0e279b9911c216a76f0a840e1bf95e06733406c",
      "parents": [
        "81a81f02d6d1ec7527d62189b6708c1d17f4c5dd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 12 14:34:44 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 12 14:34:44 2010 -0700"
      },
      "message": "Better support for rotation and perspective matrices.\n\nChange-Id: I56b5ae3321735ba5ee42aafc9bc0eb399b9e75b5\n"
    },
    {
      "commit": "889f8d1403761d5668115ced6cbb3f767cfe966d",
      "tree": "8620d3453e3811dce152630f1b17e0f5f42601c6",
      "parents": [
        "85d8daa889db113b51c5d98929245e80f7277388"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 29 14:37:42 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 29 14:37:42 2010 -0700"
      },
      "message": "Moved all the rendering code to the new shader generator.\n\nThe generator supports features that are not yet implement in the\nrenderer: color matrix, lighting, porterduff color blending and\ncomposite shaders.\n\nThis change also adds support for repeated/mirrored non-power of 2\nbitmap shaders.\n\nChange-Id: I903a11a070c0eb9cc8850a60ef305751e5b47234\n"
    },
    {
      "commit": "079ba2c85b15e882629b8d188f5fbdb42f7f8eea",
      "tree": "dcdad4233c75952bea11e4d5b945996a0f930a9a",
      "parents": [
        "ebd6f94dbdafdb14d620d2bd8e08535a309f266a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 16 14:12:24 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 16 14:12:24 2010 -0700"
      },
      "message": "Improve clip support (add intersect, union and replace.)\n\nThis change also modifies the way the clip is stored. The clip is now\nalways stored in screen-space coordinates.\n\nChange-Id: I96375784d82dfe975bc6477a159e6866e7052487\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": "3e168335b3422008908ac6973bb36078fd979f35",
      "tree": "6f1a6c2ef576190b470f1f200835148917f3882f",
      "parents": [
        "af002cf12c6924cd31715c6891d885f609ce2c5e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 22 13:29:14 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 22 13:29:14 2010 -0700"
      },
      "message": "Fix simulator build again.\n\nChange-Id: Ifd204d64eaa4c356422e3363ec0a6e6aa61c52dc\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"
    }
  ]
}
