)]}'
{
  "log": [
    {
      "commit": "7d9eb2aeb07957eaf407003c2235ee3ea881d8c1",
      "tree": "a88dd46eebe7fd7d0c42505b981454f6d45410d5",
      "parents": [
        "3cc97f524af679d93c2d4a9e93720c09e1ec924c",
        "5bb2fdb425dab346fb83c7f2bf9afa03bdf79fd6"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 11 18:17:25 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 11 18:17:25 2015 +0000"
      },
      "message": "Merge \"Fix memory corruption in SpotShadow\" am: 8c85c00b5e am: 8c8353a8c3\nam: 5bb2fdb425\n\n* commit \u00275bb2fdb425dab346fb83c7f2bf9afa03bdf79fd6\u0027:\n  Fix memory corruption in SpotShadow\n"
    },
    {
      "commit": "5bb2fdb425dab346fb83c7f2bf9afa03bdf79fd6",
      "tree": "f96d790c35666b74fd44fedff5336462edd80bff",
      "parents": [
        "3c8f7b53dae22d5ad8d28a48259eca9f83c66226",
        "8c8353a8c3152bc3ee4b74815d64c65c2c9d1991"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 11 18:08:15 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 11 18:08:15 2015 +0000"
      },
      "message": "Merge \"Fix memory corruption in SpotShadow\" am: 8c85c00b5e\nam: 8c8353a8c3\n\n* commit \u00278c8353a8c3152bc3ee4b74815d64c65c2c9d1991\u0027:\n  Fix memory corruption in SpotShadow\n"
    },
    {
      "commit": "a1f563134065abb360096cc06f6bfe4a8cca7a48",
      "tree": "1c446d5cb08cb43867d5ec2ea777d14883982555",
      "parents": [
        "37bf3ec9d2fb3dfdccfe043e51723e4e543f0703"
      ],
      "author": {
        "name": "Keith Mok",
        "email": "ek9852@gmail.com",
        "time": "Tue Nov 10 16:52:05 2015 -0800"
      },
      "committer": {
        "name": "Keith Mok",
        "email": "ek9852@gmail.com",
        "time": "Wed Nov 11 08:49:20 2015 -0800"
      },
      "message": "Fix memory corruption in SpotShadow\n\nThe array list is too small and causing stack corruption\n\nChange-Id: I0e34dad39357fb63977d2ce6f183ced7b6a632be\n"
    },
    {
      "commit": "cdce35a7e877ae51e194b03033bbd35b5c10ce06",
      "tree": "1eefda1826ff4dee3b0babe155f7280d276b08d2",
      "parents": [
        "8e7ab07ce76c20da653e098adfe38da867753305"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Oct 01 16:49:16 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 04 18:31:50 2015 +0000"
      },
      "message": "Early return when the scale is 0.\n\nb/24534579\n\nChange-Id: Ib3581ec99387ca70ca036026f64857a49657d94b\n(cherry picked from commit 8d0ec389531d071529fb0a800f10733b057205d9)\n"
    },
    {
      "commit": "8d0ec389531d071529fb0a800f10733b057205d9",
      "tree": "f4d5aeffeae8ce2a0631cae1b5624abcd3aa9eb1",
      "parents": [
        "641736411b5387729bd2ef5e68ef3fd2d60c31f8"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Oct 01 16:49:16 2015 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 02 10:23:32 2015 -0700"
      },
      "message": "Early return when the scale is 0.\n\nb/24534579\n\nChange-Id: Ib3581ec99387ca70ca036026f64857a49657d94b\n"
    },
    {
      "commit": "9db58c031f8ffa102a6d585cb585bed3bdb911a9",
      "tree": "1bef6092b3a672ff56c1a242ba8d71d6195b2ff9",
      "parents": [
        "e264f9a51ef2158df345c3c4b19dd6098e959141"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 15:19:18 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Aug 19 15:53:01 2015 -0700"
      },
      "message": "Remove MathUtils::min/max\n\nbug:22202895\n\nChange-Id: Ia115d86871314e3819f684ea7307356aed13a28e\n"
    },
    {
      "commit": "5a4690bf26932c0d6940e4af8516d920e09ae81a",
      "tree": "ab5782e75455e9752708d9400ffa15e022609f51",
      "parents": [
        "3aed7affdfb499018656edb78563368b9cbfce3c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 14 12:13:03 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jul 14 13:25:38 2015 -0700"
      },
      "message": "Clean up unncessary defines\n\nLOG_TAG and TRACE_TAG are already defined in the makefile\n\nChange-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74\n"
    },
    {
      "commit": "1e4209e3871493ccfb09e43634d4082f49c227be",
      "tree": "b88f538a992e9edb4ecacb92c6b4c56be3a6b4f1",
      "parents": [
        "e3fc5415ed65ee7ad451069022b5405361aeb2e7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 01 09:54:47 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 01 09:54:47 2015 -0700"
      },
      "message": "Use std::sort instead of quickSortX\n\nBug: 22208220\n\nLibcxx has a really good sort algorithm, use that\ninstead. This speeds up shadow tesellation by about 10%.\n\nAlso less code\n\nChange-Id: Iaad424187121d7644076f94ba8a3cf4c110da2f2\n"
    },
    {
      "commit": "ecf091e171012831cddea59f1f64a46e87ee8c4f",
      "tree": "80faa269881a6cc562b999dc4d7fedbbf2d0b4a9",
      "parents": [
        "b929d65800fcc91c04d385fe9ec23a924868883b"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Feb 17 13:26:10 2015 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Apr 09 09:57:27 2015 -0700"
      },
      "message": "Update the shadow fall off function from cosine to gaussian.\n\nAlso tune the parameters to match a better look designed by UX team.\nFor ambient part, the acos transformed alpha is not needed any more.\n\nb/19370798\n\nChange-Id: I20d2615d1be502eb900942ed756aecd1660dee48\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": "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": "64bb413a664001c95c8439cf097dc3033f4ed733",
      "tree": "d4562f7bb5656865d32e5d684b5a41542ecfaf58",
      "parents": [
        "8a902d9f24e83c87b054adb5836b4a5b8a257be9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 22 00:35:09 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 22 00:35:09 2014 +0000"
      },
      "message": "Revert \"resolved conflicts for merge of 220c3f4f to master\"\n\nReverted as hwui doesn\u0027t agree.\n\nThis reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9.\n\nChange-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a\n"
    },
    {
      "commit": "8a902d9f24e83c87b054adb5836b4a5b8a257be9",
      "tree": "7a1842dd8f8b9b8e1880df7a3fe0fc7f5d103d48",
      "parents": [
        "fa6547f6c0aad15c308a4ba946955087081ae1eb",
        "220c3f4f48b53b6010093a1ef437f4197a382ebf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 15:51:04 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 15:51:04 2014 -0800"
      },
      "message": "resolved conflicts for merge of 220c3f4f to master\n\nChange-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e\n"
    },
    {
      "commit": "2ab8298dc37851aab4623ba3f98d71055d653a73",
      "tree": "e31d76f1c16ec8e980983392b09287515bcec2f1",
      "parents": [
        "4c9041cf837cda13c749b148661d18c3fab0fbd6",
        "99377df12ee696e01cd9071132f122801a9862ce"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 14:19:06 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 14:19:06 2014 -0800"
      },
      "message": "resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aosp\n\nChange-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943\n"
    },
    {
      "commit": "42ddc18d108f789705ad4eb697ce9599ad322507",
      "tree": "53ed2c03a53112f6bfd515a6d03b02dfed0cc9e9",
      "parents": [
        "f926d71b8ef2790da067550144860705c1a61fe5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 09:49:08 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 10:39:21 2014 -0800"
      },
      "message": "Frameworks/base: Unused parameters in hwui\n\nRemove Clang cutout for unused parameters. Fix warnings.\n\nRemove Clang cutout for deprecated Skia function usage. Has been\nfixed in the L push.\n\nChange-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7\n"
    },
    {
      "commit": "952de42b454945c87f21a9612c7a3457afced171",
      "tree": "1506b90d9f0a77c584a5e52f29ddfdd45e6b412d",
      "parents": [
        "74a2d7695eebd32fd3451160c7c9ac30d294abe4",
        "5679d937ff033ff1fa86245d646b6e5dbf23d635"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 23:59:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 12 23:59:49 2014 +0000"
      },
      "message": "am 5679d937: am ab6515f6: am 4e50ee4f: Merge \"Shadow: Fix the crash in spot shadow\" into lmp-mr1-dev\n\n* commit \u00275679d937ff033ff1fa86245d646b6e5dbf23d635\u0027:\n  Shadow: Fix the crash in spot shadow\n"
    },
    {
      "commit": "5679d937ff033ff1fa86245d646b6e5dbf23d635",
      "tree": "89e086cf86fc4ed2e0b7fe672c7e2807400cd6fe",
      "parents": [
        "c3e29108fcd87b8229cddacec98e63fe5f79efdf",
        "ab6515f6214a09e23deee4b432b41d1849ae403f"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 23:49:08 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 12 23:49:08 2014 +0000"
      },
      "message": "am ab6515f6: am 4e50ee4f: Merge \"Shadow: Fix the crash in spot shadow\" into lmp-mr1-dev\n\n* commit \u0027ab6515f6214a09e23deee4b432b41d1849ae403f\u0027:\n  Shadow: Fix the crash in spot shadow\n"
    },
    {
      "commit": "3932063bc75dc1e4efc2c428ca208d2e2290164d",
      "tree": "19ed4e4667c55661c4e7bd301cc2f8deca2c5a51",
      "parents": [
        "f4d2c8eebd8113482b48e0b8f83deb4b2f1f9b22"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 10:56:15 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 12:58:08 2014 -0800"
      },
      "message": "Shadow: Fix the crash in spot shadow\n\nFix the crash from searching for closest umbra vertex by initialized the\nstarting index correctly.\n\nFix another potential crash related to ray intersection by introducing epsilon.\n\nb/18315089\n\nChange-Id: I9ac9a781a885701a8388714d44f79a1d905e5d33\n"
    },
    {
      "commit": "edaecc1db0584fa017822dfc2da0c968b53967e6",
      "tree": "dc2db79f490bc2e334c6e3688e099c98e846f381",
      "parents": [
        "baa73b056cbd4627a84b39a6267065ae56677220"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 20:54:07 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 21:29:52 2014 -0800"
      },
      "message": "resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp\n\n(cherry picked from commit 1272887050a269d6d506b42099c2857847ad100b)\n\nChange-Id: Ib673768fe5fc03615626ef4b10590e5317f22172\n"
    },
    {
      "commit": "1272887050a269d6d506b42099c2857847ad100b",
      "tree": "6770318c0302a4e486224bb87b46dcb1f9a68047",
      "parents": [
        "cba06c2272c8bce7d10b2a7ee762d12043f3252a",
        "1d03b816fea1b964cc5db4d11ddcba9b25f45d99"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 20:54:07 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 20:54:07 2014 -0800"
      },
      "message": "resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aosp\n\nChange-Id: Ib673768fe5fc03615626ef4b10590e5317f22172\n"
    },
    {
      "commit": "94745ccb3339f22307dec828bb5ff70f81d674dd",
      "tree": "89f94fc5fcb8e8004e1f1de8c3fe07ef3e958ffd",
      "parents": [
        "2297d226599b24f9681c00814d773046816562e9",
        "86f289fb505a8fef9e5aae822631a738540c31df"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Nov 07 04:09:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 07 04:09:18 2014 +0000"
      },
      "message": "am 86f289fb: am 0b70c09c: am 7ae6fc81: Merge \"A better looking and faster spot shadow.\" into lmp-mr1-dev\n\n* commit \u002786f289fb505a8fef9e5aae822631a738540c31df\u0027:\n  A better looking and faster spot shadow.\n"
    },
    {
      "commit": "d2dcd6fded3a036f334a88bf9593398833f2919a",
      "tree": "c0f8ef926b7cc0c74eedc14b1cbc0a919278e2d9",
      "parents": [
        "db41880dd3259646b9ea43be6d8a91d4adb40122"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Oct 29 16:04:29 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 06 15:09:46 2014 -0800"
      },
      "message": "A better looking and faster spot shadow.\n\n1. This improve the looking, the star shape (spike) on long action bar is gone.\nShadow is more smooth now.\n\n2. The performance is better, too. For averaging around rect, round rect and\ncircle, the spot shadow itself is 3 times faster. On N7 v1, it could be less than\n0.1 ms.\n\nb/14976551\nb/16712006\n\nChange-Id: I61ed546ee56e7c8dbe504dfcaef12d084904b4b8\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": "9122b1b168d2a74d51517ed7282f4d6a8adea367",
      "tree": "f31aaadd1c18fe15ab9a63ba221693fb77507161",
      "parents": [
        "2298938cef8d5aa2211ef08e27553354918e5554"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 03 11:21:11 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 03 15:30:53 2014 -0700"
      },
      "message": "Use float instead of double to increase spot shadow perf\n\nThis is helping spot shadow for 15%-20% increase.\nWith the new algorithm, we are less sensitive to the floating point error.\n\nb/16712006\n\nChange-Id: Ie30a6ce01e73d56054a0cf65a84549454339a7fd\n"
    },
    {
      "commit": "512e643ce83b1d48ad9630a3622276f795cf4fb2",
      "tree": "f05101f282d7dd368707f57e3bf3539ecbe0f064",
      "parents": [
        "9f30ce3b82acb1f9582e49e9d87ab0d58c8f9ce4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Sep 10 13:08:20 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Sep 10 17:05:59 2014 -0700"
      },
      "message": "Re-triangulate the spot shadow.\n\nFix the valid umbra detection.\n\nThis looks better b/c every vertex will have one ray shooting at it, such that\nwe don\u0027t miss the corner.\n\nThis performs better too, due to the polygon intersection is removed and less ray\nintersection. 2x performance for rect and circle for spot shadow in test app.\n\n    b/17288227\n    b/15598793\n    b/16712006\n\nChange-Id: I4a5ee397b9e192e93c8e35e6260b499e3e38a6f4\n"
    },
    {
      "commit": "3bd3fa1f1d437e22aee35381a559dcee15a437dd",
      "tree": "2a052bdfd2c2104570d5061effd1db189121e9f2",
      "parents": [
        "f2a778683d602d9483bfaf8fdbc63e9fd19a7e5f"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Aug 25 14:42:27 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Aug 26 10:45:27 2014 -0700"
      },
      "message": "Correctly detect the wrong Z value for the light\n\nb/17221975\n\nChange-Id: I2b46da95ad12ca5260d7fe9514a75558b6b6393b\n"
    },
    {
      "commit": "c50a03d78aaedd0003377e98710e7038bda330e9",
      "tree": "b52044852d73bd8d7e08bec4e3cda9be89aafed2",
      "parents": [
        "730e9bceb746e6c50b87cc5a695eb73fea27686e"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Aug 21 13:47:54 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Aug 22 13:51:16 2014 -0700"
      },
      "message": "Improve the spot shadow computation.\n\nGet rid of compuation of the intersection for penumbra and convex hull for umbra.\nUse simple circle / normal to compute the penumbra and simple intersection for umbra.\n\nThe new way could be 2x to 4x faster from rectangle to round shape.\nAnd this part is roughly half of the shadow computation, or 2/3 of spot shadow\ncomputation.\n\nThis improve the spot shadow spikeness too.\n\nb/16712006\nb/14976551\n\nChange-Id: I02911784868731369efa73f76fc915bc08248600\n"
    },
    {
      "commit": "91a8c7c62913c2597e3bf5a6d59d2ed5fc7ba4e0",
      "tree": "22f6e0e41bccc3df2b4b053a5decddabe5382c95",
      "parents": [
        "ddc122ee5015f9ca0cc124a53c175aadf85f50ad"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Aug 12 14:31:35 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Aug 12 16:00:09 2014 -0700"
      },
      "message": "Switch to cos interpolation of shadow alpha\n\nbug:16852257\n\nUpdates default shadow opacities to compensate.\n\nAlso, update variable/constant naming related to vertex alpha.\n\nChange-Id: I9055b4ac3c9ac305ca9d515f21b52d6aa6dc9c5c\n"
    },
    {
      "commit": "1aa5d2d7068147ff781cfe911a93f01593a68c79",
      "tree": "63d8676a5a062deb3a95caee0c5a39ce19471df2",
      "parents": [
        "71d34ec5bed6fe723cf5f85c1ffb64e0d9380967"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 24 13:38:28 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 24 14:28:08 2014 -0700"
      },
      "message": "Fix ALL compile warnings\n\n All warnings/errors fixed for GCC \u0026 Clang\n\nChange-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3\n"
    },
    {
      "commit": "9a89bc6524620c87c7a321433470c668e2b95d69",
      "tree": "56330712c30ea18aee3843316a33d7084f4d297f",
      "parents": [
        "1b1f1b611c8e648b9737e7930e6982cf117134ce"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 23 17:21:25 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jul 24 17:49:23 2014 +0000"
      },
      "message": "Compute layer bounds over subset of VertexBuffer verts\n\nbug:15538815\nChange-Id: I0dbb54f656a6ae99a87c5734761107e1c2351b65\n"
    },
    {
      "commit": "c93e45cf045f41aea95f856173e4043d988a5a5c",
      "tree": "d1a400594fda90adf629e9f781d340ddc81a4cf0",
      "parents": [
        "94ca6cd7c932689b8018d1b118ddcd6b7a9eab27"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 16 10:15:56 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jul 23 11:04:53 2014 -0700"
      },
      "message": "Build layer damage bounds for shadows\n\nbug:15538815\n\nChange-Id: I703afeb7e31c28002bd1aff9ce448ec8cdc4e70d\n"
    },
    {
      "commit": "05f3d6e5111fd08df5cd9aae2c3d28399dc0e7f5",
      "tree": "14df3cad82b02a886b8e3a04fd4ec249e1d403e4",
      "parents": [
        "faecafce62ca39a7693669f7c9eabf2d71c633cf"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jun 02 16:27:04 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 10 01:53:17 2014 +0000"
      },
      "message": "Tessellate on worker threads\n\nTessellate and cache (where possible) shadow and round rect\ntessellation tasks.\n\nChange-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40"
    },
    {
      "commit": "2e023f3827dfc0dfc1ed7c3dd54d02b4a993f0b4",
      "tree": "ba319249cf92343e7d7488480a9646a235566ef9",
      "parents": [
        "7940dc57e3ffcf9c4a33375215f3a42250fa896c"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 28 16:43:13 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 28 16:43:13 2014 -0700"
      },
      "message": "Make sure the theta is correctly represented and incoming polygon is CW for shadow.\n\nNow the theta \u003d 0 should be on +x axis.\nAnd cos(theta) should correctly represent x value.\nWithout this fix, the poly theta (from atan2) can be wrongly rotated 90 degrees.\n\nAlso, make sure the incoming polygon is CW for the shadow system.\nThis fix visual artifacts in recent regression for spot shadows.\n\nbug:13553955\n\nChange-Id: I9bbf54db094e7f133326da4dae4610962da849c1\n"
    },
    {
      "commit": "28c3ea018771562a9150f30c6a088e5bf7502972",
      "tree": "97b9430612263de1dbd5aa67df57ced48ab51b59",
      "parents": [
        "99af9429cda84ad0af1d7fcecb580295b0046882"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 18 15:58:57 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 18 15:58:57 2014 -0700"
      },
      "message": "Get rid of useless code\n\nChange-Id: I7fedd0df349e1d9408d58edcab25396e2ff2edd6\n"
    },
    {
      "commit": "99af9429cda84ad0af1d7fcecb580295b0046882",
      "tree": "72de4ed7764ad7bf29e1374fec81715c2349d406",
      "parents": [
        "50ecf849cb7ccc3482517b74d2214b347927791e"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Mar 14 14:35:54 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Mar 17 15:35:25 2014 -0700"
      },
      "message": "Fix the missing spot shadow when DEBUG_SHADOW is turned on\n\nIn the current design, this error should be tolerated since the delta should\nbe small enough. So we should not return here.\n\nChange-Id: I251db2882b331d37ae7f0896e9aa95d69a5650da\n"
    },
    {
      "commit": "50ecf849cb7ccc3482517b74d2214b347927791e",
      "tree": "ae48db1ce35bf2d35b5bd126dc78fd5cca0a5d4e",
      "parents": [
        "de69575dd1bdafabda8afda8b4251b830ba0c551"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 11 16:52:30 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Mar 17 10:10:02 2014 -0700"
      },
      "message": "Create one hole inside the umbra area to avoid overdraw.\n\nbug:13439450\n\nChange-Id: I859575196bd5a3029f447883025a6ec3a1f1face\n"
    },
    {
      "commit": "b98f2116f5896acb4b221015b22624a3c5d5a7fe",
      "tree": "4bf1d02992d5fd3d0b333eb5e042d7337a572667",
      "parents": [
        "d84133af441caed8102b2da79cdb6f50673b80cb"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 11 17:42:29 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 12 11:19:42 2014 -0700"
      },
      "message": "Force shadow casters above the Z\u003d0 plane\n\nChange-Id: Ifee75414829d4bfb3c7aa6219f1f9bcfd50ff0c6\n"
    },
    {
      "commit": "b79a3e301a8d89b9e1b1f6f3d7fd6aa56610a6f0",
      "tree": "6b92898b802b665b62127766baa87e8261569062",
      "parents": [
        "e361ad7ab15fcf4919a56a6293689d968ee8dcff"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 11 12:20:17 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 12 09:44:41 2014 -0700"
      },
      "message": "Fix orthographic shadows projection, simplify shadow reordering\n\nSeparate matrix passed to shadow system into two parts, one for\ntransforming the polygon XY points (using the actual draw matrix) and\na separate one which respects correct 4x4 3d rotations and\ntranslations for determining Z values.\n\nChange-Id: I7e30a84774a8709df6b2241e8f51fc5583648fe8\n"
    },
    {
      "commit": "726118b35240957710d4d85fb5747e2ba8b934f7",
      "tree": "1fc9255b8a94a3fe9755fe301c4bbedb02122e2b",
      "parents": [
        "b08216c082da6ae0e7ec2f2161f4e16ffb3a1569"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 07 18:27:49 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 11 15:23:36 2014 -0700"
      },
      "message": "Improve shadow tessellation performance\n\n- Tune and simplify shadow parameters\n- Remove additional inner rings\n- Improve polygon ray casting algorithm\n\nChange-Id: If0f28b2d66ae0480b675942bb65e8fcd2864425d\n"
    },
    {
      "commit": "63d41abb40b3ce40d8b9bccb1cf186e8158a3687",
      "tree": "53ef1d5d691afa904e390e211f6adde28fb5f4ae",
      "parents": [
        "ef94c6f88fbb1deb095b1494378befcdb9722839"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Feb 14 13:13:41 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Feb 25 14:18:25 2014 -0800"
      },
      "message": "Use pre-computed index to draw the shadow.\n\nAlso draw the umbra part as triangle fans instead of zig zag fashion.\n\nb/12840179\n\nChange-Id: Iaa5d15e77351acdd71f076bd8f9bb2d4d2b92faf\n"
    },
    {
      "commit": "a989cb29c35149b35bf8c332ba39d7167bd95d6b",
      "tree": "d134a4eeedb8c9c193b4aab74629510a2181fcb1",
      "parents": [
        "3aad4f28376698c0dce78a7d08af4a616c3d5c04",
        "5176c974f1d9af833b7584e895fcba61e6e7427a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Feb 03 22:18:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 03 22:18:54 2014 +0000"
      },
      "message": "Merge \"Fixing a bad bug when there is no real umbra\""
    },
    {
      "commit": "5176c974f1d9af833b7584e895fcba61e6e7427a",
      "tree": "e1321a70afad524605a683b29d808bc58bfb1e02",
      "parents": [
        "db7516e3bd24589525c42b9b4761381b547dc3be"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jan 31 17:17:55 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jan 31 17:44:07 2014 -0800"
      },
      "message": "Fixing a bad bug when there is no real umbra\n\nThis fixed most of the issues when the light\u0027s Z postion is low.\n\nChange-Id: If49afbf8aa90b1ce32fd628a62ed982a1a473da2\n"
    },
    {
      "commit": "12d9526dd25915f1957d1a251715e562d14459da",
      "tree": "df435b590dd18c6d906ee40872712fdc591466a1",
      "parents": [
        "f3560a133e3ec19c698a8c9d6cfc7d17fd95adc5"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jan 30 15:43:56 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jan 31 10:43:42 2014 -0800"
      },
      "message": "Simplify umbra calculation\n\nReuse pre-computed values\n\nChange-Id: Ia7725be0ec3ac58af477fcb8de375f5faa05abf4\n"
    },
    {
      "commit": "f5ca8b4cb178008472e67fa0ae6a3e3fa75d7952",
      "tree": "f337df688393ca81a4b4440cbf5abebdacb9822e",
      "parents": [
        "db7516e3bd24589525c42b9b4761381b547dc3be"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jan 27 15:53:28 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Jan 29 09:04:04 2014 -0800"
      },
      "message": "Merge close vertices in a better way.\n\nAnd add more verification code for testing purpose.\n\nChange-Id: I5bc4f69e6582c02fd03106af9a98abd05a6755b7\n"
    },
    {
      "commit": "7b4516e7ea552ad08d6e7277d311ef11bd8f12e8",
      "tree": "a97549bff020af39946aabd5a5c27c1151a90539",
      "parents": [
        "0ffd9ca5798d6c55d2a02f453dd181899639dce2"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jan 07 10:42:55 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jan 10 17:18:53 2014 -0800"
      },
      "message": "Calculate and show the shadow from a spot light.\n\nChange-Id: Ia558852e8cde5d33866b22875eb501e4c6858819\n"
    }
  ]
}
