1326 Commits

Author SHA1 Message Date
dan sinclair
b6cc4cbf89 Move type/access to builtin.
This CL moves the type::Access builtin to the builtin:: tree.

Change-Id: I3276d364f7b597671612a23c8823f0afd1914d81
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120363
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-02-19 04:01:29 +00:00
Ben Clayton
79781f26d1 tint: Unkeyword 'var' template args
Change the address space and access mode in ast::Var from enums
to Expressions. Have the resolver resolve these, like we do for
other template arguments.

As the AST nodes now have identifier expressions, the tint-internal
'in' and 'out' address spaces have been prefixed with underscores to
prevent input code from using this.

Change-Id: Ie8abf371ee6a7031613709b83b575d2723418fcf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120405
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-02-18 17:13:18 +00:00
Ben Clayton
1b90f93742 tint: Remove type::AddressSpace::kNone
Just use kUndefined.

Change-Id: I26eada75a31b26f83e132a9a15c8ff64f7821676
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120404
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-02-18 12:37:34 +00:00
Ben Clayton
643f2aad43 tint/reader/wgsl: Remove type keywords
Fixes: tint:1810
Change-Id: Iff296a3923947801b9559fd0f5354b72f4b171d2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120081
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-18 08:36:01 +00:00
David Neto
a1bda83c42 spirv-reader: don't hoist opaque objects
Fixed: tint:1839
Change-Id: I9738c390ab78e8dceb25572ea7cac6bdc0661304
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120460
Commit-Queue: David Neto <dneto@google.com>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-18 07:05:58 +00:00
Austin Eng
a0e96b5831 Rolling 8 dependencies
Roll build/ 8cbb95464..1103ef535 (35 commits)

8cbb95464b..1103ef535c

$ git log 8cbb95464..1103ef535 --date=short --no-merges --format='%ad %ae %s'
2023-02-17 brucedawson New toolchain for Windows 11 10.0.22621.755 SDK
2023-02-16 danakj Use the latest Rust roll in 2e5c4436101c72e571732e77604be0bc8f38ee4c
2023-02-16 rohpavone [fuchsia] Show update_images.py errors
2023-02-16 rohpavone [fuchsia] Download images to tempfiles and then extract.
2023-02-16 wnwen Android: Fix build_utils.MergeZips for duplicates
2023-02-15 bpastene Manually roll chromite to pick up Tast data dependency changes
2023-02-15 agrieve Android: Add flag to ignore violations in private_code_test
2023-02-15 vollick [ios] ensure that we filter out duplicate files due to glob expansion
2023-02-14 svenzheng Enable field trial config for lacros tests
2023-02-14 hypan Fix file closing issue in AVD.
2023-02-14 hans Roll clang+rust llvmorg-16-init-17653-g39da55e8-3 : llvmorg-17-init-2082-g6d4a674a-1 / [skipping Rust]
2023-02-14 vollick [ios] Only add tracked files to filelists and add automation
2023-02-14 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230213.3.1 to 11.20230214.1.1
2023-02-14 vollick Initialize MockInputApi's verbosity
2023-02-13 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230213.2.1 to 11.20230213.3.1
2023-02-13 waffles Updater: add symlinks to GoogleSoftwareUpdate.bundle.
2023-02-13 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230213.1.1 to 11.20230213.2.1
2023-02-13 dinfuehr sanitizers: Add TSAN suppression for V8 global safepoints
2023-02-13 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230212.3.1 to 11.20230213.1.1
2023-02-12 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230212.2.1 to 11.20230212.3.1
2023-02-12 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230212.1.1 to 11.20230212.2.1
2023-02-12 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230211.3.1 to 11.20230212.1.1
2023-02-12 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230211.2.1 to 11.20230211.3.1
2023-02-11 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230211.0.1 to 11.20230211.2.1
2023-02-11 uioptt24 Remove `import pipes` to suppress warnings
2023-02-11 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230210.2.1 to 11.20230211.0.1
2023-02-10 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230210.1.1 to 11.20230210.2.1
2023-02-10 agrieve Android: Build androidx.core.os.BuildCompat from source
2023-02-10 aohui.wan Fix "gn gen" failure from unused "_module_target_name"
2023-02-10 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230210.0.1 to 11.20230210.1.1
2023-02-10 agrieve Add test preventing internal code in libmonochrome.so
2023-02-10 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230209.3.1 to 11.20230210.0.1
2023-02-10 chromium-internal-autoroll Roll Fuchsia Internal Images from 11.20230209.2.1 to 11.20230209.3.1
2023-02-09 wnwen Reland "Android: Update play core library"
2023-02-09 mheikal Add global flag to disable unused resource stripping

Roll buildtools/ 70e9f44cb..2ff42d200 (7 commits)

70e9f44cbc..2ff42d2008

$ git log 70e9f44cb..2ff42d200 --date=short --no-merges --format='%ad %ae %s'
2023-02-16 chromium-autoroll Roll libc++ from 3e929b8e5992 to 6f4617b9efc3 (2 revisions)
2023-02-15 chromium-autoroll Roll libc++ from 7492f13b0b54 to 3e929b8e5992 (10 revisions)
2023-02-14 chromium-autoroll Roll libc++ from 276c835f3710 to 7492f13b0b54 (4 revisions)
2023-02-13 chromium-autoroll Roll libc++ from fb27d308b0e0 to 276c835f3710 (20 revisions)
2023-02-11 chromium-autoroll Roll libc++ from 7f648d9b44c2 to fb27d308b0e0 (4 revisions)
2023-02-10 chromium-autoroll Roll libc++ from 035440c70772 to 7f648d9b44c2 (1 revision)
2023-02-10 uioptt24 update python shebang in ash/ , base/ , buildtools/

Roll buildtools/third_party/libc++/trunk/ 035440c70..c1341b9a1 (49 commits)

035440c707..c1341b9a1a

$ git log 035440c70..c1341b9a1 --date=short --no-merges --format='%ad %ae %s'
2023-01-21 koraq [lib++][format] Uses the new exception test macros.
2023-02-11 koraq [libc++] Fixes a flaky test.
2023-02-15 koraq [libc++][CI] Switches to clang-format-16.
2023-02-15 koraq [libc++] Improve the format ignorelist generation.
2023-02-02 nikolasklauser [libc++][NFC] Rename _LIBCPP_NO_EXCEPTIONS to _LIBCPP_HAS_NO_EXCEPTIONS
2023-01-21 koraq [libc++][test] Adds more generic test macros.
2023-01-14 nikolasklauser [libc++] Granularize <atomic>
2023-01-08 nikolasklauser [libc++] Granularize <bit> includes
2023-02-15 ldionne.2 [libc++] Add regression test for std::hash implementation in ABI v1
2023-02-13 joeloser [libc++] LWG 3857: allow `string_view` conversion when only traits vary
2023-02-07 koraq [libc++][CI] Starts using Clang 17.
2023-02-14 nikolasklauser [libc++][NFC] Replace _LIBCPP_STD_VER > x with _LIBCPP_STD_VER >= x
2023-02-15 fsb4000 [libc++] `<algorithm>`: `ranges::minmax` should dereference iterators only once
2023-02-14 ldionne.2 [runtimes] Rename newconfig.py to config.py -- it's not new anymore
2023-01-24 hui.xie0621 [libc++][NFC] update Range Status for the completion of C++20 ranges
2023-02-14 koraq [libc++][doc] Sets the proper plenary date.
2023-02-02 koraq [libc++][format] Fixes test failures.
2022-03-20 koraq [libc++][chrono] Add hh_mm_ss formatter.
2023-02-12 koraq [libc++][doc] Adds Issaquah papers and issues.
2023-02-09 arthur.j.odwyer [libc++] Counter<T>'s assignment operator shouldn't ++gConstructed
2023-01-20 nikolasklauser [libc++] Enforce formatting for already formatted and new files and ignore the formatting of tests
2023-02-13 avogelsgesang [libc++][NFC] Remove duplicated line from `Cxx20Issues.csv`
2023-02-13 koraq [libc++][doc] Updates format status page.
2023-02-03 ldionne.2 [libc++] Reorganize exception_guard
2023-02-13 hans Revert "[libc++] Remove _LIBCPP_CONSTEVAL"
2023-02-10 ldionne.2 [libc++] Fix bug in allocate_shared_for_overwrite
2023-02-07 ldionne.2 [libc++] Implement P2136R3 std::invoke_r
2022-12-26 nikolasklauser [libc++] Granularize <type_traits> includes in <algorithm>
2022-08-04 avogelsgesang [libc++][spaceship] Implement `lexicographical_compare_three_way`
2023-02-12 avogelsgesang [libc++][NFC] Fix formatting in ranges status page
2023-02-11 hui.xie0621 [libcxx][ranges] mark new join view tests unsupported without experimental flag
2023-02-05 hui.xie0621 [libc++] fix `shared_ptr`'s incorrect constraints
2023-02-10 nikolasklauser [libc++] Enable radability-identifier-naming for local variables and fix any problems
2023-02-11 ldionne.2 [libc++][NFC] Reorganize the std::pair constructor tests to be more consistently named
2023-02-11 ldionne.2 [libc++][NFC] Change some std::pair tests from .compile.fail.cpp to .verify.cpp
2023-02-11 nikolasklauser [libc++] Remove _LIBCPP_CONSTEVAL
2023-02-11 ldionne.2 [libc++][NFC] Fix leftover #endif comments
2023-02-11 ldionne.2 [libc++][NFC] Use using instead of typedef in pair.h
2023-02-11 ldionne.2 [libc++][NFC] Always define __non_trivially_copyable_base in pair.h
2023-02-11 ldionne.2 [libc++][NFC] Use std:: instead of _VSTD:: in pair.h
2023-02-11 ldionne.2 [libc++][NFC] Use >= 23 instead of > 20 in pair.h
2023-02-11 ldionne.2 [libc++][NFC] Use std:: instead of _VSTD:: in construct_at.h
2023-02-04 hui.xie0621 [libc++][ranges] move all range iterators back in class
2023-01-28 hui.xie0621 [libcxx][ranges] revert join_view::iterator and sentinel to be in-class
2023-02-10 ldionne.2 [libc++] Remove unused std::function test
2023-02-10 ldionne.2 [libc++] Simplify non_default_alloc
2023-02-10 varconst [libc++] In tests, use `abort` to terminate upon an error.
2023-02-09 ldionne.2 [libc++][NFC] Reorganize hash.h
2023-02-09 ldionne.2 [libc++] Guard the fix to CityHash behind ABI v2

Roll buildtools/third_party/libc++abi/trunk/ b74d77161..f7460fc60 (4 commits)

b74d771611..f7460fc60a

$ git log b74d77161..f7460fc60 --date=short --no-merges --format='%ad %ae %s'
2023-02-16 nemanja.i.ibm [libunwind][PowerPC] Fix saving/restoring VSX registers on LE systems
2023-02-15 xingxue [libc++abi][AIX] Skip non-C++ EH aware frames when retrieving exception object
2023-02-14 ldionne.2 [runtimes] Remove duplicate imports of libcxx.test.config
2023-02-14 ldionne.2 [runtimes] Rename newconfig.py to config.py -- it's not new anymore

Roll testing/ d5ea1bf4b..166db27fd (82 commits)

d5ea1bf4b6..166db27fd0

$ git log d5ea1bf4b..166db27fd --date=short --no-merges --format='%ad %ae %s'
2023-02-17 bookholt Command buffer fuzzer
2023-02-17 chikamune Update FindRegistrationImprovements in fieldtrial_testing_config
2023-02-17 chikamune Add service-worker-only feature param to fieldtrial_testing_config.json
2023-02-17 zhiyuans [Test Reduction in Clank] Move android_browsertests to CI only on android-nougat-x86-rel.
2023-02-17 haowoo Turn off xr_browser and context_browser tests when running w/o field trial config.
2023-02-17 khalidpeer [ZPS] Update field trial testing config for ZPS + Journeys integration.
2023-02-17 chrome-weblayer-builder [lacros skew tests] Refresh skew tests for M112
2023-02-17 jiesheng Add iOS build target
2023-02-16 crisrael [Eche] Enable EcheLauncherListView for dogfooders and new experiment arm
2023-02-16 manukh [omnibox][post-ac] Clean stripped URL optimizations.
2023-02-16 manukh [omnibox][post-ac] Clean `kAutocompleteStabilityAsyncProvidersFirst`.
2023-02-16 battre Roll Flatbuffers to version a56f9ec50e908362e20254fcef28e62a2f148d91
2023-02-16 jonfan Increase shard timeout of chrome_all_tast_tests on chromeos-kevin-chrome.
2023-02-16 manukh [omnibox][post-ac] Clean `kAutocompleteStabilityDontCopyDoneProviders`.
2023-02-16 bpastene Move linux-headless-shell-rel's tests to bionic
2023-02-16 manukh [omnibox][drive][doc] Clean ASO (Apps Search Overlay).
2023-02-16 chrome-weblayer-builder [lacros skew tests] Refresh skew tests for M112
2023-02-16 shuyng Revert "[RDSD] Launch subdomain settings on ToT"
2023-02-16 pasko Remove @FlakyTest from docs
2023-02-16 jleconte [WebRTC] Use run_blink_web_tests instead of run_wpt_tests.
2023-02-16 dgn Reland "[fyfre] Enable the ForYouFre feature in fieldtrial_testing_config"
2023-02-16 esalma [PolicyLogs] Enabling PolicyLogsPageAndroid flag in Test Config
2023-02-16 jonahr Test dual-GPU path for high-performance WebGL contexts on Mac/Metal.
2023-02-16 jleconte Update tryserver.webrtc.json ownership.
2023-02-16 fleimgruber Enable AutofillImprovedLabelForInference by default.
2023-02-16 jleconte [WebRTC] Add a new 'webrtc_linux_chromium' bot.
2023-02-16 chrome-weblayer-builder [lacros skew tests] Refresh skew tests for M112
2023-02-16 yyanagisawa Add fieldtrial_testing_config for the start service worker case.
2023-02-16 zhiyuans [Test Reduction in Clank] Move content_shell_test_apk to CI only on android-12-x64-rel.
2023-02-16 chrome-weblayer-builder [lacros skew tests] Refresh skew tests for M110
2023-02-15 manukh [journey] Update fieldtrial_testing_config.json for hiding visits.
2023-02-15 sunxiaodi add Android Pixel6 PGO to Pinpoint
2023-02-15 chrome-weblayer-builder [lacros skew tests] Refresh skew tests for M112
2023-02-15 mdjones Add field trial entry for shopping list on iOS
2023-02-15 ynovikov Remove experimental GPU ChromeOS bots.
2023-02-15 schwering Revert "[Autofill] Enable AutofillParseAsync by default"
2023-02-15 yuezhanggg Add field trial config for ChromeCartDomBasedHeuristics
2023-02-15 hans Run ClangToT Windows tests on Win 10
2023-02-15 jleconte [WebRTC] Disable baremetal tests requiring a webcam on Mac.
2023-02-15 jleconte [WebRTC] Align the tests between Chromium and Chromium FYI bots.
2023-02-15 schwering [Autofill] Enable AutofillParseAsync by default
2023-02-15 chrome-weblayer-builder [lacros skew tests] Refresh skew tests for M112 M111 M111 M109
2023-02-15 zhiyuans [M Deprecation] android-asan builder.
2023-02-15 svenzheng Add linux-lacros-archive-rel builder
2023-02-15 chrome-weblayer-builder [lacros skew tests] Refresh skew tests for M112
2023-02-14 nickdiego properly disable KeyboardLock tests in unsupported platforms
2023-02-14 adamta [iOS] Stop feed top section coordinator and make fieldtrial compact
2023-02-14 hypan Green chrome_public_unit_test_apk on android 12l, 13
2023-02-14 svenzheng Add a service account to OWNER for chromium.coverage.json
2023-02-14 manukh [omnibox][shortcut] Update fieldtrial_testing_config.json.
2023-02-14 khaslett Cleanup configs referencing EnableOverlayPrioritization feature
2023-02-14 jw.jung Remove flag chromeos-sharing-hub
2023-02-14 peilinwang [Cleanup] Remove kNotifyJavaSpuriouslyToMeasurePerf config
2023-02-14 huangs Revert "[fyfre] Enable the ForYouFre feature in fieldtrial_testing_config"
2023-02-14 skylab-test-cros-roller [skylab_tests] Update skylab tests cros img version
2023-02-14 dgn [fyfre] Enable the ForYouFre feature in fieldtrial_testing_config
2023-02-14 snehanagpaul [URLFiltering] Field Trial Testing Config for Url Filtering
2023-02-14 droger [signin] Enable InteractiveGetAuthTokenCheckActivity in trial config
2023-02-14 lazzzis Add fieldtrial entry for message stacking animation
2023-02-14 zhiyuancai [MerchantTrust] Post-launch cleanup
2023-02-13 manukh [omnibox][memories][post-ac] Update fieldtrial_testing_config.json.
2023-02-13 nicolasmacbeth [Field Trial][Blue dot] Adding Blue Dot DB experiment to config
2023-02-13 elainechien [RenderText] Add feature flag to remove fontlink fallbacks.
2023-02-13 rmhasan Move the add_emulator_args function to the common.py module
2023-02-13 zbikowski Switch Webview CTS archive revision to 3pp-built
2023-02-13 treib Add fieldtrial_testing_config entry for SyncEnableHistoryDataType
2023-02-12 rmhasan Remove redundant emulator arguments being added in the finch smoke tests
2023-02-11 xiaolingbao Use mixin to customize updater builders/testers.
2023-02-10 hypan Green android_browsertests, content_browsertests on android 12l, 13
2023-02-10 michaelfsun Add Floss to field trial config
2023-02-10 ryansturm Add field trial for PrewarmLookalikeCheck
2023-02-10 jeffyoon Win10 coverage tests to run on Win10
2023-02-10 rmhasan Finch: Crop away the bottom navigation bar from screenshots
2023-02-10 ryansturm Adding field trial testing for SearchPrefetchOnlyAllowDefaultMatchPreloading
2023-02-10 agrieve Add test preventing internal code in libmonochrome.so
2023-02-10 yueshe shard ios_chrome_web_eg2tests_module in 2 for ios_eg2_tests
2023-02-10 skylab-test-cros-roller [skylab_tests] Update skylab tests cros img version
2023-02-10 rayankans [WebEngine] Add instrumentation and junit tests to CQ
2023-02-10 curranmax Enable PrefetchUseContentRefactor by default on desktop.
2023-02-10 manukh [omnibox][domain] Update fieldtrial_testing_config.json.
2023-02-09 christianxu [iOS] Add Suggestions truncation fieldtrial config
2023-02-09 haowoo Increase shards for android field trial tests as they are timing out.

Roll third_party/catapult/ 37e879a7d..c1e70d412 (17 commits)

https://chromium.googlesource.com/catapult.git/+log/37e879a7d13c..c1e70d412ce0

$ git log 37e879a7d..c1e70d412 --date=short --no-merges --format='%ad %ae %s'
2023-02-16 sunpeng Add metrics for pinpoint job status and run time
2023-02-16 ianstruiksma update wpr and httparchive go binary versions.
2023-02-16 ianstruiksma Update presubmit scripts to python3.
2023-02-14 wenbinzhang [chromeperf] add GET endpoints for perf issue service
2023-02-14 bsheedy Add A23-specific workaround
2023-02-14 ianstruiksma In update wpr binary script, ensure cs version is regular str.
2023-02-14 wenbinzhang [chromeperf] add try jobs for issue_tracker_service folder
2023-02-14 bsheedy Omit useless frames from summary
2023-02-14 sunxiaodi include Android Pixel 6 PGO isolate
2023-02-14 sunxiaodi Surface iteration recommendations for press benchmark on Pinpoint UI
2023-02-14 zhiyuans Make GetCurrentUser also works for Android versions Nougat.
2023-02-09 olivf Fix histograms2csv on Python 3
2023-02-13 bsheedy Update async intent waiting
2023-02-13 wenbinzhang [chromeperf] update folder structure and add unit tests
2023-02-12 johnchen Update a unit test to remove Python dependency
2023-02-09 wenbinzhang [chromeperf] add skeleton for the perf bug manager
2023-02-09 wenbinzhang [catapult] use python3 instead of python to remove stale files in windows trybot

Roll third_party/googletest/ b73f27fd1..7a7231c44 (4 commits)

b73f27fd16..7a7231c442

$ git log b73f27fd1..7a7231c44 --date=short --no-merges --format='%ad %ae %s'
2023-02-16 absl-team Fix link in ReportUninterestingCall message
2023-02-15 absl-team Remove strdup usage
2023-02-14 absl-team Remove some filesystem APIs and tests under !GTEST_HAS_FILE_SYSTEM
2023-02-13 absl-team Avoid reliance on <any> header without RTTI on MSVC

Roll tools/clang/ fff7f04d3..effd9257d (5 commits)

fff7f04d30..effd9257d4

$ git log fff7f04d3..effd9257d --date=short --no-merges --format='%ad %ae %s'
2023-02-17 tkent Update two OWNERS files
2023-02-16 szager Filter for complete class definitions in StackAllocatedChecker
2023-02-16 ahijazi Clang plugin: Add basic check for fields that should be raw_ref<T>
2023-02-14 hans Roll clang+rust llvmorg-16-init-17653-g39da55e8-3 : llvmorg-17-init-2082-g6d4a674a-1 / [skipping Rust]
2023-02-14 ajgo Exclude pointer members in //sandbox/win that do not need raw_ptr<>

Created with:
  roll-dep build buildtools buildtools/third_party/libc++/trunk buildtools/third_party/libc++abi/trunk testing third_party/catapult third_party/googletest tools/clang

Change-Id: Ic0fb8374a412b511a84c7f1c3c25b072ccd30ba0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120360
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-18 00:39:01 +00:00
dan sinclair
e4039c76c7 Move the Extension builtin to the builtin/ folder.
This CL moves Extension from ast:: to builtin::

Change-Id: Ica1e6f4f9229341b547011389d47ae3be9830b0d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120362
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-17 21:58:59 +00:00
dan sinclair
6392579ee1 Move BuiltinValue to builtin/
This CL moves the BuiltinValue enum to the builtin/ folder.

Change-Id: I9db5128c1bc272e8e8d5181d629e6724ac38322e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120361
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-17 21:56:35 +00:00
dan sinclair
be967e31fc Add JSON output to tint_info.
This CL adds a `--json` output to the `tint_info` command to generate a
JSON file of the WGSL program information.

Change-Id: I8cdd9675954f793fc7142d857f846a18f4a07ffc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120082
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-02-16 19:22:19 +00:00
dan sinclair
95dc1ad060 Remove duplicated AST and SEM headers in BUILD.gn
This CL updates the BUILD.gn script to have a dedicated AST headers
target. This can then be depended on by the AST, SEM and program target.

Change-Id: I0fd3a9eb3bffbf5b7d76eee3d44109ee5c5df431
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119903
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-15 04:37:30 +00:00
dan sinclair
6080471662 Split demangler to separate lib.
This Cl splits the demangler out to a separate library. The includes for
demangler in program and program_builder are removed as they are no
longer necessary.

Change-Id: I0d4a3e8ec537d596a99cdd1fd1000b3efea20714
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119902
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-02-15 04:35:01 +00:00
dan sinclair
6e8a23097a Cleanup some includes.
Remove some ast/ includes of sem/ files and remove some program_builder
includes from sem/ files. The AST->SEM includes were not needed, the
program_builder include was replaced with more specific AST headers.

Change-Id: I8cf7fdee311a87687a5737853caff0ac082c9ba6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119901
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-02-15 02:35:32 +00:00
Ben Clayton
727503d205 tint/resolver: Pass std::function by ref
Avoids a copy

Change-Id: Ief4e7985b41c50f102be27a8a3fa9a690166511f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116868
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-14 18:09:17 +00:00
Antonio Maiorano
ee665a4240 tint: add precise float mod polyfill and enable it for HLSL
HLSL's % operator results in less precise results than expected.

Bug: tint:1799
Change-Id: I1a9572288a0e536f0fc9c0748a25dcf58551e57b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119760
Kokoro: Kokoro <noreply+kokoro@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2023-02-14 16:12:59 +00:00
Ben Clayton
971318f7a2 tint: Replace all remaining AST types with ast::Type
This CL removes the following AST nodes:
* ast::Array
* ast::Atomic
* ast::Matrix
* ast::MultisampledTexture
* ast::Pointer
* ast::SampledTexture
* ast::Texture
* ast::TypeName
* ast::Vector

ast::Type, which used to be the base class for all AST types, is now a
thin wrapper around ast::IdentifierExpression. All types are now
referred to using their type name.

The resolver now handles type resolution and validation of the types
listed above based on the TemplateIdentifier arguments.

Other changes:
* ProgramBuilder has undergone substantial refactoring.
* ProgramBuilder helpers for type inferencing is now more explicit.
  Instead of passing 'nullptr', a new 'Infer' template argument is
  passed.
* ast::CheckIdentifier() is used for more tests that check identifiers,
  including types.

Bug: tint:1810
Change-Id: I8e739ef49435dc1c20a462f3ec5ba265661a7edb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118723
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-02-14 13:52:43 +00:00
Ben Clayton
03b09f1099 tint/sem: Add FunctionExpression
Will be generated for expressions that resolve to functions.

Bug: tint:1810
Change-Id: I334729c9499be7b1c4ab229c1845a4d5f06fa107
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119701
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-02-14 00:33:43 +00:00
Ben Clayton
a5b9e96b39 tint/reader/spirv: Work around pointers to null store types.
Bug: tint:1838
Change-Id: I84564a1b9888634808af2a1c7bb1e77c80947216
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119700
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
2023-02-13 21:22:21 +00:00
Ben Clayton
1131d31761 tint/ast: Remove ast::StorageTexture
Instead use ast::TypeName.

Also improve the validation and diagnostics around providing template
arguments to types that do not accept them.

Bug: tint:1810
Change-Id: I4241d50ce0425ab721157686889e918993482876
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119284
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-10 19:24:24 +00:00
Ben Clayton
c66b5e6922 tint/resolver: Fix null dereference
When performing binary / unary ops with non-value expressions.

Bug: chromium:1414658
Change-Id: I7b92f63890da1d9e20e7a1f692fe1fcd28a6f79d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119481
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2023-02-10 15:54:54 +00:00
Antonio Maiorano
ec20758675 tint: polyfill remainder to handle negative operands
Bug: tint:1802
Change-Id: Ie9baa045feda08523e5ca4f5ce94b6db7d4477e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119100
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-02-10 15:01:02 +00:00
Ben Clayton
a5fec206c9 tint/ast: Remove ast::DepthTexture and ast::DepthMultisampledTexture
Instead use ast::TypeName.

Bug: tint:1810
Change-Id: Id9fe641d193967cb27cea97e9c25b75c5fe2f1a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119122
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-10 02:34:21 +00:00
Ben Clayton
4906b03963 tint/ast: Remove ast::ExternalTexture
Instead use ast::TypeName.

Bug: tint:1810
Change-Id: Ia1ae61b2bffd386f8958c8164e2223df5f8ac91c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119121
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Ben Clayton <bclayton@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-09 23:59:07 +00:00
Ben Clayton
ed3389faee tint/ast: Remove ast::Sampler
Instead use ast::TypeName.

Bug: tint:1810
Change-Id: Ia2641d661cab70d110c975d5f0d0e76628816cb0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119120
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Ben Clayton <bclayton@chromium.org>
2023-02-09 23:56:42 +00:00
Ben Clayton
6e0a51521f tint/ast: Remove scalar types from ast::*
Instead use ast::TypeName for all of these.

Bug: tint:1810
Change-Id: Ie51a69bf40648a9da73c0a1de2cd96a93d4eac76
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117892
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-09 23:33:24 +00:00
Ben Clayton
eb30a0ddee tint/resolver: Fix validation of type constructor without assignment
Tint used to validate that type initializers and conversions were not
used as statements. The WGSL specification has been recently updated to
allow this, but Tint requires more work to correctly handle these as
statements.

For now, restore the validation.

Bug: tint:1836
Bug: chromium:1414489
Change-Id: I9f6aabece26c30b0a0d789ae0dfa10d6f43ee4dc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119360
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-09 23:19:42 +00:00
Ben Clayton
031e2f5585 tint/resolver: Resolve builtin enumerators
'address space', 'access' and 'texel_format'

Bug: tint:1810
Change-Id: If471912fcef57f7579d76c8c4edd663d1c0311ef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119125
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-09 15:35:27 +00:00
Ben Clayton
0ddddb00cb tint/resolver: Start handling sem::Expression
Change Resolver::Expression() and Resolver::Identifier() to return a
sem::Expression instead of a sem::ValueExpression.

This is required as IdentifierExpressions may resolve to non-values.

Handle expressions that resolve to types, when they are expected to
resolve to a value.

Bug: tint:1810
Change-Id: I1cb069e3e736fc85af7bc395b388abe153b1f65a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118500
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-09 15:35:27 +00:00
Ben Clayton
4e4cada291 tint/transform: Simplify Renamer transform
Take advantage of the fact that all AST nodes now use an
`ast::Identifier` instead of directly using Symbols.

This will be important for ensuring that un-keyworded identifiers will
be preserved.

Bug: tint:1810
Change-Id: If5c3e9f00b4c1c14a6f11bd617bd8b895250fb7e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119285
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-09 15:35:27 +00:00
Ben Clayton
f973d514a1 tint: Add ast::CheckIdentifier() test helper
A bunch of template magic to recursively test that an identifier (and
template arguments) matches the given values. Will be heavily used for
AST and parser tests.

Bug: tint:1810
Change-Id: I8d83090352c345f0ce1ac7840e163eea96eac8a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119124
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-09 11:59:47 +00:00
Ben Clayton
b75252b7aa tint/ast: Change TypeDecl::name to an ast::Identifier.
The goal here is to have all AST nodes use an identifier instead of
symbols directly. This will greatly simplify the renamer transform,
and gives the symbol a Source location, which is helpful for
diagnostics and tooling.

Change-Id: I8b3e05d05886c6caa16513a5cfb45d30f7a8d720
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119283
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
2023-02-09 10:34:14 +00:00
Ben Clayton
651d9e2558 tint/ast: Change Variable::symbol to Variable::name
Variable::name is an ast::Identifier.

The goal here is to have all AST nodes use an identifier instead of
symbols directly. This will greatly simplify the renamer transform,
and gives the symbol a Source location, which is helpful for
diagnostics and tooling.

Change-Id: I71fe3e8df3d22b12d4a3430c41f236ddf5bc0b9e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119282
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-09 10:34:14 +00:00
Ben Clayton
199440e37c tint/ast: Change StructMember::symbol to StructMember::name
StructMember::name is an ast::Identifier.

The goal here is to have all AST nodes use an identifier instead of
symbols directly. This will greatly simplify the renamer transform,
and gives the symbol a Source location, which is helpful for
diagnostics and tooling.

Change-Id: I1156653a48b02997ec0a9077b174401f65a13457
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119281
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-09 10:34:14 +00:00
Ben Clayton
ce31d187ef tint/ast: Change Function::symbol to Function::name
Function::name is an ast::Identifier.

The goal here is to have all AST nodes use an identifier instead of
symbols directly. This will greatly simplify the renamer transform,
and gives the symbol a Source location, which is helpful for
diagnostics and tooling.

Change-Id: I723a9a104668758db2cb32051efa1f6d3c105913
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119280
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-09 10:34:14 +00:00
Ben Clayton
057a733758 tint: Allow IdentifierExpressions to be templated
Required for nested template arguments, like `array<vec2<i32>, 2>`

Bug: tint:1810
Change-Id: Ibf24ec8918ef7698232cb2ea0cb786144d6f0604
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119123
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-02-08 23:29:28 +00:00
Ben Clayton
cf0e9301b2 tint: Improve the output of DependencyGraph
Add ResolvedIdentifier to hold the resolved AST node, sem::BuiltinType
or type::Builtin.

Reduces duplicate builtin symbol lookups in Resolver.

Bug: tint:1810
Change-Id: Idde2b5f6fa22804b5019adc14c717bebd8342475
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119041
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-08 15:18:43 +00:00
Ben Clayton
9e36723497 tint: Rework TypesBuilder::array() to take attribute list
Instead of having the stride be yet another integer argument, make the
stride explicit by adding an attribute list parameter. This is more
consistent with other nodes.

Bug: tint:1810
Change-Id: I916d810f29afd172b878ded48b6701e8b299b13f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119040
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-08 14:17:37 +00:00
Ben Clayton
5b50790d70 tint/reader: Use ProgramBuilder helpers
Eases the migration to unkeywording types.

Bug: tint:1810
Change-Id: If9ccdbf963550774b85b8cd15df8e37c271cde93
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118987
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-02-08 12:35:19 +00:00
Ben Clayton
35089ee437 tint: Use ProgramBuilder::Bitcast()
Change-Id: I3187027c8d24cfc0a18ed317a6586037346c97a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118986
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-08 01:11:27 +00:00
Ben Clayton
d775a26d82 tint: Use ProgramBuilder::CallStmt()
Change-Id: I963d1c859b5bbb8d86f67194e7c0963dfc0e5b29
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118985
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-02-07 21:28:09 +00:00
Ben Clayton
1ebada0dad tint: Use ProgramBuilder::Return()
Change-Id: I2de08d2d9274b0a849e44a5dafbeaf2a731318ce
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118984
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-07 21:28:09 +00:00
Ben Clayton
6adb65c488 tint: Use ProgramBuilder::Discard()
Change-Id: If71a771a65510ec7daa003f02958002d3fa83e3b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118983
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-07 21:28:09 +00:00
Ben Clayton
17aa653fa9 tint: Remove body_attributes param from ProgramBuilder::Func()
This belongs on Block(), not Func().

Also make Func() smarter about the `body` argument, allowing the caller
to pass an ast::BlockStatement*, ast::Statement* or nullptr.

Change-Id: I8ac6c1598b37f2a94615b452c5eb37671b4305fa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118982
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-07 21:28:09 +00:00
Ben Clayton
1906857a50 tint: Remove ast::Void
WGSL does not have a void type. Functions that do not return a value
simply omit the return type from the function signature.

Change-Id: Id45adc008dce46115552e7dc401a2e27ae10eeb4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118981
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
2023-02-07 21:28:09 +00:00
James Price
d9c0f2178d tint/resolver: Make pointer aliasing a hard error
Fixed: tint:1675
Change-Id: I620ac9854395b35acd8d42090f854e37360983db
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119001
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-07 19:40:01 +00:00
Ben Clayton
01ac21cc9a tint: Rename ProgramBuilder::Construct() to Call()
Once all ast::Type derived classes are removed, there will be no
distinction between a type initializer / conversion and a function call.

Bug: tint:1810
Change-Id: Ic10fd1a0364a564d24dbe2499af0f1424641596c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118980
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-02-07 16:14:25 +00:00
Ben Clayton
ad73301856 tint/type: Rename ShortName to type::Builtin
These will include the builtin language types.

Bug: tint:1810
Change-Id: I695a9ee833e1035eb1d17913d709038ae4c561d8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118502
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-02-07 13:35:58 +00:00
James Price
fc2083a616 tint: Make CreateScalar and ZeroValue members
This avoids the need to pass the `use_runtime_semantics_` flag at each
callsite.

Change-Id: I2cce3f147226e1295b5dfa0239beeacd519d5bb4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118641
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-06 22:01:48 +00:00
James Price
40ffda4b5e tint/const-eval: Add flag to use runtime semantics
Add a flag to resolver::ConstEval to turn all overflow and range
errors into warnings, and return a valid (usually zero) value instead
of utils::Failure as defined by the WGSL spec for expressions
evaluated at runtime.

Change-Id: Icdce512306aabe717591134a1b4ba2d9c668f29c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118640
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-02-06 18:52:13 +00:00
dan sinclair
c1799cc75a Add a tint_info command.
This CL adds a second command `tint_info`. The `tint_info` command can
be used to dump information about a WGSL program to the console. This
includes things like the inputs and outputs to an entrypoint along
with structure information like offsets and alignments.

Bug: 1825
Change-Id: Ia2fb4be08b39c1a592f78a388d34edf9af8b6a0e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118643
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-02-06 16:28:37 +00:00
Ben Clayton
0b4a2f1f50 tint: Add sem::Expression
A new base class for sem::ValueExpression, which other types of
expression can derive from.

Example: sem::TypeExpression - an expression that resolves to a type.

Bug: tint:1810
Change-Id: I90dfb66b265b67d9fdf0c04eb3dce2442c7e18ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118404
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-02-05 22:59:40 +00:00