)]}'
{
  "log": [
    {
      "commit": "8f9bdc605c83d85ee64f716e88c0c7d755b3c038",
      "tree": "c42badf9c4c9520f5439f7b0f44a3126808bb62c",
      "parents": [
        "3cde8755865af375f4e5bf3e5bb87d88b41cf653",
        "6df3046722447f2f66a57f35c6c45b3961adf006"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 11:12:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 11:12:35 2018 -0700"
      },
      "message": "Merge \"Fix BufferHubProducer log spam\" into pi-dev\nam: 6df3046722\n\nChange-Id: I33950950d5b8e90fd4f65db280d1c2e4285a3415\n"
    },
    {
      "commit": "6df3046722447f2f66a57f35c6c45b3961adf006",
      "tree": "f6477c0d8e4914817e9002849c97e4b4a63367a3",
      "parents": [
        "af0c783042eb89b58abb28bda87e4dd298af725f",
        "e7cf62ab152d273849b7d80fe4dd709d00e5f9da"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 18:07:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 18:07:55 2018 +0000"
      },
      "message": "Merge \"Fix BufferHubProducer log spam\" into pi-dev"
    },
    {
      "commit": "e7cf62ab152d273849b7d80fe4dd709d00e5f9da",
      "tree": "68ffb2a0fdb6d2df275430e2fa6e1ef0f83786ae",
      "parents": [
        "79ab72151d9622a2b92c55767a6e652de14c4c87"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Apr 30 22:56:08 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue May 01 00:16:54 2018 -0700"
      },
      "message": "Fix BufferHubProducer log spam\n\nBug: 70046255\nBug: 78919825\nTest: libgui-test\nChange-Id: I5e20846f7a384d016df477f578fd203a89d45d05\n"
    },
    {
      "commit": "de5854bac4789e99e26fa6ab6be5ee0b6b5140a0",
      "tree": "8beadae3e28dec2e032ceee8423b8410d689fb22",
      "parents": [
        "c7fe7b2b232a61c461d09755294dcea7bddb74f3",
        "1cfa648d29e17c0406779e24b56109cabc4d84e7"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Mon Apr 30 12:28:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 30 12:28:35 2018 -0700"
      },
      "message": "Merge \"Fix BufferItemConsumer::releaseBuffer error logging\" into pi-dev\nam: 1cfa648d29\n\nChange-Id: Id9ed56d579ea5e4d68ce3f9f3538b5803615067a\n"
    },
    {
      "commit": "82607f30c8a71b6854ca26307e5ab18542eb3952",
      "tree": "b9cd3c40ddb1af732c52adab8facbac0c75c97c0",
      "parents": [
        "13487078b41679e09d3a661e924389081372bbc9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 27 17:01:45 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 30 15:45:00 2018 +0000"
      },
      "message": "Fix BufferItemConsumer::releaseBuffer error logging\n\nSTALE_BUFFER_SLOT is a hint, not an error, and shouldn\u0027t\nbe logged.\n\nFixes: 77483431\nTest: verified\nCtsUiRenderingTestCases:.testclasses.HardwareBitmapTests#testCreateFromPicture\ndoesn\u0027t log any errors to logcat\n\nChange-Id: I570c585b7c55c668d994bf37854a2252b09b9da8\n"
    },
    {
      "commit": "e3f35e348f6dea5288913736f26fa1233aa428fd",
      "tree": "6de9fc21ea8ce44372bd904bfdb7aadafc3c338d",
      "parents": [
        "229cf1976062cf315057d59505307a61545e1599"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:16:30 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Sat Apr 21 13:22:16 2018 +0900"
      },
      "message": "Mark some libs as double_loadable\n\nFollowing libs are explicitly marked as double_loadable since they are\none of the (indirect) dependencies of LLNDK libraries and at the same\ntime they themselves are marked as VNDK. Such lib can be double loaded\ninside a vendor process.\n\n* libgui and libbinder: due to indirect dependency from libmediandk via\nlibmediaomx. libmediandk is LLNDK)\n\n* libui: due to dependency from libnativewindow, which is LLNDK.\n\nAlso, dependencies from libui and libgui to libpdx_default_transport and\nlibbufferhubque are cut when building libui and libgui for vendors. This\nis primarily to exclude libpdx* and libbufferhubqueue from VNDK and\nsecondly not to mark transitive dependencies of the libs (such as\nlibcrypto) as double_loadable.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency chain towards it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nMerged-In: Id4768162aeb72b71d63d7e4498980f276ef58e6b\nChange-Id: I30c10400d3c4630539001b972ec897faabb4be20\n(cherry picked from commit a75d3d6d9f2aef4b1855e6a58332859f3531143d)\n"
    },
    {
      "commit": "229cf1976062cf315057d59505307a61545e1599",
      "tree": "755b2fb4a22ce11198a4196582f88795cd9f1e1b",
      "parents": [
        "254dde04d7038520a8b9b6ae3005e1f8f122026f",
        "6d186b20aa592d7bae9c902ef99f19e02181f865"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 20 21:01:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 20 21:01:43 2018 -0700"
      },
      "message": "Merge \"Mark some libs as double_loadable\" am: 8d36f179ee\nam: 6d186b20aa\n\nChange-Id: I4a362265582d0b15729a472b6e2292100e0a5cf7\n"
    },
    {
      "commit": "911043fff87a58d1c8d7bd36a2a2aec34928da52",
      "tree": "e3872d3ba819e64e2d514f72308498ede43b7cf7",
      "parents": [
        "81312f0f2ece2c33604143bc98ab24b7fb197bb7",
        "7471f87cfffb43e598d9e3bc5d4df2cd28a06a8e"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Apr 19 05:37:23 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 19 05:37:23 2018 -0700"
      },
      "message": "Merge \"Hide some headers from libbinder to vendors\" into pi-dev\nam: 7471f87cff\n\nChange-Id: Iedf7b5c7a101ad09f1d159f4d85b079a25dd4b07\n"
    },
    {
      "commit": "fe0a824a8aa85c21a087f0014e77f1ac3c8ae952",
      "tree": "926fc4b12dc4f1d20ef633ad69c7e2c3dafb9a4b",
      "parents": [
        "dce2457fd95b0652dd93cebdd73ce5ac512b914d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 09 12:16:30 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 18 11:46:51 2018 +0900"
      },
      "message": "Mark some libs as double_loadable\n\nFollowing libs are explicitly marked as double_loadable since they are\none of the (indirect) dependencies of LLNDK libraries and at the same\ntime they themselves are marked as VNDK. Such lib can be double loaded\ninside a vendor process.\n\n* libgui and libbinder: due to indirect dependency from libmediandk via\nlibmediaomx. libmediandk is LLNDK)\n\n* libui: due to dependency from libnativewindow, which is LLNDK.\n\nNote: even without this change, the library is already capable of being\ndouble loaded due to the dependency chain towards it. This change is to\nmake it explicit so that double loading of a library is carefully\ntracked and signed-off by the owner of the lib.\n\nBug: 77155589\nTest: m -j\nMerged-In: Id4768162aeb72b71d63d7e4498980f276ef58e6b\nChange-Id: Id4768162aeb72b71d63d7e4498980f276ef58e6b\n(cherry picked from commit a75d3d6d9f2aef4b1855e6a58332859f3531143d)\n"
    },
    {
      "commit": "47f876b74be0a2d6d417f5ff385f85d835a97fe9",
      "tree": "933a23cdef6c20cdb6f6f99220a956a01051ef9b",
      "parents": [
        "7e959e42d85b1ef75a32ab6d4a29efb7f556ffda"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Apr 17 13:56:46 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Apr 17 13:56:46 2018 +0900"
      },
      "message": "Hide some headers from libbinder to vendors\n\nThe headers that are related to system services are now hidden to\nvendors. Note that this does not break anything because vendors have\nalready been disallowed to talk to system services via sepolicy. Their\nuse of binder is strictly limited within themselves (via\n/dev/vndbinder).\n\nThe hidden headers are now guarded with __ANDROID_VNDK__ and including\nthem from vendors (or vendor variants of other VNDK libraries) will\ntrigger a build-time error.\n\nBug: 78113963\nTest: m -j\nTest: devices boots to the UI\nChange-Id: I19be5ca024fc4081b7861d908d75758c1d956a83\n"
    },
    {
      "commit": "d93c8ee42caac348f8924e104fbaf88a171815f8",
      "tree": "5286f8b631db8b017d4667b4f364eec16e067520",
      "parents": [
        "1525be3cd468624e85d357ff5501157f28556a48",
        "9d8d52b6f1404c1c0e8e90628f5228cffe43a7f9"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 15:02:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 06 15:02:31 2018 -0700"
      },
      "message": "Merge \"Early wake-up for transitions (1/2)\" into pi-dev\nam: 9d8d52b6f1\n\nChange-Id: If5e01f683321d87099137ce2f95a0eeb0f7c3442\n"
    },
    {
      "commit": "9d8d52b6f1404c1c0e8e90628f5228cffe43a7f9",
      "tree": "b6c5836bcc3737f0d847a4dc06749f9c23880e44",
      "parents": [
        "0c7c5d6c512c3e80da549ef1fd9567f5bd235868",
        "2713c30843816d3511b39b85a2c268a2b7682047"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 21:44:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 21:44:28 2018 +0000"
      },
      "message": "Merge \"Early wake-up for transitions (1/2)\" into pi-dev"
    },
    {
      "commit": "1525be3cd468624e85d357ff5501157f28556a48",
      "tree": "d442b0f642b67c4931ef23b65368243541076f1c",
      "parents": [
        "a61f81778e1577feec5be73972ab51c804f4f74d",
        "0c7c5d6c512c3e80da549ef1fd9567f5bd235868"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Apr 06 14:26:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 06 14:26:24 2018 -0700"
      },
      "message": "Merge \"BufferHubProducer: don\u0027t check user_metadata_size\" into pi-dev\nam: 0c7c5d6c51\n\nChange-Id: I367c11eb8b7612c99163a93c23c2bb4762594438\n"
    },
    {
      "commit": "2713c30843816d3511b39b85a2c268a2b7682047",
      "tree": "29ad7dff46cb10aca4c03652c012637dfa0d843f",
      "parents": [
        "c650f6215df216542f16918c8477ea2f73e9214d"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Mar 28 17:07:36 2018 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 12:16:58 2018 +0000"
      },
      "message": "Early wake-up for transitions (1/2)\n\nOn some devices it\u0027s very likely that we fall into GL comp during\napp transitions. However, SF offsets are chosen in a way such that\nthe time to finish a frame is just too tight to be completely jank\nfree when hitting GL composition in SurfaceFlinger. Thus, we\nintroduce the concept of a separate early offset, and wakeup\nSurfaceFlinger at that time if we think that hitting GL comp is\nlikely, or we already hit GL comp in the last frame.\n\nTest: Open app, check vsync offsets in systrace\nTest: Open many dialogs/apps to fall into GPU comp.\nBug: 75985430\nChange-Id: Ie17e30c4575359fa11bb8912f68dcafe3e569ddb\nMerged-In: Ie17e30c4575359fa11bb8912f68dcafe3e569ddb\n"
    },
    {
      "commit": "639d479b8a432771f7fa5ae4b93f677d2c8eb125",
      "tree": "11192296823152589afdc8190411f23ff6755ebe",
      "parents": [
        "d00e7e8de75d7d0bb7ce38f90c2fae8de2db0700"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Apr 05 16:49:05 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Apr 05 17:25:15 2018 -0700"
      },
      "message": "BufferHubProducer: don\u0027t check user_metadata_size\n\nNow we are using canonical metadata for all BufferHubQueue, it\u0027s\nactually wrong to enforce user_metadata_size.\n\nBug: 75962234\nBug: 77655695\nTest: buffer_hub_queue-test, buffer_hub_queue_producer-test,\n      SurfaceParcelable_test, dvr_buffer_queue-test, libgui_test\nChange-Id: I6736ed277f7ac08d1f4a7288ce4a101bc89ca35b\n"
    },
    {
      "commit": "2e099ead6d699cd3fc8b62db91b651ac490564c5",
      "tree": "0289e696757f2cc8bb85667906a506452cede803",
      "parents": [
        "6a3ca94b9fff32f64c33efc26038dc0dae5c806c",
        "2e14fbae72638dcc6ee0e20712054f0b326a4b07"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Mon Apr 02 22:15:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 02 22:15:09 2018 -0700"
      },
      "message": "Merge \"[SurfaceFlinger] Replace android_dataspace with Dataspace.\" into pi-dev\nam: 2e14fbae72\n\nChange-Id: I6ecfd6fa8f67ed165547fda10b05ee7fdf07828d\n"
    },
    {
      "commit": "54ccdea3ad8ffdef1eda09c10e3411e05f568a37",
      "tree": "96e0ab1e178a1a7d9cdd1f44aa0efc6e1ad94451",
      "parents": [
        "90f1d82bc46065a2bb28d8daaab242a2531c9fa3",
        "57a532e60bad601e1a6d8aa97e0e131d16200d5a"
      ],
      "author": {
        "name": "Jeffrey Kardatzke",
        "email": "jkardatzke@google.com",
        "time": "Mon Apr 02 23:49:27 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 02 23:49:27 2018 +0000"
      },
      "message": "Merge \"Fixed incorrect usage of native fences\" into pi-dev\nam: 57a532e60b\n\nChange-Id: I5b09e2f8027b8067246b82a896106be14eeca053\n"
    },
    {
      "commit": "34beb7a0ff0494b0c5ad81104171f8a49e599163",
      "tree": "033e25eb8ef1e0f0b06d7c20e094ecf7b4139ff5",
      "parents": [
        "0cab4a530234efe62ab279ced52744de8833a69a"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Wed Mar 28 11:57:12 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Mon Apr 02 15:27:17 2018 -0700"
      },
      "message": "[SurfaceFlinger] Replace android_dataspace with Dataspace.\n\nThis patch replaces all android_dataspace in SurfaceFlinger with Dataspace\nV1.1. 3 commands in sequence are used to do the conversion:\n\nfind ./ -type f -exec sed -i -e \u0027s/android_dataspace_t/Dataspace/g\u0027 {} \\;\nfind ./ -type f -exec sed -i -e \u0027s/android_dataspace/Dataspace/g\u0027 {} \\;\nfind ./ -type f -exec sed -i -e \u0027s/HAL_DATASPACE_/Dataspace::/g\u0027 {} \\;\n\nWith some minor tweak because most of the APIs in frameworks/native are still\naccepting android_dataspace/android_dataspace_t.\n\nNext step is to convert the rest of android_dataspace usage to Dataspace in\nframeworks/native as well as frameworks/base.\n\nBUG: 77156734\nTest: Build and flash\nChange-Id: I2304c7014cb49a1c9f67c4563603fb55e8dbd679\n"
    },
    {
      "commit": "57a532e60bad601e1a6d8aa97e0e131d16200d5a",
      "tree": "1c7da3463b66653a77d6662851710ddb3d9a8722",
      "parents": [
        "2ce2f517972a5a3989f0742886a0c6c618417fe2",
        "a45e1c8ffa50cf4d547cb86e48ab1f692492fdde"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 02 22:21:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 22:21:25 2018 +0000"
      },
      "message": "Merge \"Fixed incorrect usage of native fences\" into pi-dev"
    },
    {
      "commit": "1f921b59f1e226eab568ed4db7b3e1f86109cedd",
      "tree": "48c7e9bbbad24dcdf7d8550e1a9c642601335d11",
      "parents": [
        "c3372d4e51db11606b8b5074d4508b1a3aaba317",
        "92f8d8b1f3818a793bce02b6c956a6a23ae7985a"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Fri Mar 30 15:41:21 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 30 15:41:21 2018 +0000"
      },
      "message": "Merge \"Add proper namespace to GraphicTypes.\" into pi-dev\nam: 92f8d8b1f3\n\nChange-Id: I89576d58a23acab7efa25864631663e203656baa\n"
    },
    {
      "commit": "fd997e0969100418b4df8b8d97d21d497afa76c3",
      "tree": "02c194f3b987994405472e435f53ab6ae757c1bd",
      "parents": [
        "f228d58990fe4f2e66bf952b93dbebcf7db5ec3e"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Wed Mar 28 15:29:00 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Mar 29 15:28:14 2018 -0700"
      },
      "message": "Add proper namespace to GraphicTypes.\n\nRenamed GraphicsTypes.h to GraphicTypes.h and added proper namespace to avoid\nnaming conflict.\n\nBUG: 77156734\nTest: Build and flash\nChange-Id: Ibd9f454b5b72d5f8c6d94a3869a60a1bf821f106\nMerged-In: Ibd9f454b5b72d5f8c6d94a3869a60a1bf821f106\n"
    },
    {
      "commit": "101c804a994c35e143f96c9de3d7a0c97d4d6584",
      "tree": "4559308e69d91dd60c57fa366a21f0d1a5214199",
      "parents": [
        "4e4a037ac3381f0454d7e8ac0b9ba2ce5a75d306",
        "c5b2cd2eab6711ef25797eb28539257b95ac4e36"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Mar 28 18:44:03 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 28 18:44:03 2018 +0000"
      },
      "message": "Merge \"SurfaceComposerClient: Ensure createSurface returns error codes.\" into pi-dev\nam: c5b2cd2eab\n\nChange-Id: Id37b9ec1d7a70b698475eeda059028a1c2d2d194\n"
    },
    {
      "commit": "c5b2cd2eab6711ef25797eb28539257b95ac4e36",
      "tree": "37895d08ad54969ed1e6170a72118cb0e8e6531d",
      "parents": [
        "2252bdbb9bd77ba4203836cc955932a4f1649147",
        "740eaf09b41c0e47c492ae34dc84ccef3ad54bf5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 28 18:22:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 28 18:22:21 2018 +0000"
      },
      "message": "Merge \"SurfaceComposerClient: Ensure createSurface returns error codes.\" into pi-dev"
    },
    {
      "commit": "a45e1c8ffa50cf4d547cb86e48ab1f692492fdde",
      "tree": "a61970e6c4691fd4d7bad7592ae9cac118f11296",
      "parents": [
        "2afd5172c3e6bd99a287d24a1dd5fe5c7b70754e"
      ],
      "author": {
        "name": "Jeffrey Kardatzke",
        "email": "jkardatzke@google.com",
        "time": "Tue Mar 13 12:07:28 2018 -0700"
      },
      "committer": {
        "name": "Jeffrey Kardatzke",
        "email": "jkardatzke@google.com",
        "time": "Tue Mar 27 23:26:18 2018 +0000"
      },
      "message": "Fixed incorrect usage of native fences\n\nThis code was checking SyncFeatures::useWaitSync() and if that was true\nwas then using the EGL_ANDROID_native_fence_sync feature which is\nincorrect. It can only use that feature if\nSyncFeatures::useNativeFenceSync is true. Since it does also use\neglWaitSyncKHR, the check for useWaitSync() was left in as well.\n\nBug: 38452042, 77146928\nTest: Verified screen capture test works on samus now\n\nChange-Id: I5aad16c1b974b641c30faf2b1bc93ff8bedd5186\n(cherry picked from commit 487abfa65449317d43877655750d7ead639d3ad6)\n"
    },
    {
      "commit": "740eaf09b41c0e47c492ae34dc84ccef3ad54bf5",
      "tree": "210b44dcfa528c72205f78993497c7eb48038782",
      "parents": [
        "f7a23bd97a8ea900f9bf023c57f812855cfbf539"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Mar 27 12:59:18 2018 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Mar 27 14:31:44 2018 -0700"
      },
      "message": "SurfaceComposerClient: Ensure createSurface returns error codes.\n\nIf SurfaceComposerClient::mStatus is not equal to NO_ERROR (for example\nbecause we have attempted to construct a rooted-connection to a destroyed\nsurface, and initialization has failed) then it is possible for createSurface\nto return NO_ERROR while failing to assign a value to outSurface. This\nviolates the expectations of the JNI layer which expects that NO_ERROR will\nresult in a valid surface.\n\nBug: 76231383\nTest: Surface_test.cpp (libgui_test)\nChange-Id: Ie68aafad01674c43e13af09bc144cc673b84ac1b\n"
    },
    {
      "commit": "b76bfc2f38ca345b24ea61ca3a54b6f9eb80aefe",
      "tree": "b0dbd1ca627d6e1df2c98737a2c9c19bc43f9597",
      "parents": [
        "c285517f5edb4130a621c51fa53ff2341d158cfc",
        "ccd348460ca25890a8fb709e82e6f780e3ce878e"
      ],
      "author": {
        "name": "rongliu",
        "email": "rongliu@google.com",
        "time": "Mon Mar 26 23:40:59 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 26 23:40:59 2018 +0000"
      },
      "message": "Pass correct window type and app id to hw composer.\nam: ccd348460c\n\nChange-Id: I654661671976336de554b53e6cad9b66e7323357\n"
    },
    {
      "commit": "ccd348460ca25890a8fb709e82e6f780e3ce878e",
      "tree": "a2516979d328c676d0c8f14b130f8e288b6f42f2",
      "parents": [
        "558e1ef07fb6169a1501a9b8637387abef611f34"
      ],
      "author": {
        "name": "rongliu",
        "email": "rongliu@google.com",
        "time": "Wed Mar 14 12:26:23 2018 -0700"
      },
      "committer": {
        "name": "rongliu",
        "email": "rongliu@google.com",
        "time": "Mon Mar 26 15:13:20 2018 -0700"
      },
      "message": "Pass correct window type and app id to hw composer.\n\n1. Set -1 as default value for window type and app id.\n2. When send layer information to hal, layers inherit type and app id from parent node when\nparent node has valid type/appId.\n3. Add window type and app id to SurfaceFlinger dumpsys.\n\nBug: 74622357\nTest: Manual test. Several things verified:\n1. Android settings layer, status bar layer, nav bar layer have valid window type and appId\nwhen start android settings.\n2. Layers without buffer have window type -1 and app id -1.\n3. When send layers to hal, Chrome SurfaceView layer inherit type and app id from\nits parent (MainActivity layer).\n\nChange-Id: I8d6ad274ca18b61d1bbf6b28f7def5160b55b1e7\nMerged-In: I8d6ad274ca18b61d1bbf6b28f7def5160b55b1e7\n"
    },
    {
      "commit": "07c238b57bcdc6b29c12711b3629eca4c4a98101",
      "tree": "bce40f6bff0311447ecfba65ed44804655b26213",
      "parents": [
        "418d963ebf987daa716af28460e1a142344e874a",
        "a912b6ec28f758d061c907cee2a4b817690336d7"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Mar 21 04:28:42 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 21 04:28:42 2018 +0000"
      },
      "message": "Merge \"Propagate error codes from createSurface\" into pi-dev\nam: a912b6ec28\n\nChange-Id: Ia3887fb7ebd35c8aa64878f8f95767b694410a3b\n"
    },
    {
      "commit": "a912b6ec28f758d061c907cee2a4b817690336d7",
      "tree": "fb5694c7d0564be7622968745aef380ad0a88953",
      "parents": [
        "a46412ea433d5dae175ad3e471368a44747171a2",
        "3b382ed2e8a6a79698fb8e65913946bba109d836"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 00:40:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 00:40:19 2018 +0000"
      },
      "message": "Merge \"Propagate error codes from createSurface\" into pi-dev"
    },
    {
      "commit": "8e272aac7b00ea8c7c1b2dcb1b5956acbf4335c6",
      "tree": "29c9d7d6b542c81e1a857c84e4ef817f67bc9a30",
      "parents": [
        "23fa79a4ec3d63a8e08471b726cadeaab4a80771",
        "a52f0295622a42849f5ef81c44589b816b2ccacb"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Fri Mar 16 03:23:12 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 16 03:23:12 2018 +0000"
      },
      "message": "[Native] Replace android_color_mode usage with ColorMode.\nam: a52f029562\n\nChange-Id: Ifd265080b216e38f3d6017d640c3d2b4ed4245b2\n"
    },
    {
      "commit": "a52f0295622a42849f5ef81c44589b816b2ccacb",
      "tree": "fa5b66c2866be26e85f8bbcda940662d55212089",
      "parents": [
        "17511b0527cad3a68015c4fef2e0ab451ba2de6f"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Wed Mar 14 17:26:31 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Mar 15 21:14:01 2018 +0000"
      },
      "message": "[Native] Replace android_color_mode usage with ColorMode.\n\nTo ease the pain when we add color mode v1.1, we replace all current\nandroid_color_mode usage in framework native with ColorMode directly from HAL.\n\nBUG: 73824924\nTest: Build \u0026 flash\nChange-Id: I4436fc225c7807506825c7148bc794cb99f278dc\n"
    },
    {
      "commit": "23fa79a4ec3d63a8e08471b726cadeaab4a80771",
      "tree": "07fac8f6837b36f99407c9176759562899eb37df",
      "parents": [
        "601deaa9704f26e135234f2db6412ba3498cd9e4",
        "17511b0527cad3a68015c4fef2e0ab451ba2de6f"
      ],
      "author": {
        "name": "Rob Carr",
        "email": "racarr@google.com",
        "time": "Thu Mar 15 18:31:29 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 15 18:31:29 2018 +0000"
      },
      "message": "Merge changes from topic \"capture-child-layers\" into pi-dev\nam: 17511b0527\n\nChange-Id: Ib2ae98549c92f13db5c010533ec6e243d72a230c\n"
    },
    {
      "commit": "17511b0527cad3a68015c4fef2e0ab451ba2de6f",
      "tree": "c4f340533b8b1adc3d14785cc9ab396786a53c93",
      "parents": [
        "b68e059613caebc3e4eaadd1fc05bab3d651fe82",
        "578038fc49f83c4c8c4accdce49df404ecd6ad02"
      ],
      "author": {
        "name": "Rob Carr",
        "email": "racarr@google.com",
        "time": "Thu Mar 15 18:10:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 18:10:27 2018 +0000"
      },
      "message": "Merge changes from topic \"capture-child-layers\" into pi-dev\n\n* changes:\n  SurfaceFlinger: Add childLayersOnly variant of capture layers.\n  SurfaceFlinger: Add \"Abstract\" Layer type.\n  SurfaceFlinger: Move trivial implementations to layer base class.\n"
    },
    {
      "commit": "3b382ed2e8a6a79698fb8e65913946bba109d836",
      "tree": "31c1e6938ec3a68a39da55eee3bd6fa5799b76ca",
      "parents": [
        "9a34c1a968d70bd8041612ba26de2600455a7cbd"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Mar 14 13:49:41 2018 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Mar 14 15:54:38 2018 -0700"
      },
      "message": "Propagate error codes from createSurface\n\nWithout an error code it\u0027s impossible to distinguish OOM\nfrom missing parent, causing the WM to start killing applications\nin the case of a missing parent.\n\nBug: 73664284\nTest: Manual.\nChange-Id: Ida6a30b41d1e856dfa9dceb80a432a30353d2764\n"
    },
    {
      "commit": "426b823a90bb3ffa0a6e84dcc6fa4395a83820d3",
      "tree": "71024a3c16d4d166694cdec242025e96eba9631b",
      "parents": [
        "838c028b819f8958805c85011e6d6de6f30896c0",
        "552dd932e3b800e103ef6f2033a6eafabcab3334"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Mar 12 22:05:06 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 12 22:05:06 2018 +0000"
      },
      "message": "Merge \"Remove obsolete brillo property\" am: 405a40c500\nam: 552dd932e3\n\nChange-Id: I5c673678f4d418b7197c7fd08788f822572e684c\n"
    },
    {
      "commit": "4a1861e80ec60b4d9f7e02eae26a53b78736805a",
      "tree": "156d8eb66718bbae7fec36e18bff8718b23cb2d4",
      "parents": [
        "1812ea7c47738847a86847b5550c12d26d3637f4"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Mar 10 15:32:51 2018 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat Mar 10 15:32:51 2018 -0800"
      },
      "message": "Remove obsolete brillo property\n\nThe implementation behind this cflag has already been removed.\n\nTest: none\nChange-Id: Ida61c64f86180c8a7d41b6af7036312ebe0dd3d4\n"
    },
    {
      "commit": "578038fc49f83c4c8c4accdce49df404ecd6ad02",
      "tree": "4841a23dd09adbec8016958400a29df987f2a704",
      "parents": [
        "cdf832043afeb74598d64f8689098ae75dad8731"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Fri Mar 09 12:25:24 2018 -0800"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Fri Mar 09 12:51:32 2018 -0800"
      },
      "message": "SurfaceFlinger: Add childLayersOnly variant of capture layers.\n\nCurrently captureLayers is being used to capture children of abstract\nbuffer-less layers, for example we capture the node representing\na Task. Because of animations, etc, the node may have been scaled\nwhen we want to take the screenshot, so we solved this problem with\nan inverse transform in LayerRenderArea. However we have parallel problems\nfor crop, visibility, etc...It seems what we really want from captureLayers\nis the ability to capture all child layers while ignoring the parent imposed\nstate as if in a parallel hierarchy. I initially considered implementing a parallel\nhierarchy with layer clones but it seemed much less risky for P to instead\nreparent the existing hierarchy to a parallel abstract parent on the server side.\n\nBug: 72760590\nTest: Existing tests pass. Quickstep works with new implementation. New transaction tests.\nChange-Id: Ifd2b2f9ed45351d8ed0d7f09be1cd9806ec4abe8\n"
    },
    {
      "commit": "39a0788cf6d728bd356700bb5b0a1d31cce10356",
      "tree": "ef9ee7a1c7434efeeb246ec7848e83a065c1919b",
      "parents": [
        "e7d4775275efeca0caf7ec9106fa5b38057f2233"
      ],
      "author": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Mon Feb 12 07:12:38 2018 -0700"
      },
      "committer": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Wed Mar 07 16:38:13 2018 -0700"
      },
      "message": "Add equality operator for state checking\n\nBug: 63710530\nTest: compile\nChange-Id: I8e9f875def10ad09dae1d647fca078f0243c6b96\n"
    },
    {
      "commit": "8e3fe5d6a78d92e0bcbd90ca98cf7b3f9de7512d",
      "tree": "dab3e82c9a8722112d589c98d5479b3503202fca",
      "parents": [
        "1eb1ef28c9319865ab5a9d7e6c5dcbae873df3c2"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Feb 22 10:55:42 2018 -0800"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Feb 28 08:55:03 2018 -0800"
      },
      "message": "Store SurfaceControl reference when creating transactions\n\nThe SurfaceControl needs to be stored when adding a new transaction.\nThis ensures the ref count is incremented so the SC isn\u0027t removed before\nthe transaction is applied.\n\nChange-Id: I27a060e4c221c5dfa565ceb3a916574105fd1175\nFixes: 73448047\nTest: DereferenceSurfaceControlTest\n"
    },
    {
      "commit": "763ef57459aa9f10f3587581b119fe8d4ece3cd3",
      "tree": "5062f3bcbc784873d0e9d9fcc4e084d2a870efb9",
      "parents": [
        "b923e78705802a86ee0a8def166ea42b5cb4e739"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Feb 22 16:04:57 2018 -0800"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Feb 22 16:04:57 2018 -0800"
      },
      "message": "Rename getLayerState and getDisplayState functions.\n\nBoth getLayerStateLocked and getDisplayStateLocked are named incorrectly\nsince they do not require a lock to be held when called. Rename to avoid\nconfusion.\n\nTest: Builds and runs\nChange-Id: Ia0a98fc4c1994ecc131c783fea478e3e7075044d\n"
    },
    {
      "commit": "5035f9c78a3b2f3ff05566975a3621bc45a6ac08",
      "tree": "5b71be4740e63deda5d961599ace4460aedd3598",
      "parents": [
        "a81c4728c85307b9d49c77316caea7f9f48422d3",
        "ca27f2500cff74ae1e08b3ae06f18e9b3414ffb7"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Wed Feb 14 16:31:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 16:31:36 2018 +0000"
      },
      "message": "Merge \"Allow destroySurface to get called in transaction.\""
    },
    {
      "commit": "ca27f2500cff74ae1e08b3ae06f18e9b3414ffb7",
      "tree": "e98990b6977ea6fa7ae3b5e5683da4922c492901",
      "parents": [
        "e9e63913379f9cea3e090ebf398514f437e5d525"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Tue Feb 06 16:46:39 2018 -0800"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Tue Feb 13 16:30:10 2018 -0800"
      },
      "message": "Allow destroySurface to get called in transaction.\n\nPreviously, destroy was always initiated immediatley and could not be\nsynchronized with a client transaction. This change allows\ndestroySurface to be called in the same transaction as other client\nstate updates.\n\nTest: Unit tests pass\nTest: Call from Java fixes bugs.\nChange-Id: I841359530538961a0187216cc455cc388c0ede77\nFixes: 72953020\nFixes: 71499373\n"
    },
    {
      "commit": "22029508934659a51c6345b6c01da386f6006ec2",
      "tree": "6f14acdcaa4c74b0857825221ba16b6c85ef2eca",
      "parents": [
        "a2a27b2679bcfd204090a89234e9751eafe23231"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Feb 12 22:26:05 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Feb 13 15:16:38 2018 -0800"
      },
      "message": "Support BufferHub-backed IGBP in libgui_test\n\nUse gtest\u0027s TestWithParam tests to support testing both BufferQueue\nbackend and BufferHub backend. Testing against BufferHub backend is\ngated by USE_BUFFER_HUB_AS_BUFFER_QUEUE build time flag, so that build\ntargets don\u0027t support BufferHub won\u0027t be impacted by this test.\n\nKnown issues:\nb/36724099: Add support for BufferHubProducer::setAsyncMode(true)\nb/38137191: Implement BufferHubProducer::detachBuffer\nb/69981968: Implement BufferHubProducer::attachBuffer\nb/70041889: BufferHubProducer need to support metadata: numPendingBuffers\nb/70041952: BufferHubProducer need to support metadata: nextFrameNumber\nb/73267953: Make BufferHub hornor producer and consumer connection\n\nBug: 68733388\nBug: 70046255\nBug: 73160000\nTest: libgui_test\nChange-Id: I35631762781a622cabb0fba7302d18fb983dde40\n"
    },
    {
      "commit": "a2a27b2679bcfd204090a89234e9751eafe23231",
      "tree": "33e03d3f01817cd4453f0c2ddef81c7241a7ff08",
      "parents": [
        "dc82be74c578c982d1ca8dcbbdbf2fe24f00f94d"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Feb 07 17:29:56 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Feb 13 15:16:16 2018 -0800"
      },
      "message": "Add BufferHub-based IGBC implementation\n\nThis is mostly a placeholder to create an IGBC/IGBP pair based on\nBufferHub for testing purpose. A fully functional implementation will be\nfilled in later.\n\nBug: 72972441\nBug: 70046255\nTest: libgui_test\nChange-Id: I2215bd78da1d0104f2cbb9599f874c810898be56\n"
    },
    {
      "commit": "dc82be74c578c982d1ca8dcbbdbf2fe24f00f94d",
      "tree": "779d95b576a40ad10ba5715435bcd262f11b1be1",
      "parents": [
        "c90a77f1e5b42d8fcf336d2b9bd2259280814df2"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Feb 08 21:28:22 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Feb 13 13:18:55 2018 -0800"
      },
      "message": "Move clang warnings override out of libgui\n\nThese clang warnings overrides were introduced to mute warnings brought\nin from bufferhub and its dependencies. A better way to handle this is\nto mute those warnings in BufferHub headers and keep libgui free from\nthose overrides.\n\nBug: 72172820\nTest: Build system\nChange-Id: I7d8aa233ceeef353a7db2c43431ae64360c668b1\n"
    },
    {
      "commit": "c90a77f1e5b42d8fcf336d2b9bd2259280814df2",
      "tree": "e919c1e50e1c0e2b87cac01690db508873a50004",
      "parents": [
        "5a8f0d49f9ab6105a975741ff31c681f2db63d35"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Sun Jan 14 15:42:29 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Feb 13 13:18:17 2018 -0800"
      },
      "message": "Add BufferHub backend for android::view::Surface\n\nThis CL allows BufferHubProducer to be used as alternative backend of\nparcelable Surface.\n\nWhen sent over binder, BufferHubProducer serializes itself differently\nfrom Binder-based IGBP objects. Instead of writing to a Parcel object as\nstrong binder object, BufferHubProducer asks libbufferhubqueue to\ngenerate a BufferHubQueueParcelable object (which packs all the FDs\nrepresenting the BufferHub channel).\n\nWhen received from a binder interface, BufferHubProducer object can be\nreconstructed from the BufferHubQueueParcelable object. The newly\nconstructed object has all the FDs (i.e. UDS channels) directly\nconnected to bufferhubd. Thus, on going buffer transport operations can\nhappen directly between the receiving process and bufferhubd. This\nelimates one extra binder hop.\n\nBug: 37517761\nBug: 70046255\nTest: libgui_test, buffer_transport_benchmark,\n      buffer_hub_queue_producer-test, dvr_api-test,\n      SurfaceParcelable_test\nChange-Id: I78bd879f36d3196f3d74c76c79d27467740792f7\n"
    },
    {
      "commit": "dbd961590b9b49e4fbf9cb9b868c7a4323be3517",
      "tree": "d3022683c1ebfe33de97ddb1e1cc24eb6999cb9d",
      "parents": [
        "a8cbd47495b4bbf8977388d371ae9e3a71652639"
      ],
      "author": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Thu Feb 08 14:22:53 2018 -0800"
      },
      "committer": {
        "name": "Yiwei Zhang",
        "email": "zzyiwei@google.com",
        "time": "Thu Feb 08 14:42:38 2018 -0800"
      },
      "message": "swapchain: add query for MaxBufferCount\n\nThe current vkCreateSwapchainKHR use the hard coded maxImageCount from\nGetPhysicalDeviceSurfaceCapabilitiesKHR, which results in possible\nconflicts with the maxBufferCount set by BufferQueueConsumer. Thus add\na query to grab the consumer set maxBufferCount into maxImageCount of\nsurface capability.\n\nTest: adb shell setprop debug.hwui.renderer skiavk\nTest: open Play store search and click on apps\nBug: b/71894146\nChange-Id: Iba75d977b13a849b62e6c4f259f7ca519ac26db8\n"
    },
    {
      "commit": "b0056e9f9fdcd9058df532b0dcfb313263d9eeff",
      "tree": "ce51a6fbf984e4506ce7e362f08b6018724feb57",
      "parents": [
        "2bd24505389f34d3f618727591b3cf2846b35b09",
        "654f87b3c2b6777ecf53587dba10ecaaacbe3f4e"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Feb 08 17:33:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 08 17:33:49 2018 +0000"
      },
      "message": "Merge \"[NDK] Expose NDK API to set buffers data space for P.\""
    },
    {
      "commit": "654f87b3c2b6777ecf53587dba10ecaaacbe3f4e",
      "tree": "fa0ebc35ff64e5edcc2581a03e6a4e3cba040547",
      "parents": [
        "eb7bdbcb5d15b19a38dc726968f4e4b59b8080e1"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Jan 30 14:21:33 2018 -0800"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Wed Feb 07 17:13:00 2018 -0800"
      },
      "message": "[NDK] Expose NDK API to set buffers data space for P.\n\nPreviously, ANativeWindow_setBuffersDataSpace is only available in VNDK. This\npatch exposes it in NDK so that display mode for NativeWindow buffer can be set\nthrough NDK. The API will remain available in VNDK of NativeWindow since VNDK\nis the super set of NDK.\n\nBUG: 62482961\nTest: bit CtsGraphicsTestCases:.ANativeWindowTest\nChange-Id: I576c4b87296e168d4b7360c437a32bbbbff690a5\n"
    },
    {
      "commit": "1dbf0e3b2fd19581657ec4e7fadb93a5b81f297e",
      "tree": "4022c1abcdb24a1889367280cb67ad224e2f589f",
      "parents": [
        "989fc50a1a52c57c218c9ccc681847c6c120d892"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Feb 07 14:40:08 2018 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Feb 07 14:51:32 2018 -0800"
      },
      "message": "libgui: fix a race in BufferQueueProducer::allocateBuffers\n\nBug: 72902195\nTest: boots\nChange-Id: I2edb2420c1b909ed91ccae8179fc413b6828d2cb\n"
    },
    {
      "commit": "037f35aea612c0b4f3976e9e27cf68a0b8913e2f",
      "tree": "81da8db92b7f2581167da28d36c90961cca96790",
      "parents": [
        "0d3890a91fcc9e3c7c37c252294a6480c2638d30"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Jan 25 19:40:23 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Feb 01 17:19:00 2018 -0800"
      },
      "message": "Build libbufferhubqueue and libpdx_default_transport as shared library\n\nNow that we are moving BufferHub into libgui, these two libraries are\nbeing linked into libgui.so and libdvr.so respectively as static\nlib. This is cauing issues when a binary/app depends on both, i.e. two\ncopies of the static lib will live in the same binary. We can avoid this\nissue by building these two as shared library.\n\nTest: Build system\nBug: 72763929\nChange-Id: I26ba18f2b84d43cbd62b26dbb9ee0574c2974f7d\n"
    },
    {
      "commit": "0b26710528eb69f3883f295f3e6146e6466fd082",
      "tree": "c576cb43ac8109983131874f18057124b386d99e",
      "parents": [
        "246bd9b6ab1e7c07d5779e325dd35c4c82745380"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jan 29 16:39:21 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jan 29 17:53:43 2018 +0100"
      },
      "message": "Fix issue with Surface loss\n\nSome remote animations didn\u0027t use all surfaces, meaning that these\nbecame unreachable objects in the object tree, meaning that they\nwe\u0027re finalized during the animation, causing the leash to be\ndestroyed in SurfaceFlinger, causing to suffering because the\nAWT surface got released, meaning that we can never allocate the\nmain windows Surface anymore.\n\nFix this by not releasing surfaces that you don\u0027t own.\n\nTest: go/wm-smoke\nTest: Notification launch animation over app\nChange-Id: Ia99b4e814bfb286ae1d3639c525fc8f6c42c0e0f\nFixes: No bug yet, but expect to have a chaselist bug soon!\n"
    },
    {
      "commit": "5c6e46353676b4fd647317fde28c413d8ffe3565",
      "tree": "7dfd0f945db8ab01ab1ebfd7cfa4079a04a6c58b",
      "parents": [
        "131d3760a0437fac08ff4cc384640b7ca1802d17"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Jan 11 08:54:38 2018 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Jan 22 12:18:24 2018 -0800"
      },
      "message": "surfaceflinger: always advertise HDR10 when wide color is available\n\nFor HWC that already adversises HDR10 support, this has no effect.\nOtherwise, SurfaceFlinger will insert HDR10 into HdrCapabilities\nwhen wide color is supported.\n\nSurfaceFlinger simulates HDR10 support by switching the color mode\nto DISPLAY_P3 and forcing client composition for HDR10 layers.  It\nalso has a special path to treat RGBA_1010102/BT2020_PQ as\nY410/BT2020_PQ in RenderEngine when the buffer is from media.\n\nTest: manual\nChange-Id: Ib5f18e0100f5610ee65218108bdb9843baccbe98\n"
    },
    {
      "commit": "5e92144cbd03008636016d543d5ae620e9b2f65a",
      "tree": "a5e1a07ba471444c58825dd393a0d3d32d229456",
      "parents": [
        "b984999cfcb9f600403e4730eb7bba1870c4b724"
      ],
      "author": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Fri Jan 19 13:43:43 2018 -0800"
      },
      "committer": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Fri Jan 19 14:12:33 2018 -0800"
      },
      "message": "Fix integer overflow in libgui_test Surface_test\n\nInteger overflow now causes abort (aosp/589659, aosp/589605), causing libgui_test to\nfail one of the compositor tests.\nBug: 72229624\nTest: adb shell /data/nativetest/libgui_test/libgui_test \\\n\t--gtest_filter\u003dGetFrameTimestampsTest.CompositorTimingUpdatesBasic\nChange-Id: I91c77ba53e5ed74034884c8e144e3c3198458aa5\n"
    },
    {
      "commit": "9a6ddf78e1920a0f467bd38de1835746c6f4c3ca",
      "tree": "23d65ae1f48df3de25d524b1a4b5c21ab085e7d2",
      "parents": [
        "0f950843530825907f8311b199b01c32899c2c92"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Jan 18 14:37:24 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Jan 18 17:37:00 2018 -0800"
      },
      "message": "Update BufferHubProducer style to match libgui\n\nBug: 72051005\nBug: 70046255\nTest: libgui-test, buffer_hub_queue_producer-test, dvr_api-test\nChange-Id: I0e0d853a2ba633926e490ff22922c1dd90860257\n"
    },
    {
      "commit": "0f950843530825907f8311b199b01c32899c2c92",
      "tree": "55efe00c9de3a1a723868628646ccfaa93c4d14f",
      "parents": [
        "2b6e2ef2695d44abb6a37e3c35872894c82e5cd1"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Jan 16 17:05:54 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Jan 18 17:36:28 2018 -0800"
      },
      "message": "Move BufferHub-based IGBP into libgui\n\nCurrently the BufferHub based IGBP implementation lives inside\nframeworks/libs/vr and libbufferhubqueue is depending on libgui. This CL\nreverses the dependency and paves the way of future integration of\nBufferHub into libgui.\n\nMirrors changes to make this work:\n1/ Fix shared lib dependency of libpdx\n2/ Allow implicit template instantiation in libgui\n3/ Mute clang warnings caused by libpdx\n\nBug: 72051005\nBug: 70046255\nTest: libgui-test, buffer_hub_queue_producer-test, dvr_api-test\nChange-Id: I7541498f78aaeb4b15fc6cb6439a2e2d706b9e99\n"
    },
    {
      "commit": "9bad0d7e726e6b264c528a3dd13d0c58fd92c0e1",
      "tree": "54e7e08b63095230ab9b146c1b1882b3ad7fa15f",
      "parents": [
        "e85d368c4e61b2b8a860d833d28d85e2922396f8"
      ],
      "author": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Tue Dec 19 12:34:34 2017 -0700"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Jan 04 13:01:35 2018 -0800"
      },
      "message": "Add plumbing for HDR metadata\n\nAllow a ANativeWindow client to send HDR metadata to SurfaceFlinger.\nThe metadata can be queried with\nBufferLayerConsumer::getCurrentHdrMetadata.\n\nWritten by Courtney.  Updated by olv@.\n\nBug: 63710530\nTest: builds\nChange-Id: I23192d4750950664b57863a533bffd72397255b4\n"
    },
    {
      "commit": "96da46497ce8b3ccdbd4e9ba4eca1c768e2d5d66",
      "tree": "2bfa67180fdd1c270e3aca64c9e7e38e52f99290",
      "parents": [
        "8b61b0614e80b288837f7ed14153f5ee1615389a",
        "99c514e0803cde4c8b0d5f4ebd599622e5566d7a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 14 01:45:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 14 01:45:43 2017 +0000"
      },
      "message": "Merge \"libgui is private VNDK\""
    },
    {
      "commit": "f49c189d6b20a1c72d0079b418b7050e0a9a1ef2",
      "tree": "01c0d5c863eec3718cf81f65a3ad930be7b213c4",
      "parents": [
        "577c896102ebb13f9496a94674b4ca9cd15fe0ad",
        "93b122f4aa6d169939909335fc7e457b03175000"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Dec 11 19:06:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 11 19:06:42 2017 +0000"
      },
      "message": "Merge changes from topic \"sf-re-2\"\n\n* changes:\n  libgui: add a helper for GLConsumer::getCurrentCrop\n  libgui: use mat4 in GLConsumer\n  libgui: remove unused GLConsumer methods\n  libgui: add more IGBC wrappers to ConsumerBase\n  libgui: tidy up CpuConsumer\n  libgui: fix and clean up CpuConsumer::unlockBuffer\n  libgui: fix a race in CpuConsumer::lockNextBuffer\n  libgui: add helper to initialize CpuConsumer::LockedBuffer\n  libgui: add helper to find CpuConsumer::AcquiredBuffer\n"
    },
    {
      "commit": "ee5d8240ec50df8910fcddc56df360df7a76c0dc",
      "tree": "c0bbe6af4481dc21fc85aa2082f83fb172e460a9",
      "parents": [
        "829233aaa451ddd8154aa82a1ad5192a7fc1ab99"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Fri Dec 08 14:39:16 2017 -0800"
      },
      "committer": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Fri Dec 08 14:40:50 2017 -0800"
      },
      "message": "gui: Remove unnecessary FrameEventHistoryDelta warning.\n\nBug: 66428761\nTest: N/A\nChange-Id: I1f6849542035ea87529328c22342932e25994b66\n"
    },
    {
      "commit": "93b122f4aa6d169939909335fc7e457b03175000",
      "tree": "8472e9318294899db01820c5eccd294e3c6f47c8",
      "parents": [
        "3bd03ff57f775082e35ce54619a8686732d35430"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 01 08:51:39 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 14:19:15 2017 -0800"
      },
      "message": "libgui: add a helper for GLConsumer::getCurrentCrop\n\nAdd static GLConsumer::scaleDownCrop for use with\nNATIVE_WINDOW_SCALING_MODE_SCALE_CROP.  This also allows it to be\ncalled from other consumers.\n\nTest: libgui_test\nChange-Id: I2b5f7d14038b36709b52991b7b7e9379117b708b\n"
    },
    {
      "commit": "3bd03ff57f775082e35ce54619a8686732d35430",
      "tree": "696cfdc2ba4bfe45a6e5cf3e152117bdce154b00",
      "parents": [
        "f10b05c6e305564da77e630990c063c1855d87db"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Nov 17 12:04:57 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 14:14:23 2017 -0800"
      },
      "message": "libgui: use mat4 in GLConsumer\n\nTest: libgui_test\nChange-Id: I96e105b5adf123f26f6683ef2febd2f4d0cc1a40\n"
    },
    {
      "commit": "f10b05c6e305564da77e630990c063c1855d87db",
      "tree": "12952f45f6aa004706459b980ff98947e987c13d",
      "parents": [
        "a81bc4975941bff8dbfcb858627dfcd01250c1ed"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Nov 17 15:55:16 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 14:11:37 2017 -0800"
      },
      "message": "libgui: remove unused GLConsumer methods\n\ndoGLFenceWait has no user since commit 97eba89.  isExternalFormat\nhas no user since commit 1f8e09f.\n\nTest: builds\nChange-Id: I9ea788e9411f2bcf1fcdfb1b1113d6c7cec186b7\n"
    },
    {
      "commit": "a81bc4975941bff8dbfcb858627dfcd01250c1ed",
      "tree": "fc3d502372f53fc1866fe1473051663e9ea3c510",
      "parents": [
        "0530f87f62c8d2b483657427a4f7129500d8fa8d"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Mon Nov 27 10:16:00 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 14:11:24 2017 -0800"
      },
      "message": "libgui: add more IGBC wrappers to ConsumerBase\n\nAdd\n\n  ConsumerBase::setName\n  ConsumerBase::setConsumerUsageBits\n  ConsumerBase::setTransformHint\n  ConsumerBase::setMaxAcquiredBufferCount\n  ConsumerBase::getSidebandStream\n\nand remove\n\n  BufferItemConsumer::setName\n  CpuConsumer::setName\n  GLConsumer::setName\n  GLConsumer::setDefaultBufferFormat\n  GLConsumer::setDefaultBufferDataSpace\n  GLConsumer::setTransformHint\n  GLConsumer::setMaxAcquiredBufferCount\n  SurfaceFlingerConsumer::getSidebandStream\n\nat the same time.\n\nTest: libgui_test\nChange-Id: I0b81b7759d6d5a7a89eefdfe95440b262e7fa424\n"
    },
    {
      "commit": "0530f87f62c8d2b483657427a4f7129500d8fa8d",
      "tree": "d7a47354fb89ff7a6d4988a1b2a7e5caa88570ee",
      "parents": [
        "924454f555f0cf3fbef2b5139d398de0e2568567"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Nov 16 14:13:38 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 14:08:16 2017 -0800"
      },
      "message": "libgui: tidy up CpuConsumer\n\nRemove unnecessary freeBufferLocked and destructor.\n\nTest: libgui_test\nChange-Id: Ifc81f72a2f9c0deca97294f6b2977bd150430f7c\n"
    },
    {
      "commit": "924454f555f0cf3fbef2b5139d398de0e2568567",
      "tree": "d5569fbe53b5bb873000d0a58d30b29be6095e72",
      "parents": [
        "96ad8222f300c4dd918a15192a8a9c1c4c6fd834"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Nov 16 14:30:28 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 14:08:16 2017 -0800"
      },
      "message": "libgui: fix and clean up CpuConsumer::unlockBuffer\n\naddReleaseFenceLocked should be called with\nAcquiredBuffer::mGraphicBuffer, not the one in ConsumerBase::mSlots.\nOtherwise, it breaks ConsumerBase::stillTracking.\n\nAlso thanks to stillTracking, we don\u0027t need to do the tracking\nmanually.\n\nTest: libgui_test\nChange-Id: Ib69b88263c4619634ae2977b9f811be5a846f446\n"
    },
    {
      "commit": "96ad8222f300c4dd918a15192a8a9c1c4c6fd834",
      "tree": "a24e3f47b2a847a712bcced05e6304cf835fa3cb",
      "parents": [
        "7e7256ee0955cb3b93fe40efd4e7627e5a549210"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Nov 16 15:41:45 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 14:08:16 2017 -0800"
      },
      "message": "libgui: fix a race in CpuConsumer::lockNextBuffer\n\nmCurrentLockedBuffers must be accessed with the mutex.  Constify\nmMaxLockedBuffers as well for clarity.\n\nTest: libgui_test\nChange-Id: I7c40d135bcf2aa6a90ecff74d6d8107fc530e815\n"
    },
    {
      "commit": "7e7256ee0955cb3b93fe40efd4e7627e5a549210",
      "tree": "6a41b51206c28c0377a2e18919643c308c22ba8e",
      "parents": [
        "cacfcc669e978964cc8c4cd42ada3677c54b74c3"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Nov 16 15:15:26 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 13:59:27 2017 -0800"
      },
      "message": "libgui: add helper to initialize CpuConsumer::LockedBuffer\n\nAdd CpuConsumer::lockBufferItem to lock a BufferItem and initialize\na LockedBuffer.\n\nTest: libgui_test\nChange-Id: I85fcc80acfc437d1f02d2310fbe194f1f0b98e7f\n"
    },
    {
      "commit": "cacfcc669e978964cc8c4cd42ada3677c54b74c3",
      "tree": "0dcdbe6a067436b4897f8bad955eef6b0fbeb4b7",
      "parents": [
        "e3362a79fd92ce4ea358a506f3dc90eb38f3105a"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Nov 16 14:54:07 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Dec 08 13:59:27 2017 -0800"
      },
      "message": "libgui: add helper to find CpuConsumer::AcquiredBuffer\n\nAdd CpuConsumer::findAcquiredBufferLocked.  Rename mBufferPointer to\nmLockedBufferId.\n\nThis also fixes a nullptr-dereference when unlockBuffer is called\nwith a LockedBuffer whose data is nullptr.\n\nTest: libgui_test\nChange-Id: I36c665099f145731197a6ff8ab940c5d7a326df8\n"
    },
    {
      "commit": "99c514e0803cde4c8b0d5f4ebd599622e5566d7a",
      "tree": "c6b91eb1dfefece7b19537c4428f44e470ff5839",
      "parents": [
        "30fab9d1dda067be64c7b597be2842e5e94ea727"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Nov 17 19:09:31 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 07 19:11:50 2017 +0900"
      },
      "message": "libgui is private VNDK\n\nlibgui is not allowed to vendor libraries but only to other VNDK libs.\n\nBug: 38298593\nTest: build walleye\nChange-Id: I0253762a0445e57ade231b6807088ac5810c2f39\n"
    },
    {
      "commit": "1eaa10357344343b91d242a7ea774cc23beeab74",
      "tree": "365a0ab6b375415e9afa5d0138b5ff0b6a7321af",
      "parents": [
        "5d95727816f7660c86c329a15a7af398c3d94f29",
        "f3cf4bcfa2c558f03e178f7044d3cb12fa0e73ed"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Dec 05 15:41:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 05 15:41:05 2017 +0000"
      },
      "message": "Merge \"Make SurfaceControl parcelable (2/2)\""
    },
    {
      "commit": "f3cf4bcfa2c558f03e178f7044d3cb12fa0e73ed",
      "tree": "7acae449c6f8d846088e0d5bbeee27c45d7776c4",
      "parents": [
        "a391ebe98e953a1209e1ba75baca4c8e46b69ae9"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Nov 30 14:19:23 2017 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Dec 05 14:50:42 2017 +0100"
      },
      "message": "Make SurfaceControl parcelable (2/2)\n\nBug: 69145041\nTest: Send SurfaceControl over binder\nChange-Id: I47aa4a4bb39fab3ed4d1d30d4e472de7cbc5ca38\n"
    },
    {
      "commit": "1801d27b35c6f4be1ca606b443576291df6bfede",
      "tree": "67bf8121f4115c3d402a45ccf38b86ffcdd35748",
      "parents": [
        "a391ebe98e953a1209e1ba75baca4c8e46b69ae9",
        "40482ff650751819d4104c10a30974838168438c"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Mon Dec 04 17:10:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 04 17:10:20 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use GraphicBuffer instead of GBP for screenshots.\"\"\""
    },
    {
      "commit": "59182e5430d04402c03fcca41ad328d8b468d80d",
      "tree": "4fb4909623f8d0d4f116a439a56f1383343e09d0",
      "parents": [
        "c5aad50b5ee8e9a0f5e86e1eaf040ecf369a819a",
        "b027f805c9a18893556353f44008683e20ebe049"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Thu Nov 30 02:59:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 30 02:59:10 2017 +0000"
      },
      "message": "Merge changes from topic \"sf-re\"\n\n* changes:\n  surfaceflinger: run clang-format on RenderEngine\n  surfaceflinger: remove all direct use of EGL\n  surfaceflinger: use RE::Surface in DisplayDevice\n  surfaceflinger: add surface abstraction to RE\n  surfaceflinger: remove DisplayDevice::swapRegion\n  surfaceflinger: remove DisplayDevice::mFlags\n  surfaceflinger: remove unused EGL data members\n  surfaceflinger: remove EGLConfig from DisplayDevice ctor\n  surfaceflinger: add RenderEngine::BindNativeBufferAsFramebuffer\n  surfaceflinger: return fence fd from RenderEngine::flush\n  surfaceflinger: add RenderEngine::setCurrentSurface\n  surfaceflinger: move EGL version/extensions dump into RE\n  surfaceflinger: move EGL termination into RE\n  surfaceflinger: move EGL initialization into RE\n  surfaceflinger: add RenderEngine::mEGLDisplay\n  surfaceflinger: manage RenderEngine with unique_ptr\n"
    },
    {
      "commit": "40482ff650751819d4104c10a30974838168438c",
      "tree": "fdd8c0edc62057626612151709d3deb6c11faafd",
      "parents": [
        "707b8f3507fa4a3915844c7a4730e67f94eee2f7"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Thu Nov 30 01:51:40 2017 +0000"
      },
      "committer": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Thu Nov 30 01:51:40 2017 +0000"
      },
      "message": "Revert \"Revert \"Use GraphicBuffer instead of GBP for screenshots.\"\"\n\nThis reverts commit 707b8f3507fa4a3915844c7a4730e67f94eee2f7.\n\nReason for revert: Ready to test out changes with SystemUI update\n\nChange-Id: I9fd0cb7ad9cc68d2366fc5ec4ab087fbe4c21f3b\n"
    },
    {
      "commit": "1e24ccebeeb6798afce2730a120abcf9927960fa",
      "tree": "fadaedd30f8b1c96628d19691a6a4a2ba8aced49",
      "parents": [
        "f846a35a68f14b0eca45e3cd7c6d3ca88a57fe52"
      ],
      "author": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Fri Nov 10 10:36:01 2017 -0800"
      },
      "committer": {
        "name": "Chia-I Wu",
        "email": "olv@google.com",
        "time": "Wed Nov 29 14:03:13 2017 -0800"
      },
      "message": "surfaceflinger: remove all direct use of EGL\n\nSurfaceFlinger now uses EGL/GLES only indirectly through\nRenderEngine and GLConsumer.\n\nTest: SurfaceFlinger_test\nChange-Id: I78418b00168b79594979212eb488f530e738498d\n"
    },
    {
      "commit": "707b8f3507fa4a3915844c7a4730e67f94eee2f7",
      "tree": "26e0a903d2a3c539cf18c4a3e801fa4bd3bbad62",
      "parents": [
        "a252d895816b3aa6c3bc2b2083113694ead6963d"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Wed Nov 29 21:25:51 2017 +0000"
      },
      "committer": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Wed Nov 29 21:38:36 2017 +0000"
      },
      "message": "Revert \"Use GraphicBuffer instead of GBP for screenshots.\"\n\nThis reverts commit a252d895816b3aa6c3bc2b2083113694ead6963d.\n\nReason for revert: SystemUI and some other places need to be updated as well. Will resubmit with the other necessary changes\n\nChange-Id: I2dfb7b439c866f31ffa584e450d3208c75afecaa\nBug: 69898957\n"
    },
    {
      "commit": "a252d895816b3aa6c3bc2b2083113694ead6963d",
      "tree": "fdd8c0edc62057626612151709d3deb6c11faafd",
      "parents": [
        "503b79e3db0d6dce40ea0a8e17bbffd6f6176123"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Mon Nov 20 17:54:25 2017 -0800"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Tue Nov 28 15:22:00 2017 -0800"
      },
      "message": "Use GraphicBuffer instead of GBP for screenshots.\n\nMigrate screenshot code to render the layers into a\nGraphicBuffer instead of creating a GraphicBufferProducer. This cleans\nup the code and makes rendering a screen capture simpler and clearer.\n\nTest: Screencaptures for Recents, manual screenshots, and \"adb shell\nscreencap\"\nTest: Transaction_test\n\nChange-Id: Ifb463c0e98cfaa3f96ad27837b1a2e2921e253d1\n"
    },
    {
      "commit": "7206d49b2963ce2e926a5f25fe94aca9c06471e6",
      "tree": "e367f2b65cc3dfe972908a6b2f4cba04b79c8345",
      "parents": [
        "3d04ada8cde8f1dec2790fa0018c07e584dc59bf"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Fri Nov 10 16:16:12 2017 -0800"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Mon Nov 27 15:05:00 2017 -0800"
      },
      "message": "Add additional parameters for the captureLayer functions.\n\n1. Added new captureLayers function that will return a GraphicBuffer\ninstead of storing into a Surface.\n2. Added crop to captureLayers function.\n3. Added frameScale to allow captures to scale.\n4. Removed rotation parameter from captureLayers since it will always be\nin the correct orientation.\n\nTest: Transaction_test ScreenCaptureTest.CaptureCrop, .CaptureSize\n\nChange-Id: Ib16d8575cf0c103126b9427ad32e2d28d568ea61\n"
    },
    {
      "commit": "2c5f6d2257075c8b5ced78b07ed8b2c2323f0df2",
      "tree": "807a15f1ccabd59c0fb94d770da0332f8f6304be",
      "parents": [
        "026bb7e036acdeb32e2a1d6bcd90f7031299aee5"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Tue Sep 26 12:30:35 2017 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Mon Oct 30 17:02:27 2017 -0700"
      },
      "message": "SurfaceFlinger: Implement merging of transaction objects.\n\nUseful for WindowManager to collect multiple transactions\nfrom independent units.\n\nTest: Transaction_test.cpp\nChange-Id: I52e89b038e3b375493169991e41cb75b67550264\n"
    },
    {
      "commit": "a76b271f0e14325fa0ebb98e1cac0a15adfea1cb",
      "tree": "e13158ef19eed46d32d6a0984da3fe1645206fe6",
      "parents": [
        "cd8ad33289b74243e21a776a5a9170c845d990c4"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Sep 20 12:02:26 2017 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Oct 26 17:39:24 2017 -0700"
      },
      "message": "Add captureLayers function to capture a layer and its children.\n\nThe captureLayers function gets a root layer as its argument.\nIt will capture the content for that layer and its descendants. The\ncapture will set the root layer\u0027s transform back to (0, 0).\n\nTest: Transaction_test ScreenCaptureTest\nChange-Id: I84fb66a65cd91434cddc99506b1924cf9f950935\n"
    },
    {
      "commit": "a039340cacb0621c9bae44d5efd52aa50e71becc",
      "tree": "befb75711996d0f72845f2b85c2ce3b68b7991c6",
      "parents": [
        "ab5e67a5528555da0f9c3bde8b8bbd2bc38838d2",
        "6d560a52fceb9a8efc20f9a8b80e72558a1b2d3f"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sun Oct 15 06:16:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 06:16:22 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/native/libs/gui and ui\" am: c4ebf5bbab am: 3a566dd1e1 am: 14ac77cd1e\nam: 6d560a52fc\n\nChange-Id: I6b612a1fff0da31b16c1121d0f3d08abf407336c\n"
    },
    {
      "commit": "6d560a52fceb9a8efc20f9a8b80e72558a1b2d3f",
      "tree": "09ac92840202aad6f879b3031803d6df53a439be",
      "parents": [
        "3db6b7db327cb84035de136559ecf6b299723b94",
        "14ac77cd1e6b002db0f3873959004bdc6cdb3deb"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sun Oct 15 04:23:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 04:23:05 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/native/libs/gui and ui\" am: c4ebf5bbab am: 3a566dd1e1\nam: 14ac77cd1e\n\nChange-Id: I529db9786afca459da51ec886f7e672743038bb9\n"
    },
    {
      "commit": "3a566dd1e145353e6acc639f5862e098762bee0c",
      "tree": "02bdb38fbced6eb6d691f09cf39d93e905efa884",
      "parents": [
        "b002413fafbe9b3f7bf63ffa15f0d0d10256210b",
        "c4ebf5bbab849840aae999044d0732ccdab98575"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Sun Oct 15 03:43:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 03:43:56 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/native/libs/gui and ui\"\nam: c4ebf5bbab\n\nChange-Id: Ia99830d3c2ffe68a05db21c56364f3fcd1965ac1\n"
    },
    {
      "commit": "d66be0ae6929fee064a229d6c6bac3a871aba137",
      "tree": "edf6df30381838963d504cc4e0e68a7ec8f515b9",
      "parents": [
        "afee092bee459332c8d577163794581c3128df4f"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Oct 05 13:51:32 2017 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 13 16:12:08 2017 -0700"
      },
      "message": "Use -Werror in frameworks/native/libs/gui and ui\n\n* Remove unused variable and function.\n* Suppress warning of unused return results.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: If6f445be1e7677a37bf780844a79b84d6d7e1c1e\n"
    },
    {
      "commit": "05f5697b419d289d3ec134d670dfea4b0a47155b",
      "tree": "f03b3358d50546cb3357e2abeb0b2e7b7f5b6dad",
      "parents": [
        "3ab6cf9d67803671a22830ce9c1ec0716e113a09",
        "6261e9737d5285e7763f72632e350a77f35925ba"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Thu Oct 12 00:57:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 00:57:29 2017 +0000"
      },
      "message": "Merge \"Merge fences when needed for accurate timestamps.\"\nam: 6261e9737d\n\nChange-Id: I1fbb520f11ad2817fd10b4138a6767bbd8e15462\n"
    },
    {
      "commit": "bf8f508cd3d42b78a3e503ce3203b908444f92e6",
      "tree": "7c6d527aa3d64fc4b62241c765d5d4d104a74a6e",
      "parents": [
        "6cfabaeb66753867751864ca97398bfea89faa09"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Tue Aug 08 16:31:37 2017 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Oct 11 16:21:22 2017 -0700"
      },
      "message": "Merge fences when needed for accurate timestamps.\n\nThere\u0027s an optimization in ConsumerBase that checks the status\nof the current fence before merging it with a new fence. If\nthe current fence has already signaled, then it just picks up\nthe new fence without merging.\n\nUnfortunately, if the new fence is already signaled too, then\nit\u0027s possible that it signaled long before the current fence,\nwhich can result in an inaccurate timestamp with the current\nlogic.\n\nThe new logic merges the fences when the statuses of the current\nand new fences are the same. If they differ, then it takes the\nunsignaled fence.\n\nThis fixes the reads done timestamps in the GetFrameTimestamps\ndEQP tests so that they are always monotonic and always arrive\nafter rendering completes.\n\nTest: --deqp-case\u003ddEQP-EGL*get_frame_timestamps*\nBug: 37513882\n\nChange-Id: I345e48aae0fbb3c28c2f2c0dc035e6b0fa70df43\n(cherry picked from commit 7b097e2e3d9dd9444916ddf77d75ca394e6b753e)\n(cherry picked from commit bc52c7039cc89e5cb14a8ee48fabfc70a96c0c89)\n"
    },
    {
      "commit": "4cdc58f6840d15b4952149d2b345ec1f97d505bc",
      "tree": "33427f28bf11a635036f582ac94384ac57ce7fcf",
      "parents": [
        "049c1147a12684a6f95c6d8b326dc29208908d14"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Aug 23 14:22:20 2017 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Oct 11 14:31:20 2017 -0700"
      },
      "message": "SurfaceFlinger Transactions as distinct objects.\n\nEssentially a process global singleton for transactions is not so useful once\nwe make surface control public API as process isn\u0027t something an app developer\nis really thinking about. It\u0027s also nice that we get to delete two of the plumbing layers.\n\nTest: Boots\nChange-Id: I8864bd7e2f5865e3c0a425cf82f9928211911774\n"
    },
    {
      "commit": "13fdc49516d17f41e64e62e73c313b0928bf13cc",
      "tree": "556fefa10d7612c1577cacf0d954715829b791a2",
      "parents": [
        "dda5d5d7914297adb42e251e8aadaece4dc3e65a"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Tue Jun 27 12:40:18 2017 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Sep 21 18:10:21 2017 -0700"
      },
      "message": "Added native functionality to create a color layer.\n\nAdded a new layer that can draw a specified color and specified\nalpha. This will replace creating a dim layer and allow any colors,\nnot just black, to be set for this layer.\n\nTest: Added tests to Transaction_test.cpp to test with a color\n      and a color layer with alpha.\n\nChange-Id: I00a38d1bbc01093026f088c3347454281bdc2b8c\n"
    },
    {
      "commit": "f1961f713de2b3f54c8ce7653964b969e1a02bc8",
      "tree": "00c1a633c54b33a445f8b498f11848ff03d07c0b",
      "parents": [
        "931dc01ad7c2d3eb1de276a7174cd55928d463aa"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Mon Sep 18 16:41:07 2017 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Sep 20 11:52:37 2017 -0700"
      },
      "message": "Re-parent invoked on child instead of on parent.\n\nThe function to re-parent an individual child is now invoked on\nthe child instead of the parent. This ensures the child ends up with\nthe last parent set if multiple reparent requests are made in the same\ntransaction.\nThis also allows adding a parent to a layer that didn\u0027t have one\npreviously.\n\nTest: Transaction_test -\u003e Reparent, ReparentToNoParent,\nReparentFromNoParent\n\nChange-Id: Idab429eb2dca5a4ae1b020a5a7629d719dd4d995\n"
    },
    {
      "commit": "261b90e385c33b2fa1444635e1ceff4c8455d258",
      "tree": "657f7a844a4663675a0f2543b8eb01592432ea16",
      "parents": [
        "5c34e4895c4f66a19901bd2d9d1eb6b9bcd623bd",
        "9a8ea13a26f8ddc1392943d606fd5282b1b33d87"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Wed Sep 20 08:55:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 20 08:55:03 2017 +0000"
      },
      "message": "Merge \"Mark libui and libgui as VNDK in Android.bp\"\nam: 9a8ea13a26\n\nChange-Id: I29a49ff5e51c3a20398a6e90f512fc5e22a896d0\n"
    },
    {
      "commit": "5c34e4895c4f66a19901bd2d9d1eb6b9bcd623bd",
      "tree": "d970bed69b4a7a25c62f3a7747deb8598dc9ad1c",
      "parents": [
        "29aa7b97f7895eaaa2559bedccb1057139428e59",
        "8007bdd7d229ca0befb580a63525d2eda604ffa7"
      ],
      "author": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Wed Sep 20 14:02:25 2017 +0900"
      },
      "committer": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Wed Sep 20 14:02:25 2017 +0900"
      },
      "message": "resolve merge conflicts of 8007bdd7d to stage-aosp-master\n\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: I728cde095a0b722ff64c0f7b0ef1df4b54cf1fbd\n"
    },
    {
      "commit": "4a0f40c713d4d6c4fd7cae344d959620fab44e23",
      "tree": "0d235c131883501332351e2614deebedf35672f4",
      "parents": [
        "8007bdd7d229ca0befb580a63525d2eda604ffa7"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Jul 24 15:19:45 2017 +0900"
      },
      "committer": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Wed Sep 20 03:19:36 2017 +0000"
      },
      "message": "Mark libui and libgui as VNDK in Android.bp\n\nAs a VNDK module, Android.bp must have \u0027vndk\u0027 tag as well as\n\u0027vendor_available: true\u0027.\n\nThe \u0027vndk\u0027 tag for VNDK module is formated as below:\nvndk: {\n    enabled: true,\n},\n\nVNDK modules will be installed both in system/lib(64) as normal and\nin system/lib(64)/vndk as a vendor variant.\n\nBug: 63866913\nTest: build and boot with BOARD_VNDK_VERSION\u003dcurrent\nMerged-In: Idf46c030e42a70c3b97a6d6a12a1087707fe7615\nChange-Id: Idf46c030e42a70c3b97a6d6a12a1087707fe7615\n(cherry picked from commit 71d6c885f8bbb2e43afc7a4dcd0204c11c9e9342)\n"
    },
    {
      "commit": "8d455e9f7cae3c73947a2054ce5c945ed1062783",
      "tree": "c4b24bab24ff0c9b37aebac4a3236b6eb71be445",
      "parents": [
        "f71878b87b50de7d80de05ef30bf85a892f999db"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Aug 10 20:30:56 2017 +0900"
      },
      "committer": {
        "name": "Jae Shin",
        "email": "jaeshin@google.com",
        "time": "Wed Sep 20 02:50:38 2017 +0000"
      },
      "message": "Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK\n\nThey are used by libRSDriver and libRS_internal which are VNDK-SP\nlibraries. Therefore, the EGL/GLES libs must be LLNDK or VNDK-SP. We\nchoose to make them as LLNDK since they already have stable ABIs (as\nthey are NDK).\n\nIn addition, two more functions of libEGL are exposed to vendors\n\neglQueryStringImplementationANDROID and eglDupNativeFenceFDANDROID are\nnon-NDK symbols but are being used by libgui, which is a library marked\nwith vendor_available:true. In order to provide the symbols to the\nlibrary, they are added to the map.txt file and tagged as \"# vndk\" so\nthat they are exposed only when built for vendor libs (and hidden when\nbuilt for NDK).\n\nFurthermore, eglQueryStringImplementationANDROID is changed to C-symbol\nin order to be mentioned in the map.txt file, where C++ mangled symbol\nname can\u0027t be used.\n\nBug: 64425518\nTest: BOARD_VNDK_VERSION\u003dcurrent m -j libRSDriver.vendor\nTest: BOARD_VNDK_VERSION\u003dcurrent m -j libRS_internal.vendor\nMerged-In: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1\nChange-Id: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1\n(cherry picked from commit 00b15b8f223976d016e16536e4720771ef634695)\n"
    },
    {
      "commit": "c4e88ef497ed4b268e39743f8f8465c13ee378d1",
      "tree": "ecd8d01e861a0c46f9a06a934a423c8254273174",
      "parents": [
        "ce4de54a66b7803c2fddbf2bdcbb3c85712469af"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jun 22 17:50:49 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Sep 06 14:58:59 2017 -0700"
      },
      "message": "libgui: export EGL headers.\n\nMany libgui headers use these headers so not exporting\nthese breaks BOARD_VNDK_VERSION\u003dcurrent builds.\n\nTest: headers resolved with BOARD_VNDK_VERSION\u003dcurrent\nChange-Id: I085faeda4f8ad8a07d91e81222b8031a0dd1858a\nMerged-In: I085faeda4f8ad8a07d91e81222b8031a0dd1858a\n"
    },
    {
      "commit": "ce4de54a66b7803c2fddbf2bdcbb3c85712469af",
      "tree": "c2982bd761edd3a26a411553ecfd45aece1c808a",
      "parents": [
        "6a790884c59b77bc3091d5198f3149cdbf1d4de8"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jun 21 12:14:18 2017 +0900"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Sep 06 11:02:02 2017 -0700"
      },
      "message": "Make libgui available to vendors\n\nlibgui is now available to vendors, especially for BufferQueue in\nbetween the OMX and Camera HALs for encoding the captured video stream.\n\nIn doing so, its headers were moved from frameworks/native/include to\nits local directory frameworks/native/libs/gui/include. This is required\nbecause global include path is not supported when building for vendor.\nHowever, in order not to affect platform modules that are still relying\non the global include path, symlinks are provided.\n\nframeworks/native/include/gui -\u003e frameworks/native/libs/include/gui\nframeworks/native/include/private/gui -\u003e\nframeworks/native/libs/include/private/gui\n\nBug: 37731063\nTest: BOARD_VNDK_VERSION\u003dcurrent m -j libgui.vendor\nChange-Id: I0bab8d2e31959085ad58b1ce4c610334ee3da033\nMerged-In: I0bab8d2e31959085ad58b1ce4c610334ee3da033\n"
    },
    {
      "commit": "c2cc8f714ddf482f6c155c0d0bd05c61cfa2dea7",
      "tree": "fd084bf9ec12303d9f347cf1d3775c396a552a1b",
      "parents": [
        "94ffdb29188bdefffa0d070eb9335f750ed1df72",
        "bc52c7039cc89e5cb14a8ee48fabfc70a96c0c89"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Wed Aug 30 23:53:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 30 23:53:44 2017 +0000"
      },
      "message": "Merge fences when needed for accurate timestamps.\nam: bc52c7039c\n\nChange-Id: Ib0e177944ec6a163a1572e91b04515d7e4536358\n"
    },
    {
      "commit": "bc52c7039cc89e5cb14a8ee48fabfc70a96c0c89",
      "tree": "e4e0cbd952e92b1469de65faec3534153ae10dff",
      "parents": [
        "3c18afcb3f1090af7d70b5ada8f66682c5838d48"
      ],
      "author": {
        "name": "Brian Anderson",
        "email": "brianderson@google.com",
        "time": "Tue Aug 08 16:31:37 2017 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Aug 30 19:51:04 2017 +0000"
      },
      "message": "Merge fences when needed for accurate timestamps.\n\nThere\u0027s an optimization in ConsumerBase that checks the status\nof the current fence before merging it with a new fence. If\nthe current fence has already signaled, then it just picks up\nthe new fence without merging.\n\nUnfortunately, if the new fence is already signaled too, then\nit\u0027s possible that it signaled long before the current fence,\nwhich can result in an inaccurate timestamp with the current\nlogic.\n\nThe new logic merges the fences when the statuses of the current\nand new fences are the same. If they differ, then it takes the\nunsignaled fence.\n\nThis fixes the reads done timestamps in the GetFrameTimestamps\ndEQP tests so that they are always monotonic and always arrive\nafter rendering completes.\n\nTest: --deqp-case\u003ddEQP-EGL*get_frame_timestamps*\nBug: 37513882\n\nChange-Id: I345e48aae0fbb3c28c2f2c0dc035e6b0fa70df43\n(cherry picked from commit 7b097e2e3d9dd9444916ddf77d75ca394e6b753e)\n"
    },
    {
      "commit": "e04a8005193b6bbdfaf924373acb927cb75dc072",
      "tree": "9fa4c2bda732441509474876a76c99a375c40adc",
      "parents": [
        "f47f71ba18171662eb34361d9398318aa0e277b7",
        "0617894190ea0c3ee50889bee1d4df0f369b0761"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Fri Aug 25 15:14:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 25 15:14:27 2017 +0000"
      },
      "message": "Merge \"Add a re-parent function to re-parent a specific child.\""
    },
    {
      "commit": "0617894190ea0c3ee50889bee1d4df0f369b0761",
      "tree": "77cd6f74a747fa53216f7b55899030a45c35910a",
      "parents": [
        "4908fe5617855aace933ad25b1071170e2606688"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Thu Jul 27 10:25:59 2017 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Aug 23 11:28:02 2017 -0700"
      },
      "message": "Add a re-parent function to re-parent a specific child.\n\nThis is similar to reparentChildren, but the reparentChild will\nonly re-parent a specific child to the new parent and not all\nchildren.\n\nTest: Added test in Transaction_test for reparentChild.\n\nChange-Id: I4275e0d5f1d5601b489956753c78a56d1a5d4c1c\n"
    }
  ],
  "next": "2b3b34cf7e0b25125951ba33f067fa3588251b88"
}
