)]}'
{
  "commit": "65beb32b6180f33b9e14667fefe1fc955b113fcd",
  "tree": "a1f72a2af86821ccb3cfe0070d819a55a41283fc",
  "parents": [
    "131bf41aacba1e5898f7da4dfd6eaf267ec16496"
  ],
  "author": {
    "name": "Ryan Harrison",
    "email": "rharrison@chromium.org",
    "time": "Mon Nov 10 10:16:22 2025 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Nov 10 10:16:22 2025 -0800"
  },
  "message": "[tint][val] Rework how `@builtin(...)` is validated\n\nRefactors the existing checker implementation to support the special\ncased built-ins like @builtin(position), so that their special\nhandling can be removed. This refactoring changes the error logging to\nbe explicit about what the builtin was attached to, e.g. a vertex\nshader input, and provides what the valid options are.\n\nThis CL also changes the capability to allow clip_distance on scalars\nto also allow vectors, since that is needed by the HLSL\nbackend. Trying to split them into two capabilities leads to a bunch\nof duplicated instances of them and more complex logic in the\nvalidator. (The original validation logic had an oversight that\nallowed this construct to pass unintentionally)\n\nIssue: 455376684\nChange-Id: Ia5dac3782158c2e1acc3d0505fa7fdf4a1057f3b\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/271854\nCommit-Queue: Ryan Harrison \u003crharrison@chromium.org\u003e\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nAuto-Submit: Ryan Harrison \u003crharrison@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b650522729d0b2df20ecdbf5e66c54aecaa7d1ba",
      "old_mode": 33188,
      "old_path": "src/tint/cmd/fuzz/ir/dis/main.cc",
      "new_id": "1f8fe294c07b719592e0d663a9191cec3e1c832e",
      "new_mode": 33188,
      "new_path": "src/tint/cmd/fuzz/ir/dis/main.cc"
    },
    {
      "type": "modify",
      "old_id": "05673f9e83eae4fdca9957a922b5083839a043db",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/builtin_scalarize.h",
      "new_id": "5d444b6efd80b1a00d0bdba230d14cc90783cec5",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/builtin_scalarize.h"
    },
    {
      "type": "modify",
      "old_id": "7efda65ca2f10e58d27098c079c363358ec4cd91",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/change_immediate_to_uniform.cc",
      "new_id": "7c8736b998e4d422ee92eca1cc8a753c994b6277",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/change_immediate_to_uniform.cc"
    },
    {
      "type": "modify",
      "old_id": "505d935a11c70593cda410259021f2c898f70bef",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/decompose_uniform_access.cc",
      "new_id": "e5c5115964616e4fa2896329c027c946e7a40327",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/decompose_uniform_access.cc"
    },
    {
      "type": "modify",
      "old_id": "1a38184bffe56c3f92bef28f2e73847fe98f0566",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/demote_to_helper.h",
      "new_id": "6bb3f7c523ddae2929780c3b44b5a83fe8022753",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/demote_to_helper.h"
    },
    {
      "type": "modify",
      "old_id": "0903e2a5844e980187a6f0be30098ccec4d4c22f",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/direct_variable_access.h",
      "new_id": "1e95d41879269bd718e602bcc903471ccbffb9ca",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/direct_variable_access.h"
    },
    {
      "type": "modify",
      "old_id": "9169d7d3d11f9773af2fe11fffa9e4b7d5868a86",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/remove_continue_in_switch.cc",
      "new_id": "fa3265095e375d012fe12779c7bac31540759687",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/remove_continue_in_switch.cc"
    },
    {
      "type": "modify",
      "old_id": "fb3ba5287804cb46da46c58edf18ec2869c35c11",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/remove_terminator_args.h",
      "new_id": "a5a74388156af4ff7345558854169f7e1dadd5a5",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/remove_terminator_args.h"
    },
    {
      "type": "modify",
      "old_id": "6280de0d389c11a92e726c00fad3c5ca73533262",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/rename_conflicts.h",
      "new_id": "a7d3cbfefa5d5557e87bb2fcf1d08129800a2f97",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/rename_conflicts.h"
    },
    {
      "type": "modify",
      "old_id": "e8bb1ce13a5999d5238c2255997c0e2bb30e504b",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/signed_integer_polyfill.cc",
      "new_id": "795e3ff4dd37563add54f320e782a7e9589e489a",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/signed_integer_polyfill.cc"
    },
    {
      "type": "modify",
      "old_id": "27e66962c8ebf432937c5a63e80f318140591945",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/value_to_let.h",
      "new_id": "ad5d0d38ff3b5336cb89d78830350c730dca14bb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/value_to_let.h"
    },
    {
      "type": "modify",
      "old_id": "a6739bd67c31c6ec8e66e50ea75accfa3de7a308",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.h",
      "new_id": "30f25558a67936d834b7e332285ccdfa38affb51",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.h"
    },
    {
      "type": "modify",
      "old_id": "db201100946c6889dc53418e987af4213bc24980",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator.cc",
      "new_id": "f2c395a6af2619ed1adb4595ca7ed73d6ca84597",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator.cc"
    },
    {
      "type": "modify",
      "old_id": "8444100fc9f610466b218d418ba16f29bd428aff",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator.h",
      "new_id": "b0a9a318b838372db1a87bc134cca8d2b19d2c90",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator.h"
    },
    {
      "type": "modify",
      "old_id": "9804d4b4f32ed76873b314c90298825e5599274b",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/ir/validator_builtin_test.cc",
      "new_id": "3b76f4f4fcf97732be7eacda0485e3f2ef6d9db5",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/ir/validator_builtin_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c258140c71472f0c512f6b73208dc528f4a73c8a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/printer/printer.h",
      "new_id": "61ef6480f1eae77d625efafda5f1ab4ece981802",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/printer/printer.h"
    },
    {
      "type": "modify",
      "old_id": "5abcc50ab9e375d2d1763cc57555bf77fabd5b74",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_uniform.h",
      "new_id": "e6f310518057947f88e8102a2ce4a0d7caf9319d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/array_offset_from_uniform.h"
    },
    {
      "type": "modify",
      "old_id": "2b73538981548ab0966710ce073f7157ed2f8671",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/binary_polyfill.cc",
      "new_id": "47cf33c6bc1a4c0508ce9fe28d3bc31cd6f2ce7e",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/binary_polyfill.cc"
    },
    {
      "type": "modify",
      "old_id": "90c6a4796d289c40eca9d9e3eeaa932445e5314a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/builtin_polyfill.cc",
      "new_id": "f2bc2457f72602af37b7af04ca393527097f9f8c",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/builtin_polyfill.cc"
    },
    {
      "type": "modify",
      "old_id": "af3b4a985fa4fff600c41f9216490eacfd48522b",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/decompose_storage_access.cc",
      "new_id": "0b4a7d70d303b8b94d26975977ff50f1ce1e96cb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/decompose_storage_access.cc"
    },
    {
      "type": "modify",
      "old_id": "774de8e66757ba20fe7bb8073d6331a3ce4ab441",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/pixel_local.cc",
      "new_id": "1e04358f6c70b15dc0019831152946643762ec39",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/pixel_local.cc"
    },
    {
      "type": "modify",
      "old_id": "596a367b68cb40519373fb5b54044790f1b0bf81",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/promote_initializers.h",
      "new_id": "547f5e0b88790862aa609665470cca56385134b9",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/promote_initializers.h"
    },
    {
      "type": "modify",
      "old_id": "3b6eee1aea6e616baee6348809061243cb8aa947",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/writer/raise/shader_io_test.cc",
      "new_id": "af338d285310bd990fd93176eb4fc83da4657215",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/writer/raise/shader_io_test.cc"
    },
    {
      "type": "modify",
      "old_id": "33dfd6e4d8d3170e7641a6f5526eb43185ac3952",
      "old_mode": 33188,
      "old_path": "src/tint/lang/msl/writer/raise/module_constant.h",
      "new_id": "dd7577d766cb01c4cc4dc7e9ab1dfee63f25e7cd",
      "new_mode": 33188,
      "new_path": "src/tint/lang/msl/writer/raise/module_constant.h"
    }
  ]
}
