)]}'
{
  "log": [
    {
      "commit": "32cbe28e23132768631c10d400673f9818c287fc",
      "tree": "d00d6d64b028930959f553927f5aebbbdf91bff3",
      "parents": [
        "45a165a506ebbd88daf82ddb67def8412dcaf67f"
      ],
      "author": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Fri Oct 19 13:09:22 2018 -0700"
      },
      "committer": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Tue Jan 15 11:12:13 2019 -0800"
      },
      "message": "SF: Move state out of DisplayDevice to a new Output class\n\nCompositionEngine::Output holds the composition state of an output. A\nCompositionEngine::Display is an output, so it derives from it.\n\nThe state is removed from DisplayDevice, with some (temporary) accessors\nleft behind as there are more changes coming.\n\nThe composition related code in SurfaceFlinger is adjusted to however\nuse the output state.\n\nTest: atest libsurfaceflinger_unittest libcompositionengine_test\nBug: 121291683\nChange-Id: Idae2d3d96315538d006b27b56e0a8b566ce0e3b8\n"
    },
    {
      "commit": "45a165a506ebbd88daf82ddb67def8412dcaf67f",
      "tree": "715edc40dd85e0cc10ff640141a96c69aed39ca6",
      "parents": [
        "6b99b4990dc3a82e5549617b2102b330009e374a"
      ],
      "author": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Fri Oct 19 11:54:47 2018 -0700"
      },
      "committer": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Tue Jan 15 11:12:13 2019 -0800"
      },
      "message": "SF: Setup CompositionEngine::Display\n\nAdd a Display class to CompositionEngine, and modify DisplayDevice to\ncreate it.\n\nThe Display instance holds only some basic data about the display to\nstart.\n\nTest: atest libsurfaceflinger_unittest libcompositionengine_test\nBug: 121291683\nChange-Id: I2a81817c97519c29759cc62b019c9a3c0aee2b93\n"
    },
    {
      "commit": "b97e04fe0c4bd32c89babde5036d645fe8072969",
      "tree": "ef1710f285dd7bcd3ab56ea0279dc43baaf2e818",
      "parents": [
        "3823e7b9b3795d083b046931089037b8e6d75208"
      ],
      "author": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Thu Oct 18 17:07:05 2018 -0700"
      },
      "committer": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Thu Dec 20 13:51:17 2018 -0800"
      },
      "message": "SF: Move RenderEngine ownership to CompositionEngine\n\nMove ownership of the RenderEngine pointer to CompositionEngine.\n\nTest: atest libsurfaceflinger_unittest libcompositionengine_test\nBug: 121291683\nChange-Id: Ia9ba7ae5117359aac5dc77380c91b87d0fae4c1c\n"
    },
    {
      "commit": "441d5045f7491b0e7cf8a8c617a2fe7351ea65b1",
      "tree": "94ac0f6af42cd56b327e5727ef0db45a2430faf4",
      "parents": [
        "70d9136897a91cd5a53a8a8ddf65731f702f0f94"
      ],
      "author": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Thu Oct 18 16:49:51 2018 -0700"
      },
      "committer": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Thu Dec 20 13:51:17 2018 -0800"
      },
      "message": "SF: Move HWComposer ownership to CompositionEngine\n\nMove ownership of the HWComposer pointer to CompositionEngine, and\nintroduce an abstract interface for HWComposer so that CompositionEngine\ndoes not need to be linked against the implementation.\n\nA future change will move the HWComposer and related implementation\ndetails into a new \"backend\" library, and which point the\nComposionEngine library can depend on it.\n\nA mock HWComposer is also introduced locally to the CompositionEngine\ntests, but this too will be eventually moved to the backend.\n\nTest: atest libsurfaceflinger_unittest libcompositionengine_test\nBug: 121291683\nChange-Id: I49c6d8c9a83129c45a51dc5bed47f6a980f66eb0\n"
    },
    {
      "commit": "70d9136897a91cd5a53a8a8ddf65731f702f0f94",
      "tree": "5a2e99b53d7948fc44137c8f48a9dc095a2c2e5c",
      "parents": [
        "1bb1eb01646ebc1e7cd2c024d216ca2d749e4754"
      ],
      "author": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Thu Oct 18 16:02:55 2018 -0700"
      },
      "committer": {
        "name": "Lloyd Pique",
        "email": "lpique@google.com",
        "time": "Thu Dec 20 13:51:17 2018 -0800"
      },
      "message": "SF: Introduce a minimal CompositionEngine\n\nStart with minimal sources for CompositionEngine, which is otherwise\nblank. This sets up a library for the implementation, a library for\nCompositionEngine owned test mocks, and a minimal test.\n\nSurfaceFlinger will also create an instance via its factory, and\nprovides an accessor to obtain it.\n\nTest: atest libsurfaceflinger_unittest libcompositionengine_test\nBug: 121291683\nChange-Id: I4be49254d2cea82adfbafc6108891347d49d3f17\n"
    }
  ]
}
