)]}'
{
  "commit": "5397f9f9d0fa2d4adb03553f60d3fc4d4db5936c",
  "tree": "4b639116e9ac85dddb7e74d7671eac4357530e25",
  "parents": [
    "0e6f443359a572dbab5d607ba196e35259b32577"
  ],
  "author": {
    "name": "Austin Eng",
    "email": "enga@chromium.org",
    "time": "Tue Dec 14 23:22:46 2021 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Dec 14 23:22:46 2021 +0000"
  },
  "message": "Add basic or stub implementations of upstream instance/adapter APIs\n\nAdds upstream instance/adapter APIs. In dawn_native, the basic APIs\nto get limits and properties are implemented, but requestAdapter and\nrequestDevice are not. In dawn_wire, nothing is implemented, but the\nstub definitions are put in place, as well the mechanism to inject\nWGPUInstance into the wire.\n\nThere is a lifetime concern with WGPUInstance and WGPUAdapter on the\nwire in that we need to ensure that the client cannot free the\ninstance or adapter while they are in use. In the near term, this is\nnot a problem because Chromium will always hold ownership of the\ninstance and adapters outside of the wire - i.e. it won\u0027t inject and\nthen release ownership.\n\nBug: dawn:160, dawn:689\nChange-Id: Id904272983f23babc9177bc163d78c4fa1044da0\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/71520\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Austin Eng \u003cenga@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ef3fc19e93793ba80f3ad08b2efcd57e4106149",
      "old_mode": 33188,
      "old_path": "dawn.json",
      "new_id": "884b5e64519946a3408e46cfb029f583ce8d9170",
      "new_mode": 33188,
      "new_path": "dawn.json"
    },
    {
      "type": "modify",
      "old_id": "41abdd8a627d881a89e45212cd123f1c5da82afc",
      "old_mode": 33188,
      "old_path": "dawn_wire.json",
      "new_id": "50837517c10ee30a90a2a1b2b1012481e47711bc",
      "new_mode": 33188,
      "new_path": "dawn_wire.json"
    },
    {
      "type": "modify",
      "old_id": "f9b6bf6df1eda8b2cd0222cc9940a10f60380009",
      "old_mode": 33188,
      "old_path": "generator/templates/api_cpp.h",
      "new_id": "d54dcc3349e0ceee177ab57c94b239eac1e1f928",
      "new_mode": 33188,
      "new_path": "generator/templates/api_cpp.h"
    },
    {
      "type": "modify",
      "old_id": "acaed3a8535ac768d21975625a487b7a32b69022",
      "old_mode": 33188,
      "old_path": "generator/templates/dawn_native/wgpu_structs.h",
      "new_id": "224954078814f41fb014e525a5f9b19fd2a1accf",
      "new_mode": 33188,
      "new_path": "generator/templates/dawn_native/wgpu_structs.h"
    },
    {
      "type": "modify",
      "old_id": "77082d70715608092edd53275edfc6345b412650",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Adapter.cpp",
      "new_id": "c3ac8de5e11110b12ef9a42a37d9030c7f5f927d",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Adapter.cpp"
    },
    {
      "type": "modify",
      "old_id": "1b9286e8733e10ae5619d76663bcd29eb8aacdf3",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Adapter.h",
      "new_id": "36930db1eb747feef305322f800c95031636af30",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Adapter.h"
    },
    {
      "type": "modify",
      "old_id": "b09caf20b1debf0ded8a9c5c8c125b2861f66326",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Features.cpp",
      "new_id": "ad427d3455e187604bd39ef5c30ac8130e547a1b",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Features.cpp"
    },
    {
      "type": "modify",
      "old_id": "699ddc794e71cac60ea222e3e2b1d285d357aea8",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Features.h",
      "new_id": "4c4a79aad702d0f3586086bb465505dfe9512621",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Features.h"
    },
    {
      "type": "modify",
      "old_id": "ce0d85bc420bd7bad49602db592734dab63ed716",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Instance.cpp",
      "new_id": "d8e107f8f791ef8b91c56a0e8cf3b9cf369054f6",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Instance.cpp"
    },
    {
      "type": "modify",
      "old_id": "a636875b25e512752ef1fb2dfa722ab9ab0f317b",
      "old_mode": 33188,
      "old_path": "src/dawn_native/Instance.h",
      "new_id": "a36255aa62dbcf57a29626abaeafa9e9a376c8c9",
      "new_mode": 33188,
      "new_path": "src/dawn_native/Instance.h"
    },
    {
      "type": "modify",
      "old_id": "b678fa10b5be99d3155a1ebb92dc19127f76ac45",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/BUILD.gn",
      "new_id": "4137652a5a6370c8c40e1766c18b1a7b73a39c28",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "e970367758c880503e0a8f9b84afb751bfe41b5b",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/CMakeLists.txt",
      "new_id": "8ba7571f0cd48e78f477d28839a77664a6ae14d0",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "01ab45beabdeb941ff79d8b13c08caf0c39618da",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/WireClient.cpp",
      "new_id": "a23e2f7d459ed9f87d183626ecde8213e9d6dae5",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/WireClient.cpp"
    },
    {
      "type": "modify",
      "old_id": "bad595760ba79322b0a8a11cd73cef5fa5078eb0",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/WireServer.cpp",
      "new_id": "c998e447d17f357a9071db8086e036a1794ab253",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/WireServer.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee789f9cdda505c4d92627ee73ef5ab7d1ede397",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/client/Adapter.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d9392204bd91209de87e4a0bd7144c885f38eeec",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/client/Adapter.h"
    },
    {
      "type": "modify",
      "old_id": "71dbc82dfebc0f3310b6a4e53d075efc38716bad",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/client/ApiObjects.h",
      "new_id": "cfe4cb5278a571e675e7a5938359d9e9e63e2a32",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/client/ApiObjects.h"
    },
    {
      "type": "modify",
      "old_id": "2d4445e794065c04ebf82db7d6482e63fefae24a",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/client/Client.cpp",
      "new_id": "628232d39160563a4ea431d6791fc609b9f593e0",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/client/Client.cpp"
    },
    {
      "type": "modify",
      "old_id": "fc3758a0d8890b06ac3d6140a72e56bc1c722ba5",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/client/Client.h",
      "new_id": "aebf9535b9fa63e16627cdb9bcd3301bec6f9787",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/client/Client.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "74d0517e9faeb758bc3795ca9f6055a8b61478f7",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/client/Instance.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3d55ac9a6d2f8eaabb5cbd6e95a07ef9016e393e",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/client/Instance.h"
    },
    {
      "type": "modify",
      "old_id": "8297cbdcf47c6c5c66d537e4f7d8e577181edc2c",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/server/Server.cpp",
      "new_id": "a4dbd8c8bea5398c1bc34273aa6c72208c5d6a0d",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/server/Server.cpp"
    },
    {
      "type": "modify",
      "old_id": "b4429871f7e61ff6645266b7f3bb1f21c4d9a930",
      "old_mode": 33188,
      "old_path": "src/dawn_wire/server/Server.h",
      "new_id": "33b0e04abc5c3a60dcf019a6724aa034ee86ba22",
      "new_mode": 33188,
      "new_path": "src/dawn_wire/server/Server.h"
    },
    {
      "type": "modify",
      "old_id": "bbcaaee484b52fd4aadd866a5745322980987236",
      "old_mode": 33188,
      "old_path": "src/include/dawn_wire/WireClient.h",
      "new_id": "1c10e0752bc4f011a606f4c3ea3b3254352a150e",
      "new_mode": 33188,
      "new_path": "src/include/dawn_wire/WireClient.h"
    },
    {
      "type": "modify",
      "old_id": "98a2e69ba98cd48adbcb2b2db759eb28c87908a2",
      "old_mode": 33188,
      "old_path": "src/include/dawn_wire/WireServer.h",
      "new_id": "a720874570bc8bc564efd650a08630488a5d6732",
      "new_mode": 33188,
      "new_path": "src/include/dawn_wire/WireServer.h"
    },
    {
      "type": "modify",
      "old_id": "04ff2189d7319ce6770ec993557be4333ddb2821",
      "old_mode": 33188,
      "old_path": "src/tests/BUILD.gn",
      "new_id": "59544b318f67aa36235bce413151c7efb699a2d2",
      "new_mode": 33188,
      "new_path": "src/tests/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7bdf170e6b462fb18478e1ba151560bcf0a4e248",
      "new_mode": 33188,
      "new_path": "src/tests/unittests/wire/WireInjectInstanceTests.cpp"
    }
  ]
}
