)]}'
{
  "commit": "3fca910cd877d85f8305d8671783b64c2fc54846",
  "tree": "e4638076594e39de9b337eca9f3a7923b7c307c8",
  "parents": [
    "34a0cd135af0bab6aae4de006a4e0128139255a0"
  ],
  "author": {
    "name": "Shrek Shao",
    "email": "shrekshao@google.com",
    "time": "Tue May 13 14:20:08 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue May 13 14:20:08 2025 -0700"
  },
  "message": "[WebGPU backend] Add BackendWGPU\n\nA Dawn WebGPU backend is an \"intermediate\" layer\nthat forwards WebGPU API calls to the wgpu* C API calls\nto the underlying \"real\" backend. Having such a backend\ncan help us make the developer tool by enabling accessing\nto internal states of dawn objects (inspect), serialize\nthe API calls relative states to disk files (capture)\nand deserialize them later to help debug (replay)\n\nThis CL is the start of adding such a Dawn WebGPU backend.\nIt sets up the build config and adds the BackendWGPU.\n\nBug: 413053623\nChange-Id: I4042378d042baa17a7a02649b64fdc6035fcf6ae\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/241814\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\nCommit-Queue: Shrek Shao \u003cshrekshao@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b56fbb7a3e84aea4e8e36069cb4545716e054afb",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "42d6dddc32d2112bdc1657550e1de3b8ba49d278",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bef6adfbc571f40becbcfb59124ac72ed6cbe9d",
      "new_mode": 33188,
      "new_path": "include/dawn/native/WebGPUBackend.h"
    },
    {
      "type": "modify",
      "old_id": "8f0bd1f74f24a51a78eb225d93b89ad258e295ef",
      "old_mode": 33188,
      "old_path": "scripts/dawn_features.gni",
      "new_id": "873d516366a5ee52963b663e931163c3236dfdce",
      "new_mode": 33188,
      "new_path": "scripts/dawn_features.gni"
    },
    {
      "type": "modify",
      "old_id": "39decd6f49699123d2c37f30e5b12559dcc4fbe3",
      "old_mode": 33188,
      "old_path": "src/dawn/common/BUILD.gn",
      "new_id": "a938ef0d176c4679bb9544b3b765d902466e241b",
      "new_mode": 33188,
      "new_path": "src/dawn/common/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "9164aa87955361ab06fd8a5159bff3e086b8d907",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BUILD.gn",
      "new_id": "1f9a792ff024b5a17bd96a3a5e3c0e76d4b5eada",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "291f3510c7b6b123a6cd5e1106202973f65ca653",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CMakeLists.txt",
      "new_id": "9613aea4d8693aac1805d32821b7700edb640212",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "0cc3dd3d338cb504fc0b9b0666885c6d9e9e02b8",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Instance.cpp",
      "new_id": "b76362a1690440b72592cd435b0f520bf42eb721",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Instance.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d0e7ec14a90431a82748901be7b2b1eba93a5088",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/BackendWGPU.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a3a4ddf20d5c8fc78da40a00827a5f3a6c003b2",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/BackendWGPU.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8e1b59582806af0e7262f6ee772a268c1dd0711c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/Forward.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7615a71d5db86de19584da9703243ebcb8759099",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu/WebGPUBackend.cpp"
    },
    {
      "type": "modify",
      "old_id": "22ecd3b62c5df034867eb8a6d0d40d7a7b40a1ee",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/AdapterTestConfig.cpp",
      "new_id": "82df45fc4f71efded2364f07d7c9282012ba2a58",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/AdapterTestConfig.cpp"
    },
    {
      "type": "modify",
      "old_id": "3295815b11ed68cf789e975d377a038ab03163cc",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/AdapterTestConfig.h",
      "new_id": "6824edf9231a6cc0c0be2238da2daa4fa8923745",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/AdapterTestConfig.h"
    },
    {
      "type": "modify",
      "old_id": "ac04e863d7d33e9eef3b232b64a3dfe448f51d96",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnTest.cpp",
      "new_id": "7295e49af409c23d4ea23430006f05ee9e4f12da",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "0f53976b516ce8a3b6972b65b11a352303e86573",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnTest.h",
      "new_id": "9ad890b323aba8995eeb7897151e4dcad402c7db",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnTest.h"
    }
  ]
}
