)]}'
{
  "commit": "fbccdd4ac819a2d9f680dfe357cc830411c9fefc",
  "tree": "b5b34ff7d6a123283b805c38d09c29bd6f85f49b",
  "parents": [
    "d559cca01823fc99f5e655d0f1053e48ffbe7a69"
  ],
  "author": {
    "name": "Ryan Harrison",
    "email": "rharrison@chromium.org",
    "time": "Mon Sep 15 13:20:56 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Sep 15 13:20:56 2025 -0700"
  },
  "message": "[tint][val] Check that the type for @location is valid\n\nEnforces that it is only attached to numeric scalars or vectors.\n\nAlso adds a capability to allow location on structs, matrices, and\narrays when they have only numeric elements, so that the \u0027from SPIRV\u0027\npath can handle inputs with this construction, instead of immediately\nbailing.\n\nThe duplicate annotation test needed to be updated, since it\npreviously depended on location being attached to a struct directly\nwas valid, which is no longer allowed.\n\nFixes: 440157916\nChange-Id: I73c4e2eeee5d2d93b7d3d6948889966b82f866dd\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/261354\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: Ryan Harrison \u003crharrison@chromium.org\u003e\nAuto-Submit: Ryan Harrison \u003crharrison@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "190acecdb1656e1eadf96c7d4d3adf92e422bedb",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/dead_code_elimination.h",
      "new_id": "a471e5579f661670d9cec4ebb8e9dad8ca455374",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/dead_code_elimination.h"
    },
    {
      "type": "modify",
      "old_id": "1791dc0d47e3826270f590bf56cf0aea1a4d9e74",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator.cc",
      "new_id": "342c57806d19b5fb10ef7c94f1386051f43202e1",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator.cc"
    },
    {
      "type": "modify",
      "old_id": "bed083fe06de5760d083196c5e563ee26887c52a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator.h",
      "new_id": "fedfacd49bfcb7fe85dfd4a0ab57f2a8d3cae46b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator.h"
    },
    {
      "type": "modify",
      "old_id": "d0db3ce7f610c78b2e3f93ed1e3beb95b41900e3",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator_function_test.cc",
      "new_id": "463fec0757257437a283f5d69de16db3d3f921e6",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator_function_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f6804e427a48f976ef7e3a75beb26ca7bdd6f987",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator_value_test.cc",
      "new_id": "e06d84ae7b8a7867bd9c4c035572b5b450fc874d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator_value_test.cc"
    },
    {
      "type": "modify",
      "old_id": "3057dc199ae6aa7f2e0e2ff95cfa9133d61d7aa8",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/reader/lower/shader_io.cc",
      "new_id": "f198e0337ef0a3c9d13615342dec16dd21d99528",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/reader/lower/shader_io.cc"
    },
    {
      "type": "modify",
      "old_id": "90b6c815c0382cf35d2afe0f7789b77d92edd089",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/reader/lower/shader_io_test.cc",
      "new_id": "a57ab3be9b6f2e253d2fecbd4c91a28307c1ad32",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/reader/lower/shader_io_test.cc"
    },
    {
      "type": "modify",
      "old_id": "1612a04b662fcd5e5ad25c29dba8b5e8dfb5b122",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/reader/lower/vector_element_pointer.cc",
      "new_id": "b183ac85bfcd30d34113a665c34455555561ab57",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/reader/lower/vector_element_pointer.cc"
    }
  ]
}
