)]}'
{
  "commit": "bd2dadf43e826f4e9296d757447b0b3551f8c66d",
  "tree": "79f34e9777e42d90aeab3002e5c708ed34098050",
  "parents": [
    "d5c047bec2010c59456dce3ff8f4ffc492d090aa"
  ],
  "author": {
    "name": "Jiawei Shao",
    "email": "jiawei.shao@intel.com",
    "time": "Thu Jul 02 19:47:47 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Jul 02 19:47:47 2026 -0700"
  },
  "message": "Support mappedAtCreation for SharedBufferMemory buffers\n\nSharedBufferMemory::CreateBuffer did not call MapAtCreation() when the\ndescriptor had mappedAtCreation\u003dtrue, causing GetMappedRange() to return\nnullptr after BeginAccess.\n\nFix by:\n- Calling MapAtCreation() in SharedBufferMemoryBase::CreateBuffer when\n  mappedAtCreation is set.\n- Adding mIsMappedAtCreation to BufferBase, set in\n  MapAtCreationInternal() and cleared in Unmap(), so that\n  OnBeginAccess() restores MappedAtCreation state (instead of always\n  Unmapped) when BeginAccess is called on a still-mapped buffer.\n- Making BufferBase::GetState() public so BeginAccess can detect the\n  MappedAtCreation state and skip SetInitialized(descriptor-\u003einitialized),\n  preserving the initialized\u003dtrue already set by MapAtCreation() and\n  preventing lazy-clear from zeroing user-written data on the first GPU\n  read.\n\nBug: 386255678\nChange-Id: Ic719265f6e291d95297d498690eacf4c0c6192ca\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/320815\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Shao, Jiawei \u003cjiawei.shao@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93d475ae83d31884086aba36152c8dfa823767c8",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Buffer.cpp",
      "new_id": "9ba2162a52b0bea4db7d4f35308394caa2e771ba",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Buffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "2aa81aeb33453dd816fb4a19801ef193722e24e0",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Buffer.h",
      "new_id": "90466c6f153f15b0783beb321c541a27a6a66e62",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Buffer.h"
    },
    {
      "type": "modify",
      "old_id": "a8753ca5fd714396adcc8b61b50b90ada9d6047b",
      "old_mode": 33188,
      "old_path": "src/dawn/native/SharedBufferMemory.cpp",
      "new_id": "e6dcf6ad855438083398c1465c00a846b98efcbd",
      "new_mode": 33188,
      "new_path": "src/dawn/native/SharedBufferMemory.cpp"
    },
    {
      "type": "modify",
      "old_id": "d704e25ef3c47bdf3775eaa7d80e5064c65761dd",
      "old_mode": 33188,
      "old_path": "src/dawn/native/SharedResourceMemory.cpp",
      "new_id": "878d149e6a5e3490b35a5db9ea51b0c09268d714",
      "new_mode": 33188,
      "new_path": "src/dawn/native/SharedResourceMemory.cpp"
    },
    {
      "type": "modify",
      "old_id": "3349745df62109ad987f440880da86d62dc4dc36",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/white_box/SharedBufferMemoryTests.cpp",
      "new_id": "ae2a2cb87875f659d4f26af82ab21631cdcc2735",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/white_box/SharedBufferMemoryTests.cpp"
    }
  ]
}
