)]}'
{
  "commit": "bd9596c17dcefb2f3d2680c9300f0e1e883231b5",
  "tree": "b4fdda1b6629d5a2df3983c8acede26e0829b82d",
  "parents": [
    "155d5aad650ae2d4eedf6278a0542a49e3b6458e"
  ],
  "author": {
    "name": "shaoboyan",
    "email": "shaoboyan@microsoft.com",
    "time": "Tue Jul 22 11:43:09 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jul 22 11:43:09 2025 -0700"
  },
  "message": "Add ArrayLengthFromImmediates transform\n\nArrayLengthFromUniform() is used to support arrayLength() built-in function.\n\nAfter immediate constants supported, immediate block could hold array\nlength and support arrayLength() built-in.\n\nThis CL add ArrayLengthFromImmediates transform to support array length\nfrom immediate block. And will replace ArrayLengthFromUniform in future.\n\nBug:366291600\nChange-Id: I5e5c2df0385cd2f2e846b206b652b5e963f0aad0\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/252614\nReviewed-by: James Price \u003cjrprice@google.com\u003e\nCommit-Queue: dan sinclair \u003cdsinclair@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f7580cb593b472485fd2710fd08a2a77c9f2f392",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/BUILD.bazel",
      "new_id": "af40537e30e8efd2bae033b1c3b0788b509834ff",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "d143d6f0e6211334243cc1437fe7197d29fbc874",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/BUILD.cmake",
      "new_id": "8a24efc3dd09807bce3fd195eb45402ae641bcc0",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/BUILD.cmake"
    },
    {
      "type": "modify",
      "old_id": "d969108133040d9244a7f821148a3c931f18e33e",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/BUILD.gn",
      "new_id": "5e1822531882489f3d5f4a0fdcb69f3244928c70",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d5a549f26ecdf826afb88e898da39ded43feafc4",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/array_length_from_immediate.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eeacc41255e36734c8ac82d2e86bea48074a24ed",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/array_length_from_immediate.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d289d9dd580485df14992ce54276325d1c6dd400",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/array_length_from_immediate_test.cc"
    },
    {
      "type": "modify",
      "old_id": "6d2669404938c39475406267042d0b382ed45f91",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/prepare_immediate_data.h",
      "new_id": "29c22534fac47941d3c4615dac24a97d85e50603",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/prepare_immediate_data.h"
    }
  ]
}
