)]}'
{
  "commit": "5d5f225be2ed817271a5bcd6bbce855555f45ee2",
  "tree": "910e5a86dfb21d6cf5b4c6b8c41ff5e087305d84",
  "parents": [
    "9996e55cc736343d290586fa61390be9d72450c7"
  ],
  "author": {
    "name": "Corentin Wallez",
    "email": "cwallez@chromium.org",
    "time": "Thu Mar 19 02:38:46 2026 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Mar 19 02:38:46 2026 -0700"
  },
  "message": "[YUV AHB] Factor state sync logic in CommandBufferVk.\n\nAll the Draw and Dispatch operations needed to make sure to apply\nupdates for dirty immediates and descriptor sets. Introduce a \"state\"\nclass that holds the various trackers and has a wrapper function\nSyncAndRun that runs the draw/dispatch functor after syncing.\n\nAlso defer binding the Vulkan pipeline until right before the operation.\n\nThis is useful in the short term to add support for JITed pipelines for\nYUV AHB, since it allows detecting that the pipeline needs JITing just\nbefore the Draw/Dispatch, and instrumenting the code that does state\nsynchronization for that purpose. Long-term it will be useful to reduce\nthe state trackend by the Vulkan backend (some of it in BindGroupTracker\nis not needed), and moving to a tail-call interpreter loop.\n\nBug: 468988322\nChange-Id: Iaed78347dc49c1f468bb585f368a058b85d36e82\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/297735\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Kyle Charbonneau \u003ckylechar@google.com\u003e\nReviewed-by: Brandon Jones \u003cbajones@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b8bc53eac4e548d9f278a622cd1804272e1d7444",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/CommandBufferVk.cpp",
      "new_id": "df814faed9ef6c98d9a5c2bec04c828c2bfff9e5",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/CommandBufferVk.cpp"
    }
  ]
}
