)]}'
{
  "commit": "9729a6380ccabcd595d415afbe83427072091dd7",
  "tree": "6eb403e54cb8ce2af947fa1f6aa694908f27cddd",
  "parents": [
    "11b115b26569c8aa46781b4dac589ce17f5d6c89"
  ],
  "author": {
    "name": "Kyle Charbonneau",
    "email": "kylechar@google.com",
    "time": "Wed Oct 15 14:49:29 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Oct 15 14:49:29 2025 -0700"
  },
  "message": "vulkan: Change mappable buffer memory selection logic\n\nFor BufferMapExtendedUsages buffers that are read mappable make it\nprefer HOST_CACHED for instead of HOST_COHERENT. This matches the logic\nfor mappable non-device local buffers already.\n\nFor BufferMapExtendedUsages buffers that are write mappable make it\nprefer HOST_COHERENT over HOST_COHERENT+HOST_CACHED. This is based on\nARM guidance from [1] and the fact that HOST_CACHED might have overhead\nbut can\u0027t help if there is no CPU read access.\n\nFor read+write mappable buffers they still prefer\nHOST_COHERENT+HOST_CACHED. If a memory type with both is not available\nthey will now prefer HOST_CACHED memory over HOST_COHERENT memory.\n\nThis also moves all the HOST_CACHED vs HOST_COHERENT logic out of\nGetRequiredMemoryPropertyFlags() since neither is actually required.\n\n[1] https://developer.arm.com/documentation/101897/0304/CPU-overheads/Vulkan-CPU-memory-mapping\n\nBug: 422798184\nChange-Id: I2727ad64a3f804257aa74c203ada9ddf3209ffff\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/265474\nReviewed-by: Shahbaz Youssefi \u003csyoussefi@google.com\u003e\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Kyle Charbonneau \u003ckylechar@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9a2e81cc958971b17a4c0ed7139866de183965e8",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/MemoryTypeSelector.cpp",
      "new_id": "13cc55398132f4f2c2a63968fa8227c35a1306d4",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/MemoryTypeSelector.cpp"
    },
    {
      "type": "modify",
      "old_id": "95d4fcf89ed10f4096fedac9d86b7d4268f8b9b0",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/MemoryTypeSelector.h",
      "new_id": "221ba0c1d5892f76097c20f1991498f7e5300680",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/MemoryTypeSelector.h"
    },
    {
      "type": "modify",
      "old_id": "50f1a6054969d75f3ae10760cfdcab47f69bbf1e",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/vulkan/MemoryTypeSelectorTests.cpp",
      "new_id": "5ba02b10e7423152f79d2200b7770e52b6ec090a",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/vulkan/MemoryTypeSelectorTests.cpp"
    }
  ]
}
