)]}'
{
  "commit": "835b0acced2d993fc7cfd0ec59cd02547b4f1cd1",
  "tree": "252d5ee3a86a659fa047fc918a2d8a474611efa7",
  "parents": [
    "904d3245569d51ecbd9f50ff99e143c4041c8c56"
  ],
  "author": {
    "name": "Bryson Miller",
    "email": "andrewmiller77@protonmail.com",
    "time": "Tue Apr 07 10:30:03 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 07 18:30:03 2026 +0100"
  },
  "message": "[mlir][spirv] Add OpTypeSampler and OpSampledImage support (#189891)\n\nAdd missing `!spirv.sampler` type (`OpTypeSampler`, opcode 26) and\n`spirv.SampledImage` op (`OpSampledImage`, opcode 86) to the SPIR-V\ndialect.\n\nThe existing sampling ops (e.g. `spirv.ImageSampleImplicitLod`) consume\n`!spirv.sampled_image\u003c...\u003e` values, but there was previously no way to\nconstruct one from a separate image and sampler which is the standard\nVulkan pattern for combined image samplers.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "11a91958d7484fc8328b3122770662dec5c6050f",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td",
      "new_id": "c4d123e0f539c6e7d4a8bd5f12d1c84ea0666012",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td"
    },
    {
      "type": "modify",
      "old_id": "e23efa57e5e53b8c2dc5588fea9985a81ca48bd8",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td",
      "new_id": "e5ff4c5d96b4a7e35dd055e1555e6f36563d8016",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td"
    },
    {
      "type": "modify",
      "old_id": "4a0c29d4b5d90e9d6688383c246ee17b26dc3729",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h",
      "new_id": "9864f644aa93e43dec61bf6ce579bc5fadd7d493",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h"
    },
    {
      "type": "modify",
      "old_id": "5782b42dba02636facbfb12c73a86ed61f1d2d44",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp",
      "new_id": "036d48f0fd637f148945bb4773e58f94c681c0e7",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp"
    },
    {
      "type": "modify",
      "old_id": "331d98c1d93134e76608db553d145fe4b4db83f7",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp",
      "new_id": "c4dd4cea778d78596e0d9c38730360400ab460b1",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp"
    },
    {
      "type": "modify",
      "old_id": "cc6302126d64a64a6a6d1c1f7f7ff5421c4d6b54",
      "old_mode": 33188,
      "old_path": "mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp",
      "new_id": "0faa5f0f29d7d16ec499020ae4ae66fa1ddcb693",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "f98236c5daeceb34fc7cec0a5c250550e7910be0",
      "old_mode": 33188,
      "old_path": "mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp",
      "new_id": "9557b4647958d7a5df584fceecbed2d4d684e2c2",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp"
    },
    {
      "type": "modify",
      "old_id": "50c935036158c918357cfd2592aae0ac773f4c01",
      "old_mode": 33188,
      "old_path": "mlir/lib/Target/SPIRV/Deserialization/Deserializer.h",
      "new_id": "e0743503acc5b20ee1d0d3e57bbf1c76b177d418",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/SPIRV/Deserialization/Deserializer.h"
    },
    {
      "type": "modify",
      "old_id": "c21cb27b072f19c7aa0d608ffdf4ae2e69216c57",
      "old_mode": 33188,
      "old_path": "mlir/lib/Target/SPIRV/Serialization/Serializer.cpp",
      "new_id": "aaa80470f40e1a412df2e404abb5c7a339827c32",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/SPIRV/Serialization/Serializer.cpp"
    },
    {
      "type": "modify",
      "old_id": "6e4126172f67074d4eb6a91cbc387486c5e97c19",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/SPIRV/IR/composite-ops.mlir",
      "new_id": "ef04b949c5219c4253a96de95f7c94d89ac9d5a6",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/SPIRV/IR/composite-ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "12b5f2ce62a68a7b315df62fe8a36f84b98be8e8",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/SPIRV/IR/image-ops.mlir",
      "new_id": "c4f90cfcb9a490cc687e706213234d40d6cce097",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/SPIRV/IR/image-ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "710673b73cee59a77b88eb1f7c348222fe0a7503",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/SPIRV/IR/types.mlir",
      "new_id": "99443a13e0ec3109964c5e01d897ea8258320cb6",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/SPIRV/IR/types.mlir"
    },
    {
      "type": "modify",
      "old_id": "3593d9b0e9b389f8567974f091319ba25bb3ba57",
      "old_mode": 33188,
      "old_path": "mlir/test/Target/SPIRV/image-ops.mlir",
      "new_id": "b664561ce9b01f69edb286a7022442a059a00cf9",
      "new_mode": 33188,
      "new_path": "mlir/test/Target/SPIRV/image-ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "ff068208540f4908cb3e79b3c9d1b9f4498d61a7",
      "old_mode": 33188,
      "old_path": "mlir/test/Target/SPIRV/sampled-image.mlir",
      "new_id": "4f6f3256acbac5ef1a1c56b0e505b882d818917e",
      "new_mode": 33188,
      "new_path": "mlir/test/Target/SPIRV/sampled-image.mlir"
    }
  ]
}
