)]}'
{
  "commit": "5d488a1dfe76f30ecd0e8aec7b7dabb72f37b2c1",
  "tree": "8abc5435a93e34537527d4def4658f164954144b",
  "parents": [
    "4bf0bd9ecbff7248a8f0cc5540209e6080f3419e"
  ],
  "author": {
    "name": "shaoboyan",
    "email": "shaoboyan@microsoft.com",
    "time": "Thu Aug 06 08:54:04 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Aug 06 08:54:04 2026 -0700"
  },
  "message": "Emit array\u003cu32\u003e Storage Buffer Sizes in HLSL and MSL Transforms\n\nThe HLSL and MSL immediate transforms stored the storage buffer sizes as\narray\u003cvec4\u003cu32\u003e\u003e, which only forced a 16-byte alignment without benefit\nsince immediate data is read at a 4-byte stride. Emit a tightly packed\narray\u003cu32\u003e from both transforms and drop the per-backend element-type\nbranch in the shared ArrayLengthFromImmediates read. On Metal, upload\nthe sizes at the matching 4-byte-aligned offset.\n\nUse Align for the Metal setBytes upload size and backing array capacity.\nMake IsPowerOfTwo constexpr so Align can be evaluated at compile time.\n\nBug: 366291600, 536438952\nChange-Id: Iaac084eec79ab1843edc3be7781a6ed61ceae2fa\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/324277\nCommit-Queue: Shaobo Yan \u003cshaoboyan@microsoft.com\u003e\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "546adfcd997230dce1e97742850cc3c9a8c2b473",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/CommandBufferMTL.mm",
      "new_id": "79bc5b40695a72d261026350beae80678a7a5007",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/CommandBufferMTL.mm"
    },
    {
      "type": "modify",
      "old_id": "5923099c1e7598b9461911b10b62f90a4b94dba2",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/PipelineLayoutMTL.h",
      "new_id": "a1c96184bccee73d8f4df2627e87716ff470c8d7",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/PipelineLayoutMTL.h"
    },
    {
      "type": "modify",
      "old_id": "b1235cf73b773b9296ffcfc3c6d6f731889ada33",
      "old_mode": 33188,
      "old_path": "src/dawn/native/metal/ShaderModuleMTL.mm",
      "new_id": "89885fa932397edaf793b2ed828d373ffe2f7839",
      "new_mode": 33188,
      "new_path": "src/dawn/native/metal/ShaderModuleMTL.mm"
    },
    {
      "type": "modify",
      "old_id": "082895a6a74e69da1bfccf182affa79e3c0b814a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/array_length_from.cc",
      "new_id": "354fbb053d806382217da7f8050bd3ae20ae78dc",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/array_length_from.cc"
    },
    {
      "type": "modify",
      "old_id": "bcb27dff86edf9417969e50dac2830b9324a322f",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/array_length_from.h",
      "new_id": "d43948fefc030767c992b8fb2807cca3c6a0a409",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/array_length_from.h"
    },
    {
      "type": "modify",
      "old_id": "50bae8cab570d10cc692c17b9cea2ecdf2d44134",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/array_length_from_immediate_test.cc",
      "new_id": "c11a5e4f16b9eea79263127bb4369f50553a3608",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/array_length_from_immediate_test.cc"
    },
    {
      "type": "modify",
      "old_id": "af7ce4b4db50d2671329d38797623085b2a439d6",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_immediate.cc",
      "new_id": "12ff91513a45403bfe2837adb9b4a262fe4237f1",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_immediate.cc"
    },
    {
      "type": "modify",
      "old_id": "049062439bf955d4f4465252f2e271828f3d08ac",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_immediate.h",
      "new_id": "88f39fce47c6690005a7e4fe27e7db52015d1d0d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_immediate.h"
    },
    {
      "type": "modify",
      "old_id": "fb062c358cf87e91d8482d1d0eec6cff8387ed59",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_immediate_test.cc",
      "new_id": "35fc010841574be0920b89e22671a04971cc1746",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_immediate_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f6f27ea1747a7d9aa94eda209795c686d1572445",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/raise.cc",
      "new_id": "fd984084ba1a79471f324a43dbb85e6c5ca014fe",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/raise.cc"
    },
    {
      "type": "modify",
      "old_id": "71400bc3aa1c44909a8c7f41e06e78b301d7ad3b",
      "old_mode": 33188,
      "old_path": "src/tint/lang/msl/writer/raise/raise.cc",
      "new_id": "56b679a12a12cb55aafc2fb8d0614554587a419a",
      "new_mode": 33188,
      "new_path": "src/tint/lang/msl/writer/raise/raise.cc"
    },
    {
      "type": "modify",
      "old_id": "03626fd64dc31d59d5c1ebd3cc0750a51e550059",
      "old_mode": 33188,
      "old_path": "src/tint/lang/msl/writer/writer_test.cc",
      "new_id": "e25350544898cff8e28533d3754d6ce278c62c34",
      "new_mode": 33188,
      "new_path": "src/tint/lang/msl/writer/writer_test.cc"
    }
  ]
}
