)]}'
{
  "commit": "20e7d97a5ccdd3f9656d8f0cbe600a6c2978e579",
  "tree": "4cd6a16627816f3d37ecc708c3653b09764989de",
  "parents": [
    "d6a1a97e294f05075fa56ba74bc733aaa397f5e7"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Tue Dec 09 14:02:43 2025 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Dec 09 14:02:43 2025 -0800"
  },
  "message": "[spirv] Always use constants for struct member access\n\nWe recently introduced a bitcast for access operands to avoid a\nspirv-val check from firing on negative indices. This bitcast turns\nsome constants into non-constants, which is invalid for struct member\naccess in SPIR-V.\n\nThis would never be an issue when coming from WGSL because struct\nmember indices always become unsigned values, but the IR supports\nsigned indices too and so the fuzzers found this case.\n\nAdd an extra case for constants to make sure that they stay as\nconstants to fix this.\n\nFixed: 466695222\nChange-Id: I160ad2f305e767e49142b218d1cf0a6f051db96c\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/279475\nReviewed-by: Peter McNeeley \u003cpetermcneeley@google.com\u003e\nCommit-Queue: James Price \u003cjrprice@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ca3b997bb2c6de6e6eaa6ff6be811061fddd39aa",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/access_test.cc",
      "new_id": "fa72fd81e774fef4743ed6bd67f5f88c2906e51c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/access_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fbca8142ca04b2f934b337ab0767cd51e6eeb9f0",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/printer/printer.cc",
      "new_id": "e393e12002f47fdf1a96275d367437ffe3da8e7c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/printer/printer.cc"
    },
    {
      "type": "modify",
      "old_id": "fe26cae0a4fa7fa1fccd1ed4c39cf86a889e3ac1",
      "old_mode": 33188,
      "old_path": "test/tint/binding_array/access_as_function_argument.wgsl.expected.spvasm",
      "new_id": "232e15fc772b6ca456279817e4c26f2cf0148d47",
      "new_mode": 33188,
      "new_path": "test/tint/binding_array/access_as_function_argument.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "e2c4aeb2d4fdbdd59ee31a947b34407c960ab0d7",
      "old_mode": 33188,
      "old_path": "test/tint/binding_array/access_constant.wgsl.expected.spvasm",
      "new_id": "98f9d085eb408a5850e7b158315670dc1dadfbdb",
      "new_mode": 33188,
      "new_path": "test/tint/binding_array/access_constant.wgsl.expected.spvasm"
    }
  ]
}
