)]}'
{
  "commit": "1ee9f6bf926084df65ec4d8d06ce6437575ddeeb",
  "tree": "ec51b9161e360c12fd277fede33fcf35a38df980",
  "parents": [
    "3a5289ded0464c461cf0aad9eccc4a35b24344fd"
  ],
  "author": {
    "name": "Corentin Wallez",
    "email": "cwallez@chromium.org",
    "time": "Tue Jun 25 17:30:19 2024 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 25 17:30:19 2024 +0000"
  },
  "message": "Reland \"EGL: Move initialization of EGL inside a DisplayEGL class\"\n\nThis is a reland of commit 9fba7ea8e943cb9396c356c4becb6842ef0710d5\n\nTwo fixes were needed for this CL:\n\n - Do not call eglTerminate in Dawn as EGL may return the same display\n   multiple times with eglGetDisplay, such that terminating the display\n   in Dawn could terminate the display used by someone else as well.\n   (This is a known design bug in EGL unfortunately).\n - Explicitly pass in the EGLDisplay in Chromium during GPU info\n   collection. Previously Dawn tried to get a display using\n   eglGetCurrentDisplay() but this seems brittle compared to passing the\n   display explicitly.\n\nOriginal change\u0027s description:\n\u003e EGL: Move initialization of EGL inside a DisplayEGL class\n\u003e\n\u003e The moves initialization and checks of EGLDisplays to be in its own\n\u003e class instead of split across opengl::Backend and\n\u003e opengl::PhysicalDevice. That class also contains data that\u0027s per EGL\n\u003e connection such as the EGLDisplay and the procs. This removes the need\n\u003e for opengl::Backend to return a single PhysicalDevice ever.\n\u003e\n\u003e The ContextEGL class now only deals with creating context and doing\n\u003e MakeCurrent, with some of its validation checks moved to classes using\n\u003e it. This will make it easier to dynamically handle EGL extension being\n\u003e present (e.g. to support webgpu.h when EGL_KHR_image_base is not present).\n\u003e\n\u003e Finally the encapsulation in these classes is step towards supporting\n\u003e more embedder APIs in the future (like GLX).\n\u003e\n\u003e Bug: 344814083\n\u003e Bug: 42241384\n\u003e Change-Id: I34d7c24c518a791da920a640a5764458073f976e\n\u003e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/193160\n\u003e Commit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\n\u003e Reviewed-by: Austin Eng \u003cenga@chromium.org\u003e\n\u003e Reviewed-by: Stephen White \u003csenorblanco@chromium.org\u003e\n\nBug: 344814083\nBug: 42241384\nChange-Id: I76f904be88696a6a90b21e2c55637f3451054c00\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/194780\nAuto-Submit: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Austin Eng \u003cenga@chromium.org\u003e\nReviewed-by: Austin Eng \u003cenga@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cab023eea9201a0f8a78f6c5888cd44c0adda2ab",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BUILD.gn",
      "new_id": "5f4d8866e964d603aa4053548119cde253e77159",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "e07f5c710958d9dfd456ac19e65bb4cdf2f0f839",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CMakeLists.txt",
      "new_id": "c588d7184eb3746bf56a4c196deb27ceae0756dd",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "3c32d8b67faf9be554e27601e284f132052f1e89",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/BackendGL.cpp",
      "new_id": "5e8a1b3d428c18e06eda949b1d959dfdde10f81d",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/BackendGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "c8dc2dc8867d8773d328c230edb95524e0368956",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/BackendGL.h",
      "new_id": "6cba27376248818f3d23ae50a4bd09b11e31cd46",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/BackendGL.h"
    },
    {
      "type": "modify",
      "old_id": "9897de48f94e325e79b539ebd2e0ad6bd6b76ffa",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/ContextEGL.cpp",
      "new_id": "fb14de9f977e4a098d3b38023fdc1dfd6ec10a6b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/ContextEGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "44d16bd922f7cec62ae58862a08b5a2c6e665f62",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/ContextEGL.h",
      "new_id": "d17288ebde5160c99f465bfd76c3c30275b8990e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/ContextEGL.h"
    },
    {
      "type": "modify",
      "old_id": "c8b3db8fcd3f7c2cdaa188d17fc19635b07252b0",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/DeviceGL.cpp",
      "new_id": "34e70bfdfa32678ff4060cb1e68864803c08f88b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/DeviceGL.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "90aca122e51dd01624814572656ae7192e3c9ca9",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/DisplayEGL.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c511b4f90596c9737b0c3851dad872844e179b7d",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/DisplayEGL.h"
    },
    {
      "type": "modify",
      "old_id": "0434fad793b172d0de381f14a6e19908d1088cf3",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/PhysicalDeviceGL.cpp",
      "new_id": "ecfe80bbcdb7a970a1d9e85727d37e2f3bfb0af5",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/PhysicalDeviceGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "86c689ffab884ea96befe1fafe1604772c2bc810",
      "old_mode": 33188,
      "old_path": "src/dawn/native/opengl/PhysicalDeviceGL.h",
      "new_id": "f078000876946ac615928ee8ca4672929f91a415",
      "new_mode": 33188,
      "new_path": "src/dawn/native/opengl/PhysicalDeviceGL.h"
    }
  ]
}
