)]}'
{
  "commit": "72cbfa073a67f19f4e076341973713ed2d77eb99",
  "tree": "1230d04084f251fd5cdef5740da6a115d01011ce",
  "parents": [
    "b60dc6cf2e771296da5b0ff9e0ed10f33aa82536"
  ],
  "author": {
    "name": "kylechar",
    "email": "kylechar@google.com",
    "time": "Fri Feb 06 12:43:13 2026 -0500"
  },
  "committer": {
    "name": "SkCQ",
    "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
    "time": "Fri Feb 06 11:55:32 2026 -0800"
  },
  "message": "Fix MSAARenderToSingleSampled in Graphite/Dawn\n\nThe MSAARenderToSingleSampled feature was recently implemented in\nDawn/Vulkan. The current implementation in Skia isn\u0027t compatible with\nthe restrictions of the feature in Dawn. This triggers validation errors\nthat break Graphite/Dawn/Vulkan.\n\nDawn enforces that depth/stencil samples must match the sample count\nspecified for a render pass. This is because Dawn never supported\nresolving depth/stencil attachments. Graphite was using 1x depth/stencil\nattachment when render pass was rendered at 4x because the Vulkan\nextension supports that. Change Graphite so depth/stencil sample count\nalways matches the render pass sample count. Note this also applies to\nGraphite/Vulkan when VK_EXT_multisampled_render_to_single_sampled is\nused.\n\nAlso update the dawn struct used with MSAARenderToSingleSampled.\nwgpu::DawnRenderPassSampleCount is the new struct and it\u0027s chained on\nthe render pass instead of color attachment.\n\nBug: chromium:482088881\nChange-Id: If5bb8c78bbe65bb7f8487089380c732daaed41c0\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1157378\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nCommit-Queue: Kyle Charbonneau \u003ckylechar@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "03e7dbecc2e529ce24228ff70f3c3eeecd59ed74",
      "old_mode": 33188,
      "old_path": "src/gpu/graphite/RenderPassDesc.cpp",
      "new_id": "b67b509d1543cc4e62a1202b301bc701a5274eed",
      "new_mode": 33188,
      "new_path": "src/gpu/graphite/RenderPassDesc.cpp"
    },
    {
      "type": "modify",
      "old_id": "68b4dadc1ff4f6fa4b0bdb2b37455fa857aae833",
      "old_mode": 33188,
      "old_path": "src/gpu/graphite/dawn/DawnCommandBuffer.cpp",
      "new_id": "158ba0bf32cb630ea1a66e419ef7fb2579c5ff2b",
      "new_mode": 33188,
      "new_path": "src/gpu/graphite/dawn/DawnCommandBuffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "b2f5b80513c5ca794f89482f65c4d40bc3ad7296",
      "old_mode": 33188,
      "old_path": "src/gpu/graphite/task/RenderPassTask.cpp",
      "new_id": "f4e5508b1b1fb21f7b52183876d7ca73e5260665",
      "new_mode": 33188,
      "new_path": "src/gpu/graphite/task/RenderPassTask.cpp"
    },
    {
      "type": "modify",
      "old_id": "4af60dbe04face8a56ee3caf99926c3be20807df",
      "old_mode": 33188,
      "old_path": "src/gpu/graphite/vk/VulkanRenderPass.cpp",
      "new_id": "9429850ef2e78a17a918f585062a62ee5e4d6d0a",
      "new_mode": 33188,
      "new_path": "src/gpu/graphite/vk/VulkanRenderPass.cpp"
    }
  ]
}
