)]}'
{
  "commit": "91021e38e966e922dfbc4386a2189aec5a25b0da",
  "tree": "3afea1b1ca506a1a3275a5a0167daa94061ac4a9",
  "parents": [
    "b3352476a45f90c8523de82326b47bb0c7a7d6d7"
  ],
  "author": {
    "name": "Mridul Goyal",
    "email": "mridulgoyal@google.com",
    "time": "Wed Jul 08 21:56:13 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jul 08 21:56:13 2026 -0700"
  },
  "message": "[WebGPU] Support Android HardwareBuffer \u0026 SyncFence\n\nIntroduces Kotlin bindings and JNI implementations for importing Android\nHardwareBuffer (AHB) and GPUSyncFence objects into WebGPU.\n\n- Add Kotlin/C++ generator templates for AHBs and SyncFences.\n- Implement \u0027GPUImportedAHB.cpp\u0027 JNI\n- Provide safe helper extensions for converting WebGPU fences to\n  Android platform SyncFences (API 33+).\n- Add new generated output files to tools/android/BUILD.gn\n\nAPI Level Requirements:\n- Android Tiramisu (API 33+) is required for the GPUSyncFence helper\n  extensions, as the `android.hardware.SyncFence` class was added in\n  API 33.\n\nBug: b/518640970\nChange-Id: I1bf29e819091695062310b628f0f96eedd1bd2bb\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/311595\nReviewed-by: Yordan Chaparov \u003cdancho@google.com\u003e\nReviewed-by: Tarun Saini \u003csainitarun@google.com\u003e\nCommit-Queue: Mridul Goyal \u003cmridulgoyal@google.com\u003e\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2473189687f12c4281d7a4973b840b10d025284a",
      "old_mode": 33188,
      "old_path": "generator/templates/art/JNIClasses.cpp",
      "new_id": "b78bad306ecc2fb8661f30a6fa37fbb69aca8c80",
      "new_mode": 33188,
      "new_path": "generator/templates/art/JNIClasses.cpp"
    },
    {
      "type": "modify",
      "old_id": "83424377ae14df18f1325c6294f1eff133db5d1c",
      "old_mode": 33188,
      "old_path": "generator/templates/art/JNIClasses.h",
      "new_id": "ebf67210c47459e355fadfe3e500793d88e8798d",
      "new_mode": 33188,
      "new_path": "generator/templates/art/JNIClasses.h"
    },
    {
      "type": "modify",
      "old_id": "2af821ba501a88a542f366200a77ed268868210c",
      "old_mode": 33188,
      "old_path": "tools/android/webgpu/build.gradle",
      "new_id": "1e718943c79dfd8e5a560f23566fe4ffca81726f",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/build.gradle"
    },
    {
      "type": "modify",
      "old_id": "c443cc16c9a5ae4e40fa01a439a30e8b732f4259",
      "old_mode": 33188,
      "old_path": "tools/android/webgpu/src/main/cpp/CMakeLists.txt",
      "new_id": "7d0735a2c5209c5b5936ff07fb7fcfe37dcc64b8",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/cpp/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63d9e1fefafa761384a621f0b546443d023038a8",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/cpp/GPUImportedAHB.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6438a6baf2ef922a07fa6a5e2d8e4bc701288d5f",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/androidx/webgpu/GPUHardwareBufferExternalTexture.kt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1e607a9891d5cf574e9d9ededc55c6e6ef382153",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/androidx/webgpu/GPUHardwareBufferTexture.kt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5e3a057126325074e238a0d7a04c33edce701150",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/androidx/webgpu/GPUHardwareBufferWrapper.kt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b026b7424ef3fdedb7e378dc0bb9a57e1c11c52",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/androidx/webgpu/GPUSyncFence.kt"
    },
    {
      "type": "modify",
      "old_id": "92613b99d74896016a2fb92571b81cf9fa8eeee3",
      "old_mode": 33188,
      "old_path": "tools/android/webgpu/src/main/java/androidx/webgpu/helper/Extensions.kt",
      "new_id": "9f92036e17c9275ca5c27b854406dc426314cd1c",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/androidx/webgpu/helper/Extensions.kt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8b961ed9f775ad98a255f10d3910bd47d38ab551",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/androidx/webgpu/helper/GPUAndroidHardwareBufferUtil.kt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b645fca01843e58d0e0605390252b38b12088d73",
      "new_mode": 33188,
      "new_path": "tools/android/webgpu/src/main/java/androidx/webgpu/helper/GPUSyncFenceHelper.kt"
    }
  ]
}
