)]}'
{
  "commit": "d3fa3f0e23cf8da1db77a464260d0fa8dffc3c4e",
  "tree": "904d681466a788349263cbd884829fae377f74f7",
  "parents": [
    "76d0454c66d29925a074e182065f4790f2983758"
  ],
  "author": {
    "name": "Austin Eng",
    "email": "enga@chromium.org",
    "time": "Sat Jun 11 03:50:33 2022 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Sat Jun 11 03:50:33 2022 +0000"
  },
  "message": "Add CacheRequest utilities and tests\n\nThis CL adds a DAWN_MAKE_CACHE_REQUEST X macro\nwhich helps in building a CacheRequest struct.\n\nA CacheRequest struct may be passed to LoadOrRun\nwhich will generate a CacheKey from the struct and\nload a result if there is a cache hit, or it will\ncall the provided cache miss function to compute a value.\n\nThe request struct helps enforce that precisely the\ninputs that go into a computation are all also included\ninside the CacheKey for that computation.\n\nBug: dawn:549\nChange-Id: Id85eb95f1b944d5431f142162ffa9a384351be89\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91063\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Austin Eng \u003cenga@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4294b26cf150ae6766c36064055e141e60643556",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BUILD.gn",
      "new_id": "137ce1b2dd9e524c87508e85a814cea4be0402c7",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "bbb50a04d3c5c2e0fb42a1fc5318a1f2e0709717",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CMakeLists.txt",
      "new_id": "8542b337e97e4b680cb3d2424fbe1aa36b2c46df",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "357ce4b325bd0b0144e5c03cf839accdb5700ef6",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CacheKey.h",
      "new_id": "c2901db40f9eea4175939081891df30f145e0a95",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CacheKey.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2b35b1224d3df3a888e202d19e9990d6b305a244",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CacheRequest.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0fecb0da573db055eaff4af3bfdee9d0150b1b7b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CacheRequest.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a2750fecba27b2eeaad17998eb488e7ce609a75a",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CacheResult.h"
    },
    {
      "type": "modify",
      "old_id": "69c41a2e1a71a634b30cb2ff9852ac465909b98c",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/BUILD.gn",
      "new_id": "57bb666be16cf24d0dbc47613bad2ffe78507904",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "163413dc1e7eebf7d35df91c188f62044aa02f02",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnNativeTest.cpp",
      "new_id": "fbf8030ab35720b50c2202603bd6d3419f2e341f",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnNativeTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "e92bf67f4a1a62bcd53835747829f221bb1d319b",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/DawnNativeTest.h",
      "new_id": "dd3532f7238ad2a8267f8f9dea77bcc7f3a930dd",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/DawnNativeTest.h"
    },
    {
      "type": "modify",
      "old_id": "9cd404226ea69dfd9f8e6bc934eef6c23248ea97",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/D3D12CachingTests.cpp",
      "new_id": "0d3bcdf024eaa78483f97a017552205bd9c7aba3",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/D3D12CachingTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "23ee708002f789ac5f9f148a6c1b499c90f40283",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/PipelineCachingTests.cpp",
      "new_id": "8318c48776a3997a49da553a2def02f2959e0131",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/PipelineCachingTests.cpp"
    },
    {
      "type": "rename",
      "old_id": "8507e9cffb277f05d22b633b019e946676852e62",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/mocks/CachingInterfaceMock.cpp",
      "new_id": "a52d4c2cec7651aa2e98609df67a4e8172dc1d5e",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/mocks/platform/CachingInterfaceMock.cpp",
      "score": 97
    },
    {
      "type": "rename",
      "old_id": "cc61d80fc213615b6418418574936eca8cc443ec",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/mocks/CachingInterfaceMock.h",
      "new_id": "0e9e6aff0e93241e8832e5d7d2de453477d387e2",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/mocks/platform/CachingInterfaceMock.h",
      "score": 92
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "995de7f5203f029b137bdaa6513b0b6d990e653c",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/native/CacheRequestTests.cpp"
    }
  ]
}
