)]}'
{
  "commit": "5e21eb3591534febb178572b149f6d5ccf6b1337",
  "tree": "14addf2f7a14b6b4b5c47ccf984462d14e5b8fbf",
  "parents": [
    "0683fe791e810d576584fab816f99eac51f9cff7"
  ],
  "author": {
    "name": "Yiwei Zhang",
    "email": "zzyiwei@google.com",
    "time": "Wed Jun 05 00:26:03 2019 -0700"
  },
  "committer": {
    "name": "Yiwei Zhang",
    "email": "zzyiwei@google.com",
    "time": "Thu Jun 06 12:47:50 2019 -0700"
  },
  "message": "GL: unload system driver if needed\n\nBoth ANGLE and Game Driver originally require the GL driver to be not loaded\nbefore the App launches. However, extra memory overhead from loading GL driver\nin each process requires us to enable gl driver preloading in Zygote again.\n\nSo this CL adds the logic to unload the system driver if the App chooses to use\nANGLE or Game Driver. As long as nobody is using GL api in Zygote to create any\ncontext, the unloading at App launch time should be safe.\n\neglGetDisplay will always ask the driver for the display handle after this\nchange, otherwise it will still use the cached display handle even we unload\nthe system driver and load the ANGLE or Game Driver. This means we no longer\ncache it because eglGetDisplay is rarely called and trivial for the driver.\n\nBug: 134526352\nTest: build, flash and boot. Then manually test with ANGLE and Game Driver.\nChange-Id: I7c068ce9f630347a5d94823bbe6cfbac0f280e91\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "407f77d88b57d3b476601af4c3ac412443d15468",
      "old_mode": 33188,
      "old_path": "libs/graphicsenv/GraphicsEnv.cpp",
      "new_id": "1c5fa528557188e8dcdd2d7a1147497e317e6dc6",
      "new_mode": 33188,
      "new_path": "libs/graphicsenv/GraphicsEnv.cpp"
    },
    {
      "type": "modify",
      "old_id": "7d627500fd8c33198d85ae118f723f6fde5e37ff",
      "old_mode": 33188,
      "old_path": "libs/graphicsenv/include/graphicsenv/GraphicsEnv.h",
      "new_id": "f5d19db493310801cc30d3e27312088a7edda2d1",
      "new_mode": 33188,
      "new_path": "libs/graphicsenv/include/graphicsenv/GraphicsEnv.h"
    },
    {
      "type": "modify",
      "old_id": "d5c46c6683e4b7f7cd1f30ff83d41de71b2096a6",
      "old_mode": 33188,
      "old_path": "opengl/libs/EGL/Loader.cpp",
      "new_id": "038a43233774a48797b19d62ba701daf4b5b15bd",
      "new_mode": 33188,
      "new_path": "opengl/libs/EGL/Loader.cpp"
    },
    {
      "type": "modify",
      "old_id": "0292d02e1dfe9f3d1e349f79a12b2a1cbac23036",
      "old_mode": 33188,
      "old_path": "opengl/libs/EGL/Loader.h",
      "new_id": "6f31ab4741e64ac7e79018be988adad867649d0d",
      "new_mode": 33188,
      "new_path": "opengl/libs/EGL/Loader.h"
    },
    {
      "type": "modify",
      "old_id": "8870d5f571a34e02d4b46a6d5c5cfc16181c7174",
      "old_mode": 33188,
      "old_path": "opengl/libs/EGL/egl.cpp",
      "new_id": "25b1009ba2ef762001cd088e4b126c8f775954d0",
      "new_mode": 33188,
      "new_path": "opengl/libs/EGL/egl.cpp"
    },
    {
      "type": "modify",
      "old_id": "8841a3b02cb1bcb35f7663b341d4cc4925425fe9",
      "old_mode": 33188,
      "old_path": "opengl/libs/EGL/egl_display.cpp",
      "new_id": "67d69b4d06b749793e1ffbad314844e3b370b92d",
      "new_mode": 33188,
      "new_path": "opengl/libs/EGL/egl_display.cpp"
    },
    {
      "type": "modify",
      "old_id": "9e112cc03441d14a844ae1aae7e8f9429821fcbb",
      "old_mode": 33188,
      "old_path": "opengl/libs/EGL/egldefs.h",
      "new_id": "7bb9b59ea495e774a88ccbede7282369d2546ca9",
      "new_mode": 33188,
      "new_path": "opengl/libs/EGL/egldefs.h"
    }
  ]
}
