)]}'
{
  "commit": "cce0a54c6f6f0a0bea91c72fcab21dcca6a80f41",
  "tree": "c5f171cf1a8ae379543798385393fbca688ab885",
  "parents": [
    "3fd9e822a5fcbfa633e75df997480fce16ebd255"
  ],
  "author": {
    "name": "Natalie Chouinard",
    "email": "chouinard@google.com",
    "time": "Thu Mar 19 08:01:16 2026 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Mar 19 08:01:16 2026 -0700"
  },
  "message": "[tint] Allow @color on f16 for fbf on Metal\n\nUpdate the frambuffer_fetch docs to state that @color attributes are\nallowed on f16 on Metal (since they already were in practice and were\nbeing used downstream), and add corresponding IR validation and tests.\n\nVulkan does not allow 16-bit float types as the sampled type\n(VUID-StandaloneSpirv-OpTypeImage-04656), but we may need to figure out\nhow to support it on the Vulkan backend in the near future:\ncrbug.com/493892934.\n\nBug: 485523357\nChange-Id: I52ec84e4a194f7f8a0896e81f72f3d02b920f46c\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/297855\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: Natalie Chouinard \u003cchouinard@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b110782b10c28f4b06acbff6e8e947657fe2c96",
      "old_mode": 33188,
      "old_path": "docs/dawn/features/framebuffer_fetch.md",
      "new_id": "7c53cac2abf52fda4650c6722537d16b0a590390",
      "new_mode": 33188,
      "new_path": "docs/dawn/features/framebuffer_fetch.md"
    },
    {
      "type": "modify",
      "old_id": "e71b9a768957ae98d472de418a256ceb84d6de54",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator.cc",
      "new_id": "812b340c48317672d88a77b3e3d94d8490c7ac56",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator.cc"
    },
    {
      "type": "modify",
      "old_id": "c5a5099858a97a9a06767c53cffed68f17506cb6",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator_function_test.cc",
      "new_id": "6630b01bf25695d78c74a0244748805a0bd9ca04",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator_function_test.cc"
    },
    {
      "type": "modify",
      "old_id": "dfad45736fad719bd77361ba44eea28a09b19b93",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/writer.cc",
      "new_id": "b6e75ef07b87278b38607c9a6e7cff6bbae6d98f",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/writer.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3d9f37ca5561c263c793a20d81d888090c083474",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/multiple_outputs/f16.wgsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98643c4c1cae53cfb2dcc2283d76762694d2cbf5",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/multiple_outputs/f16.wgsl.expected.dxc.hlsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98643c4c1cae53cfb2dcc2283d76762694d2cbf5",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/multiple_outputs/f16.wgsl.expected.fxc.hlsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "37b5e173815e8bee5647dadedc87e7fdd0443208",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/multiple_outputs/f16.wgsl.expected.glsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4be74ec88a0df80045c722a085a4b0bdf9d066bc",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/multiple_outputs/f16.wgsl.expected.msl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6376379125b5d628afdd24bb95a9329104acb5c",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/multiple_outputs/f16.wgsl.expected.spvasm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "249b08e3bfd68e22bb7594ef3e4c8fce6a94ed18",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/multiple_outputs/f16.wgsl.expected.wgsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c3fab8eee5b05d4854c20cab6ec9347e9151626f",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/one_output/f16.wgsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98643c4c1cae53cfb2dcc2283d76762694d2cbf5",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/one_output/f16.wgsl.expected.dxc.hlsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98643c4c1cae53cfb2dcc2283d76762694d2cbf5",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/one_output/f16.wgsl.expected.fxc.hlsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "37b5e173815e8bee5647dadedc87e7fdd0443208",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/one_output/f16.wgsl.expected.glsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "317908f51a4acf3b1243542b55da8a8bd9754457",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/one_output/f16.wgsl.expected.msl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6376379125b5d628afdd24bb95a9329104acb5c",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/one_output/f16.wgsl.expected.spvasm"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "11de1ffac044df93f0f5466edc77a93b897b2a75",
      "new_mode": 33188,
      "new_path": "test/tint/extensions/framebuffer_fetch/one_output/f16.wgsl.expected.wgsl"
    }
  ]
}
