)]}'
{
  "log": [
    {
      "commit": "2de7771740ee08fcaff638ec6b2e460bb72fff04",
      "tree": "f175efd66cc7f81481bb61f398c3ef2041f72919",
      "parents": [
        "8020313d05f22dc1f8a7a182e6da134db17761ec"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 20 11:09:53 2016 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 20 13:16:24 2016 -0800"
      },
      "message": "Normalize GL_UNPACK_ALIGNMENT\n\nSeveral places were setting GL_UNPACK_ALIGNMENT\nunneccessarily, whereas other places were assuming an\nunpack alignment of 1. Since we never actually\ndo explicit row-alignment, set GL_UNPACK_ALIGNMENT\nto 1 at context creation time and never change it\n\nBug: 26584230\n\nAlso turns on aggressive glGetError checking to\nbetter catch potential problem zones\n\nChange-Id: I190c8f0f0494a7f046d5ed769405c75d363be59a\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": "6c15ffa196fc9b7724c189d833c3435d8db12266",
      "tree": "e326098c02f133197f6b507c390ff244114fb205",
      "parents": [
        "44eb2c00861098dd3e2950d923646814b4cc57c2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 02 13:50:55 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Feb 02 14:08:57 2015 -0800"
      },
      "message": "Refactoring of Program ownership/lifecycle, and WIP Glop rendering path\n\nChange-Id: I2549032790bddbc048b0bccc224ed8f386b4517c\n"
    },
    {
      "commit": "44eb2c00861098dd3e2950d923646814b4cc57c2",
      "tree": "2d232b14b931137cc7ebb3b012c3ce4530fa5cf4",
      "parents": [
        "1b68ce327aa37ee0c4e9580d75cb6781337c4312"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jan 29 09:45:09 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jan 30 10:49:05 2015 -0800"
      },
      "message": "Refactor blending and texture gl state\n\nChange-Id: Ia6b3c8b2afd3dfcee7f3ce401d846b789612054a\n"
    },
    {
      "commit": "d41c4d8c732095ae99c955b6b82f7306633004b1",
      "tree": "dbb2e26c6c5a80c7ccf43e5cd5fb1554cc603555",
      "parents": [
        "8dfaa4904205772cdceee63ef3989bcdedf1a914"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jan 05 15:51:13 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jan 05 16:49:13 2015 -0800"
      },
      "message": "Add overrides and switch to nullptr keyword for all files\n\nAdds remaining missing overrides and nullptr usages, missed due to\nan extreme failure in tool usage.\n\nChange-Id: I56abd72975a3999ad13330003c348db40f59aebf\n"
    },
    {
      "commit": "7f4307668b10467ee39d41c7ea29cf1ff238a835",
      "tree": "83fdf6fec84c510d33d62c6348e86b821cd996ea",
      "parents": [
        "405436021da156fbe3c5d4de48bdefa564cf7fc0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 13 14:29:40 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 13 14:58:32 2013 -0700"
      },
      "message": "Add new Query class for debugging\n\nThis class can be used to perform occlusion queries. An occlusion query\ncan be used to test whether an object is entirely hidden or not.\n\nChange-Id: Ida456df81dbe008a64d3ff4cb7879340785c6abf\n"
    },
    {
      "commit": "be1b127c7bec252e0c6ab0e06ed6babed07d496f",
      "tree": "eaab57886d7cd44e10da155d3dc6188a30b2b17b",
      "parents": [
        "f69913056b8c6000ff0306573a97971702e8d35a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 06 14:02:54 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 06 16:26:51 2013 -0700"
      },
      "message": "Assume a texture is unbound after deleting it\nBug #9316260\n\nThe GL specification indicates that deleting a bound texture has\nthe side effect of binding the default texture (name\u003d0). This change\nreplaces all calls to glDeleteTextures() by Caches::deleteTexture()\nto properly keep track of texture bindings.\n\nChange-Id: Ifbc60ef433e0f9776a668dd5bd5f0adbc65a77a0\n"
    },
    {
      "commit": "8aa195d7081b889f3a7b1f426cbd8556377aae5e",
      "tree": "6cd0ab4181c25d3113c4e39b49e8f8a0c7d12b8b",
      "parents": [
        "84f3c5689cffbfc1e45a0101d5bb636323769f54"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 04 18:00:09 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 04 18:58:36 2013 -0700"
      },
      "message": "Introduce Caches::bindTexture() to reduce glBindTexture calls\n\nChange-Id: Ic345422567c020c0a9035ff51dcf2ae2a1fc59f4\n"
    },
    {
      "commit": "4abab937bf3f168763a7c029275bf1de151ec1ae",
      "tree": "ad9b7b4bcb37af8d4c91d332a38b4339fa770923",
      "parents": [
        "95aeff8f11968c8b29ae114bb5e1172c70cf7634"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 12 16:51:21 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 12 16:51:21 2013 -0700"
      },
      "message": "There should be a mandatory coder\u0027s license.\nBug #8586560\n\nAnd I don\u0027t deserve to pass the test.\n\nChange-Id: Ic7886205511f16145a925fc860e4a03dfaf473d5\n"
    },
    {
      "commit": "032d47af737d803e841ab79f38ac9068a46c9aeb",
      "tree": "c3428ff4c80f1274cd4a1ada4567ab1ed940c1b5",
      "parents": [
        "50b9eb1c7375a87525d44a036337a8ba18eba55b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 08 19:45:40 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 09 10:12:47 2013 -0700"
      },
      "message": "Change the dither texture\u0027s swizzling\n\nThis is a more elegant way to sample from a float alpha texture.\nInstead of sampling from the red channel in the fragment shader\nwe can set the alpha channel swizzle to redirect it to the\nred channel. This lets us sample from the alpha channel in the\nfragment shader and get the correct value.\n\nChange-Id: I95bbf7a82964e1bf42c0fee1b782b6bdbbcef618\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": "3e4a3ea2ff03a6a1f1f7a2bebac9a86fe6555754",
      "tree": "b46b983ad05f3d7b5389f569dd39ca63506a51ac",
      "parents": [
        "519ba7b10c4e0da3586aeeaa9696349f28313898"
      ],
      "author": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Wed Mar 27 16:52:35 2013 +0530"
      },
      "committer": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Wed Mar 27 16:52:35 2013 +0530"
      },
      "message": "Correct executable bit for source files [Take 2]\n\nChange Ieb51bafb46c895a21d2e83696f5a901ba752b2c5 left out some\nfiles, this fixes them.\n\nChange-Id: Ia949a8581668836ea0251602e048f09c852f5169\n"
    },
    {
      "commit": "a1d12dd619c86c9ac121a3095ff5e5633c11e876",
      "tree": "3e53e0a133aeaf86ec84b13a952c6aa6be3dbee7",
      "parents": [
        "537d47f510ce49acee09516ed5dde680d910ff94"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Sep 21 14:50:14 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Sep 21 16:20:57 2012 -0700"
      },
      "message": "Optimize shaders for dithered gradients\n\nIt\u0027s faster to compute a dither calculation in the vertex shader and use\na varying (letting the GPU interpolate the fragment values) than to perform\nthat calculation in the fragment shader as part of a texture lookup.\n\nIssue #7207600 Prime mr1 shader performance issues\nIssue #7158326 Bad framerates on MR1 (Mako, Manta, Prime)\n\nChange-Id: I15789582a6e9e2d8b9dd22aa5b0f72f0ba1cce7f\n"
    },
    {
      "commit": "211efea7376371ee755edd2ad03e83ef6eea464e",
      "tree": "b79530b9f807f24571ce0e9ca143747e8c418725",
      "parents": [
        "42e1e0d482d774cf18a55773e434f02edb9e4462"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 31 21:16:07 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 01 19:18:35 2012 -0700"
      },
      "message": "Add dithering to gradients\n\nChange-Id: Ic1208855bde3a254eca2fd7cef43e0f1318ce419\n"
    }
  ]
}
