)]}'
{
  "log": [
    {
      "commit": "981afe773aa5b7535f36b126a0b7d6fd4cc78d03",
      "tree": "c0d8584bbd28f485b9435a69373d052f3b09a2bf",
      "parents": [
        "74d6997124a55043cccf505e7091ba326d51d6f8"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 13 14:24:33 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 13 15:55:45 2019 -0500"
      },
      "message": "Decouple VulkanManager from RenderThread\n\nThis CL allows for more than one VulkanManager to exist.\nVulkanManager ctor are public allowing for classes other\nthan RenderThread to instantiate it.\nSecondary VulkanManager can be used to render on a thread\nother than RT.\n\nTest: Ran HWUI unit tests and several apps\nChange-Id: Ibfd76c86ff67e01617a500902bba7431b928f5c0\n"
    },
    {
      "commit": "978d5321b4a055fcc02dd72208bffd62113fde10",
      "tree": "2243da42afaba840f019cf3cddc36160b9aafec4",
      "parents": [
        "b3cd68bc8230dfa38491ee712f33420a02049071"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 06 12:02:28 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 06 12:02:28 2019 -0500"
      },
      "message": "Fix RenderThread and worker thread names used by tools\n\nTest: collected systrace and RenderThread hwuiTask1/2 shown\nChange-Id: I1114ff72a7ed8c9dc86a64ebd15ca783d1b2ff08\n"
    },
    {
      "commit": "b3cd68bc8230dfa38491ee712f33420a02049071",
      "tree": "44ca1ebe320d7c8390d5800f0cac35ccc873c0bd",
      "parents": [
        "55593a983fa6b5ee0c85a9c71d4dc66d65b3f8d6",
        "80dbc35555d21f65fcfe4ede5d7b406cc4190a97"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 05 23:41:59 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 23:41:59 2019 +0000"
      },
      "message": "Merge \"Tell JVM to not wait for HWUI worker threads upon shutdown\""
    },
    {
      "commit": "80dbc35555d21f65fcfe4ede5d7b406cc4190a97",
      "tree": "7987c3c94fce4914026bd2b9cbd42674c19b2a21",
      "parents": [
        "912ca4023c22c53d3526ce89fd6e7e1a90fe8e58"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Feb 05 15:31:28 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Feb 05 16:26:58 2019 -0500"
      },
      "message": "Tell JVM to not wait for HWUI worker threads upon shutdown\n\nRenderThread is setup as a daemon thread, which allows JVM to\nexit without waiting on it. This CL does same setup for HWUI\nworker threads, which offload work from the RenderThread.\nThis fixes an issue exposed by Vulkan pipeline, which is pushing\ndifferent loads to the worker threads and causing some java tests\nto hang on exit. This is not a Vulkan specific issue, because GL\nalso hangs if worker thread is started.\n\nBug: 123374538\nTest: Ran DismissDialogsInstrumentation test\nChange-Id: Ie4ee94737ced975323a0792f57f8426c958e8056\n"
    },
    {
      "commit": "adafb1b44e385db4c90520e17936cfa5ddda05e0",
      "tree": "3d82ab28d95b9083961a5922d4be404c63cd71c0",
      "parents": [
        "4f669f7dd765f6d17ba391e483a05b962cac7f04",
        "131654943de33392d35bb4a9686f5feb33b71a0f"
      ],
      "author": {
        "name": "Christopher Dalton",
        "email": "csmartdalton@google.com",
        "time": "Tue Feb 05 19:11:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 19:11:31 2019 +0000"
      },
      "message": "Merge \"Enable CCPR in Ganesh\""
    },
    {
      "commit": "90276c86219c128d1343c6b26d95014fdd40b7fd",
      "tree": "3abb27a51750062bf646390c4dfe2a15a75b077c",
      "parents": [
        "912ca4023c22c53d3526ce89fd6e7e1a90fe8e58"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Sun Feb 03 18:01:02 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Feb 04 11:51:20 2019 -0500"
      },
      "message": "Fix crash when VulkanSurface is no longer valid\n\nSkiaVulkanPipeline::mVkSurface can become obsolete if\nRenderThread destroys Vulkan context. This CL enables\nRenderThread to notify active Vulkan pipelines that their\nsurface is invalid.\nImprove error handling, when trying to draw a frame with null\nVulkanSurface.\n\nBug: 123640274\nBug: 123541940\nTest: Ran several apps\nChange-Id: If7fba00713d097192c96179df36e90b54f4f8090\n"
    },
    {
      "commit": "eaf310e1ce16ddee996bd13af648021865ddeff7",
      "tree": "460920e5864c08f74c50951f131c2b28c7767891",
      "parents": [
        "fdbddda50e329936efe080d742d33bdae83c53fa"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Jan 28 16:10:32 2019 -0500"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Jan 29 15:03:10 2019 -0500"
      },
      "message": "Update Vulkan skia creation to use apiVersion instead of instanceVersion\n\nThis updates to use Skia\u0027s new api which takes the vulkan apiVersion\ninstead of the instance version. This is technically more correct since\nthe application apiVersion is really the only client modifiable version\nvalue in vulkan.\n\nThis change also updates the webview structs to use the apiVersion as\nwell.\n\nTest: manual build and testing.\nChange-Id: I6ce7c20949eb7242f7bbe69955b54c0785696891\n"
    },
    {
      "commit": "e0cf597556307945a45bcd1ed7154604d182ba77",
      "tree": "dc4d7174efaf87a38f1feeb94efb2baf4b6f8c48",
      "parents": [
        "8d3707bbd5ad908cfa405ce8822a75a04adddb65"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Wed Jan 23 10:41:20 2019 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Jan 24 16:05:05 2019 +0000"
      },
      "message": "Remove use of SkColorSpace::Gamut enum\n\nGet the gamut matrix from the color space, compare against sRGB/P3.\n\nTest: Refactoring CL.\nChange-Id: I9f5bcae8c1f637919ee9da892266ea882f16208c\n"
    },
    {
      "commit": "515bd282c5651e8d42f007c47ade8ecc39c802e4",
      "tree": "edb149cb83a2586f56b3f7612ab9fe97a6bc06dc",
      "parents": [
        "c78f97002ef7a463b50768030319007a895303dc",
        "ba7e965316b24abcdce9741c4e276adfcdaba1fe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 21:56:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 21:56:55 2019 +0000"
      },
      "message": "Merge \"Don\u0027t create RenderThread for dumpsys gfxinfo\""
    },
    {
      "commit": "ba7e965316b24abcdce9741c4e276adfcdaba1fe",
      "tree": "4c45988d49d686122873f8c6be0b7b463f7f247b",
      "parents": [
        "6f19cbdd2f285a7d54ce7694488e307bbe26bfc9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 23 10:33:41 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 23 10:33:41 2019 -0800"
      },
      "message": "Don\u0027t create RenderThread for dumpsys gfxinfo\n\nChange-Id: I4cbad14ad6f952ddec11eb732701909fd75ff137\nFixes: 121129527\nTest: guess\n"
    },
    {
      "commit": "5cca8f250cd287d311b9e7b560a6c10fb909c6bc",
      "tree": "4de1ddaf1ac87b697327ac65cf2daf85d04989b5",
      "parents": [
        "6f19cbdd2f285a7d54ce7694488e307bbe26bfc9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 10 17:06:22 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jan 22 13:13:06 2019 -0800"
      },
      "message": "Add continuous SKP capture test api\n\nBug: 122856066\nTest: PictureCaptureDemo\nChange-Id: Iaf3a4bc1c8a2c18c7dff635c5f1cf726b331f8bf\n"
    },
    {
      "commit": "c407678982811caef636021cacd130c08e46784a",
      "tree": "1434dd400c0176cfd1e7ed9fda957d0a17aedae6",
      "parents": [
        "793f1a793c2b9cd8f7356b83b8a2e5fd8d444e9b"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Jan 08 16:01:18 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Jan 18 18:56:44 2019 +0000"
      },
      "message": "Add support for preTransform in Vulkan swapchain.\n\nTest: manual building and running of apps.\nBug: 110985606\nBug: 122662274\nChange-Id: Id53aa1ce028b448b1f12558eec78a60e09512166\n"
    },
    {
      "commit": "caa8cc64c2986c2d200df555abb2df2adcd6d6b8",
      "tree": "883ae88b52ec43f70338a5f9e9f63ef57a19ce37",
      "parents": [
        "0ba9ad1dbd674da7d95c1a382ae956464c2a5b01",
        "25833d29acc1da773e38bc0dd99547d655b2ceaf"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 16 14:41:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 16 14:41:06 2019 +0000"
      },
      "message": "Merge \"Standardize the surface origin for each HWUI pipeline.\""
    },
    {
      "commit": "34495b9fc8abc8abbe47060ecd2644d67b0a1b43",
      "tree": "563d8ea4d91911e51c6c653e594f44b0adcc6c08",
      "parents": [
        "3b2c2b77924c76eb2b5b1d633cd875afceed48c4",
        "7b8c1eb302109ea77a173663a6cf14b6d80ab0f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 01:21:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 16 01:21:08 2019 +0000"
      },
      "message": "Merge \"VkFunctorDrawable implementation\""
    },
    {
      "commit": "7b8c1eb302109ea77a173663a6cf14b6d80ab0f7",
      "tree": "a34428e9a0e8cba1beb38112c5e3d9323443d327",
      "parents": [
        "d231ab271c04d8742e1c7f4b40f5d4bf89710a47"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Tue Jan 08 20:17:55 2019 -0800"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Tue Jan 15 15:25:04 2019 -0800"
      },
      "message": "VkFunctorDrawable implementation\n\nBug: 115613038\nTest: Turning on vulkan with appropriate webview apk does not crash and\nsort of works.\nChange-Id: If1504da7a35e4bd74a994ab2c2a351e6bc415a18\n"
    },
    {
      "commit": "82637f5e958110959ea3a6c9cf099d2118599f6e",
      "tree": "db7254c7d04c9f267b4fd62680b39f96285c4945",
      "parents": [
        "649357f433f7bb4a4090bc895eecab740e0d8b49",
        "150001aaa7ff4b1bd0ac169f21cf9107caa03d65"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 21:56:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 21:56:21 2019 +0000"
      },
      "message": "Merge \"Invoke Vulkan initialize earlier\""
    },
    {
      "commit": "25833d29acc1da773e38bc0dd99547d655b2ceaf",
      "tree": "e2f36272568d6d769a407f939a7d0770020abfa4",
      "parents": [
        "59a7bc04535798014655b6ae74645d1cf5be7804"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jan 14 13:55:55 2019 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jan 14 13:55:55 2019 -0500"
      },
      "message": "Standardize the surface origin for each HWUI pipeline.\n\nOpenGL prefers a bottom-left origin while Vulkan prefers the\ntop-left. Prior to this change we were inconsistent in Vulkan by\ncreating layers with a bottom-left origin which was different from\nthe primary buffer.\n\nTest: CtsUiRenderingTestCases\nChange-Id: Icfeed4085021cae941aeab58720406e3b3e37923\n"
    },
    {
      "commit": "a26b9b940a9480c7264e4da40e1a510ab6b4959f",
      "tree": "0526ac93c75e4724d0de85bf4e17de8f5e00e91b",
      "parents": [
        "18d6d788473548671558e807ea9eda0415d42cfc",
        "6104cea3fb0bddd766f390f9f4e2db9fc00b410e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 11 02:49:01 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 11 02:49:01 2019 +0000"
      },
      "message": "Merge \"Fix leak/crash in exit\""
    },
    {
      "commit": "6104cea3fb0bddd766f390f9f4e2db9fc00b410e",
      "tree": "3493ab6e3dc09dd9ffd027bc1fa85cc84abb2635",
      "parents": [
        "8b9351ba04eef507d4ff97a84d0c13df60507daf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 10 14:37:17 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 10 15:34:49 2019 -0800"
      },
      "message": "Fix leak/crash in exit\n\nBug: 120440607\nTest: hwuimacro32 doesn\u0027t crash\nChange-Id: I35b7a924e338efb314f07b923ba22ffcf98f75ee\n"
    },
    {
      "commit": "150001aaa7ff4b1bd0ac169f21cf9107caa03d65",
      "tree": "5945b28029eb34d7111fe40290ab0c032d734a3b",
      "parents": [
        "266d408daef1bf5a33b2d9f2d8ca151160425a91"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Jan 10 18:31:55 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Jan 10 18:31:55 2019 -0500"
      },
      "message": "Invoke Vulkan initialize earlier\n\nInvoke VulkanManager::initialize as soon as the RenderThread is\nstarted. This reduces time spent in the first call to\nCanvasContext::setSurface by ~20ms.\n\nTest: Ran Hermetic Startup: EmptyActivity\nBUg: 122659224\nChange-Id: Ifa160b0b0bbe43adc82f061fac51082878164804\n"
    },
    {
      "commit": "131654943de33392d35bb4a9686f5feb33b71a0f",
      "tree": "f908858d3719aa16aeebc44024675e841d278c76",
      "parents": [
        "6169956c0505ddebedb0c5eaab7402e1892db878"
      ],
      "author": {
        "name": "Chris Dalton",
        "email": "csmartdalton@google.com",
        "time": "Wed Jan 09 18:01:04 2019 +0000"
      },
      "committer": {
        "name": "Chris Dalton",
        "email": "csmartdalton@google.com",
        "time": "Wed Jan 09 18:02:34 2019 +0000"
      },
      "message": "Enable CCPR in Ganesh\n\nTest: m, flashed, booted\n\nChange-Id: I5568d9f0748598926eb5687e9c0c0fb40b880154\n"
    },
    {
      "commit": "43d0613325bca5fb8843f0214f7342aa50f26a1f",
      "tree": "76669fd9c1cbeeaacda8f0e45913defe51f5e3fb",
      "parents": [
        "424fc04c862abd6299c71719006aba9bd5a09913"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Dec 21 13:14:15 2018 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Jan 08 19:54:20 2019 +0000"
      },
      "message": "Change formula for font cache size\n\nSet font cache size to one screen buffer size.\nFor Pixel 2 XL this increased the texture size from\n3670016 to 4194304. Skia can allocate up to 4 textures\nof that size.\n\nTest: UiBenchJankTests#testInflatingEmojiListViewFling\nBug: 121157706\nChange-Id: I7af1f184c6dbc10b45a8ef80a04200d518fbaa0e\n"
    },
    {
      "commit": "1b0278c19e004dac80196f1eda257fd08af954a5",
      "tree": "0839281c50f2458f63f3ca4ef81fa25f8a5000e8",
      "parents": [
        "25edac0f179870f71947ff96d98f736f6e7f0027"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Thu Jan 03 16:36:24 2019 -0800"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Fri Jan 04 07:28:55 2019 -0800"
      },
      "message": "Mark GrContext dirty after onContextDestroyed\n\nBug: 120997728\nTest: hwui_unit_test passes\nChange-Id: I8b60c45ebf7904b7026b480541dac78b70a59e0d\n"
    },
    {
      "commit": "a640ed6058a66abc60149aa217f094c052a7676f",
      "tree": "adfe3ba2405e62af9146dfcbf42d236caddf8db3",
      "parents": [
        "1c6f7f0e0a7521b884f8170130d05fc62ea8041a",
        "4e628bc7724276ee0e9f6b79052dd12ff83cac51"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 20 22:20:18 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 20 22:20:18 2018 -0800"
      },
      "message": "Merge \"Fix/suppress renderthread google-explicit-constructor warnings\" am: 138aae8eaf am: 2e2028aee4\nam: 4e628bc772\n\nChange-Id: I543de7a1c0e3429ca11addd60ae8300d8aedda29\n"
    },
    {
      "commit": "d736d4b8458ba00f1be76740d0019567e0552afb",
      "tree": "b3d3e22d187efb9ccdc8c6c6504be98b3e57131a",
      "parents": [
        "bcf293c674307a90238671edcf5c82b17e3bca62"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 20 13:55:20 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 20 15:10:23 2018 -0800"
      },
      "message": "Fix/suppress renderthread google-explicit-constructor warnings\n\n* Add explicit to conversion constructors/operators\n* Use NOLINT or NOLINTNEXTLINE to suppress warnings on intended converters\n\nBug: 28341362\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,google-explicit-constructor\nChange-Id: Ib7d634bf1e0e9a1dda35b0a1d92de4d460193296\n"
    },
    {
      "commit": "c0cd1d7f334b0e7f18b812fbe7b6fae6d599f9ee",
      "tree": "e15732b07ae18215d0cfd2902ed359a159200aab",
      "parents": [
        "4895d8f0fc69e9c6ca912b1a1eac6efcb08d04db",
        "283bb46846ad161045efc4650d3cbc40abf5f24b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 18 17:50:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 17:50:37 2018 +0000"
      },
      "message": "Merge \"New WebViewFunctor API\""
    },
    {
      "commit": "3bff13550380f02e30f1ae77f2497d9ec89b0ec4",
      "tree": "75b2fb1ce48d7a93fa4d5e0bf5a0db31f9ab8d64",
      "parents": [
        "78c2a0de5793fd997ee716de7f4845bfa7c6a7c3"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Dec 11 07:56:07 2018 -0800"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Sat Dec 15 09:35:25 2018 -0800"
      },
      "message": "[HWUI] Remove hardcoding around wide color gamut.\n\nPreviously we hardcode wide color gamut in HWUI as scRGB color space with FP16\npixel format. However, the hardware composer doesn\u0027t support this combination.\nThis patch plumbs wide color gamut composition preference from composer API to\nHWUI such that HWUI can now pick the combination of color space and pixel\nformat for the surface.\n\nBUG: 111436479\nTest: Build, flash and boot, verify with a demo app.\nChange-Id: I7a8b4d8deca72ef40069dba9d23a3f5e90dbfe5a\n"
    },
    {
      "commit": "283bb46846ad161045efc4650d3cbc40abf5f24b",
      "tree": "732e431c7f704282c3ae5a669f22999520f2507e",
      "parents": [
        "832c17330e2d0ce52f1471404ef539a63f120ca2"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 13 16:40:14 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 14 14:07:18 2018 -0800"
      },
      "message": "New WebViewFunctor API\n\nShould function alongside existing functor API.\n\nBug: 120997728\nTest: hwuiunit passes\nChange-Id: I8f6143d0be1111431b55016f34de319f6b8c8910\n"
    },
    {
      "commit": "bc46258527f3df49d408131f896b562102f02f1d",
      "tree": "6e62212047068e33d2bf05d7f24402cc4f5cb04e",
      "parents": [
        "97e2b2a6a1c21f334c00ad6c147f4617c8ab323f"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Dec 10 13:13:41 2018 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Dec 10 21:54:58 2018 +0000"
      },
      "message": "Fix temporary stretching when Surface is resized with Vulkan\n\nSet NATIVE_WINDOW_SCALING_MODE_FREEZE scaling mode on the surface\nafter Vulkan swapchain is created. This is the scaling mode used\nby GL as well. Window resize flow depends on preserving this\nbehavior, because SurfaceComposerClient::Transaction::setSize\ncalls are not postponed until a new buffer is enqueued.\n\nTest: StatusBar is resized correctly without any glitch.\nBug: 118501234\nChange-Id: Icfb6805bc362a742e14b993a0b825e5447d6eeb4\n"
    },
    {
      "commit": "4f2b2d6b88ea2b49db58355b026c9005b67c9d38",
      "tree": "055b681b16a35e815abfe1f9622c2bcb075b2c3e",
      "parents": [
        "a14aac8a21665a6701de35f2fc6be1004b3437f0",
        "848f651554704ca506b8f72e90f5a99b19abc09f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 07 22:02:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 22:02:02 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Make HWUI\u0027s surface Reliable^TM\"\"\""
    },
    {
      "commit": "848f651554704ca506b8f72e90f5a99b19abc09f",
      "tree": "7f9defac502cc8593754c0483fe17c309f5bf262",
      "parents": [
        "f660c012b080496eb70ea77f141f346e80bb6cfa"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 03 13:26:43 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 06 15:18:27 2018 -0800"
      },
      "message": "Revert \"Revert \"Make HWUI\u0027s surface Reliable^TM\"\"\n\nThis reverts commit dd08224e4d75689c42bf452d44617f84072649a1.\n\nBug: 120097554\nBug: 120342364\nBug: 120421537\n\nTest: verified emulator can boot OK, with no log warnings\nTest: verified keyboard works in landscape\n\nChange-Id: Iae2cd1140d81755b126adfb21ec885181f3bc6b6\n"
    },
    {
      "commit": "163e42ca593f01a62cf02878001a7c42e6d14739",
      "tree": "65b4b5fbea492be6833c7faf8623f1e777e49d32",
      "parents": [
        "fb27c2c7028129723f4b0f60f9917669fd27027d",
        "4d5bf2a0f5699f6519fa8cd047201d344d669bee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 05 02:44:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 02:44:32 2018 +0000"
      },
      "message": "Merge \"Prefer using 3 buffers in vulkan swapchain.\""
    },
    {
      "commit": "4d5bf2a0f5699f6519fa8cd047201d344d669bee",
      "tree": "074f9f6588533140820eef99e0235070e756bcc0",
      "parents": [
        "f660c012b080496eb70ea77f141f346e80bb6cfa"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Dec 04 12:17:28 2018 -0500"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Dec 04 19:50:38 2018 +0000"
      },
      "message": "Prefer using 3 buffers in vulkan swapchain.\n\nTest: manual build and running.\nBug: 119687951\n\nChange-Id: I799955d8e035d01acb991417e95e424848fe711f\n"
    },
    {
      "commit": "58ccd604a1cc36b6820e382953b1c87e96ca8586",
      "tree": "0107edc07716550c474c3a6757b200e5a1944665",
      "parents": [
        "f660c012b080496eb70ea77f141f346e80bb6cfa",
        "987a80c0cac883f571d3015d0a49cfdea0808d09"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 04 17:21:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 17:21:28 2018 +0000"
      },
      "message": "Merge \"Set color space on Vulkan render target surface\""
    },
    {
      "commit": "987a80c0cac883f571d3015d0a49cfdea0808d09",
      "tree": "c7341e9deb452e1b5aaf4276f0dc164832c60d7f",
      "parents": [
        "17646e2235e090a71518a018ac861b27ad07052a"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Dec 04 10:07:21 2018 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Dec 04 11:23:21 2018 -0500"
      },
      "message": "Set color space on Vulkan render target surface\n\nTest: Pass UiRendering tests with Vulkan pipeline\nBug: 116117654\nBug: 111436479\nChange-Id: Id58a8a93c6f311402273b1a9e3606c9732f55aec\n"
    },
    {
      "commit": "d8a905b38c68020977e94b885b2866dec2bf1ae7",
      "tree": "158b2cfc55009c111e10bdeb03c04a69715a7a15",
      "parents": [
        "ddb9b50b5f8fca7537ca12a5447338972aea764a",
        "46045217e30b67aa253759249d4d0627f5994f14"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 04 15:52:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 15:52:33 2018 +0000"
      },
      "message": "Merge \"Remove dead code\""
    },
    {
      "commit": "7b8a808b7db019b383c3a281e24c270ba2e0fc0b",
      "tree": "f614be639342b8ef5d63e18c6ffda244cf3fabc7",
      "parents": [
        "b0160bb54101f3b101190707a43ba5294a4fdbe7"
      ],
      "author": {
        "name": "Chris Blume",
        "email": "cblume@google.com",
        "time": "Fri Nov 30 15:51:58 2018 -0800"
      },
      "committer": {
        "name": "Chris Blume",
        "email": "cblume@google.com",
        "time": "Mon Dec 03 16:05:14 2018 -0800"
      },
      "message": "Remove ; from closing namespaces in libs/hwui\n\nWhen closing a namespace a } is sufficient. It doesn\u0027t need to be };\nlike closing a class or enum.\n\nWithin frameworks/base/libs/hwui there is a mix between } and }; when\nclosing a namespace. There are even mixes between a .h and the\ncorresponding .cpp files.\n\nIn a separate CL I was asked to not close with };. That was a good\ncomment. I adopted the style from nearby code. This CL cleans up the\nnearby code.\n\nTest: I made sure the code still built as expected.\nChange-Id: Ieb314a4f48d6e33752463f3be4361fdc9be97482\n"
    },
    {
      "commit": "46045217e30b67aa253759249d4d0627f5994f14",
      "tree": "71cf5bf819fbb28251249906a01d7e52bf472086",
      "parents": [
        "18f1d2adc951e78bf283c4765e04dfcfc87d44f7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 03 14:58:28 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 03 14:58:28 2018 -0800"
      },
      "message": "Remove dead code\n\nNo longer needed\n\nTest: none\nChange-Id: Id260e4a2b1026b9ccd853f277f5e527fb7568f69\n"
    },
    {
      "commit": "dd08224e4d75689c42bf452d44617f84072649a1",
      "tree": "94773feef4bc1b01cb56cbe50642cfd4d0898c01",
      "parents": [
        "298c49e4f08644f4478380a4e75d63207e2c671c"
      ],
      "author": {
        "name": "Bo Hu",
        "email": "bohu@google.com",
        "time": "Sun Dec 02 05:22:41 2018 +0000"
      },
      "committer": {
        "name": "Bo Hu",
        "email": "bohu@google.com",
        "time": "Mon Dec 03 13:59:49 2018 +0000"
      },
      "message": "Revert \"Make HWUI\u0027s surface Reliable^TM\"\n\nThis reverts commit 650bd9a7b35139354916d2522b59cc57eb5fddc3.\n\nReason for revert: broken emulator b/120342364\n\nExempt-From-Owner-Approval:\n\nChange-Id: If05d9d87325e1d836375d7dc79ff66ef057d228d\n"
    },
    {
      "commit": "ef60a0589eabf9d423fbc9f5fc78d66e9cd65088",
      "tree": "2cdf1c658d4536011ea97c46263243fefb5c7288",
      "parents": [
        "c7bbf2ac02837aed19e26acc49161d128ba34f8b",
        "050361732a5221ebbbd1f6b399ae840d47658cd7"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Nov 30 14:27:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 14:27:28 2018 +0000"
      },
      "message": "Merge \"In VulkanManager enable ycbcr feature on VkDevice.\""
    },
    {
      "commit": "050361732a5221ebbbd1f6b399ae840d47658cd7",
      "tree": "e253933b9c7ea1653d5411b7c190fec305ce46c2",
      "parents": [
        "5ded9e4ff40b908f02ef26994ea70d2d0e92b41b"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Wed Nov 28 17:08:04 2018 -0500"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Thu Nov 29 16:42:52 2018 -0500"
      },
      "message": "In VulkanManager enable ycbcr feature on VkDevice.\n\nTest: manual build and test\n\nChange-Id: I820670ee7566e1dd5c86cfa473725b91e4eb6154\n"
    },
    {
      "commit": "650bd9a7b35139354916d2522b59cc57eb5fddc3",
      "tree": "f4d2098e70b580a33ee6db914e212da246837f5f",
      "parents": [
        "9a72ec33d78a43c8771bfa03061c0fc9d6e4225d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 26 09:52:20 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 28 13:39:07 2018 -0800"
      },
      "message": "Make HWUI\u0027s surface Reliable^TM\n\nYou won\u0027t believe this one weird trick to make\nEGL_BAD_ALLOC errors never happen again! libgui\nhates it!\n\nBug: way too many to list\nTest: none - there probably should be, though\nChange-Id: I8e7fc3e584f90c01e0fd932497604a1d93710ba6\n"
    },
    {
      "commit": "8e539ca15c43b7148e9b30fe6b0dc02ce6a66dc4",
      "tree": "ce3e2665962218c5516fa82a49c0f3921a8f5e0d",
      "parents": [
        "9da5f37f8fd18044364ff3d2791338f9709721fc"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 15 15:21:29 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 15 15:22:29 2018 -0800"
      },
      "message": "Add a sprinkle of speculative anti-crash dust\n\nBugs: way too many\nBug: 113367810\nTest: well it builds...\nChange-Id: If00bcaad1c535c4996b59c1b5a7d3a4bba849191\n"
    },
    {
      "commit": "305e13a29390fe00ac6465820cf55938a5415cc4",
      "tree": "61278bfeadbfab8bf409ef07fbe7626e2a004cb2",
      "parents": [
        "743ad8a78c8011685f2114b955090045381e153f"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Nov 13 11:14:48 2018 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Nov 13 18:44:34 2018 +0000"
      },
      "message": "Handle ANativeWindow resize with Vulkan swapchain\n\nRecreate VulkanSurface, if ANativeWindow has been resized. This\nnew code is hit when wallpaper is resized from 64x64 to real size.\n\nBug: 119111018\nTest: Wallpaper is shawn correctly with Vulkan rendering\nChange-Id: I5e43310e5ee8597a7f326d51b1773e2cf68b603a\n"
    },
    {
      "commit": "8785ceb3b94b78312cd24e22f05610d9b654221e",
      "tree": "b5d3016cfa322fb354bf41b09ca86abc8e10365a",
      "parents": [
        "22b63148b14a0aac39323c1590c1cae3dc101979"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 29 16:45:58 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 08 15:32:35 2018 -0800"
      },
      "message": "Refactors and a potential public API for rendering\n\nSplit out the View/ViewRootImpl bits from the\nhardware rendering bits.\n\nCreate a potential public API surface for\nhardware rendering\n\nBug: 112709971\nTest: builds \u0026 boots\n\nChange-Id: I9e6f44b07a170574a905f42338282c4bb7e95f56\n"
    },
    {
      "commit": "7a08127e88c41aa58793700afea18be8f1b87995",
      "tree": "5a54811450af10bd99e817c05eeca1140c1685eb",
      "parents": [
        "44417dd0b683a02b94a7351ded0d0d46716a559a"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Oct 26 17:54:18 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Oct 26 21:58:50 2018 +0000"
      },
      "message": "Remove SyncFeatures usage from VulkanManager\n\nSyncFeatures is implemented by quering available EGL extensions.\nFor Vulkan we assume these features are present. SyncFeatures\nis crashing for Vulkan, because EGL is not initialized.\n\nTest: TextureViewCameraTest#testTextureViewActivity is passing\nBug: 116117654\nChange-Id: I57e6ce1c0f00c1b073d0a2ab2695d9fbecfd2b33\n"
    },
    {
      "commit": "8a2a754d157c7d91297323e70a77dfddab1f97e3",
      "tree": "12eb4c83e4e25b9117660fbe55c6f2d99816ca80",
      "parents": [
        "68fa15e317943bd0af24d442c488c49d0c34fd83"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Thu Oct 04 13:46:55 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Thu Oct 04 13:48:05 2018 -0400"
      },
      "message": "Cleanup of barriers used in swapching aquiring and presenting.\n\nTest: manual building and running on pixel 2\n\nChange-Id: I72cc95ad7d11634e8d0627737d699a611e8d1d5f\n"
    },
    {
      "commit": "962596257c787163c8a89ee6272a874fe872e7d0",
      "tree": "1b989b01faa9d96ef423cc836b8a1be8365f6858",
      "parents": [
        "52ac7e2d211c056fa7202ea81246a6f975d64df4"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Oct 01 14:42:56 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Oct 02 10:47:19 2018 -0400"
      },
      "message": "Minor clean up/fixes of VulkanManager api version checks.\n\nTest: manual build and run\n\nChange-Id: I04b0ed0b6c344cc8aac662b1a2a277d1aea0cd2c\n"
    },
    {
      "commit": "8d1f83333dedbffbc2909d96925676faad77088a",
      "tree": "e783b52f12808aa24e1c51666cc6f0013c4f8572",
      "parents": [
        "329b44923507c4492ecbdbda0af16fb5eada6b2a",
        "189021b408b712b7666f85f050bb40d574645bc8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 28 18:23:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 18:23:27 2018 +0000"
      },
      "message": "Merge \"Partially revert \"[HWUI] Implement legacy color mode.\"\""
    },
    {
      "commit": "189021b408b712b7666f85f050bb40d574645bc8",
      "tree": "4a9afe70a6829aabb05203ddd1fd1fbf2a85fd50",
      "parents": [
        "043a3a713de8864afb04b3fc029bfc1155c334b3"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Sep 27 16:41:40 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Sep 27 18:00:52 2018 -0700"
      },
      "message": "Partially revert \"[HWUI] Implement legacy color mode.\"\n\nReason for partially revert: Step back a little bit to think about how we want\nto move the view system forward.\n\nThis patch removes the legacy mode we have added, as well as move color type\nand color space of the surface to SkiaPipeline.\n\nBUG: 111436479\nBUG: 113530681\nTest: Build, flash, boot and check dumpsys SurfaceFlinger\n\nChange-Id: I1ab7b88d41347284d87649618e5a15f5c6bcf8fe\n"
    },
    {
      "commit": "702196562e8d30b6dcdb5f01260ef607801cf9d6",
      "tree": "9cb47e2ae9ab3c23f51d2508665bbab767f1a293",
      "parents": [
        "23ca916dca3e1633d59e90f3afeef629edebd3f9",
        "bb3a35831794477d980791b131c33dc7faa46f59"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Sep 27 23:04:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 23:04:02 2018 +0000"
      },
      "message": "Merge \"Wire-up default force-dark based off of isLightTheme\""
    },
    {
      "commit": "bb3a35831794477d980791b131c33dc7faa46f59",
      "tree": "a3fa1de6744324cd3540c1027d39a67e6fad0f93",
      "parents": [
        "99ae10396189d79bd34c58120947ce3bfeb70281"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 26 11:21:08 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Sep 27 19:38:13 2018 +0000"
      },
      "message": "Wire-up default force-dark based off of isLightTheme\n\nBug: 102591313\nTest: Compared settings in light \u0026 dark UI modes with\nforce_dark set to true. Observed that force_dark fixes\nwere not present when UI mode was set to dark, indicating\nforce_dark was appropriately globally-disabled\n\nChange-Id: I5882829bb5871829fc8fc9911682f52a6ba5f445\n"
    },
    {
      "commit": "79351f39127da625acf6796b7e496dfdbf24212b",
      "tree": "62a1b3e985d88df60c11cb8dbdd6e0b41fbf5296",
      "parents": [
        "a810c7efe4b47d4d5ba4ed41b86c90fe2a604d95"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Sep 19 14:23:49 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Sep 26 11:32:36 2018 -0400"
      },
      "message": "Add support for wide gamut render targets in Vulkan\n\nSupport rendering into FP16 render targets.\nEnforce correct color space for both ARGB and F16\ncolor formats.\n\nTest: About 30 additional CTS tests pass with Vulkan\nBug: 116117654\nChange-Id: I61941a2d79a0e69837d20816c90d3e936fd7acb0\n"
    },
    {
      "commit": "26e0dca4a0a9cb82009f113df9362757a5b8faf6",
      "tree": "7635bae30b0fd018af1cdec4c0ca208c72363ea1",
      "parents": [
        "7b198b32178ada8dbf8153e4b88b20e7b7126332"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Sep 18 10:33:19 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Sep 24 11:35:53 2018 -0400"
      },
      "message": "Implemenet fenceWait and createReleaseFence in VulkanManager.\n\nTest: Manual building and testing on walleye device.\nChange-Id: I9f5fa259d6457805b546d2b6b11ce4b0800621eb\n"
    },
    {
      "commit": "28a4d9935c214374cbd487d3419abb80f57d6f80",
      "tree": "4efc3361334aee4cf1f84ed735ad7a2ae4e3828d",
      "parents": [
        "5a5a648b696fd3e5a73c0e950080ab3bb610b2be"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Sep 20 13:37:24 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Sep 20 14:47:08 2018 -0400"
      },
      "message": "Refactor RenderState and remove unused functionality.\n\nTest: hwui_unit_tests still pass\nChange-Id: Ie943671535ab8c5da1bac05985e815e0cb842dc1\n"
    },
    {
      "commit": "5a5a648b696fd3e5a73c0e950080ab3bb610b2be",
      "tree": "fd3bedc172e30275b16ca4d4819525a654b56a00",
      "parents": [
        "ee233403579a7250b7a454da7b357f8928479527"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Sep 19 13:52:13 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Sep 20 13:35:19 2018 -0400"
      },
      "message": "Fix crash when EGLSurface is no longer valid.\n\nThe EGLSurface stored in the pipeline can become obsolete if the\nEglManager/RenderThread has to destroy the context.  This CL enables the\nRenderThread to notify all active pipelines that their surface is invalid.\n\nBug: 115290937\nTest: hwui_unit_tests\nChange-Id: Ib3054822273bc35406630b7442229a81b39a2c91\n"
    },
    {
      "commit": "17662389b970e8c710f146c15d5b78a767a251d3",
      "tree": "97a6da7a569f956c61d1d2c341c9857997f45e3f",
      "parents": [
        "bd2d5f7e37a9d4fba09b2e3df0d891af1f192247"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Sep 13 14:14:00 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Sep 18 09:30:13 2018 -0400"
      },
      "message": "Refactor DeviceInfo in HWUI\n\nRemove the need for both Vulkan and EGL managers to initialize\nit. Also remove unused code paths.\n\nTest: hwui_unit_tests\nChange-Id: I33ad881468eddbf91ec63207f0d82bed8d97f5ad\n"
    },
    {
      "commit": "0ee549d67b64ef39bad086752dc7f4cebe44623a",
      "tree": "cb6ef2bc71495327f4f004343962b78088547c00",
      "parents": [
        "b9419d0e499e019535d73829efc5f1ec818662b1",
        "bdc9f1bb9065196e9c63f480f2924bef946be23c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Sat Sep 15 00:31:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 15 00:31:22 2018 +0000"
      },
      "message": "Merge \"Disable GLES validation\""
    },
    {
      "commit": "bdc9f1bb9065196e9c63f480f2924bef946be23c",
      "tree": "d2b5d986a3116f57aca0910fbd3e5d4cc9df0bca",
      "parents": [
        "5185bc79b1d15f8db9e7cac202fae836ea4ce954"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 14 15:22:35 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 14 15:34:22 2018 -0700"
      },
      "message": "Disable GLES validation\n\nNeed to disable this for SurfaceTexture users specifically\nbut the quickest is to just disable it globally\n\nBug: 115311435\nTest: builds\nChange-Id: I75daddf993c784238593db3d40126af0e9d0ffdc\n"
    },
    {
      "commit": "1f6aa122a59a1de79531da045cbc6d517255623d",
      "tree": "bd8129b0c9c8d119b2ffea265a3042b3e7cef4a4",
      "parents": [
        "7ee06167def672bf961d023fc281878400bf8806"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Mon Sep 10 16:28:08 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Sep 13 13:50:27 2018 -0700"
      },
      "message": "[HWUI] Implement legacy color mode.\n\nPreviously, HWUI always produces SRGB buffers. We introduced new APIs for\nSurfaceFlinger, a.k.a. the composer service to return to composition preference\nfor data space, and pixel format. This patch makes HWUI query composition\npreference from composer service, and creates the corresponding EGL surface\nwith the correct attributes.\n\nIn legacy mode, HWUI will take the pixel value from source color space, and\ninterpret it as pixel value in destination color space.\n\nBUG: 111436479\nBUG: 113530681\nTest: Build, flash, boot and check dumpsys SurfaceFlinger\nChange-Id: I64562d5ea6f653076c8b448feb56b5e0624bc81c\n"
    },
    {
      "commit": "1a025a7163daa89b6cb2043c56fa0ddc0548db5c",
      "tree": "df45e768a08dfaabec20c47941b7678c265d3a63",
      "parents": [
        "cf1c58cd473d927f4c12dbecd33cd99d02dd1e25"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Sep 05 16:35:11 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Sep 10 13:18:04 2018 -0400"
      },
      "message": "Refactor HWUI readback code to be backend independent\n\nImplement readback from Surface, TextureView and HW Bitmap\nfor Vulkan pipeline by wrapping the graphics buffer in an SkImage.\nRefactor both Vulkan and GL readback to use common code.\nTextureView readback is moved from IRenderPipeline interface to\nReadback class. Refactor all 3 readback flows to use common\nimplementation.\n\nTest: Passed all view, uirendering and graphics CTS tests with GL\nTest: Passed many CTS test with Vulkan, that require readback\nBug: 113673613\nChange-Id: Ifbfd8170a5401f87a709b4b1b9fa058e8e11768d\n"
    },
    {
      "commit": "564ca3e2c9ed752f2a9d549ebfb31a78942ecfec",
      "tree": "f5a88d6ac251afadbbcc602047c2d901bf8cac55",
      "parents": [
        "73855d407137e670b1f836ec15b21bd7a4b1a187"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Sep 04 22:00:00 2018 +0000"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Sep 05 01:58:34 2018 +0000"
      },
      "message": "Reland \"TextureView Vulkan support and optimized OpenGL draw\"\n\nFix an issue with incorrect texture matrix, when there is 90/270 rotation.\nThis happened, because after refactoring SkImage has buffer width/height,\ninstead of layer width/height.\nThis reverts commit a683eb3945320f592f58705c3c31b3c044f4bd72.\n\nBug: 113673613\nTest: Ran TextureView CTS and lensblur in camera app\nChange-Id: If3bcf9cd5195de09fd67a753708568a8e3ca3a9a\n"
    },
    {
      "commit": "9f959556201f59305cd80ad32a1c117d5b7c4113",
      "tree": "4e4b2db1dad5465b8721ac788566e1f7c86befeb",
      "parents": [
        "7b07e4aae6f55ef77f6c080f7a65f8b3b3e692e0"
      ],
      "author": {
        "name": "Yichi Chen",
        "email": "yichichen@android.com",
        "time": "Thu Mar 29 21:21:54 2018 +0800"
      },
      "committer": {
        "name": "Yichi Chen",
        "email": "yichichen@google.com",
        "time": "Tue Sep 04 04:04:58 2018 +0000"
      },
      "message": "Add cache validation to ensure the validity\n\nCreate cache identity from GL_VERSION and store in ShaderCache.\nIn the next time ShaderCache is restored from disk, compare the\ncache identity to ensure its validity. If GL_VERSION changes in\nbetween, flush out entire FileBlobCache and start from an empty\none.\n\nBug: b/71800782\nTest: Wrote a new unit test to save and restore ShaderCache\nTest: hwui_unit_tests\nChange-Id: Ie573dc4f18733eee090725be30445d879765231b\n"
    },
    {
      "commit": "e6cfb09cc4938078d14b1b4abca1678ac8fb170c",
      "tree": "c71f82bc74a53be28d30c88ca3b8f84b666578de",
      "parents": [
        "c72888de5dec8327da3d1a8d328f2c92a629d91e",
        "867c43de0544217d26c3ee18f4d6603bb2ea97ce"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Aug 30 18:56:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 18:56:41 2018 +0000"
      },
      "message": "Merge \"Revert \"TextureView Vulkan support and optimized OpenGL draw\"\""
    },
    {
      "commit": "867c43de0544217d26c3ee18f4d6603bb2ea97ce",
      "tree": "d780e25edaa90578c80309a105d6fe2e9eea71c8",
      "parents": [
        "c8e22a653297837da9a80b0ba65f6854c8986c96"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 30 16:47:59 2018 +0000"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Aug 30 18:42:08 2018 +0000"
      },
      "message": "Revert \"TextureView Vulkan support and optimized OpenGL draw\"\n\nThis reverts commit c8e22a653297837da9a80b0ba65f6854c8986c96.\n\nReason for revert: broke camera, b/113555199\n\nBug: 113555199\nChange-Id: Iae9b462694d5de0cd99427afead63b567fb4d71d\n"
    },
    {
      "commit": "54b9892f3cc8ed30bfe660ff2957aefeb484b092",
      "tree": "0c9374ad222a99e4c7b709230e594be12d57dc24",
      "parents": [
        "c8344a19637ff39f84cbd6acecb952c80f2c4de5",
        "c8e22a653297837da9a80b0ba65f6854c8986c96"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 29 15:51:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 29 15:51:15 2018 +0000"
      },
      "message": "Merge \"TextureView Vulkan support and optimized OpenGL draw\""
    },
    {
      "commit": "c8e22a653297837da9a80b0ba65f6854c8986c96",
      "tree": "7344df1a8aff45ccbf5b9ffb5b4de49499cc7c94",
      "parents": [
        "660bb2f3a1dde0b5cca5c8293bf0e72d47b2b6fc"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Aug 14 13:30:17 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Aug 29 10:22:03 2018 -0400"
      },
      "message": "TextureView Vulkan support and optimized OpenGL draw\n\nRender TextureView as hardware bitmaps, instead of GL textures.\nCache SkImage for each observed GraphicBuffer, which is faster\neven for GL.\nImplement C++ SurfaceTexture, which allows Java SurfaceTexture\nto be used with Vulkan HWUI render thread and application GL.\nthreads. Delete GLLayer and VkLayer classes and texture code\nfrom old HWUI pipeline.\n\nTest: Ran skiagl and skiavk pipeline with a TextureView app.\nTest: TextureView CTS tests pass for GL pipeline.\nTest: Ran Android NDK Native codec sample app.\nChange-Id: Idc94f864ce2d34fd6ceff4be4fc7d3327e99879c\n"
    },
    {
      "commit": "f15c333ddcd9c406d71245120d3d200f47588fed",
      "tree": "acf11e1251c466294d86225c9003542926fc51ed",
      "parents": [
        "6a8b3af3d8208dba0d9cb4be98f118c7bfaec68e",
        "57d7cabbf50b4de5adb53c523229ea9d3a5f6c0b"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Aug 24 15:54:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 24 15:54:32 2018 -0700"
      },
      "message": "Merge changes Ie072511b,I6424f90c am: 9d10637e01 am: ddedd24e96\nam: 57d7cabbf5\n\nChange-Id: Ic92512281269ceedbbfb197e1d7d0a230bf2317f\n"
    },
    {
      "commit": "ddedd24e963fea1332125d2bdd43dbb709557f14",
      "tree": "8eb293ef5bd75cc83d1e28adc149300918745466",
      "parents": [
        "83c37379dafdf687da290cf412129ea21573dea9",
        "9d10637e016f40b4fc58db4fd204174f03312c30"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Aug 24 15:38:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 24 15:38:07 2018 -0700"
      },
      "message": "Merge changes Ie072511b,I6424f90c\nam: 9d10637e01\n\nChange-Id: I06ca7319633534e38b45ab960f285a072cff84da\n"
    },
    {
      "commit": "a95435b836a09084b213ba0809eba7d37825cd5e",
      "tree": "5e53312f42e6cfcd940b5a1edae59098529ed29e",
      "parents": [
        "0d9029cf3cf2979d4f3a44a844b6b9f3b354feaa"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Aug 23 16:58:18 2018 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Aug 23 17:07:56 2018 -0700"
      },
      "message": "RenderThread: Make ~IFrameCallback() virtual\n\nIFrameCallback has a pure virtual method, but its destructor was\nnon-virtual.  While CanvasContext, which inherits from\nIFrameCallback, declares its own destructor virtual, this is not\nsufficient when accessing via an IFrameCallback pointer.\n\nWe fix this by making the base destructor virtual.\n\nTest: Treehugger\nChange-Id: I6424f90c16caea417b5f80b60d76a7ca7c7ef97c\n"
    },
    {
      "commit": "7fd08795de83dd461f68791c77c9d2d82573e489",
      "tree": "71f23de7547bcb1b91372fbd1d9536f37dcaf6a9",
      "parents": [
        "d5b516100735b9ffb1f34b504d818679c64f4c4a",
        "a227dbb322f2bf7d357e1a5729b09ead4ba298e7"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Aug 20 20:11:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 20:11:46 2018 +0000"
      },
      "message": "Merge \"Update VulkanManager to use new skia Vulkan context api.\""
    },
    {
      "commit": "a227dbb322f2bf7d357e1a5729b09ead4ba298e7",
      "tree": "1443550c6c11e959caf3635b9cbc9cdd53f1c751",
      "parents": [
        "0abca8c214c41ef8cd347e88f7103519f1c6d175"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Aug 20 09:19:48 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Aug 20 13:23:41 2018 -0400"
      },
      "message": "Update VulkanManager to use new skia Vulkan context api.\n\nTest: manual build and run on phone.\nChange-Id: Ib21f4091cf11de5655323337e86a35cb7b845b15\n"
    },
    {
      "commit": "333a83c02f67527d8d15e545d9e9e24fe162edd4",
      "tree": "95ed4da96e20f97f46e0a94c3ac805aa0894e763",
      "parents": [
        "d42decc7af77743a1101407aef0370ff85e1b643"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Aug 15 10:14:08 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Aug 15 10:17:45 2018 -0400"
      },
      "message": "Prefer ES 2.0 with external image support vs ES 3.0 without that support\n\nWe currently attempt to use ES 3.0 shaders even if it lacks the\nextension for external images.  This CL reverts back to ES 2.0 in\nthe event that we find that the OES_EGL_image_external_essl3 is not\npresent.\n\nTest: no change in graphics output\nBug: 111220579\nChange-Id: I6bd7145026d9686cfcf49393a19580208db8a367\n"
    },
    {
      "commit": "22cc59dd3a8a2355a6d7c007b8a7f15eae046984",
      "tree": "9e48e17edf5de67f62f0042433729afd75bb57f7",
      "parents": [
        "148cd8c0bced9bcd72beb2e93a086fde9dcfef9e"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Jul 24 13:46:10 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Jul 24 13:47:48 2018 -0400"
      },
      "message": "Have the framework setup android defines for including vulkan.h\n\nWe\u0027re moving skia to place where it has its own vulkan header and\nthe clients have theirs. So this sets up the VulkanManager to be\nable to handle including vulkan.h how it wants to.\n\nTest: manual building and running\n\nChange-Id: I0818d2fc607bf8a265bf6ddf1e2f737d1228131a\n"
    },
    {
      "commit": "edf3e1fa2effc158d3be00a6e75fc06a6925362b",
      "tree": "7faddc846a9f4f9dcfcd4804fa7f9e7647afdf45",
      "parents": [
        "101dc0180704e5546742cc1f2063f70dd96c3733",
        "c9756c9193bbbec8bc3a22536f6967c56c833135"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 18 15:19:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 18 15:19:39 2018 -0700"
      },
      "message": "Merge \"Move allocateBuffers to RT\" into pi-dev am: 2f8a3a4bb8\nam: c9756c9193\n\nChange-Id: Ieed40312fe16a54c3e1974621b53e29b23ddcdbc\n"
    },
    {
      "commit": "c9756c9193bbbec8bc3a22536f6967c56c833135",
      "tree": "a960658374860a4c331e9568a9556b07438b1970",
      "parents": [
        "08f22c1e2d2762788f617e2a6c1c3bbd150f5970",
        "2f8a3a4bb8ba700321af9e050a95640f6ac60ce3"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 18 15:06:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 18 15:06:29 2018 -0700"
      },
      "message": "Merge \"Move allocateBuffers to RT\" into pi-dev\nam: 2f8a3a4bb8\n\nChange-Id: I6c8f84406a40fa324a4486f71fccf01f6acfe60a\n"
    },
    {
      "commit": "7823ee73ee504fcb5b0448b0b8f1b4804309df45",
      "tree": "f8da6181ceba92bf79e44981bf8305bcb1cd862b",
      "parents": [
        "0c84996a12ace0a81ecfeb5f3a79e55127a06af0"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 17 15:24:16 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 17 17:34:49 2018 +0200"
      },
      "message": "Move allocateBuffers to RT\n\nSuch that it gets executed after setSurface, in order that\nmReqUsage has the correct flags set.\n\nTest: Take trace, ensure that allocateBuffers actually allocates\nin the right format/usage by ensuring that dequeueBuffer doesn\u0027t\ntrash them immediately again.\nBug: 111517695\nChange-Id: I94b402d7b29d565155a77a2d09106246261712d2\n"
    },
    {
      "commit": "4aa5867051f5273a650c9e812e566170bbbb1916",
      "tree": "29a0cae67fcce5c3c607d4a94842ba8117266da4",
      "parents": [
        "141d67c3a7b2429db48785b74ef7b6a7fa841254"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Jul 13 13:10:36 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Jul 13 14:04:55 2018 -0400"
      },
      "message": "No longer create a GrVkInterface in the VulkanManger.\n\nTest: manual\n\nChange-Id: I5debded1f42cab60bacd3b9b9d2f10ada088c86a\n"
    },
    {
      "commit": "5d0334843698d6ec88bf74305baf85f1ef855f9d",
      "tree": "3ca6da6d3b059421cd8bdf08cd6b0496a0ec91c3",
      "parents": [
        "05329bb46a36cbb568c93da810ce07d917a21a7a"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Jul 03 14:47:59 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Jul 03 19:50:06 2018 +0000"
      },
      "message": "Fix path rendering issues\n\nFix remaining battery icon. Disable CCPR, which seems to\nhave caused a regression.\n\n\nTest: Ran SystemUI and battery icon is drawn white.\nBug: skbug.com/8127\nChange-Id: Ic82bce14b760a8889ea2261c44b2631dc755288f\n"
    },
    {
      "commit": "2f9d8670e3a307e4ea93648a78c4ed313889b2c5",
      "tree": "2a6884a8521abd2fb2525f931de25d01ba0eabde",
      "parents": [
        "841f7c2f0cbfa387806831d6107899804c9c3bd8"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Jun 22 10:44:26 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Jun 22 11:46:18 2018 -0400"
      },
      "message": "Remove unused member in VulkanManager.\n\nA large part of the previous change was specifically around removing\nthis ref counted data member, and then I just forgot to delete it...\n\nTest: manual testing\n\nChange-Id: Ie9a7f7495789d45a65900c08a27a9d83ad64617c\n"
    },
    {
      "commit": "2ff20271a4eaaa227d41e03d0b9926a5d6efad96",
      "tree": "4fe0c8c9c21ec124ad7b1d30469a7fb478f949c5",
      "parents": [
        "859df82843ba06a12cc2686abd0b665a46304483"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Thu Jun 14 11:50:10 2018 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Thu Jun 21 15:07:41 2018 -0400"
      },
      "message": "Manually create and manage vulkan instance and device.\n\nPreviously we were using a helper in Skia but that is being deleted\nand we must manage it ourselves in android.\n\nTest: manual building and running.\nChange-Id: Ia3455507d7b07a4a2f29fd5453408dd37d9d570b\n"
    },
    {
      "commit": "c4d76981907428c273f45de89f1010e2ed900fbe",
      "tree": "24cf916b1ea1f08d3aceec3a1b8389460d3eb70c",
      "parents": [
        "ca37890347104cd53bdd5222e65f53a8bea70095",
        "048c6751d77ea038b17b8cef4fbfb324f4b6b0f4"
      ],
      "author": {
        "name": "Yu Jia",
        "email": "jiayu1016@gmail.com",
        "time": "Mon Jun 04 19:52:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 04 19:52:48 2018 -0700"
      },
      "message": "Merge \"cts case com.android.server.cts.GraphicsStatsValidationTest#testDaveyDrawFrame in modue CtsIncidentHostTestCases failed\" am: 2dd3d8cbef am: d490e788f1\nam: 048c6751d7\n\nChange-Id: I89d6290789324a38a28de5e03bd139e450297b23\n"
    },
    {
      "commit": "048c6751d77ea038b17b8cef4fbfb324f4b6b0f4",
      "tree": "76055b61cfba6603e2c35c5c19a9357c9b31e29b",
      "parents": [
        "5c6e5f189a7f3716b6601c2a60862ae382605516",
        "d490e788f170aefed957753dd1f5f9e05500970e"
      ],
      "author": {
        "name": "Yu Jia",
        "email": "jiayu1016@gmail.com",
        "time": "Mon Jun 04 19:42:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 04 19:42:29 2018 -0700"
      },
      "message": "Merge \"cts case com.android.server.cts.GraphicsStatsValidationTest#testDaveyDrawFrame in modue CtsIncidentHostTestCases failed\" am: 2dd3d8cbef\nam: d490e788f1\n\nChange-Id: I6e3507cfb5b6501dd28fb2b6019fdbb74fb745f0\n"
    },
    {
      "commit": "5b02c629bd8da951331e5e464fe78e03b3393a72",
      "tree": "5b39981a81b63b59c179402635ace31fa4d0c88c",
      "parents": [
        "1031bf5f761304987e6a2c5bbb5743a65c3253bf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 17 10:44:00 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 31 12:56:28 2018 -0700"
      },
      "message": "Attempting to fix the black flicker\n\nBug: 79231206\nTest: Repro steps from bug\n\nMerged-In: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6\nChange-Id: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6\n"
    },
    {
      "commit": "cc2eee89c81a9b348b7283000678562f43c061c7",
      "tree": "bedc526db5360761be66143df86ab9e8d5d8f6ea",
      "parents": [
        "14e1c54fa3f38c79cc080670519e15842e248a88"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 17 10:44:00 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 31 19:55:54 2018 +0000"
      },
      "message": "Attempting to fix the black flicker\n\nBug: 79231206\nTest: Repro steps from bug\n\nChange-Id: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6\n"
    },
    {
      "commit": "e4c1e6c5a18eb9cfa9025363c5a991b2c683ed68",
      "tree": "0135f234fc7e60854587585e4eb3c8875aeddf0d",
      "parents": [
        "1a2a40552a261bf3efecf09a9af472c4e9d0157c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 24 16:27:35 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed May 30 16:40:07 2018 -0700"
      },
      "message": "Remove dead code\n\nTest: builds\nChange-Id: I57cf72ca460115463d7759097d5ba598b5ec1775\n"
    },
    {
      "commit": "e57493ab1907c5f1685bbf02b33d83f2d2ba3e56",
      "tree": "85acc93c8e85a8d59fd7cfc13b79155c5fc8260a",
      "parents": [
        "e03b8ee7e0bc1a585f4847f5ab1d564bdc56e3f6"
      ],
      "author": {
        "name": "Yu Jia",
        "email": "jiayu1016@gmail.com",
        "time": "Wed May 30 11:18:05 2018 +0800"
      },
      "committer": {
        "name": "Jia Yu",
        "email": "jiayu1016@gmail.com",
        "time": "Wed May 30 13:34:19 2018 +0800"
      },
      "message": "cts case\ncom.android.server.cts.GraphicsStatsValidationTest#testDaveyDrawFrame in\nmodue CtsIncidentHostTestCases failed\n\nThis cts case design 20 frames, every 4 frames include 700ms frame and\n150ms frame\n\nWhen activity launched, first 3 frames need allocate buffer during\ndequeue buffer, bug some low-end platform took too long (\u003e6ms), so\nit will skip the fourth frame(150ms) and post a new draw callback that will cause cts failed\n"
    },
    {
      "commit": "e4a8d4c7e94ac72cf7978306160994015b99227c",
      "tree": "64afdef7fa5c27081c06672deaff15958f233183",
      "parents": [
        "2b3c858296d34741e32c03b144b14f9532b19bb2",
        "2d39fb90d0bf08f7e13f38db287934ac3b86ea52"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri May 18 11:49:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 11:49:56 2018 +0000"
      },
      "message": "Merge changes I608d4b61,Ia7900e75 into pi-dev\n\n* changes:\n  Follow up to Ia7900e753b29187a7a7b81f393666687e8b8e04b\n  Apply surface parameters in sync with RenderThread\n"
    },
    {
      "commit": "117f0c2833d08750a6ed5cdb3160e3fb86f76b71",
      "tree": "96becd2b51cacff4e963fe69c9c9298672212226",
      "parents": [
        "15c6708f23ff68f74f484c91749b786496db7930",
        "6353ff5bb55e706b9eda91ec4cc66d25b1b0eaa8"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu May 17 13:16:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 17 13:16:13 2018 -0700"
      },
      "message": "Merge \"AnimatedImageDrawable: Eliminate unnecessary calls to redraw\" into pi-dev am: a2113aa4ad\nam: 6353ff5bb5\n\nChange-Id: I5258721b49834aba58e9bf19162e6a4588f68f0f\n"
    },
    {
      "commit": "64be98d5d27a2a2b786e28ae7afbff5ac987f163",
      "tree": "c19cbfcb4c583b3a327148e88258c2af430a7095",
      "parents": [
        "1b43af094e5de196566762ca07e6f4207dc1c289"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Apr 26 23:23:29 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu May 17 01:57:31 2018 +0000"
      },
      "message": "Apply surface parameters in sync with RenderThread\n\nOtherwise it could lead to parameters applied in the wrong frame,\nleading to jank.\n\nTest: Open notification\nBug: 78611607\nChange-Id: Ia7900e753b29187a7a7b81f393666687e8b8e04b\nMerged-In: Ia7900e753b29187a7a7b81f393666687e8b8e04b\n"
    },
    {
      "commit": "4afdd1caa4ff5f0890c3f4d73c6d475f9e06cefd",
      "tree": "5273aecef15d3644e794416ababff8cbaacddd94",
      "parents": [
        "1936031cbe804fc53eb7529b3fd60f3457cb1780"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon May 14 14:59:30 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed May 16 18:51:07 2018 -0400"
      },
      "message": "AnimatedImageDrawable: Eliminate unnecessary calls to redraw\n\nBug: 78866720\nTest: Manual + systrace; existing CTS\n\nPreviously, we set hasAnimations to true when the AnimatedImageDrawable,\nso that we would get a call to redraw. But if the image does not need to\nshow its next frame yet, the redraw was unnecessary.\n\nInstead, add a new field to TreeInfo::Out, representing the delay time\nuntil the image will need to be redrawn - i.e. when the duration of the\ncurrent frame has passed. Each call to prepareTree will post at most one\nmessage to redraw, in time for the earliest animated image to be\nredrawn. Post the message for one rendered frame ahead of time, so that\nwhen it is time to show the next frame, the image has already gotten the\nmessage to update.\n\nOn a screen with a single animated image, this drops the number of calls\nto dispatchFrameCallbacks to as infrequent as possible. It is called\nonly when we need to draw a new frame of the image. On a screen with\nmultiple animated images, the calls may be redundant, but they will not\nbe more frequent than they would be without this change.\n\nSwitch to nsecs_t and systemTime internally, matching the rest of HWUI.\n\nRemove mDidDraw and related. Its purpose was to prevent advancing the\nanimation while the image is not being drawn. But it isn\u0027t really\nnecessary. If it\u0027s not drawn, onDraw is not called, which is where we\ntrigger decoding. And onDraw already has a defense against getting too\nfar ahead - if its timer indicates that it should skip a frame or show\nit very briefly, it will back up its timer. More importantly, mDidDraw\ncaused a bug, when combined with less frequent redraws. If the display\nlist containing the drawable doesn\u0027t need to be redrawn for other\nreasons, the drawable\u0027s timer never advanced, so its animation stopped.\n\nFix software drawing. Compute the milliseconds in the future to draw the\nnext frame, and add that to SystemClock.uptimeMillis() to compute the\ntime to pass to scheduleSelf.\n\nChange-Id: I13aab49922fa300f73b327be25561d7120c09ec4\n"
    },
    {
      "commit": "7a5addd2b735844902ac5f89003b3afad299b3ad",
      "tree": "cc2ac80f9f230a4b0196e588230ce356178d5385",
      "parents": [
        "bf9670bcdfe43c34b5c3da3e886e759748fc4895"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Apr 26 23:23:29 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue May 15 17:31:33 2018 -0700"
      },
      "message": "Apply surface parameters in sync with RenderThread\n\nOtherwise it could lead to parameters applied in the wrong frame,\nleading to jank.\n\nTest: Open notification\nBug: 78611607\nChange-Id: Ia7900e753b29187a7a7b81f393666687e8b8e04b\n"
    },
    {
      "commit": "e170fb6686c3e88cee6e32f4e3eb12fcf9bfe931",
      "tree": "bf0ccbbcd2f89ccb468b216e14670451fedc3221",
      "parents": [
        "33f4f1cb1645635f8b5c369e1dddda84e0396c34"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 07 08:12:07 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed May 09 11:39:37 2018 -0700"
      },
      "message": "A better HW Bitmap uploader\n\nMove all HW bitmap upload operations off of RenderThread.\nEnsure EGL context outlives all upload requests\n\nBug: 79250950\nTest: builds, boots, systrace is good, CTS bitmap tests pass\n\nChange-Id: I5ace6c516d33b1afdf1a407cd8b183f6b60c22c1\n"
    },
    {
      "commit": "e7f688bd01b9c4a76ed0363dfc5e502e62be6a7f",
      "tree": "9d34ec26cf292929b5a7ae4ae32aec63929668aa",
      "parents": [
        "2214272f1c963b074f89c96ee487a3253fcae5aa"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri May 04 15:21:43 2018 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri May 04 15:21:49 2018 -0400"
      },
      "message": "remove BakedOps and much of renderstate\n\nTest: make\n\nChange-Id: If070b7436b848c6840abfac5f051b0f5b6cb17ce\n"
    },
    {
      "commit": "d9d7f127b5f07df9434aff67374a0012b1750cd4",
      "tree": "5be03d634c7b14030e4dd111aecd4b046e70b3fe",
      "parents": [
        "ba720d098ebd6bbc1b376bb0945c76dcda3820b6"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 03 14:40:56 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 03 15:25:19 2018 -0700"
      },
      "message": "Delete a bunch of code\n\nThis removes the duality of DisplayList, removing a small amount of\noverhead\n\nTest: buids \u0026 hwuiunit passes\n\nChange-Id: I8bb3a20e9ead1caec4b4a8a3e9f2c08f717a7096\n"
    },
    {
      "commit": "551d08e2d50c7f73c5eb65fd366b92efba4f0ed5",
      "tree": "9ac55bbd3f8a5886fb611d35c79627fc3c2031db",
      "parents": [
        "9ea13ca0b67e77c5efda1c94c141dc49987c0745"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Apr 20 16:13:31 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue May 01 02:45:43 2018 +0000"
      },
      "message": "Respect a Layer\u0027s (e.g. SurfaceTexture) colorSpace when compositing\n\nThis CL extracts the android_dataspace from the GLConsumer and converts\nit to a SkColorSpace.  HWUI always expects to composite into an sRGB\ndestination so when we draw the layer we run the draw through a\ncolorFilter that converts the input colorSpace into that of the\ndestination.\n\nTest: CtsViewTestCases\nBug: 78016220\nMerged-In: Ic0446a0d861e86a5a9d0382346b57fcc45c8a61b\nChange-Id: Ic0446a0d861e86a5a9d0382346b57fcc45c8a61b\n"
    },
    {
      "commit": "b5fc209b35b96bdf6a3cff97fa3bcbcd3c2bcb83",
      "tree": "201a44d1b23206d4e47e7d963a5e270b53aea157",
      "parents": [
        "02995ec8a0de29a0ffa9ba377cbbb7e79009d274"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 30 14:43:22 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 30 14:43:22 2018 -0700"
      },
      "message": "Remove unneeded pipeline check\n\nTest: none\nChange-Id: I1123567c51efff3eef6c09f76c1624e48f71c802\n"
    },
    {
      "commit": "b90d4cb3be3a215b2dcc0c2cb8989a85a80d699b",
      "tree": "03c44f6d313eb5d41ee4d23cbc6dd523054b8fd6",
      "parents": [
        "1e51071240e0333b1a6cf3dd77d22e45c8677669"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 19 17:05:35 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 27 12:39:45 2018 -0700"
      },
      "message": "Move all non-GL HW Bitmap work off RT\n\nBug: 78288006\nTest: hwuiunit passes, systrace showed work distribution as expected,\nand photos using HW bitmaps still works\n\nChange-Id: Id3285b637b5d74d3c5891ed3051ac1e44015987a\n"
    },
    {
      "commit": "1e51071240e0333b1a6cf3dd77d22e45c8677669",
      "tree": "600cecbf07d5048878d9503a62a47670d0af180e",
      "parents": [
        "4afbedf988425e25b74e3d246cbefaff9e10c1bb"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 23 08:15:03 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 26 13:46:12 2018 -0700"
      },
      "message": "Remove RenderThread from EglManager\n\nRefactor to make EglManager re-usable.\n\nTest: hwuiunit passes, hwuimacro works\n\nChange-Id: Ie8e9398c703fada1dc5d8baca5f42485eadea202\n"
    },
    {
      "commit": "1a4a981199860f0f9c4738dc426d8349e16b0dd5",
      "tree": "3581ca62e7f6ad57d8728332b11937869c0f88fa",
      "parents": [
        "d4e5725d457cf64efd06cfdae66c2ba68441fdac"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 18 16:13:31 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 18 16:18:17 2018 -0700"
      },
      "message": "Revert \"Add support for render-ahead\"\n\nThis reverts commit ec100976e0655acaa204c8800dfb83dadae20cc8.\n\nReason for revert: b/77971494\nTest: hwuiunit passes\n\nChange-Id: I2e7dc719d2df1dd939b275496c0edc38e458c434\n"
    }
  ],
  "next": "80e73eee088eae35703d5f52ddcd25fda34dfafe"
}
