)]}'
{
  "commit": "56e538fdb7b520661231a137512a76884fc7cbfc",
  "tree": "39203cf2a830f8f80d9793c17d6a2aaffb569076",
  "parents": [
    "b2069ebab1de906ed02383dcd6467f3eb184b53e"
  ],
  "author": {
    "name": "Alec Mouri",
    "email": "alecmouri@google.com",
    "time": "Mon Jan 14 15:22:01 2019 -0800"
  },
  "committer": {
    "name": "Alec Mouri",
    "email": "alecmouri@google.com",
    "time": "Fri Feb 15 10:59:47 2019 -0800"
  },
  "message": "Remove extra glFlush from handleMessageRefresh().\n\nFor BufferQueueLayers, the GL flush fence was already passed to\nBufferLayerConsumer::addReleaseFence during post composition for buffer\nsynchronization when releasing a buffer, so passing the same fence isn\u0027t\nnecessary.\n\nFor BufferStateLayers, this fence shouldn\u0027t be necessary for merging\nwith the buffer\u0027s acquire fence in latchBuffer, since buffer readiness\nfor the current buffer shouldn\u0027t depend on whether the prior buffer was\nfinished being used in gpu composition.\n\nSo, the fence returned by the extra glFlush call isn\u0027t necessary, so we\ncan just remove the call + plumbing entirely.\n\nBug: 117103118\nChange-Id: Iafeb33dab46213f711ee2ecb59731d003263a551\nTest: apct tests, go/wm-smoke, cts\nTest: chrome debug apk\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c077b6841fdf11d118c019b53b417f0e6fb442bc",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferLayer.cpp",
      "new_id": "b4952aa9a8ef7d12dfbc9ddc269acdb53d17cc1b",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferLayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "d358baeae0fe57bca18c3b7c527cec88ed52f5bc",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferLayer.h",
      "new_id": "e3b10fce97b4fdc5eaffab68b56cb0c0d22e11b7",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferLayer.h"
    },
    {
      "type": "modify",
      "old_id": "7ed818454c553bc9c7fc67f92b01dadc6def61f2",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferLayerConsumer.cpp",
      "new_id": "6866e5c16d87d5981a798ddadf028960b0fd95ae",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferLayerConsumer.cpp"
    },
    {
      "type": "modify",
      "old_id": "e2ef39959900766f50625bf5b713804f4e31b790",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferLayerConsumer.h",
      "new_id": "e2a6d2e922900f35614d7363d856fbf341e80404",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferLayerConsumer.h"
    },
    {
      "type": "modify",
      "old_id": "5a60fcd30687339fe1dcf43cf1d84d98ba00629c",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferQueueLayer.cpp",
      "new_id": "5fe8067d18117023c922df1a5885cfffa555c5a1",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferQueueLayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "30107e24ab5fcfaec262627cd9e36ac39b06b27e",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferQueueLayer.h",
      "new_id": "fbb8c14e627ccc0c896e5990418a56a0221d6433",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferQueueLayer.h"
    },
    {
      "type": "modify",
      "old_id": "a3d5b89be26b2222bc7cae70624b3464a7c198ea",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferStateLayer.cpp",
      "new_id": "e48c41ec3b05e0025919ea2c3cdeb8db345988b3",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferStateLayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "a97f0a47fc8cc62657d7b643fb1c4f1ad03d26b4",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferStateLayer.h",
      "new_id": "0b03f49f84d1ba0ecd950212df49f546e223913a",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferStateLayer.h"
    },
    {
      "type": "modify",
      "old_id": "8ae057f804a4fc2bbad75cedb17db818324a8cde",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Layer.h",
      "new_id": "36885db541fe3534943491d10fb35285f451273b",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Layer.h"
    },
    {
      "type": "modify",
      "old_id": "08ba17a331bd2f37497572d7bd312c38430c718c",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/SurfaceFlinger.cpp",
      "new_id": "0ffcae4a6cddcbb03a2fc0de29eb8020206ad8d5",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/SurfaceFlinger.cpp"
    },
    {
      "type": "modify",
      "old_id": "18f0ced17a5bdc3bd932032ed895166f10fcf58a",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/SurfaceFlinger.h",
      "new_id": "45cec20395efd7055a652accdbad40b0d396ee22",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/SurfaceFlinger.h"
    },
    {
      "type": "modify",
      "old_id": "3addd61e5522e28a7035864a56c7384bb364c883",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/tests/unittests/CompositionTest.cpp",
      "new_id": "55a348e8275cd6caf14cc7e4117d357952c97ad4",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/tests/unittests/CompositionTest.cpp"
    }
  ]
}
