)]}'
{
  "log": [
    {
      "commit": "272a685f17cc4828257e521a6f62b7b17870f75e",
      "tree": "490cc3f92f5c50debc07421395ab54c3fd7f2fd6",
      "parents": [
        "c36df952292b69920d4764a8a37361073fcf4f2c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 29 16:48:58 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 30 09:51:52 2015 -0700"
      },
      "message": "Replace most usages of utils/Vector.h\n\nChange-Id: I540d1b3523244d6c71fc52d6fb30555271c25644\n"
    },
    {
      "commit": "117bdbcfa3e8306dad21e7e01fa71b00cdfa7265",
      "tree": "aa54e4a5538818cd946bbd6e7eb771b83d0cfebd",
      "parents": [
        "34725687748cc2b4ace2bdb49becfdcd569e9a5d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Feb 05 10:12:38 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Feb 06 13:42:25 2015 -0800"
      },
      "message": "Glop ColorFilter \u0026 VertexBuffer support, initial enable\n\nEnables Glop rendering for supported Rects and VertexBuffers\nAlso removes unused Query object\n\nChange-Id: Ibe227bc362685a153159f75077664f0947764e06\n"
    },
    {
      "commit": "96a5c4c7bab6718524de7253da8309143ab48bef",
      "tree": "c984108195579a6da2aa8ccadded7ec46104d4a4",
      "parents": [
        "06a8a121b0dc02bea7977c4112eb4319fd1a133f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jan 27 15:46:35 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jan 28 16:32:39 2015 -0800"
      },
      "message": "Move more GL state management to RenderState and its directory\n\nChange-Id: Ic68584e1c08dc64be2ad43450cb6caa1de834fdc\n"
    },
    {
      "commit": "51d6a3db97bdd5315f1a17a4b447d10a92217b98",
      "tree": "80803f8d2a5507e2d29bd58c7243a23fca343454",
      "parents": [
        "e84a208317e0ed388fcdad1e6743c7849acb51b0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 22 17:16:56 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 23 16:53:56 2014 -0800"
      },
      "message": "Cleanup various clang warnings, use unique_ptrs in several places\n\nChange-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f\n"
    },
    {
      "commit": "e84a208317e0ed388fcdad1e6743c7849acb51b0",
      "tree": "8c057e6b6367a85790c30a118e6c8789c6bdf538",
      "parents": [
        "07adacf4996c8ca494332ec938786fa15832c722"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 22 14:28:49 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 22 14:56:08 2014 -0800"
      },
      "message": "Add overrides and switch to nullptr keyword\n\nChanges generated with clang-modernize.\n\nAdditionally, fixed some struct-vs-class usage to make clang happy.\n\nChange-Id: Ic6ef2427401ff1e794d26f21f7b44868fc75fb72\n"
    },
    {
      "commit": "2dc236b2bae13b9a0ed9b3f7320502aecd7983b3",
      "tree": "0fdb6c210ba1cba9397252a69d05fdf72e6f35a9",
      "parents": [
        "6cbb42186e990c401da1e1dbc465fd58fde158a1"
      ],
      "author": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 15 15:46:42 2014 -0400"
      },
      "committer": {
        "name": "Tom Hudson",
        "email": "tomhudson@google.com",
        "time": "Wed Oct 15 15:51:39 2014 -0400"
      },
      "message": "Clean up physical coupling\n\nNarrow the use of #include directives in hwui, replacing with forward\ndeclarations where straightforward. Speeds compiles; doesn\u0027t do any\nrestructuring of code.\n\nChange-Id: Icac2baffb5896f55d8c6718e9bd9d4bfa02d3ca0\n"
    },
    {
      "commit": "e63f7c622a2086aefa80983c6f41b74fb166bb42",
      "tree": "85b440de978e64c43fa5dfbe80ebd1a555b7155a",
      "parents": [
        "8c317898ee65462e9fa7b511ddf5d89c4d77e291"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 17 10:30:55 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Oct 17 10:37:15 2013 -0700"
      },
      "message": "Clean unused parameters, disable warnings\n\nChange-Id: Iddb872f53075dd022eeef45265594d1c6a9e2bc0\n"
    },
    {
      "commit": "b48800428906ae455c2b63acacd44e390e1fee49",
      "tree": "bc0de8c6f51eb5c9cac2d5fe1d5a41fede6d727a",
      "parents": [
        "80fdc9624e6d53a78031bf99d34e7c01d53ad66e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 05 11:17:55 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 05 14:17:17 2013 -0700"
      },
      "message": "Use float textures to render gradients when possible\n\nFloat textures offer better precision for dithering.\n\nIn addition this change removes two uniforms from gradient shaders.\nThese uniforms were used to dither gradients but their value is\na build time constant. Instead we hardcode the value directly in\nthe shader source at compile time.\n\nChange-Id: I05e9fd3eef93771843bbd91b453274452dfaefee\n"
    },
    {
      "commit": "15a65bfee5b0a98664eb5ebadad63c73e2c471f8",
      "tree": "3fe682fcf0893d426e60da1847465d9009ef7f31",
      "parents": [
        "dcfc836b457a87881da409e1acf251515f121446"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 14:22:40 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 03 14:45:39 2013 -0800"
      },
      "message": "Remove unnecessary \u0026 uninitialized variable\nBug #7728929\n\nThe uninitialized variable was taken into account to compute\nthe hash of gradient cache entries, thus causing cache corruptions\nand sometimes infinite loops (it would also cause the cache to fill\nup.)\n\nChange-Id: Ic807a9bf901888b121a6a781a81dafc33075ed2a\n"
    },
    {
      "commit": "059e12ccd20f5c249724a8362d6bac325334ea76",
      "tree": "7b15fa6bc6d2963715ea298a51cca3909c1e50c9",
      "parents": [
        "c653df46436a796556da2633f90353900344ce39"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 28 17:35:51 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 29 11:44:02 2012 -0800"
      },
      "message": "Use LruCache instead of GenerationCache in libhwui\n\nChange-Id: Ic26ddc7151eb5462bcd243b21daf7187ed6d3bec\n"
    },
    {
      "commit": "42e1e0d482d774cf18a55773e434f02edb9e4462",
      "tree": "33ac1bca20382f2e8ccbf176c89b3476f2ae5c9b",
      "parents": [
        "8ab8fbbf46d8779f53301e7f706f97608eed7117"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 30 14:47:51 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 31 18:55:16 2012 -0700"
      },
      "message": "Improve gradients\n\nAvoid using textures for common gradients (two stops from 0.0 to 1.0)\n\nChange-Id: Iff55d21b126c8cfc4cfb701669f2339c8f6b131a\n"
    },
    {
      "commit": "8dcfd5e836341b4a803b04d104a930bb312182d3",
      "tree": "cd2b75a4431f7ecfd869e007c5c15031e74298ed",
      "parents": [
        "0aa87bbfc41e8b5f52de701ac17b4e66a7a7b609"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 20 11:36:03 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 20 11:47:57 2012 -0700"
      },
      "message": "Clamp gradient textures to max GL texture size\n\nChange-Id: I8ce4e50988f5194fe5ce4bde7945ec01673af3cd\n"
    },
    {
      "commit": "029f64303b8fe506ef34c12777da86b830d3bf7a",
      "tree": "13a3a36467e1b982a0ae6d46f6c6309f1246b76b",
      "parents": [
        "eb00769e8983a02397db26a5413147a975b47c1f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Mar 05 16:48:32 2012 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Mar 05 16:48:32 2012 -0500"
      },
      "message": "Add missing includes for Mutex.h\n\nThe missing header was being transitively included through a\nSkia header which is being removed.\n\nChange-Id: I5a65bae076027951fe07d1e7eecd4732124fb0e4\n"
    },
    {
      "commit": "e5df231434357424cea8d2b8d0cdf31253a98110",
      "tree": "af027aa4179ea0885c45472d8364101f7ab885f7",
      "parents": [
        "1329192fc317b60a4ebcc4d058d8545f6f8743aa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 12 14:23:53 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Aug 12 14:23:53 2011 -0700"
      },
      "message": "Make sure we correctly copy caches keys.\nBug #5136067\n\nChange-Id: I366e840bef44415436dc7b13d89cfb610feed663\n"
    },
    {
      "commit": "4974bc1be68a77cf9709a8c50ef6de06ce8a3a0d",
      "tree": "db01a34325101d69722648f539b6f4b488913f94",
      "parents": [
        "1eb1f72ccd8c021e9989645a024dcd20ff678420"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 08 10:55:55 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 08 10:55:55 2011 -0700"
      },
      "message": "Prevent crash when purging the gradients cache.\nBug #5133876\n\nChange-Id: I3d1fa4e29498044796d725337ac93e6a1e8f0bcb\n"
    },
    {
      "commit": "6203f6c8147069976342be8f42add797a50f9557",
      "tree": "cb623a81ace2133781fe04d57d5e08aee7aa8121",
      "parents": [
        "0965a3244b4c3009d08db2e084cdcb681ef66d26"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 18:56:21 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 18:56:21 2011 -0700"
      },
      "message": "Reduce the amount of data cached by the gradients cache.\n\nChange-Id: I8546f5a5ecf38031c9a40bdcc434d4c7f22da63d\n"
    },
    {
      "commit": "fe48f65922d4a3cc4aefe058cee5acec51504a20",
      "tree": "97ea23ae71dade1ef7bf783523bea9cda31dd042",
      "parents": [
        "50c5e4c36e494d092576d42cf2b406abab20510a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 11 15:36:56 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Nov 11 15:36:56 2010 -0800"
      },
      "message": "Free resources only from the GL context thread.\nBug #3179882\n\nResources were freed following garbage collections on a worker thread.\nThis worker thread had no EGL context, which would cause the renderer\nto incorrectly assume that the memory was liberated.\n\nChange-Id: Ifdb51f94ddf42641e8654522787bfac532976c7c\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": "21b028a44f3e0bd9b0f0432b8b92c45f661d22a4",
      "tree": "e337e7e38e6706c4bc9126cfef742521606e6a1d",
      "parents": [
        "2728f961614a385df1f056fc24803a9f65c90fab"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:43:58 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Oct 08 18:44:56 2010 -0700"
      },
      "message": "Move GenerationCache to the utils directory.\n\nChange-Id: I210ffa8f1d76a102bb7d971c649c20a74d03fbe6\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": "a2341a9f6addcd79723965ec5b1a1c5ae0f8bd65",
      "tree": "ce61e01a0719f9fc52e48be002fe1d57d3af9c68",
      "parents": [
        "9aaa8269a3e7291aab84d01c3fc9c744d8f2d2f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 08 18:04:33 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 08 18:04:33 2010 -0700"
      },
      "message": "Purge Skia objects from GL caches as needed.\n\nChange-Id: I754c671cf790ad5ae8bf047ad328034217da4ecc\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": "c0ac193b9415680f0a69e20a3f5f22d16f8053be",
      "tree": "9a1d680ad20ba3f6ec0924c6b445290696d63b8c",
      "parents": [
        "9d339c13aaa30ddfd51d0f13f8ab22af05e40ea0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 19 18:43:02 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 19 18:44:05 2010 -0700"
      },
      "message": "Add support for linear gradients.\n\nChange-Id: Id15329da065045b3f06fdaed615f33cd57608496\n"
    }
  ]
}
