)]}'
{
  "commit": "3b2249771fe3580832a6c88ab919853a5cf39e66",
  "tree": "d2b1895651185f9c65e875d9a240a784efadfa37",
  "parents": [
    "c551e67ad5eaef3325e3c385d887ae619005050c"
  ],
  "author": {
    "name": "Kai Ninomiya",
    "email": "kainino@chromium.org",
    "time": "Tue Dec 20 10:43:24 2022"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Dec 20 10:43:24 2022"
  },
  "message": "webgpu: Fix handling of WGPU_WHOLE_SIZE and large u64s (#18142)\n\nMost cases that need to combine two 32-bit words into one u64 get two\r\ni32s, because that\u0027s what the WASM-\u003eJS calling convention gives us. But\r\none place, in the handling of WGPUBindGroupEntry, was explicitly loading\r\ntwo u32s from memory, which would give us 0xFFFFFFFF instead of -1.\r\nFixing this fixes the handling of WGPU_WHOLE_SIZE. Since that\u0027s fixed,\r\nalso cherry-picked a change into webgpu_cpp.h that makes that the\r\ndefault for wgpu::BindGroupEntry, as it should be.\r\n\r\nAdditionally, the logic which converted two i32s into a u64 was written\r\nfor two u32s, so it was broken for any number over 0x00000000_FFFFFFFF.\r\nThis is fixed by converting the i32s into u32s (using \u003e\u003e\u003e 0) first.\r\n\r\nFinally, the names are improved so that errors would have been more\r\napparent.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "efa1de788b0d7dd5fce1c4084dbeae6a57b82f37",
      "old_mode": 33188,
      "old_path": "src/library_webgpu.js",
      "new_id": "2444a73fe83c7d7e023c8374ff1c14053ebff47d",
      "new_mode": 33188,
      "new_path": "src/library_webgpu.js"
    },
    {
      "type": "modify",
      "old_id": "e61184e5defaa402a12773934157ecd300ba5baa",
      "old_mode": 33188,
      "old_path": "system/include/webgpu/webgpu_cpp.h",
      "new_id": "2086a1741da3d0011748c2a8b336c7746e2fce9f",
      "new_mode": 33188,
      "new_path": "system/include/webgpu/webgpu_cpp.h"
    }
  ]
}
