)]}'
{
  "commit": "be1eb3cc6ebe585cddbd20c68903cee46dbc57a0",
  "tree": "4fa8d2933b6bed55a7422683d1d589d3a1396e79",
  "parents": [
    "f8c3465a822d324bb6931f915f5544fe23eed2d6"
  ],
  "author": {
    "name": "Alan Baker",
    "email": "alanbaker@google.com",
    "time": "Thu May 21 13:45:38 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu May 21 13:45:38 2026 -0700"
  },
  "message": "[tint] Fix integer overflow issues with buffers\n\n* Fix underflow in propagate buffer sizes\n* Fix overflow in robustness\n* Add new builtin call addSat for saturated addition\n  * implement in each backend\n\nBug: 512927168\nChange-Id: I2ce779e3d9a41f33c79c0152179ac4898141d38d\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/308875\nReviewed-by: James Price \u003cjrprice@google.com\u003e\nCommit-Queue: Alan Baker \u003calanbaker@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1bde7cbfd80788b52c3befecad1a5335c927864d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/constant/eval.cc",
      "new_id": "a6975bfe5accb323fce6594b4e7d13c82cdd73ca",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/constant/eval.cc"
    },
    {
      "type": "modify",
      "old_id": "17c5786c8c6c8f99be718966135a95aa87b84cca",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/constant/eval.h",
      "new_id": "251a79a3b4afe8b1540f7d723a75e4fe76f25c27",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/constant/eval.h"
    },
    {
      "type": "modify",
      "old_id": "7241b07a3cb80ffdbfacf691d2c60cd42ac68e52",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/constant/eval_runtime_semantics_test.cc",
      "new_id": "5866e453523f691cd22312da6bd04021fa1c92e0",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/constant/eval_runtime_semantics_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b2e38046498ea960e8a0e90981fae677c2dc5931",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/core.def",
      "new_id": "e25833d19c677379f0e59e64a924d1b3345e023b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/core.def"
    },
    {
      "type": "modify",
      "old_id": "4cedf5e94b48ffcc870ebb05844a0d5e6d287aa8",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/enums.cc",
      "new_id": "10c210637915448dc366181a57d49baf53ccbde9",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/enums.cc"
    },
    {
      "type": "modify",
      "old_id": "1d7c4f0d5387a8b953c673887a5853cf366ea624",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/enums.h",
      "new_id": "a01a90d91ed681c4bbe3d5bd763a5a090f9d9c84",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/enums.h"
    },
    {
      "type": "modify",
      "old_id": "e26ff1722258300f3c5774a538ebec7f55ad9108",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/intrinsic/data.cc",
      "new_id": "0afcf042ca104dd0c524ca4e88ea15259095507b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/intrinsic/data.cc"
    },
    {
      "type": "modify",
      "old_id": "01f68c7a531100f7fcd96ac8e39bd52cd529ee05",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/binary/decode.cc",
      "new_id": "957ee5daf87b140ad8f34adac4853466264db770",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/binary/decode.cc"
    },
    {
      "type": "modify",
      "old_id": "4d053a358ef512c279015f488f8cda82f898081a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/binary/encode.cc",
      "new_id": "1a23812d175dfd14c189da3bb29ed0a8eed0f3c3",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/binary/encode.cc"
    },
    {
      "type": "modify",
      "old_id": "5b6a441327308c9874258c288cbe72aa89f8851d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/core_builtin_call.cc",
      "new_id": "1f2b73eca5681683ab978afeef59072bda614359",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/core_builtin_call.cc"
    },
    {
      "type": "modify",
      "old_id": "24596af04ed743eb5e76c11e887222f487420a56",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/propagate_buffer_sizes.cc",
      "new_id": "de85237347fa38e2552c3050b1f67754e46dce31",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/propagate_buffer_sizes.cc"
    },
    {
      "type": "modify",
      "old_id": "427548795ebb0e311436aeb4db69c5ce12307bda",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/propagate_buffer_sizes_test.cc",
      "new_id": "3cffb05bb15a901290e051103d34c67c782629a7",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/propagate_buffer_sizes_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b34b4f6819d16669635ab5b21913bd77d3ffb444",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/robustness.cc",
      "new_id": "b78612532b3714cc5e88c0d7191ce608a541b82c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/robustness.cc"
    },
    {
      "type": "modify",
      "old_id": "36cf23c4edf16cfd1c3afe5b4881edd2d763cf20",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/robustness_test.cc",
      "new_id": "82f05b2ba3df3b65e1fd59dbe0b29e83135250ed",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/robustness_test.cc"
    },
    {
      "type": "modify",
      "old_id": "47664f0ec9219f6fa0f04dec12d86dfd7834a3ab",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/type/builtin_structs.cc",
      "new_id": "a5a72c25b3455975f42d919b8ac61f4c84f4899f",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/type/builtin_structs.cc"
    },
    {
      "type": "modify",
      "old_id": "9f8ec5ec5e5b0dc48ad8329744bd121ced4fd887",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/type/builtin_structs.h",
      "new_id": "e5b8c8587240452ecb368c0fbff0a71b55788999",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/type/builtin_structs.h"
    },
    {
      "type": "modify",
      "old_id": "9d79fc833ca1cc11c6597630454172f621ac1b61",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/builtin_fn.cc",
      "new_id": "98671a2a21569ff1038ca98f589b30685a75b6a1",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/builtin_fn.cc"
    },
    {
      "type": "modify",
      "old_id": "abe1be52a549887fefcbf5b12393cc6a087bef84",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/builtin_fn.cc.tmpl",
      "new_id": "fe194f4dfc18d5cbfc3a5bd3a4d5f77caef0648e",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/builtin_fn.cc.tmpl"
    },
    {
      "type": "modify",
      "old_id": "6a5e7e1d385d91308d0d6d1485743d8764f5a8dd",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/builtin_fn.h",
      "new_id": "a5ca57a1116de22c7134e6444c9cce92cb4a8804",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/builtin_fn.h"
    },
    {
      "type": "modify",
      "old_id": "b913303dafee2627d95c00eccbfd67a3d459625a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/glsl.def",
      "new_id": "940e04c599e14919469130ff8c8949b02ce3b29f",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/glsl.def"
    },
    {
      "type": "modify",
      "old_id": "1c6095a8f9640e699a0e144f6f9d8baefb63a378",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/intrinsic/data.cc",
      "new_id": "bb8d6822bf993674277810ad091962e3f3b75b56",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/intrinsic/data.cc"
    },
    {
      "type": "modify",
      "old_id": "29ff3e14d9365c18f0d64d1e75d93c094e0a4ab4",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/writer/BUILD.bazel",
      "new_id": "29fda3f4821b96b91d1384d0ba68c15f2785bf2a",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/writer/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "025d3a8635a1b3328c347c76c41f067960128e38",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/writer/BUILD.cmake",
      "new_id": "557ec21de1c120b6fbdca5abdbb6ea11c3e0c80b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/writer/BUILD.cmake"
    },
    {
      "type": "modify",
      "old_id": "9b0997f7dbf192304333e79fc5a357986e0870b3",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/writer/BUILD.gn",
      "new_id": "e63ceb4ef94298368c697aee6604974b55cf5dc3",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/writer/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "c46987fd98d11ff55810452860eaa498cb3a98b1",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/writer/builtin_test.cc",
      "new_id": "35c15acca0480b2d0ad10eff85a11af13519effb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/writer/builtin_test.cc"
    },
    {
      "type": "modify",
      "old_id": "cfa67e919b5b42818d62e0484fca30060007bf88",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/writer/raise/builtin_polyfill.cc",
      "new_id": "7eccf416421202eeb9ce8f57d69aa5e9e59ae94d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/writer/raise/builtin_polyfill.cc"
    },
    {
      "type": "modify",
      "old_id": "69949c80d928134ce65673dc46311fa3ba11bd49",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/writer/raise/builtin_polyfill_test.cc",
      "new_id": "d878b2116122bdeca8e93a3adc3d5db88001c37d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/writer/raise/builtin_polyfill_test.cc"
    },
    {
      "type": "modify",
      "old_id": "94c1019d977cf9f1b28dafc35d4d152748b5426e",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/builtin_polyfill.cc",
      "new_id": "e79158c6b8b2d978858fd33be64329f81b9fe403",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/builtin_polyfill.cc"
    },
    {
      "type": "modify",
      "old_id": "6ff8d2cf67d065bf8c7f1c927fc2f9d97a1b44f0",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/builtin_polyfill_test.cc",
      "new_id": "55986279f30b61058d86f9d7a8a7f2ae660c3d0d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/builtin_polyfill_test.cc"
    },
    {
      "type": "modify",
      "old_id": "27ea99b845e570e595d0239a5a8b1b334661c037",
      "old_mode": 33188,
      "old_path": "src/tint/lang/msl/writer/printer/printer.cc",
      "new_id": "bb9e6fd74fbbd5dc0da7181a8962b016ab2c98ad",
      "new_mode": 33188,
      "new_path": "src/tint/lang/msl/writer/printer/printer.cc"
    },
    {
      "type": "modify",
      "old_id": "895417412c47760faaac60b81ecb3ebb52a9bc86",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/builtin_fn.cc",
      "new_id": "7db8d5b56234b6b322c423e37ccfc7ae25b52276",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/builtin_fn.cc"
    },
    {
      "type": "modify",
      "old_id": "c49f2324a72094ed0fcabd513ee8a3d15b30803c",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/builtin_fn.cc.tmpl",
      "new_id": "bcb60612ff0ad3d3b471709c7a8c8bca0a6bf35c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/builtin_fn.cc.tmpl"
    },
    {
      "type": "modify",
      "old_id": "b490d23c0ead9c9988ea67744454fac2e0e8e41d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/builtin_fn.h",
      "new_id": "91aa2af77e4d4e89d25e070c37128cabe9ade3ba",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/builtin_fn.h"
    },
    {
      "type": "modify",
      "old_id": "05ec2a5036498e7af6e37a4899d323822fb6781e",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/intrinsic/data.cc",
      "new_id": "cf4977da3208e7a80fb13a3732c0bae1aa8cf418",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/intrinsic/data.cc"
    },
    {
      "type": "modify",
      "old_id": "e4731224a54ddc282bb2ea5be174ebea7cd01189",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/intrinsic/type_matchers.h",
      "new_id": "6b2f95af56c66a50d9c404708f85dc1f90efab46",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/intrinsic/type_matchers.h"
    },
    {
      "type": "modify",
      "old_id": "3b456eb3034878ae26ea6c2dba28aa4fcc3197ff",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/spirv.def",
      "new_id": "167095a34c0c994e066e937747c7a920293b5e82",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/spirv.def"
    },
    {
      "type": "modify",
      "old_id": "60d742da7fb3649071bc74eb24d6352eb9d4d558",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/printer/printer.cc",
      "new_id": "059bebc4b5982e543854b5964c4330c513b923aa",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/printer/printer.cc"
    },
    {
      "type": "modify",
      "old_id": "4cf852a9acaf21c6aba4622e3398002e26b55086",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill.cc",
      "new_id": "e5110b91b868e90601c7659d21ead70338637a9d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill.cc"
    },
    {
      "type": "modify",
      "old_id": "f77484f886ba77acaa170aa6a7ff3daaef8e9876",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill_test.cc",
      "new_id": "6c487cc78447c61a81398dd8ca7fd5052df4e772",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill_test.cc"
    },
    {
      "type": "modify",
      "old_id": "e5be0231fdbead648f922dc96318c7b40883ad38",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/writer/raise/raise.cc",
      "new_id": "f138f84f9f097e9533f600fab773ce0c90f21034",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/writer/raise/raise.cc"
    },
    {
      "type": "modify",
      "old_id": "f45ffa354708f39a6c1d5f2291300b0aca9a302f",
      "old_mode": 33188,
      "old_path": "src/tint/utils/protos/ir/ir.proto",
      "new_id": "a2a59b2085e3e1204276e1b6bfca2068e8fe17ae",
      "new_mode": 33188,
      "new_path": "src/tint/utils/protos/ir/ir.proto"
    },
    {
      "type": "modify",
      "old_id": "a81a3c832e141e3c61b4a34b01721391fb044c11",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.dxc.hlsl",
      "new_id": "a164c0cc7d04b59fe3919a7a950faf1b8d40962b",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.dxc.hlsl"
    },
    {
      "type": "modify",
      "old_id": "623b5e6ea20759488c681e20fcdca5af0eec7490",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.fxc.hlsl",
      "new_id": "4d32ef853476e4fff8767fab2dcc4e1ca0afff52",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.fxc.hlsl"
    },
    {
      "type": "modify",
      "old_id": "36235c819eba5a0ba7ee7f44a33c345ccc33f971",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.glsl",
      "new_id": "9a0d02e2161061834c9da5ae6513756ddc2fa14e",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.glsl"
    },
    {
      "type": "modify",
      "old_id": "f632ceb1f4c75272c20764cbbe7e6062ad1b4018",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.msl",
      "new_id": "4f52e5916fdd36cf7a447c3992becf78513e3571",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.msl"
    },
    {
      "type": "modify",
      "old_id": "ef6cee12bc91a861edd74bad7cb6d632c7499d06",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.spvasm",
      "new_id": "3ab6ccf53b052890b7c348627bd10cd78784285f",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferArrayView/runtime_offset.wgsl.expected.spvasm"
    },
    {
      "type": "modify",
      "old_id": "8bc43f4f1f1a36bcefd2de4478d189d819916129",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.dxc.hlsl",
      "new_id": "3faf9c3192b40be10f9fe67a56f3c95ec7cae190",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.dxc.hlsl"
    },
    {
      "type": "modify",
      "old_id": "1b108d9e50bc988da668947352d5b58be24482b7",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.fxc.hlsl",
      "new_id": "b0806433ba121d75d60cafcd2fba0aa2199da1b0",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.fxc.hlsl"
    },
    {
      "type": "modify",
      "old_id": "9480c9cd64120befd66bc9ab02b56f95d9469b80",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.glsl",
      "new_id": "a828b07626b8feac1922e39179a9b76d58ef08da",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.glsl"
    },
    {
      "type": "modify",
      "old_id": "1411301a3ef809d0d3c2c45559751dff823d94ad",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.msl",
      "new_id": "eea1b854151f975503da55e8115ff83390a8c504",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.msl"
    },
    {
      "type": "modify",
      "old_id": "3a35231568c442f20a1784c6fcdf0aed97a2c1e2",
      "old_mode": 33188,
      "old_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.spvasm",
      "new_id": "e02103d3416d481657c919b1c34bab1dd000a95c",
      "new_mode": 33188,
      "new_path": "test/tint/builtins/bufferView/runtime_offset.wgsl.expected.spvasm"
    }
  ]
}
