)]}'
{
  "commit": "3f985b984dd6951e8ba0a7c1e65fc19cd503207e",
  "tree": "1ac6394812da39608952c27bb5d0c2dbdbef3879",
  "parents": [
    "c87ff9c238b13d3624f89d78e4418c0d7495f4e0"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Wed Mar 31 17:44:27 2021 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Wed Mar 31 17:44:27 2021 +0000"
  },
  "message": "Add a transform for canonicalizing entry point interfaces\n\nAfter the transform, an entry point\u0027s parameters will be aggregated\ninto a single struct, and its return type will either be a struct or\nvoid. All structs in the module that have entry point IO decorations\nwill have exactly one pipeline stage usage.\n\nThis will be used to sanitize entry points for the MSL and HLSL\ngenerators.\n\nChange-Id: I7d2fcfba961d2e20326086964207747d573b6e05\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/46500\nAuto-Submit: James Price \u003cjrprice@google.com\u003e\nReviewed-by: Ben Clayton \u003cbclayton@google.com\u003e\nCommit-Queue: Ben Clayton \u003cbclayton@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3139e7990d2a0783d45b27bec47c4cfbb434c752",
      "old_mode": 33188,
      "old_path": "src/BUILD.gn",
      "new_id": "1af8434ab679c8a203b374a8fb6998b25fe73ae2",
      "new_mode": 33188,
      "new_path": "src/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "8a27981ac172999a8d007b7a1d785788a1464404",
      "old_mode": 33188,
      "old_path": "src/CMakeLists.txt",
      "new_id": "e7c512df053c5fd5f406ee8e813f2625fbbf9687",
      "new_mode": 33188,
      "new_path": "src/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ca4af82b978c60081d32ac7da9027bbbbde7ff20",
      "new_mode": 33188,
      "new_path": "src/transform/canonicalize_entry_point_io.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "479cd0c2817f303563fbf721d55d80a96ae9de68",
      "new_mode": 33188,
      "new_path": "src/transform/canonicalize_entry_point_io.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f50f2d969b730936d628423e91082255c642ec5",
      "new_mode": 33188,
      "new_path": "src/transform/canonicalize_entry_point_io_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a806af602500fb41713706ad276f89c0a780079a",
      "old_mode": 33188,
      "old_path": "test/BUILD.gn",
      "new_id": "c981ebf7f9f0ee78e3fbc9ac5dec3a3bc56f4154",
      "new_mode": 33188,
      "new_path": "test/BUILD.gn"
    }
  ]
}
