This is preparation for emitting nested control flow.
Bug: tint:3
Change-Id: I90fc7edba8cb9937f722e6f5e94c7f222d34c403
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21801
Reviewed-by: dan sinclair <dsinclair@google.com>
In this case, a basic block is a continue target
for both an outer loop and is also for itself as a
single-block loop.
Bug: Tint:3
Change-Id: If361004a4b871966674ca972922c45e712ce7c9c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22420
Reviewed-by: dan sinclair <dsinclair@google.com>
This CL adds the missing case_selectors option from the grammar updates.
Change-Id: Ia6c110e917dd574711d396fb34ad53a2a67cf1fe
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22306
Reviewed-by: David Neto <dneto@google.com>
This Cl adds preliminary support for generating Kill commands. This may
change in the future if the semantics of kill are set in WGSL to not
match OpKill.
Bug: tint:5
Change-Id: Id466a1b26b37867a26373b93f56d627a0491f47f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22240
Reviewed-by: David Neto <dneto@google.com>
This CL updates a few names, addeds a return_stmt method and re-orders
some code to closer match the current WGSL specification.
Change-Id: I388be1c22d5d10229fdfcdb2ff929c410f5ae638
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22305
Reviewed-by: David Neto <dneto@google.com>
The intrinsic methods were removed from the WGSL grammar and are treated
as builtin functions. This Cl updates Tint to match.
Bug: tint:41
Change-Id: I3f9ff6c17f1ca57ad159d883fd5a966657caeb4f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22301
Reviewed-by: David Neto <dneto@google.com>
This CL removes the builtin_decoration from the parser in favour of
using IDENT tokens for builtins. We still convert to an enum in the
parser and validate the value provided.
Bug: tint:41
Change-Id: If5dc3844e3325c75951e7b320c123cf66cb8e106
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22300
Reviewed-by: David Neto <dneto@google.com>
This CL removes conversion of stpq to indexes for a vector swizzle as
they are not supported by WGSL.
Change-Id: I3fde18a8a4205cae83b32ce2830a6df48a8f22f4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22162
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
The NOP command was added for complete SPIR-V bijectivity which is no
longer a goal of WGSL. The NOP command has been removed from the spec,
so remove from Tint.
Change-Id: Ic640d9d3b987a19668dc169ff549444921c5bbb8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22160
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This Cl adds a test for a continue inside an else case.
Bug: tint:5
Change-Id: If9606b18ff8c2af6eb271aa37c404f36097f592e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22060
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This Cl adds tests for more of the cast code along with adding a few
missing cast cases.
Bug: tint:5
Change-Id: I417d46661bb310f27329f3e2459b76aa61a49d31
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/22040
Reviewed-by: David Neto <dneto@google.com>
Do so systmatically. Before we had tested some as a side effect
of other objectives.
Fix the error message for when we have a bad exit from a loop construct
that bypasses not only the continue construct but the loop merge block
itself.
Bug: tint:3
Change-Id: Iaf8fc9bcd3162002aa906efa90a244ef5f439911
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21580
Reviewed-by: dan sinclair <dsinclair@google.com>
Remove TOOD about special code for finding badly nested selections.
This is already adequately covered by the dominance-violation checks,
and related tests:
ClassifyCFGEdges_DomViolation_BeforeIfToSelectionInterior
ClassifyCFGEdges_DomViolation_BeforeSwitchToSelectionInterior
ClassifyCFGEdges_DomViolation_BeforeLoopToLoopBodyInterior
ClassifyCFGEdges_DomViolation_BeforeContinueToContinueInterior
ClassifyCFGEdges_DomViolation_AfterContinueToContinueInterior
Bug: tint:3
Change-Id: I8c547474d1422a54078d748b39a7d22a500d5d1d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21482
Reviewed-by: dan sinclair <dsinclair@google.com>
ClassifyCFGEdges_Forward_LoopToContinue is already covered via
ClassifyCFGEdges_LoopContinue_LoopBodyToContinue and ...ConditionalFromNestedIf
and other LoopContinue cases
Bug: tint:3
Change-Id: I4a89a82c0c9a08939036a20f13932c18e1f90df6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21560
Reviewed-by: dan sinclair <dsinclair@google.com>
Unordered float compares are not supported directly by WGSL.
Translate them as negated ordered compares.
Bug: tint:3
Change-Id: I4fea7c924054cffc9a39a8be3b3d9f088d302114
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21540
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Roll build/ ad38f3729..6f820da25 (71 commits)
ad38f37298..6f820da254
$ git log ad38f3729..6f820da25 --date=short --no-merges --format='%ad %ae %s'
2020-05-08 thakis mac: Stop using -all_load.
2020-05-08 chromium-autoroll Roll Fuchsia SDK from 0.20200507.3.1 to 0.20200508.0.1
2020-05-08 hzjian Remove package name check in write_build_config.py
2020-05-08 chromium-autoroll Roll Fuchsia SDK from 0.20200507.2.1 to 0.20200507.3.1
2020-05-07 tcwang Disable -Wmax-tokens for Chrome OS
2020-05-07 cduvall Move system_webview_apk_target to declare_args()
2020-05-07 wnwen Android: Lint chrome_public_test_apk
2020-05-07 chromium-autoroll Roll Fuchsia SDK from 0.20200507.1.1 to 0.20200507.2.1
2020-05-07 agrieve Android: Use different outputs for turbine vs ijar
2020-05-07 agrieve Android: Use non-dummy multiprocessing in compile_resources.py
2020-05-07 chromium-autoroll Roll Fuchsia SDK from 0.20200505.3.1 to 0.20200507.1.1
2020-05-07 bjoyce Remove jetifcation of resources.
2020-05-07 agrieve Android: Add .arsc resource filtering
2020-05-06 perrier Reland "[Android] add sr-Latn to locales.gni and resource packs"
2020-05-06 agrieve Stop building monochrome_public_apk on android-binary-size trybot
2020-05-06 thomasanderson Reland "Remove third_party/binutils""
2020-05-06 wnwen Android: Run lint only on nontest apks and bundles
2020-05-06 agrieve AndroidWebView: Add assert_no_deps for material_design
2020-05-06 agrieve generate_gradle.py: Use ninja from PATH
2020-05-06 wez Revert "Roll Fuchsia SDK from 0.20200505.3.1 to 0.20200506.0.1"
2020-05-06 chromium-autoroll Roll Fuchsia SDK from 0.20200505.3.1 to 0.20200506.0.1
2020-05-06 steveroe [fuchsia] Add test runner diagnostics for emulator exit status.
2020-05-06 chromium-autoroll Roll Fuchsia SDK from 0.20200505.2.1 to 0.20200505.3.1
2020-05-05 sclittle Revert "Remove third_party/binutils""
2020-05-05 thomasanderson Remove third_party/binutils"
2020-05-05 chromium-autoroll Roll Fuchsia SDK from 0.20200505.1.1 to 0.20200505.2.1
2020-05-05 hypan emulator: Add textpb files for avd creation
2020-05-05 sebmarchand Enable PGO for all Win official builds
2020-05-05 hzjian Make crazy. library prefixing an explicit build setting
2020-05-05 spang [fuchsia] Add scenic to test manifest
2020-05-05 agrieve Android: Disable proguard mapping for incremental APKs in release
2020-05-05 chromium-autoroll Roll Fuchsia SDK from 0.20200504.3.1 to 0.20200505.1.1
2020-05-05 cduvall Only add WebLayer translations package for bundles
2020-05-05 chromium-autoroll Roll Fuchsia SDK from 0.20200504.2.1 to 0.20200504.3.1
2020-05-04 cduvall [WebLayer] Fix crash when other shared resource library is loaded
2020-05-04 sebmarchand Enable PGO for all Mac official builds
2020-05-04 cduvall Mark WebLayer specific resources as final in standalone WebView
2020-05-04 wez [fuchsia] Suppress [[[ELF ...]]] lines in symbolizer output.
2020-05-04 yuezhanggg Add strings for conditional tab strip
2020-05-04 chromium-autoroll Roll Fuchsia SDK from 0.20200504.1.1 to 0.20200504.2.1
2020-05-04 thakis mac: Disable assert for using hermetic xcode for official builds.
2020-05-04 chromium-autoroll Roll Fuchsia SDK from 0.20200503.3.1 to 0.20200504.1.1
2020-05-04 chromium-autoroll Roll Fuchsia SDK from 0.20200503.2.1 to 0.20200503.3.1
2020-05-03 chromium-autoroll Roll Fuchsia SDK from 0.20200503.1.1 to 0.20200503.2.1
2020-05-03 chromium-autoroll Roll Fuchsia SDK from 0.20200503.0.1 to 0.20200503.1.1
2020-05-03 chromium-autoroll Roll Fuchsia SDK from 0.20200501.3.3 to 0.20200503.0.1
2020-05-03 sebmarchand Revert "Automatically do a PGO build when setting the official bit on Win & Mac"
2020-05-02 thakis Reland "mac: Reorganize how SDK search paths are set when using hermetic Xcode."
2020-05-02 sebmarchand Automatically do a PGO build when setting the official bit on Win & Mac
2020-05-02 chromium-autoroll Roll Fuchsia SDK from 0.20200501.2.1 to 0.20200501.3.3
2020-05-01 bjoyce Add enable_jetify dummy step.
2020-05-01 mthiesse Allow test apks to run even when test server spawning fails
2020-05-01 adithyas Revert "mac: Reorganize how SDK search paths are set when using hermetic Xcode."
2020-05-01 thakis mac: Reorganize how SDK search paths are set when using hermetic Xcode.
2020-05-01 bpastene chromeos: Allow arbitrary env vars to be specified for device tests.
2020-05-01 chromium-autoroll Roll Fuchsia SDK from 0.20200501.1.1 to 0.20200501.2.1
2020-05-01 mheikal Separate native libs expectation files by target_cpu
2020-05-01 chromium-autoroll Roll Fuchsia SDK from 0.20200430.3.1 to 0.20200501.1.1
2020-05-01 chromium-autoroll Roll Fuchsia SDK from 0.20200430.2.2 to 0.20200430.3.1
2020-05-01 mheikal Create separate targets for expectation checking
2020-04-30 wez [fuchsia] Cleanup unnecessary variables from Fuchsia's common.py.
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200430.1.1 to 0.20200430.2.2
2020-04-30 thomasanderson Keep symbols TOC files unsorted
2020-04-30 hzjian Add support for AndroidManifest check for downstream targets
2020-04-30 cduvall Fix WebView bundles not having translations in base modules
2020-04-30 agrieve Reland: Android: Use R8 for dex splitting
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200430.0.1 to 0.20200430.1.1
2020-04-30 mthiesse Remove slow (dead?) debug code in local_device_gtest_run.py
2020-04-30 nator [WebLayer] Actually filter components_chromium_strings.
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200429.3.1 to 0.20200430.0.1
2020-04-30 chromium-autoroll Roll Fuchsia SDK from 0.20200429.2.1 to 0.20200429.3.1
Roll testing/ d7c3cca9b..46f9803f0 (70 commits)
d7c3cca9bc..46f9803f0c
$ git log d7c3cca9b..46f9803f0 --date=short --no-merges --format='%ad %ae %s'
2020-05-08 donnd [TTS] Update the test config for 2 new experiments
2020-05-08 bpastene Increase shard count of browser_tests on Linux ChromiumOS MSan Tests.
2020-05-07 hypan Reland "android: Add AR test to android-10-arm64-rel builder"
2020-05-07 jonahr Run metal dEQP tests in a single process + launcher.
2020-05-07 bsheedy Support multiple expected device IDs
2020-05-07 grt Fix use of ConnectNamedPipe in FileUtilTest.ReadFileToStringWithNamedPipe.
2020-05-07 isamsonov Additional buildbot config for mac10.15-blink-rel
2020-05-07 bsheedy Run GPU Mac experimental on 10.15.4
2020-05-07 gangwu [Omnibox] Enable reducing Omnibox Clipboard suggestion age by default
2020-05-07 gbeaty Add a flag for the location of the LUCI configuration files.
2020-05-07 jeffyoon [pgo] Migrate isolate_coverage_data to isolate_profile_data
2020-05-07 mohsen Remove field trial config for DisableLatencyRecoveryDesktop
2020-05-07 gbeaty Avoid dumping output on success in generate_buildbot_json_unittest.
2020-05-07 chonggu [Fuchsia] Enable capture_unittests on Fuchsia CI bots.
2020-05-07 magchen Add GpuWatchdogV2NewTimeout to fieldtrial_testing_config
2020-05-06 ewannpv Adds EnablePersistentDownloads to Field Trial Testing Configuration
2020-05-06 bsheedy Switch experimental GPU Win Intel driver version
2020-05-06 thomasanderson Reland "Remove third_party/binutils""
2020-05-06 lindsayw [ios] Upgrade to target MacOS10.15 for iOS bots
2020-05-06 jonahr Enable metal-backend dEQP tests on the GPU waterfall
2020-05-06 jmadill Set angle_perftests batch limit on Android.
2020-05-06 chonggu [Fuchsia] Use headless ozone for Fuchsia ARM64 bots.
2020-05-06 wez [Fuchsia] Un-filter some URLRequestQuicTest.*CancelPush* tests.
2020-05-06 iopopesc Fixed several visual bugs for the eye dropper.
2020-05-06 bsheedy Run Telemetry minidump tests on Android
2020-05-06 xiaochengh Reland "Add field trial entry for FontPreloadingDelaysRendering"
2020-05-05 jeffyoon [pgo] removing the pgo test definitions in src
2020-05-05 sclittle Revert "Remove third_party/binutils""
2020-05-05 thomasanderson Remove third_party/binutils"
2020-05-05 bsheedy Reland "Run telemetry_perf_unittests with Crashpad"
2020-05-05 zhaoyangli [iOS][code coverage] Config LLVM path when initing ChromeWebView.
2020-05-05 estaab Add test expectations for WebLayer skew tests.
2020-05-05 bpastene Disable ReloadMultipleSadTabs on storage-flavor of interactive_ui_tests.
2020-05-05 gbeaty Remove configuration for chromium.lkgr master.
2020-05-05 bpastene Add vaapi_unittests to CrOS VM testers.
2020-05-05 gangwu [Omnibox] Enable Omnibox clipboard suggestions removal by default
2020-05-05 collinbaker Update WebUITabStrip entry in fieldtrial_testing_config.json
2020-05-05 agable Remove redundant testing spec for mac-rel
2020-05-05 twellington Clean-up after bookmarks reordering launch
2020-05-05 engedy Revert "Run telemetry_perf_unittests with Crashpad"
2020-05-05 msisov ozone: tests: enable compositor_unittests on Ozone X11/Wayland Testers.
2020-05-05 grt Diagnose FileUtilTest.ReadFileToStringWithNamedPipe flakes.
2020-05-04 bsheedy Run telemetry_perf_unittests with Crashpad
2020-05-04 rdevlin.cronin [Extensions Menu] Add a fieldtrial_testing_config
2020-05-04 mheikal Check 64bit expectations on android-pie-arm64-rel
2020-05-04 rockot Move Storage Service tests to CQ; sandboxed to FYI
2020-05-04 behdadb Removed experimental tag from Perf tests on Windows
2020-05-04 msisov ozone/x11/wayland: enable content_browsertests
2020-05-04 jkim a11y: Include AXPlatformNodeBaseTest only with native accessibility
2020-05-02 jeffyoon [pgo] add sparse option for .profraw files in code coverage merge scripts
2020-05-02 chonggu [Fuchsia] Add more unittests to Fuchsia FYI Bot.
2020-05-02 liaoyuke Print profdata command to assist debugging
2020-05-02 xiaochengh Revert "Add field trial entry for FontPreloadingDelaysRendering"
2020-05-01 jeffyoon [pgo] sparse disable flag for code_coverage merge scripts
2020-05-01 rushans [Sync] Remove MergeBookmarksUsingGUIDs from field trial config.
2020-05-01 enga Run the WebGPU CTS with backend validation layers enabled
2020-05-01 manukh [omnibox] Add HQP midword features to fieldtrial_testing_config.json
2020-05-01 jeffyoon Revert "[code coverage/pgo] defaulting sparse to false"
2020-05-01 msisov xvfb: weston: Disable idle time out.
2020-05-01 jeffyoon [code coverage/pgo] defaulting sparse to false
2020-05-01 wenyufu [HomepagePromo] Add homepage promo controller
2020-05-01 hypan webrtc: Upgrade the K Nexus5 fyi builder to L due to k deprecation.
2020-04-30 yoangela [omnibox] Remove reference to physical web from fieldtrial_testing_config.json
2020-04-30 penghuang Add virtual/android tests from skiarenderer_(vulkan|gl)_blink_web_tests
2020-04-30 rsorokin cros: Fix LoginUtilsTest.RlzInitialized test
2020-04-30 mvanouwerkerk Enable Remote Copy and Unido On Signin v2 by default.
2020-04-30 zhaoyangli [iOS][code coverage] Add device types to iOS code coverage tests.
2020-04-29 fangzhoug Add SynchronousPageFlipTesting to field trial config
2020-04-29 jonahr Re-enable swangle passthrough webgl tests
2020-04-29 mamir Enable Pixel Test for the now Parameterised PasswordBubbleBrowserTest
Roll third_party/binutils/ f9ce77769..256677820 (3 commits)
f9ce777698..2566778206
$ git log f9ce77769..256677820 --date=short --no-merges --format='%ad %ae %s'
2020-05-06 thomasanderson Reland "Remove third_party/binutils""
2020-05-05 sclittle Revert "Remove third_party/binutils""
2020-05-05 thomasanderson Remove third_party/binutils"
Roll third_party/googletest/ dcc92d0ab..a09ea700d (20 commits)
dcc92d0ab6..a09ea700d3
$ git log dcc92d0ab..a09ea700d --date=short --no-merges --format='%ad %ae %s'
2020-05-07 absl-team Googletest export
2020-05-04 absl-team Googletest export
2020-04-30 absl-team Googletest export
2020-04-28 absl-team Googletest export
2020-04-27 absl-team Googletest export
2020-04-24 absl-team Googletest export
2020-04-23 absl-team Googletest export
2020-04-20 absl-team Googletest export
2020-04-20 absl-team Googletest export
2020-04-17 absl-team Googletest export
2020-05-01 56075233+keshavgbpecdelhi Removed a typo in README.md
2020-03-28 arthur.j.odwyer Add -Wdeprecated to the build configuration.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Fix a -Wdeprecated warning.
2020-04-16 arthur.j.odwyer Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_.
2020-04-19 igor.n.nazarenko Enable protobuf printing for open-source proto messages.
2020-04-16 arthur.j.odwyer VariadicMatcher needs a non-defaulted move constructor for compile-time performance.
2020-04-05 jijyunneng Remove duplicate codes existed in get-nprocessors.sh
2020-03-18 calum.robinson Add GTEST_BRIEF option
Roll third_party/spirv-tools/ 49ca250b4..c8590c18b (5 commits)
49ca250b44..c8590c18bd
$ git log 49ca250b4..c8590c18b --date=short --no-merges --format='%ad %ae %s'
2020-05-06 jaebaek Preserve debug info for wrap-opkill (#3331)
2020-05-05 jbolz Validate ShaderCallKHR memory scope (#3332)
2020-05-01 afdx spirv-fuzz: Do not allow adding stores to read-only pointers (#3316)
2020-04-30 paulthomson reduce: increase default step limit (#3327)
2020-04-30 afdx Generalize IsReadOnlyVariable() to apply to pointers (#3325)
Roll tools/clang/ 948b9d009..54f2e0def (4 commits)
948b9d0097..54f2e0def1
$ git log 948b9d009..54f2e0def --date=short --no-merges --format='%ad %ae %s'
2020-05-06 lukasza Inserting an include of the new header during the rewrite.
2020-05-02 sebmarchand clang upload script: Use Cq-Include-Trybots: for official builders
2020-04-30 thakis clang: Only copy msdia140.dll next to llvm-symbolizers when building clang.
2020-04-30 hans Clang build script: prefer Python 2 on Mac until infra problem is fixed
Created with:
roll-dep build buildtools testing third_party/binutils third_party/googletest third_party/spirv-headers third_party/spirv-tools tools/clang
Change-Id: I90db087ffcea4d67caf1b6b63d53d1cbed8f2828
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21380
Reviewed-by: David Neto <dneto@google.com>
Finds the "then", the "else", and "premerge" nodes.
The premerge node, if it exists, is the first block where
the normal forward flow of the "then" and "else" clauses
converge, but before the merge block.
Finds error case where there a block has both an if-break
edge and a forward-to-premerge. There is no good way
to model that in a high level language.
Bug: tint:3
Change-Id: I759fc539f3480e38d091041db6a9abd15f3df769
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21240
Reviewed-by: dan sinclair <dsinclair@google.com>
This also refactors break detection.
Bug: tint:3
Change-Id: I3a3e01c8d76d7c6fc2a14b3dbff136acd487e802
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21220
Reviewed-by: dan sinclair <dsinclair@google.com>
The names for brace and bracket got flipped in the spec, update Tint to
match.
Change-Id: Ifbad5f239834b77b9aa27ef21b9d704cab742f4f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21260
Reviewed-by: David Neto <dneto@google.com>
Dawn has issues with building tint targets without these specified. Putting them
in public_deps doesn't resolve the linking issue.
Change-Id: Ib99f2d4a74cbb3a33c0aa9e47e5eb788ef01a7e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21280
Reviewed-by: dan sinclair <dsinclair@google.com>
Push constants won't be supported by WebGPU. This CL removes them from
Tint.
For the SPIR-V reader case, this means the push constant will cause a
unknown storage class error.
Bug: tint:19
Change-Id: I10b09ce589b6b370fc828af0cd56e6213c5bc694
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21180
Reviewed-by: David Neto <dneto@google.com>
These args were either previously used, but no longer are, or were never
implemented. Removing them since they are just cruft now.
Change-Id: Ie8d755868f8045b4836db608a3817837ddcb4f16
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21200
Reviewed-by: dan sinclair <dsinclair@google.com>
These used to be classified as kToMerge
Bug: tint:3
Change-Id: I63fb286c371582676e5943a3082c0614b9c8d5d0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21081
Reviewed-by: dan sinclair <dsinclair@google.com>
Distinguish between selections constructs starting with with
OpBranchConditional and those starting with OpSwitch.
We'll use this in a followup CL to track break from a switch.
Bug: tint:3
Change-Id: I8d000cb42325535a4937c84f83a83c98a9b8d4c5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21080
Reviewed-by: dan sinclair <dsinclair@google.com>
Classify CFG edges:
- loop backedge
- a structured exit:
- loop break
- loop continue
- selection break
- fallthrough
- forward (any of the rest)
Also error out when there should have been a merge instruction.
(More than one unique fallthrough or forward edge).
Includes lots of tests.
Bug: tint:3
Change-Id: I70f27680bdf098213056522abf04ac58a6b478ab
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20481
Reviewed-by: dan sinclair <dsinclair@google.com>
In SPIR-V a compute entry point requires a WorkGroup Size constant or a
LocalSize execution mode. This CL adds a 1,1,1 execution mode as a
starting point.
Bug: tint:74
Change-Id: Ie5bf639472033dca9ffe333548e7f31d4d318768
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/21020
Reviewed-by: David Neto <dneto@google.com>
The WGSL spec requires initializers for Output, Private and Function
variables. This CL adds initializers where needed.
Bug: tint:75
Change-Id: Id97f85a67ead2ffc41d6bdd1b71bf7034b04502a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20980
Reviewed-by: David Neto <dneto@google.com>
This CL adds the first simple pass at adding interface variables into
the entry point command. It simply lists all Input/Output module scoped
variables onto all entry points.
Bug: tint:28
Change-Id: I962462d783f3b97bb3da32fd9890ceb90808942b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20963
Reviewed-by: David Neto <dneto@google.com>
This CL fixes up some issues which give compile errors when building
with Visual Studio.
Change-Id: Ib76644d869dd2adccd579621d18804d84b65a74c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20940
Reviewed-by: David Neto <dneto@google.com>
This CL fixes the IntLiteral name to contain the type of the literal.
This keeps i32 and u32 from fighting over a given name. Now, the name
ends up being __int__i32_0 instead of __int_0.
Change-Id: Ifb9f0516139d25f34312c75c77318eccbe076ef8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20941
Reviewed-by: David Neto <dneto@google.com>
In some cases the array access must generate a load if there is a
following swizzle. This CL adds the needed load.
Bug: tint:71
Change-Id: Ib6ca6284af993962d9d573b323d54be7ce0e726c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20920
Reviewed-by: David Neto <dneto@google.com>
If the value being casted is a pointer it must be loaded first. This CL
adds the needed load.
Bug: tint:72
Change-Id: Ia019b7976db6b97c811f6424db8fe4f07a3d11f3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20900
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: dan sinclair <dsinclair@google.com>
There was a - that changed to a + while converting. Fixed.
Change-Id: Ic50a04624c5f4efdfc114459ccd5f42fc53c3ca2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20629
Reviewed-by: David Neto <dneto@google.com>
This CL starts support for the cast expression. It adds the i32 to f32
conversion path.
Bug: tint:5
Change-Id: Id1eafc38592060c4b5b91964302d79a847e2edaf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20628
Reviewed-by: David Neto <dneto@google.com>
This CL adds in missing casts from i32 to f32 when using the count
variables in computeboids to create vec3<f32> values.
Change-Id: I3e66e2db0fc626b94ae98142cd95a65feff7fc53
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20627
Reviewed-by: David Neto <dneto@google.com>
If an array accessor index is a variable it needs to be loaded before we
can use it to access the array. This CL adds the call to generate the
load for the index.
Bug: tint:5
Change-Id: I74143d2eb746727e857218d54126e1f5fd785bdf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20780
Reviewed-by: David Neto <dneto@google.com>
This CL adds assignment tests which require evaluating an access chain
to get the thing being written into.
Bug: tint:5
Change-Id: I475173b7b4ef4223de6f4258b8fa920760196b12
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20626
Reviewed-by: David Neto <dneto@google.com>
This CL implements the disabled function with body test.
Bug: tint:5
Change-Id: Ia5b2270373fdf734536b77d9dbac41bd35e3218f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20625
Reviewed-by: David Neto <dneto@google.com>
This CL updates and enables the disabled
FunctionVar_WithNonConstantConstructor test.
Bug: tint:5
Change-Id: If45152034968bd81aa3cf7ae76dfdb02598b6e4b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20760
Reviewed-by: David Neto <dneto@google.com>