)]}'
{
  "commit": "eaad2ef604dcdf4c1303e33a59fba74f87ea2e03",
  "tree": "388cf903134bb996605fd5ef1022c00226eda486",
  "parents": [
    "bfe86b3a6e681d45b428652c34f09da22e081ca8"
  ],
  "author": {
    "name": "dan sinclair",
    "email": "dsinclair@chromium.org",
    "time": "Mon Jun 09 13:51:00 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jun 09 13:51:00 2025 -0700"
  },
  "message": "[spirv-reader][ir] Support `OpSpecConstantComposite`.\n\nThe `OpSpecConstantComposite` is the only way to build a composite\nobject from spec constants. In WGSL there is no equivalent, so if the\n`OpSpecConstantComposite` has an attached `SpecId`, we error. In the\ncase there is no `SpecId` associated, we can turn the\n`OpSpecConstantComposite` into a `Construct`. This construct needs to be\nemitted in the block of usage, as it can not appear in the root block.\n\nBug: 398008657\nChange-Id: I0ab4e55957aab63597d4e4eba87382738162422f\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/245994\nCommit-Queue: dan sinclair \u003cdsinclair@chromium.org\u003e\nReviewed-by: James Price \u003cjrprice@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "54be1de15bcfa6a1e09e9367584ca7eed26d4f49",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/reader/parser/parser.cc",
      "new_id": "b7c6cb2fc0961eba4dbc97e1fd64ecc3c0532586",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/reader/parser/parser.cc"
    },
    {
      "type": "modify",
      "old_id": "c7f333c8068e94ac07f17064792621ce27745c5a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/reader/parser/var_test.cc",
      "new_id": "d1e845c3a92d71834c03af514342bd8548cb17d4",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/reader/parser/var_test.cc"
    }
  ]
}
