)]}'
{
  "commit": "e88a4bf8eeb9196c660fec2b6f31bc45697eb42e",
  "tree": "68a20ca4359299c214b6f87d30483af825e18acc",
  "parents": [
    "9b73ec2cc96e0b1f31df5bccac7a2df4f0ea33df"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Mon Aug 07 14:27:24 2023 +0000"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Aug 07 14:27:24 2023 +0000"
  },
  "message": "[ir][spirv-writer] Polyfill saturate builtin\n\nAdd a generic `BuiltinPolyfill` transform that will handle generic\npolyfills that go from core IR to different core IR, to be used by all\nthe backends.\n\nUse it to implement a polyfill for `saturate` that uses `clamp`.\n\nBug: tint:1906\nChange-Id: I35e9bb2fa71401cd2d6a55354c836b327eb5a714\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/144980\nReviewed-by: Ben Clayton \u003cbclayton@google.com\u003e\nCommit-Queue: James Price \u003cjrprice@google.com\u003e\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "20f2ed5cf4bb6c420375d9a169c05fe4a13b5e40",
      "old_mode": 33188,
      "old_path": "src/tint/BUILD.gn",
      "new_id": "d8369a2a83afd7f05812e7fd2264ff788e628be0",
      "new_mode": 33188,
      "new_path": "src/tint/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "5e96fc1d4096cc89aca7c5f0c4130b3565948826",
      "old_mode": 33188,
      "old_path": "src/tint/CMakeLists.txt",
      "new_id": "dce8cedd5e745384524a21d23a21f823c94c69f5",
      "new_mode": 33188,
      "new_path": "src/tint/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f1c0a5d34c91f8cb6d5b09fe69594236457afb3a",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/builtin_polyfill.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "948b946825ba0085b055983a5193e5cf6182a9a4",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/builtin_polyfill.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "54ca337cf2c15d31044321065c0f34eb0787ca53",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/builtin_polyfill_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d14172e989e705d143b6c81d71e77433d140bd33",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/builtin_test.cc",
      "new_id": "372a7ec1b4c59c7fc7e57e795160e99ba3bbfefb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/builtin_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d883f89b1e4fb2786f21a9f3af6b6197d294f1e1",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/raise.cc",
      "new_id": "52ca4573e549b08c7f51fc992f4fd97bd4ed014e",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/raise.cc"
    }
  ]
}
