)]}'
{
  "commit": "2473d745a87f81a0855a2b74eaa2a2da1b8a3044",
  "tree": "df4da9cf1ef162328d34d1dc80946f0c79d5ae70",
  "parents": [
    "94447d0354afde558adb3a7c66eb96fcb08af4ba"
  ],
  "author": {
    "name": "Jiawei Shao",
    "email": "jiawei.shao@intel.com",
    "time": "Fri Jan 16 19:24:39 2026 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Jan 16 19:24:39 2026 -0800"
  },
  "message": "[D3D12] Implement `chromium_experimental_subgroup_size_control`\n\nThis patch implements `chromium_experimental_subgroup_size_control`\non D3D12 backend. This feature requires at least Shader Model 6.6\nfor the HLSL attribute `[WaveSize]`.\n\nAs D3D12 runtime only accept the values between\n`D3D12_FEATURE_DATA_D3D12_OPTIONS1::waveLaneCountMin` and\n`D3D12_FEATURE_DATA_D3D12_OPTIONS1::waveLaneCountMax` as `[WaveSize]`,\nwhile currently on D3D12 backend we don\u0027t always use these two values\nas `AdapterInfo::subgroupMinSize` or `AdapterInfo::subgroupMaxSize`,\nwe introduce two new limitations (`minExplicitComputeSubgroupSize` and\n`maxExplicitComputeSubgroupSize`) to provide valid values for\n`[WaveSize]`.\n\nBug: 463721943\nTest: dawn_end2end_tests\nChange-Id: Ib86a6e2034957b5e1ab5091203d862d981247363\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/284855\nReviewed-by: James Price \u003cjrprice@google.com\u003e\nReviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Shao, Jiawei \u003cjiawei.shao@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e73a904671ac40c12acb37ece4ca65cd4ef52d43",
      "old_mode": 33188,
      "old_path": "docs/tint/extensions/chromium_experimental_subgroup_size_control.md",
      "new_id": "b3d75de045d177f01d4e72f222e4bb29ba189675",
      "new_mode": 33188,
      "new_path": "docs/tint/extensions/chromium_experimental_subgroup_size_control.md"
    },
    {
      "type": "modify",
      "old_id": "33f481071a1d9da90a58b1ffb005c5559018ccef",
      "old_mode": 33188,
      "old_path": "src/dawn/dawn.json",
      "new_id": "e3e3f7b12be9fdcbb65ed7db423103fe7bc75e99",
      "new_mode": 33188,
      "new_path": "src/dawn/dawn.json"
    },
    {
      "type": "modify",
      "old_id": "12485c03d338649189aff87880cc2149d2f0f9fd",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Adapter.cpp",
      "new_id": "19b206473630c89c1fc77d0d686008387c3b6319",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Adapter.cpp"
    },
    {
      "type": "modify",
      "old_id": "27c38f92c2fda9f73b56a01a8aac627203bc851f",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp",
      "new_id": "123f520d9fd5b8b2349c02cfccb25cc1e09be1c5",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/PhysicalDeviceD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "ad4715162585c24bfadf66d4420824e6f1084c44",
      "old_mode": 33188,
      "old_path": "src/dawn/native/null/DeviceNull.cpp",
      "new_id": "ca229dc3aa5e32445f5245cc2d36d42c6882b573",
      "new_mode": 33188,
      "new_path": "src/dawn/native/null/DeviceNull.cpp"
    },
    {
      "type": "modify",
      "old_id": "95197ec8b6e5fa651c82c08063222a90d4fa774a",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/SubgroupsTests.cpp",
      "new_id": "019c66df148d43e976acbb0f6d1f37bbead31ba3",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/SubgroupsTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "a18211dd801058b979aef9f53253e065068273b0",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/wire/WireInstanceTests.cpp",
      "new_id": "743377b2a88321fa4ee98d0cc871ddd647ab308f",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/wire/WireInstanceTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "cbdb0177f6c1a568b4de820e5b6cc94fa17a1a81",
      "old_mode": 33188,
      "old_path": "src/dawn/wire/client/Adapter.cpp",
      "new_id": "2f10046094a9d338333b57419619a5d6eedf57fe",
      "new_mode": 33188,
      "new_path": "src/dawn/wire/client/Adapter.cpp"
    },
    {
      "type": "modify",
      "old_id": "391da451db90c4c91d78bf6469bb3c127fc998c5",
      "old_mode": 33188,
      "old_path": "src/dawn/wire/client/Adapter.h",
      "new_id": "000c70daaf5cb00258187e312560d103a2ac03ee",
      "new_mode": 33188,
      "new_path": "src/dawn/wire/client/Adapter.h"
    },
    {
      "type": "modify",
      "old_id": "bae3ab267dd16d562560212daf62b30fe5c65f65",
      "old_mode": 33188,
      "old_path": "src/dawn/wire/server/ServerInstance.cpp",
      "new_id": "ac3f29ada1cf135e4ffd2531cf6824e2a6531f73",
      "new_mode": 33188,
      "new_path": "src/dawn/wire/server/ServerInstance.cpp"
    }
  ]
}
