)]}'
{
  "commit": "5d40b8c129c1496b8138511c816f1b9f33fecb12",
  "tree": "8f096e9889303da96478759408d7b6a4be75790f",
  "parents": [
    "c86c5f287359036f2a457f4ba9942bcfbc39947b"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Wed Nov 06 18:16:03 2024 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Nov 06 18:16:03 2024 +0000"
  },
  "message": "[fuzz] Validate IR modules against fuzzer-specific capabilities\n\nDifferent IR fuzzers have different predconditions and therefore\nrequire the IR module to be validated against different IR\ncapabilities. Add a parameter to the TINT_IR_MODULE_FUZZER macro that\nfuzzers use to set their supported capabilities.\n\nInstead of validating the IR module once after decoding, move\nvalidation into the Run loop so that we can validate against these\nper-fuzzer capabilities.\n\nMove capability lists to transform header files so that they can be\nshared between fuzzers and the transforms themselves.\n\nChange-Id: I38cf6aaa337320a63acb57ad1cfa5362dee84ec1\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/213955\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: James Price \u003cjrprice@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a91733657591071988a3e4c6e94907ddd36fe86c",
      "old_mode": 33188,
      "old_path": "src/tint/cmd/fuzz/ir/fuzz.cc",
      "new_id": "bd65e7b4cca12dd7b61d5474c921d531dd4a4478",
      "new_mode": 33188,
      "new_path": "src/tint/cmd/fuzz/ir/fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "209f41e18ecd1d16c3cf511ea7fd211b90342cf0",
      "old_mode": 33188,
      "old_path": "src/tint/cmd/fuzz/ir/fuzz.h",
      "new_id": "7c51d1be9ed47334573d5365eaee130eb3afd291",
      "new_mode": 33188,
      "new_path": "src/tint/cmd/fuzz/ir/fuzz.h"
    },
    {
      "type": "modify",
      "old_id": "606230e44ac4b31ceee3885ff348e46e30dc0964",
      "old_mode": 33188,
      "old_path": "src/tint/cmd/fuzz/ir/main_fuzz.cc",
      "new_id": "7965a5787382418f570e66371729dfd711c48d18",
      "new_mode": 33188,
      "new_path": "src/tint/cmd/fuzz/ir/main_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "17cfe542b01cc88c65e70bcd29ebacb6e7944692",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/binary/roundtrip_fuzz.cc",
      "new_id": "a7ee926ef66c823213911522dfebb1caea8585d4",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/binary/roundtrip_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "8b25aa63db5f9f7eaf3e8a63b6f681f57b84aaa5",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/add_empty_entry_point.cc",
      "new_id": "c51b08a2d842e439e2e12af00225a8f1792219b5",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/add_empty_entry_point.cc"
    },
    {
      "type": "modify",
      "old_id": "786377d6973064166613d86b275a1b8152d737b8",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/add_empty_entry_point.h",
      "new_id": "46ca5ca34329ad9134a1225019e91c1835330f90",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/add_empty_entry_point.h"
    },
    {
      "type": "modify",
      "old_id": "70056f6e230f0a3756e182ab8304b160b17a7605",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/add_empty_entry_point_fuzz.cc",
      "new_id": "60f87df4e9e79a681120effb4956961ab2213887",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/add_empty_entry_point_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "8228b05ae4c2d4328084a52cacb4e49236c2ef22",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/array_length_from_uniform_fuzz.cc",
      "new_id": "61cb9d9b074ab2d674f775f8ce001558e0e722bf",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/array_length_from_uniform_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "cbb95fe610466054b2e36d35bdec391daa282efa",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/bgra8unorm_polyfill_fuzz.cc",
      "new_id": "65fc3a538f3dee0de1806ff7a281e47cc81b061f",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/bgra8unorm_polyfill_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "13875ea664c58f40cae4c67a0d0f4d191cfcbb8a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/binary_polyfill_fuzz.cc",
      "new_id": "37b427bbf0b7327564560fd21820179ae2652064",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/binary_polyfill_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "68ba6516a417c88c2e8df88606c5246c25f53f84",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/binding_remapper_fuzz.cc",
      "new_id": "f26f770bd8c5f22ad25a146fe333a1910fa3a045",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/binding_remapper_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "a13427d2054f1d7bc914199fd4da0c17a438c793",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/block_decorated_structs_fuzz.cc",
      "new_id": "cc97e02923424bc3b2665e7f852da65b7297fd38",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/block_decorated_structs_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "298bbaaabc040188a4e734c58d2f6c004f5517dd",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/builtin_polyfill_fuzz.cc",
      "new_id": "3435ede590c81c98c24382f6c21c425a5b475336",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/builtin_polyfill_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "ea0f01ddfb21c75308577a5deb32b2669ab4751b",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/combine_access_instructions_fuzz.cc",
      "new_id": "b37e66253453618bb6e1529d76c4698b10137bb3",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/combine_access_instructions_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "9d8f9633b15ddd71c24bc64b443f4c49fc714e5a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/conversion_polyfill_fuzz.cc",
      "new_id": "b8a4de549e56fbfb42a470d90d03cd80c24c8c1f",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/conversion_polyfill_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "ceb6f8f82d555bdc2d3c41b81e88f77c1e33d433",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/demote_to_helper.cc",
      "new_id": "bc69ec28e6cb15ba92f23c2be06a9594e1734f61",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/demote_to_helper.cc"
    },
    {
      "type": "modify",
      "old_id": "1558b70ac311870bcb79cb8c28f5814eab74a6bf",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/demote_to_helper.h",
      "new_id": "8131d9dfddf0d56497b2eae2271d58ce23936503",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/demote_to_helper.h"
    },
    {
      "type": "modify",
      "old_id": "ad896ab33e876e32f632a308240ac5c52e48290b",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/demote_to_helper_fuzz.cc",
      "new_id": "3afc25d6d87d1c9c96e71d22d41393388ffa7e8f",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/demote_to_helper_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "67686ea5d43b576ae963fe77548bf03106cc971a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/direct_variable_access.cc",
      "new_id": "b5917e3cea22b6c6d7571138107e6b3f016d4d0a",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/direct_variable_access.cc"
    },
    {
      "type": "modify",
      "old_id": "65f220fc81e84267f9e21267464d8fb393ecf008",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/direct_variable_access.h",
      "new_id": "6abe171f7047b213fbcdfb02bd1bb6021dfaf19d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/direct_variable_access.h"
    },
    {
      "type": "modify",
      "old_id": "33f03065d0f5889db78732b683f82c19a882269e",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/direct_variable_access_fuzz.cc",
      "new_id": "dd22995365ec4ef0d1ad95759a68f4f650218672",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/direct_variable_access_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "ab95aa9d271db0cf5aa7f48ffa8ba469782773ef",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/multiplanar_external_texture_fuzz.cc",
      "new_id": "cc6d26105ecfda68faba693284cb03d465d60782",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/multiplanar_external_texture_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "463ebfa65c7b0c2bd548460c54da78278e320352",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/preserve_padding.cc",
      "new_id": "82b5896152fd87acf188a0f5fae2b26f7e3c6fe0",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/preserve_padding.cc"
    },
    {
      "type": "modify",
      "old_id": "6c7dd0a0d44a8a559938f2aed34fcfdc47beb697",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/preserve_padding.h",
      "new_id": "ba135cf2b398360fb27e4c4ce4125073b756b48b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/preserve_padding.h"
    },
    {
      "type": "modify",
      "old_id": "1dddfd977b220abbff8eb3a18f00cefea3d29ffe",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/preserve_padding_fuzz.cc",
      "new_id": "e14957e1763b90f9567f9838d1d7bd63f6f0d257",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/preserve_padding_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "7feb71d4c0f4dd707e8c08efca48e32e0828b1ba",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/remove_terminator_args.cc",
      "new_id": "2e92362c960df5939de85e0450d6871aa8713f4c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/remove_terminator_args.cc"
    },
    {
      "type": "modify",
      "old_id": "98fbc653c59b9c8eaa9962ea66508a7b923c520c",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/remove_terminator_args.h",
      "new_id": "0b366b8526bf991621658998525efdee1b33dfd1",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/remove_terminator_args.h"
    },
    {
      "type": "modify",
      "old_id": "4cefe7f42a11979a194b73cd80de0da69743225e",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/remove_terminator_args_fuzz.cc",
      "new_id": "076719e3ace4625902070e5cc4a40548f3431add",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/remove_terminator_args_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "d79ad9d65db49198f2b71d5a35c79eec2ba4761d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/rename_conflicts.cc",
      "new_id": "fa58c4e08f9eefbe22f21e46ac0f7d34490acfbb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/rename_conflicts.cc"
    },
    {
      "type": "modify",
      "old_id": "29b6d4a645eab61843a74505b51b90ebc6f3adb2",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/rename_conflicts.h",
      "new_id": "a56cab3a28d790cfb96c825320c25ddf6088d246",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/rename_conflicts.h"
    },
    {
      "type": "modify",
      "old_id": "c125848c1d4fa4c2e98b73cd665e0ef25078acff",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/rename_conflicts_fuzz.cc",
      "new_id": "39c2c8d33873d2e957104e41fcf608f24cb64532",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/rename_conflicts_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "930ed84b8bfc2a6bd182a2191d1c26b95a1b660f",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/robustness_fuzz.cc",
      "new_id": "410d212de4f6cac4f43dc4a5f3f03a8db4ad24e5",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/robustness_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "c799741ee796471a5787877cb2869de11b94014c",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/std140.cc",
      "new_id": "ac9a6858fea5aee806a5aefd25bff09eb13a1c0e",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/std140.cc"
    },
    {
      "type": "modify",
      "old_id": "89852db5617b17b2e1bcd7c77ec32504d345ab6f",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/std140.h",
      "new_id": "2f83e047e68c6d89e94c9cffde80c7a3c86a8a58",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/std140.h"
    },
    {
      "type": "modify",
      "old_id": "091def89af9fa7f59929b59dd59f4ba0a21548f0",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/std140_fuzz.cc",
      "new_id": "e8134f8c0814f1ba1cd0bc47a30ba565a842cae8",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/std140_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "37946259bec0140bf3e1a8b1fb771416d92fcd7e",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/value_to_let.cc",
      "new_id": "ffa5f44dd482109d10b6553eca535ee0792f5274",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/value_to_let.cc"
    },
    {
      "type": "modify",
      "old_id": "6b72f1a6847268355178f88abcd4ce340c68bcdd",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/value_to_let.h",
      "new_id": "b0c5b355e66058a4f155da9f6f907dbb748211d9",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/value_to_let.h"
    },
    {
      "type": "modify",
      "old_id": "d593e2df5a1e45c0cb61451337bd1abb3fb39303",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/value_to_let_fuzz.cc",
      "new_id": "544a76083eed70477b7f552f30e3bac30d2404fb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/value_to_let_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "ec96c26b40e15d6cfe4e97fa502050bd02a038d1",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.cc",
      "new_id": "96996bf922b27d3da2282f3df15f38d6f91cc7be",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.cc"
    },
    {
      "type": "modify",
      "old_id": "ff4ef93f547bec1a985829f0012681b735a905ba",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.h",
      "new_id": "a57bf66284815001a778be3529828c7c6d094589",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.h"
    },
    {
      "type": "modify",
      "old_id": "c3fb9c168ba8152fb9e9cb88d9c56136b1f171ae",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors_fuzz.cc",
      "new_id": "f1776d9a3a7da2cf96276ab84e65ae4c377c4892",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "3c7f86896b5a4143fef53e59d319149b91f6d843",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/zero_init_workgroup_memory_fuzz.cc",
      "new_id": "6a897dfd08e5e57620d364308360f7f751ccd93d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/zero_init_workgroup_memory_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "2421817d979db7d2b09e525aff419ab117d8633f",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/writer/writer_fuzz.cc",
      "new_id": "bc27f5d6bc81317b5522117f6d1a19cb26588e2a",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/writer/writer_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "e09b39f5b7ef743dae88b9e5b49f73faa432866d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/promote_initializers.cc",
      "new_id": "b5f5132d809f0bf14fee73caa59fec0f96a04097",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/promote_initializers.cc"
    },
    {
      "type": "modify",
      "old_id": "768a8ce2443f9bc244d315c72feb3566878ec741",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/promote_initializers.h",
      "new_id": "8c800013196e528361cc9d69fe6c9a2886e010b1",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/promote_initializers.h"
    },
    {
      "type": "modify",
      "old_id": "7683d951c7452a606c08304153ecc2e631cec4d9",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/promote_initializers_fuzz.cc",
      "new_id": "7864eb78fc913424f71ff5a4a0ba17326f1bb6f5",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/promote_initializers_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "667d29952d770efcda52b90f164409c0cc48843a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/msl/writer/writer_fuzz.cc",
      "new_id": "332e364f923be0a7f9f32ee0206fa98ae8fbcb58",
      "new_mode": 33188,
      "new_path": "src/tint/lang/msl/writer/writer_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "35191fd522d80134339c87b079e920cac92cd018",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/writer_ir_fuzz.cc",
      "new_id": "e5ace5613514b30f3f2307afa7d3f6b93cf44941",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/writer_ir_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "b67fb2264c3f39ccf1d61aedbc5c253f943d63c2",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/writer/raise/ptr_to_ref_fuzz.cc",
      "new_id": "0b7dba8841f207282b66ff5e8a249c91a3888d61",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/writer/raise/ptr_to_ref_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "e63783c687f68b9473a3ffa6c3c9c18be339f9a2",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/writer/raise/raise_fuzz.cc",
      "new_id": "9ab4bd73b92428a07b3befce5543262606101ff1",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/writer/raise/raise_fuzz.cc"
    },
    {
      "type": "modify",
      "old_id": "84755d025b91c2973ad79a7ec16791bcdc0182e3",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/writer/raise/value_to_let_fuzz.cc",
      "new_id": "58a489b56c77b900461be46a2d71af9865ee5ef3",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/writer/raise/value_to_let_fuzz.cc"
    }
  ]
}
