)]}'
{
  "commit": "5b2970134d016d31a22cbadea9794354588afd50",
  "tree": "88781a4d4309a4e430120d0694aadb3ac4201aa4",
  "parents": [
    "0a6d6d30727b4a90c804418356ac8ed09b8ffd7b"
  ],
  "author": {
    "name": "Natalie Chouinard",
    "email": "chouinard@google.com",
    "time": "Thu Jan 29 12:51:36 2026 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Jan 29 12:51:36 2026 -0800"
  },
  "message": "[tint][hlsl] Extract ternary value to let if necessary\n\nIn the HLSL backend, WGSL selects are lowered to ternary operators\n(using HLSL 2018), which should match the non-short-circuiting semantics\nof select. However, in the case that the condition is a constant bool\nvalue, a buggy optimization in DXC may constant fold away the ternary\noperator, resulting in one side of the select not being evaluated. This\ncauses incorrect behavior if the un-selected value would have had side\neffects. To prevent this bad optimization from being hit, we extract the\npotentially affected argument to a let variables to force its evaluation\nto occur.\n\nBug: 478792488\nChange-Id: I227cb92e175e5659ddb30b662dd8273cc0e92c9d\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/287359\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nReviewed-by: James Price \u003cjrprice@google.com\u003e\nCommit-Queue: Natalie Chouinard \u003cchouinard@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d5d3e139ff5ff8a753a0b5a07c3bd62e6ecbbebb",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/BUILD.gn",
      "new_id": "e01c065dcf945e0f93b8ba969df377c1367e2f05",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ffc56ba20707d6b6f1c1d6b03c24da5394ecabb1",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/SelectNonShortCircuiting.cpp"
    },
    {
      "type": "modify",
      "old_id": "99d5fe43cf929c683773c0cc3ab1753590633d77",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/BUILD.bazel",
      "new_id": "e66a13ca5bc1d875c52c9c49be119279de008b0c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "ed5b1d725d426fe3783ebd7a485fa1e671ba8c4e",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/BUILD.cmake",
      "new_id": "316c7df8dbeefe3057f8851b569423fcd527faad",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/BUILD.cmake"
    },
    {
      "type": "modify",
      "old_id": "bab81f39f6f6dada047f2a24cfcc958d174be4cc",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/BUILD.gn",
      "new_id": "dafb11c4c1dea6e48c485e445efbde55675b53d8",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "996de67d9d82f4bb7290a331594dcb91d0abd7c6",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/extract_ternary_values.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d86a86baa131df93436d9b2fad360cb201243572",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/extract_ternary_values.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7606d9e733e9013adc3a39d5ed823bd998a027ec",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/extract_ternary_values_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c5684e90016d5d76c82c995d07ee6025ecae4d53",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/raise.cc",
      "new_id": "f45747beec0ce16c7fd08c6aa0daf239148224ee",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/raise.cc"
    }
  ]
}
