)]}'
{
  "commit": "960aa2ee757801a2d5ec8a9b2170dc3ea89b1f20",
  "tree": "2ac1dfde8cbd358ccbccd870e1d000fb478bd71d",
  "parents": [
    "75db82c96bbfadd8e28cc2ecda0fe635324be988"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Sat Jun 19 00:33:35 2021 +0000"
  },
  "committer": {
    "name": "Tint LUCI CQ",
    "email": "tint-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Sat Jun 19 00:33:35 2021 +0000"
  },
  "message": "msl: Add ArrayLengthFromUniform transform\n\nGenerate a uniform buffer that will receive the lengths of all storage\nbuffers, and use this to implement calls to arrayLength(). The\ntransform is provided with a set of mappings from storage buffer\nbinding points to the corresponding index into the array of buffer\nlengths. The transform reports whether it generated the uniform\nbuffers or not.\n\nUse this transform from the MSL sanitizer, using the binding number as\nthe index into the array. This matches the behavior of spirv-cross,\nand so works with how Dawn already produces this uniform buffer.\n\nBug: tint:256\nChange-Id: I2682d2d024e8daa30f78270b8cfb6bbb32632133\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/54480\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\nCommit-Queue: James Price \u003cjrprice@google.com\u003e\nReviewed-by: Ben Clayton \u003cbclayton@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0ff76ce00d7e9578e8989ab931e35f84fdb34865",
      "old_mode": 33188,
      "old_path": "src/BUILD.gn",
      "new_id": "eba4825f9edd57ea4d985e84921603bb89df4d15",
      "new_mode": 33188,
      "new_path": "src/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "fc5d550a70f7a6ca31c97cb2fcb9223c95e495e8",
      "old_mode": 33188,
      "old_path": "src/CMakeLists.txt",
      "new_id": "6bc55b05e8fdce2f2aba4228dec06755ba6b4195",
      "new_mode": 33188,
      "new_path": "src/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e965cae76cf66404fda0e9eadb127a5092a050bd",
      "new_mode": 33188,
      "new_path": "src/transform/array_length_from_uniform.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ccb588c86a654e7f5f6841b6aa569c3a9ee7a52",
      "new_mode": 33188,
      "new_path": "src/transform/array_length_from_uniform.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "006e094fc9f8560d164dcc1c7f7ce53595b5292d",
      "new_mode": 33188,
      "new_path": "src/transform/array_length_from_uniform_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f32c01aabb7cb9ce5ada6ffa023ddcf500820e1d",
      "old_mode": 33188,
      "old_path": "src/transform/msl.cc",
      "new_id": "6d45462fa1c6ca39dce654c4316786ec0586e0ee",
      "new_mode": 33188,
      "new_path": "src/transform/msl.cc"
    },
    {
      "type": "modify",
      "old_id": "01ccb1a64d8f902b97cfbf1e58531b71fc3e3ffc",
      "old_mode": 33188,
      "old_path": "src/transform/msl.h",
      "new_id": "2870f9306c0ca0cd66225473453cf1119cf1195a",
      "new_mode": 33188,
      "new_path": "src/transform/msl.h"
    },
    {
      "type": "modify",
      "old_id": "04d781da93f51c12ab12021a39a64b69f51bc1c7",
      "old_mode": 33188,
      "old_path": "test/BUILD.gn",
      "new_id": "2871a80ab8c71a2d2eb186449f2b01035e06219c",
      "new_mode": 33188,
      "new_path": "test/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "b142311dbe33ec86207cd0546467345aa38aec4a",
      "old_mode": 33188,
      "old_path": "test/intrinsics/arrayLength/complex_via_let.wgsl.expected.msl",
      "new_id": "d690d2497e3ee9ccbad3e324d22b0698ca5a5b6c",
      "new_mode": 33188,
      "new_path": "test/intrinsics/arrayLength/complex_via_let.wgsl.expected.msl"
    },
    {
      "type": "modify",
      "old_id": "522865a044173a3b33e22f27bddbe65d995cf470",
      "old_mode": 33188,
      "old_path": "test/intrinsics/arrayLength/deprecated.wgsl.expected.msl",
      "new_id": "c86fc59bd42455c7f9f551dcde20ded6983d915a",
      "new_mode": 33188,
      "new_path": "test/intrinsics/arrayLength/deprecated.wgsl.expected.msl"
    },
    {
      "type": "modify",
      "old_id": "61e65daf726ab70c5ea0cf7c25cb7e950d700773",
      "old_mode": 33188,
      "old_path": "test/intrinsics/arrayLength/simple.wgsl.expected.msl",
      "new_id": "d690d2497e3ee9ccbad3e324d22b0698ca5a5b6c",
      "new_mode": 33188,
      "new_path": "test/intrinsics/arrayLength/simple.wgsl.expected.msl"
    },
    {
      "type": "modify",
      "old_id": "e87fc055cdbd68fbffaa9624e332640e389c1c29",
      "old_mode": 33188,
      "old_path": "test/intrinsics/arrayLength/via_let.wgsl.expected.msl",
      "new_id": "d690d2497e3ee9ccbad3e324d22b0698ca5a5b6c",
      "new_mode": 33188,
      "new_path": "test/intrinsics/arrayLength/via_let.wgsl.expected.msl"
    },
    {
      "type": "modify",
      "old_id": "9fba102d839813a1fecba35391bbce081ffa63a2",
      "old_mode": 33188,
      "old_path": "test/intrinsics/arrayLength/via_let_complex.wgsl.expected.msl",
      "new_id": "d690d2497e3ee9ccbad3e324d22b0698ca5a5b6c",
      "new_mode": 33188,
      "new_path": "test/intrinsics/arrayLength/via_let_complex.wgsl.expected.msl"
    }
  ]
}
