)]}'
{
  "commit": "68f558f29c8eadf7cba37522734a6d3a2d25f843",
  "tree": "447158551976802e3b2c2dd8c0c3d2fa31438fe6",
  "parents": [
    "09356cc3dc41abea88f1dd5039dc09bc076cd6d1"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Tue Apr 06 15:51:47 2021 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Tue Apr 06 15:51:47 2021 +0000"
  },
  "message": "[resolver] Add entry point IO validation\n\nChecks the following things:\n- Non-struct entry point parameters must have pipeline IO attributes\n- Non-struct entry point return type must have a pipeline IO attribute\n- Structs used as entry point parameters and return values much have\n  pipeline IO attributes on every member\n- Structs used as entry point parameters and return values cannot have\n  runtime array or nested struct members\n- Multiple pipeline IO attributes on a parameter, return type, or\n  struct member is not allowed\n- Any given builtin and location attribute can only appear once for\n  the return type, and across all parameters\n\nRemoved tests for nested structs from the SPIR-V transform/backend.\n\nFixed a couple of other tests with missing pipeline IO attributes.\n\nFixed: tint:512\nChange-Id: I4c48fe24099333c8c7fcd45934c09baa6830883c\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/46701\nAuto-Submit: James Price \u003cjrprice@google.com\u003e\nReviewed-by: Antonio Maiorano \u003camaiorano@google.com\u003e\nCommit-Queue: Antonio Maiorano \u003camaiorano@google.com\u003e\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "12fca4ec9d23aa4a16eae62f9525e1c36cb0e43f",
      "old_mode": 33188,
      "old_path": "src/CMakeLists.txt",
      "new_id": "7d9003e980b8c5188efe2578d97b97b2747d8902",
      "new_mode": 33188,
      "new_path": "src/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "613fb62baa704cdb69ec24d55f73bc59ee8ab57e",
      "old_mode": 33188,
      "old_path": "src/program_builder.h",
      "new_id": "3e1dd17500c7a15b9f64ddc51d5e564f54fd7ca7",
      "new_mode": 33188,
      "new_path": "src/program_builder.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "067186b51fcde45477893bd48712d8dadf7d2937",
      "new_mode": 33188,
      "new_path": "src/resolver/entry_point_validation_test.cc"
    },
    {
      "type": "modify",
      "old_id": "79173e883b47d9cc5551293612ed6bd58bd3319b",
      "old_mode": 33188,
      "old_path": "src/resolver/resolver.cc",
      "new_id": "5c54e4867f2c45217054c2530b39f28ae52a658a",
      "new_mode": 33188,
      "new_path": "src/resolver/resolver.cc"
    },
    {
      "type": "modify",
      "old_id": "0c0700b33db49a1c067ae9684475e88f1811e475",
      "old_mode": 33188,
      "old_path": "src/resolver/resolver.h",
      "new_id": "d74e826374d9ad19dbed042579c82ffa55945543",
      "new_mode": 33188,
      "new_path": "src/resolver/resolver.h"
    },
    {
      "type": "modify",
      "old_id": "cfd32901752b06767d95ce2e0189599d5c889a6a",
      "old_mode": 33188,
      "old_path": "src/transform/renamer_test.cc",
      "new_id": "add9c84a038d489150adc0ee90fd2fd2fe13342e",
      "new_mode": 33188,
      "new_path": "src/transform/renamer_test.cc"
    },
    {
      "type": "modify",
      "old_id": "bb21aea0c92f595b769630f43e6166cf6c106166",
      "old_mode": 33188,
      "old_path": "src/transform/spirv_test.cc",
      "new_id": "7e44dee1423ccf8fccbffe967e7253c1c4783552",
      "new_mode": 33188,
      "new_path": "src/transform/spirv_test.cc"
    },
    {
      "type": "modify",
      "old_id": "0d3d54972c6d518c0e7a58b3e87f1bfa58c00aa2",
      "old_mode": 33188,
      "old_path": "src/validator/validator_function_test.cc",
      "new_id": "89ba7e49e2c947e2dcb058674715e2fddfd217ce",
      "new_mode": 33188,
      "new_path": "src/validator/validator_function_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f722d810ce83b6bc1ff4d9b1530d2d80e007a109",
      "old_mode": 33188,
      "old_path": "src/writer/spirv/builder_entry_point_test.cc",
      "new_id": "6c4b3b2f4251d5f627a8a4c9b73391861c7a9e15",
      "new_mode": 33188,
      "new_path": "src/writer/spirv/builder_entry_point_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c981ebf7f9f0ee78e3fbc9ac5dec3a3bc56f4154",
      "old_mode": 33188,
      "old_path": "test/BUILD.gn",
      "new_id": "87c8a8f7c84835dedcd320dc11b2b13994cebb18",
      "new_mode": 33188,
      "new_path": "test/BUILD.gn"
    }
  ]
}
