)]}'
{
  "commit": "3fb6da67612ab1fcbf48e207e4fdbaa33c0b1b1c",
  "tree": "2ec1becaad6795ebeb1b7a2db87fba7ceace923e",
  "parents": [
    "2281366e993ee4623561f57ebc4cd3081c954b4a"
  ],
  "author": {
    "name": "dneto",
    "email": "dneto@google.com",
    "time": "Wed Nov 26 15:48:39 2025 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Nov 26 15:48:39 2025 -0800"
  },
  "message": "[uniformity] fix connectivity of for-loop without condition\n\nIn a loop, a barrier followed by a non-uniform break or return\nshould cause a uniformity failure.\n\nWhen a for loop has no condition expression, the control flow node\nfor the start of the loop body did not connect to the\n\u0027start of iteration\u0027 control flow node.\n\nThe fix is to initialize the start-of-body node to be the\nstart-of-iter node.\n\nThe change makes the following code fail, where before it did not.\n\nfn main(@builtin(local_invocation_index) nonuniform_var: u32, @builtin(num_workgroups) nw: vec3u) {\n  let uniform_cond \u003d 42 \u003d\u003d nw.x;\n  let nonuniform_cond \u003d 42 \u003d\u003d nonuniform_var;\n  for ( ; ; ) {\n    workgroupBarrier();\n    if nonuniform_cond { break; }\n  }\n}\n\nBug: 463704875\nChange-Id: Ieca2905ed2842195cebbd5930e6048316a6a6964\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/276755\nCommit-Queue: David Neto \u003cdneto@google.com\u003e\nReviewed-by: James Price \u003cjrprice@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a317ff6791f67bac678ff2cae285988b5d0e2099",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/resolver/uniformity.cc",
      "new_id": "33714d1a2bb09c73623d71e9625b51e4583d499d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/resolver/uniformity.cc"
    },
    {
      "type": "modify",
      "old_id": "966e882511a3515a0b405e395496cd4078840165",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/resolver/uniformity_test.cc",
      "new_id": "7cd764feb90a6db6e5e797ec1ed21f515ca5657f",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/resolver/uniformity_test.cc"
    }
  ]
}
