)]}'
{
  "commit": "5c911a0d35f5360bd4781f4eb65a45ef60d31cea",
  "tree": "935153b153a72ba7828e2ace47944a93ab5e98b1",
  "parents": [
    "c0b0ffe7c1226ab5f2fb1dc25df61504a2c09d6a"
  ],
  "author": {
    "name": "Yang Gu",
    "email": "ygu@microsoft.com",
    "time": "Thu Aug 27 08:43:41 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Aug 27 08:43:41 2026 -0700"
  },
  "message": "d3d12: Validate subgroup matrix configurations in HLSL\n\nD3D shader compilation did not validate subgroup matrix usage against\nthe configurations advertised by the adapter. Unsupported type and\nshape combinations could therefore reach backend pipeline creation.\n\nThe Vulkan shader compilation path already validates subgroup matrix\nmetadata against the adapter configuration list. Match that behavior for\nD3D by having the HLSL writer return subgroup matrix metadata, passing\nthe adapter configuration list through the compilation request, and\nvalidating the metadata before compiling HLSL. Including the\nconfigurations in the request also keeps shader cache entries specific\nto device support.\n\nAdd end-to-end coverage for each configuration advertised by the\nadapter, plus copies with an unadvertised M dimension. Pipeline creation\nmust succeed for advertised configurations and fail for the modified\nconfigurations.\n\nBug: 507459351\nChange-Id: Ic7fa4069d62e78867cd69b0231183b08a901d8e0\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/335895\nCommit-Queue: Yang Gu \u003cygu@microsoft.com\u003e\nReviewed-by: Antonio Maiorano \u003camaiorano@google.com\u003e\nReviewed-by: James Price \u003cjrprice@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f9e305b59b014b91362b3905a1800fb9bc12de1",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d/D3DCompilationRequest.h",
      "new_id": "25efe3a72620995cab2d1b38ddcfbbfe2019d717",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d/D3DCompilationRequest.h"
    },
    {
      "type": "modify",
      "old_id": "ea8ae5974189e2a1d9b25ac9f7e9eb5e20e81b38",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d/ShaderUtils.cpp",
      "new_id": "cb63e9979c94eac8ff4b424509a2ed7fdf86e01d",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d/ShaderUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "c1d109d43ef4b144180cb620f16df05574d6e668",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/ShaderModuleD3D12.cpp",
      "new_id": "985e4ab5ccfe8a695efeacf070dc01258ca6db1c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/ShaderModuleD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "7ce91e5c727f1333d582956339028f67077aba36",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/SubgroupMatrixTests.cpp",
      "new_id": "99c5875325846e8225bf720f5c8dcda59968ccc6",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/SubgroupMatrixTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "e4c0cee8422ed654c41311b2ab86c6c66cdae8f7",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/BUILD.bazel",
      "new_id": "702b1298a9bd0313500ab21daad16b0c85dedc0b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e42fa78a6eb9292ff2ba0abfa14ed79f3a16f2ac",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/BUILD.cmake",
      "new_id": "5d303f9b4203df08302b32985663d7408a3613a8",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/BUILD.cmake"
    },
    {
      "type": "modify",
      "old_id": "fe84a8a3fc8ff32c2abc6bb5ecd851319af100ed",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/BUILD.gn",
      "new_id": "af3dea2057e7cd6d31055792d9c9c8f62e0e3e5c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "01ca8bc0b8cde55fb376f318c7b8c86fecaa3bce",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/common/output.h",
      "new_id": "da3304dbcdb9828da4987a7483177ff255405c1d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/common/output.h"
    },
    {
      "type": "modify",
      "old_id": "71189e8000ff9212d8002c8d0af4ede6a9caaed7",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/writer.cc",
      "new_id": "a0bc5e76ba003d5dd54f18a48e224e4b2786f2cf",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/writer.cc"
    }
  ]
}
