tree eca20556b44432adf7f4ce2ba8f3f53fa739a07d
parent c339531894439bce57b4c2be3ec2bdebf699a4a3
author Tint team <no-reply@google.com> 1686737812 +0000
committer Tint LUCI CQ <tint-scoped@luci-project-accounts.iam.gserviceaccount.com> 1686737812 +0000

Import Tint changes from Dawn

Changes:
  - 1a8a19deddb55155846beee9d262fd8ebe00385d [tint] Rename pointer builders to 'ptr', match WGSL order by Ben Clayton <bclayton@google.com>
  - 2c27e79d4b7e1cb6a04f3b55776d815bcb609bf0 [tint][resolver] Fix short-circuiting of const identifiers by Ben Clayton <bclayton@google.com>
  - 4b8a3d34d4e5185c580ca613dbdd4e84ba78f3c8 [tint][transform][hlsl] Fix bad materialization by Ben Clayton <bclayton@google.com>
  - cf2cf156c4f5fee47bd4e6c8e4cdf2332bac3ee8 [ir] Remove old `Load` constructor. by dan sinclair <dsinclair@chromium.org>
  - 455e4b80f6b8d065660ced359bf836f72c656f33 D3D12: Always skip Robustness transform on non-DBO storag... by Jiawei Shao <jiawei.shao@intel.com>
  - f3a03513bd3c8c9224d2a5992e8d768a4016018f [tint][type][ir] Add fluent type constructor helpers by Ben Clayton <bclayton@google.com>
  - b768af431559c05ef71fd4de28cbbad5e88f9de2 [tint][ir] Use new fluent builder methods by Ben Clayton <bclayton@google.com>
  - 039ffdc9c79825c27aca6f4631610b5f5ce4f8ae [tint][ir] Rework Builder to allow for fluent args by Ben Clayton <bclayton@google.com>
  - c67a4fa78094b1b79027148f9250c27064bf9d95 [tint][ir] Strip Create prefix from methods by Ben Clayton <bclayton@google.com>
  - 4abe1b0cd66a56b5f47b7bb7562672f69789fa2b [tint][ir] Simplify Convert by Ben Clayton <bclayton@google.com>
  - 1d0ac04a729edefdc75a15ae89b362f65b3fe4e3 [tint][ir] Rename Builtin and rename Builder Call methods by Ben Clayton <bclayton@google.com>
  - bc3111cc84d29603e0d390b80dfc928c4f9ee4f1 [tint][disassembler] Trim 'note' source to block start by Ben Clayton <bclayton@google.com>
  - d3fe5f542f0b4402131470c62948b83db06e6ee7 [tint][ir] Validate Access instruction by Ben Clayton <bclayton@google.com>
  - 7d7dce35bb0b567a83da1742d02514a7c6fddc6f [ir] Builder::Return takes single Value by James Price <jrprice@google.com>
  - 1c9a507b2003560230b7f8df397a6c4e3177cabc [ir][spirv-writer] Use Type::Element() by James Price <jrprice@google.com>
  - 8f7092ebe46deda3cbb61c80700a360bdaa7cd60 [tint][type] Add Element(uint32_t) by Ben Clayton <bclayton@google.com>
  - 471a015c5b8b6afe318d57f9e354934f7b7219df [tint][type] Rework ElementOf() and DeepestElementOf() by Ben Clayton <bclayton@google.com>
  - a5268dff5477b3b7b8bed8216020b0d0b46a5ef7 [ir] Unconst most of the IR. by dan sinclair <dsinclair@chromium.org>
  - 5c9fd76edd8cbbcd178fca81aa9de3be865f4098 [tint][type] Add NumericScalar base class. by Ben Clayton <bclayton@google.com>
  - 1416b18116faab4b1e1349f0de58d792edd24bab [tint][type] Add Scalar base class. by Ben Clayton <bclayton@google.com>
  - bed3fe068c18e42a2b832145e0caac7c6b666928 [ir] Address review comments in VarForDynamicIndex by James Price <jrprice@google.com>
  - be3125eb3c6fef4d0760201d4ba5cb8bd5ec33db [ir] Add Value::ReplaceAllUsesWith helper by James Price <jrprice@google.com>
  - 55aff4e5ef8787d597646a897a0a9a5646eb3f4e [ir] Return instruction from Block::Append/Prepend by James Price <jrprice@google.com>
  - e6b4a908d2e98aeaee2efdbb957c267d3ea2418f [tint][ir] Rename Builder.Declare() to Builder.Var() by Ben Clayton <bclayton@google.com>
  - d2e30d0df26be3075de7319eb1ccc124672b63de [tint][ir] Change Var::Type() to return type::Pointer* by Ben Clayton <bclayton@google.com>
  - 0ebf677dfe216d923a5e233accb419b9182c4bb0 [tint][ir] Add MultiInBlock that derives from Block by Ben Clayton <bclayton@google.com>
GitOrigin-RevId: 1a8a19deddb55155846beee9d262fd8ebe00385d
Change-Id: Id7732faab084bb70e8c323f329c3e812a3bb0b7f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/136720
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
