)]}'
{
  "commit": "77f9a9aa5f7180958480de17680c61a84c006842",
  "tree": "492736777d13dca956f664a2c2300c9854143ebb",
  "parents": [
    "eb9ceabc4621cb624cc465e3875f54fdf8f29a7f"
  ],
  "author": {
    "name": "Hao Li",
    "email": "hao.x.li@intel.com",
    "time": "Fri Oct 02 13:05:54 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Oct 02 13:05:54 2026 -0700"
  },
  "message": "Split buffer\u003c-\u003etexture copies to work around Intel row-pitch limitation\n\nIntel GPUs store a buffer\u003c-\u003etexture copy\u0027s bytes per row in an 18-bit\nhardware register (a row pitch of 262,144 bytes) and texels per row in\na separate 14-bit hardware register (a row width of 16,384 texels), so\na larger bytesPerRow silently overflows and corrupts the copy. Add a\nworkaround for Intel GPUs that splits affected buffer-to-texture and\ntexture-to-buffer copies on D3D11/D3D12/Vulkan into one command per row\nso the oversized bytes and texels is never handed to the driver.\n\nBug: 481934465\n\nChange-Id: Ib3e25be11f03d3f55205a3803dbbdb1817b9f7cb\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/336315\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dbc686236c9da869d19a836d26d800640ff8d550",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BUILD.gn",
      "new_id": "c7e44d48048d68ae16d2c2c9e5ac49ce2b02b295",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "09fb755f40f2c3dee91c820e834ffd2a468aedde",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BufferTextureCopyOversizedRow.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bfb676b971b2bfce8d0bf05236eb6b182ae4f10",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BufferTextureCopyOversizedRow.h"
    },
    {
      "type": "modify",
      "old_id": "5ab1dea70d3b7762ee251f40975ab5e54217690a",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CMakeLists.txt",
      "new_id": "c789f70769c83cc8690b8a1297b2530d9581eec7",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "fed2fd1f6345f3ac98725ae96ad493b3aa17cbda",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CommandEncoder.cpp",
      "new_id": "4e39b425c5cf2c5ba3c17b582027718f2dc951c2",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CommandEncoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "49755f09086b72e49846367822550af32ea94eee",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Commands.cpp",
      "new_id": "7ff293de94e2f00998e1be19d60a0c0c968df8b7",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Commands.cpp"
    },
    {
      "type": "modify",
      "old_id": "d904355a0f64546d468871994ef25f8dab53257f",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Commands.h",
      "new_id": "00d8869de9743ec5d5caea6647825a6015971889",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Commands.h"
    },
    {
      "type": "modify",
      "old_id": "3d859dbd42b954de81fb1184318ba2587722a7df",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Toggles.cpp",
      "new_id": "ba55fcd6ed8590e42b759f6f215a47c4ee0d51d4",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Toggles.cpp"
    },
    {
      "type": "modify",
      "old_id": "3ebc16a601e2a8eb364f8a1133378805d544dab7",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Toggles.h",
      "new_id": "1f99a705a69525bc87879359a7f7d81b4d4875f1",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Toggles.h"
    },
    {
      "type": "modify",
      "old_id": "5a0d415642766b9d603a4f7156b266b1d05f95b1",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp",
      "new_id": "588e678e074e028567adbd26a0efcb67f2820185",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/PhysicalDeviceD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "8e5c33459aa8a6adaac2d0acdaa015bc2c549ed9",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp",
      "new_id": "6222c0f6d961e72aad06303739b4739d8eb1b2e0",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "af882ff0e0a265ba8d3d8e96e9319d062eee721d",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/PhysicalDeviceVk.cpp",
      "new_id": "2800da6456fb9a0f7d09ce655052be56cde42eca",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/PhysicalDeviceVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "bc07a2041547bfe31c1a04ba1da56b92b1addde3",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/CopyTests.cpp",
      "new_id": "a202c67bafe4d95fe4a8448667af967171bcd88f",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/CopyTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "b7f1f494b05b7ecb7f07506f05c2f459fbc2daee",
      "old_mode": 33188,
      "old_path": "src/dawn/utils/TestUtils.cpp",
      "new_id": "4ab3be1e7027f16b302f2af400f26edfdf384985",
      "new_mode": 33188,
      "new_path": "src/dawn/utils/TestUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "273a639e6b3e2306ce21792b2e17b688610c2c1e",
      "old_mode": 33188,
      "old_path": "src/dawn/utils/TestUtils.h",
      "new_id": "999166c02286881af2d0aeacb5c65cdbab2d53de",
      "new_mode": 33188,
      "new_path": "src/dawn/utils/TestUtils.h"
    }
  ]
}
