Commit Graph

584 Commits

Author SHA1 Message Date
dan sinclair de2dd68f2b Inherit refererenced globals up the call stack.
A given caller should inherit the globals referenced from a callee. This
way, a given entry point will have a list of all the variables used up
the stack which it needs to reference.

Change-Id: Ib6efcdd5c3347749ad2d54aecfa425bd966a62fd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24762
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 20:37:28 +00:00
dan sinclair a2eb8c52b2 [msl-writer] Generate input/output structs
This CL adds generation of the input/output structures for entry points.

Bug: tint:8
Change-Id: I93942496bcea0a2eea944e5e1cd0baf383530f5e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24721
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 20:37:20 +00:00
dan sinclair 16890b9ce8 Add determination of entrypoint callees.
This Cl updates the type determiner to annotate each function with the
name of any entry points which call into the given function. This will
allow determining in the backends if we need to duplicate the function
due to differing entry point parameter requirements.

Bug: tint:8
Change-Id: Icd7c4ccab72dd6eabcf0abaf1159319949c4ecf5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24760
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 19:45:47 +00:00
dan sinclair 8604eb4495 Update cube example
This Cl updates the cube example to use unique names for the entry
points and fixes the duplicate name used for fragColor between the
vertex and fragment shaders.

Change-Id: Icb77897bac88f7641cab2702b37573bfd771a586
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24781
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 19:43:02 +00:00
David Neto 919011af0a [spirv-reader] Refactor how we emit const definitions
Take the type of a const-definition (or a write to a hoisted variable)
from the generated expression rather than the directly-converted type
from the SPIR-V ID.

This prepares the way for remapping storage buffers from
Uniform/BufferBlock to StorageBuffer/Block representation.

Bug: tint:99
Change-Id: I6104d8ad96312053562468a3cdb247932c1cb6cb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24604
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-13 14:16:12 +00:00
David Neto 018428dcd0 [spirv-reader] avoid using WGSL reserved words
Bug: tint:3
Change-Id: I8ab9ee4604f725cefcfab854e953caba7051b1ee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24524
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-13 14:15:52 +00:00
dan sinclair 25058a9213 [msl-writer] Fix output of array-of-array.
This CL fixes the output of multi-dimentional arrays in the MSL backend.

Bug: tint:7, tint:100
Change-Id: I8fe925145973555f77673e9db97f150077e2471f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24560
Reviewed-by: David Neto <dneto@google.com>
2020-07-10 00:03:19 +00:00
dan sinclair 45101598a1 [msl-writer] Add variable declarations.
This CL adds variable declarations to the MSL backend.

Bug: tint:7
Change-Id: Icf63ad44a217213e5036eb76429e25a3031822eb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24540
Reviewed-by: David Neto <dneto@google.com>
2020-07-08 20:52:46 +00:00
dan sinclair d0f7381090 [msl-writer] Better error message for missing statement and expression.
If the statement or expression being emitted is not implemented this
will now output the failed statement.

Bug: tint:7
Change-Id: I8a359abd369067540d503a1facbee018e91e8666
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24523
Reviewed-by: David Neto <dneto@google.com>
2020-07-08 18:29:21 +00:00
dan sinclair 723c5b4889 [msl-writer] Add missing include.
Need the algorithm include to build on Windows.

Bug: tint:7
Change-Id: I5691c9e30c762271c767934921fe925120a67e01
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24522
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-08 17:17:46 +00:00
dan sinclair 928f59ca46 [msl-writer] Handle remapping remap collisions.
If the remapper give an ident a new name which collides with a future
ident name we need to rename the future name to not collide.

Bug: tint:7
Change-Id: I162a3071f75ed714cee730b78aebefa8c75c77de
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24521
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-08 17:17:35 +00:00
dan sinclair 28ba9a369e Fixup format parsing in sample app.
This Cl fixes up the format parsing so it doesn't get recognized as an
invalid option.

Change-Id: I92626830ef36c3de5908edeb8900afd5807b31b0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24520
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-08 15:28:26 +00:00
Ryan Harrison 7b819aa162 Multiple fixes to get BUILD.gn builds working again
Change-Id: I00c8050d85e25c4e926c06b4df1381434de92f34
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24460
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-07 19:11:07 +00:00
David Neto 6453bee795 [spirv-reader] Even better hoisted variables
Use the fact that in WGSL the scope corresponding to the loop construct
encloses the scope for its associated continue construct.
In our construct data structure, the two are adjacent but not
overlapping.

This improvement means that when a definition is in a loop construct,
but used only in the loop or associated continue construct, then no
hoisting is required.

Bug: tint:3
Change-Id: I8d33b8f76303ab2868306847e846b4c26899e746
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24420
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-07 17:25:48 +00:00
dan sinclair 6249e38189 Use Tint Generator Number.
This Cl updates the code to use the new Tint generator ID.

Bug: tint:5

11d7637e7a..308bd07424

$ git log 11d7637e7..308bd0742 --date=short --no-merges --format='%ad %ae %s'
2020-06-26 dj2 Register the Tint compiler

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: I703d7bf7ad81bc6190e45a5271a30bc7110f4cb7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24401
Reviewed-by: David Neto <dneto@google.com>
2020-07-06 19:50:42 +00:00
David Neto 91cb60f2ec [spirv-reader] Improve placement of hoisted vars
When we hoist a variable out of a continue construct, put it
in associated loop construct, if it exists.  This reduces its
lifetime in WGSL, and easier to understand as a code reader.

Change-Id: I8f0cc37640bfe67874cbc27b55029e79e9a8992c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24321
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-06 18:10:52 +00:00
David Neto 4c48622aa1 [spirv-reader] Allow multi-block continue construct being the entire loop
The special case is not "single-block-loop" but rather the
case where a continue target is also its own loop header.
This can occur for single-block loops and multi-block loops.

Bug: tint:3
Change-Id: I4af1410793caf8b26a1f781e221fc0b395f07aa3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24320
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-06 16:13:54 +00:00
David Neto 9b9a0b07da [spirv-reader] Support OpPhi
For each OpPhi, make a variable to carry values from predecessor blocks
to the OpPhi.  Declare the variable at the smallest scope enclosing all
the predecessor blocks (where we write to it), and the OpPhi (where we
read from it).

Bug: tint:3
Change-Id: I7898b4b903d9ee1a25a7466e3c5aaf6840550e2d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24181
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-06 16:08:17 +00:00
dan sinclair 35f47d6a90 Rolling 7 dependencies
Roll build/ 6f820da25..1a541c158 (409 commits)

6f820da254..1a541c1582

$ git log 6f820da25..1a541c158 --date=short --no-merges --format='%ad %ae %s'
2020-07-06 wnwen Android: Update errorprone to 2.4.0
2020-07-06 chromium-autoroll Roll Fuchsia SDK from 0.20200705.3.1 to 0.20200706.0.1
2020-07-06 thakis mac/arm: Disable -Wmax-tokens.
2020-07-06 chromium-autoroll Roll Fuchsia SDK from 0.20200705.2.1 to 0.20200705.3.1
2020-07-05 chromium-autoroll Roll Fuchsia SDK from 0.20200705.1.1 to 0.20200705.2.1
2020-07-05 thakis Disable -Wpsabi on the clang tot bots.
2020-07-05 chromium-autoroll Roll Fuchsia SDK from 0.20200704.3.1 to 0.20200705.1.1
2020-07-05 chromium-autoroll Roll Fuchsia SDK from 0.20200704.2.1 to 0.20200704.3.1
2020-07-04 chromium-autoroll Roll Fuchsia SDK from 0.20200704.1.1 to 0.20200704.2.1
2020-07-04 chromium-autoroll Roll Fuchsia SDK from 0.20200704.0.1 to 0.20200704.1.1
2020-07-04 chromium-autoroll Roll Fuchsia SDK from 0.20200703.3.1 to 0.20200704.0.1
2020-07-03 chromium-autoroll Roll Fuchsia SDK from 0.20200703.1.1 to 0.20200703.3.1
2020-07-03 chromium-autoroll Roll Fuchsia SDK from 0.20200702.3.1 to 0.20200703.1.1
2020-07-03 chromium-autoroll Roll Fuchsia SDK from 0.20200702.2.1 to 0.20200702.3.1
2020-07-03 mthiesse Fix off-by-one in batched test result parsing
2020-07-02 chromium-autoroll Roll Fuchsia SDK from 0.20200702.1.1 to 0.20200702.2.1
2020-07-02 chromium-autoroll Roll Fuchsia SDK from 0.20200701.3.1 to 0.20200702.1.1
2020-07-02 chromium-autoroll Roll Fuchsia SDK from 0.20200701.2.1 to 0.20200701.3.1
2020-07-01 chromium-autoroll Roll Fuchsia SDK from 0.20200701.0.1 to 0.20200701.2.1
2020-07-01 thomasanderson [XProto] Remove xcbproto from sysroots
2020-07-01 rsesek iOS: Convert GN libs lists to frameworks in //build.
2020-07-01 thakis mac: Make it possible to download mac sdk on a linux host.
2020-07-01 chromium-autoroll Roll Fuchsia SDK from 0.20200630.3.1 to 0.20200701.0.1
2020-07-01 sdefresne [ios] Remove unused script
2020-07-01 chromium-autoroll Roll Fuchsia SDK from 0.20200630.2.3 to 0.20200630.3.1
2020-06-30 chromium-autoroll Roll Fuchsia SDK from 0.20200630.1.1 to 0.20200630.2.3
2020-06-30 sdefresne [ios/mac] Preliminary work to untangle templates and scripts
2020-06-30 chromium-autoroll Roll Fuchsia SDK from 0.20200629.3.1 to 0.20200630.1.1
2020-06-30 chromium-autoroll Roll Fuchsia SDK from 0.20200629.2.4 to 0.20200629.3.1
2020-06-29 alancutter Update error help text for the debugger in vs_toolchain.py
2020-06-29 chromium-autoroll Roll Fuchsia SDK from 0.20200629.1.1 to 0.20200629.2.4
2020-06-29 thakis mac: Include arm64 slice in libclang_rt.osx.a.
2020-06-29 thestig Consistently define OS_ASMJS and use it in place of __asmjs__.
2020-06-29 dpranke Address an ambiguity in @WrappedPath() in GN generate_wrapper.
2020-06-29 mbonadei [build] Always declare the clang_version GN argument.
2020-06-29 chromium-autoroll Roll Fuchsia SDK from 0.20200629.0.1 to 0.20200629.1.1
2020-06-29 hans [build] Pass Clang's resource dir as the first -libpath to the linker
2020-06-29 chromium-autoroll Roll Fuchsia SDK from 0.20200628.3.1 to 0.20200629.0.1
2020-06-29 chromium-autoroll Roll Fuchsia SDK from 0.20200628.2.1 to 0.20200628.3.1
2020-06-28 chromium-autoroll Roll Fuchsia SDK from 0.20200628.1.1 to 0.20200628.2.1
2020-06-28 chromium-autoroll Roll Fuchsia SDK from 0.20200627.3.1 to 0.20200628.1.1
2020-06-28 chromium-autoroll Roll Fuchsia SDK from 0.20200627.2.1 to 0.20200627.3.1
2020-06-27 chromium-autoroll Roll Fuchsia SDK from 0.20200627.1.1 to 0.20200627.2.1
2020-06-27 chromium-autoroll Roll Fuchsia SDK from 0.20200626.3.1 to 0.20200627.1.1
2020-06-27 chromium-autoroll Roll Fuchsia SDK from 0.20200626.2.3 to 0.20200626.3.1
2020-06-26 chromium-autoroll Roll Fuchsia SDK from 0.20200626.1.1 to 0.20200626.2.3
2020-06-26 behdadb Revert "Android: Bump default target_sdk_version 24 -> SDK used to compile"
2020-06-26 brucedawson Updates to require and use latest Windows 10 SDK
2020-06-26 jamescook Move buildflag LACROS into //build and rename to IS_LACROS
2020-06-26 agrieve Android: Bump default target_sdk_version 24 -> SDK used to compile
(...)
2020-05-15 rsesek Delete old package_mac_toolchain.py script
2020-05-15 chromium-autoroll Roll Fuchsia SDK from 0.20200514.3.1 to 0.20200515.0.1
2020-05-15 hypan libc++: Set output_name of libc++ to libc++_chrome for android
2020-05-15 sdefresne Reland "[ios] Update application extension rpath"
2020-05-15 yuezhanggg Re-enable some tests in ConditionalTabStripTest
2020-05-15 chromium-autoroll Roll Fuchsia SDK from 0.20200514.2.1 to 0.20200514.3.1
2020-05-15 agrieve Revert "Android: Add desugar runtime in dex() step"
2020-05-15 sebmarchand Disable the -Wprofile-instr-out-of-date when doing a PGO build
2020-05-14 chromium-autoroll Roll Fuchsia SDK from 0.20200514.1.1 to 0.20200514.2.1
2020-05-14 benmason Revert "Android: Use non-dummy multiprocessing in compile_resources.py"
2020-05-14 dewittj Add a whitelist of classes that are allowed to be missing during bytecode checks.
2020-05-14 sdefresne [ios] Fix `gn gen ...` for fat builds
2020-05-14 huangs [Bundles] Make bundle wrapper test scripts install '-m dev_ui' by default.
2020-05-14 amraboelkher Revert "[ios] Update application extension rpath"
2020-05-14 wnwen Android: Ignore unused imports errorprone check
2020-05-14 mthiesse Ensure bundle targets rebuild md5_sum
2020-05-14 sdefresne [ios] Update application extension rpath
2020-05-14 chromium-autoroll Roll Fuchsia SDK from 0.20200514.0.1 to 0.20200514.1.1
2020-05-14 chouinard Remove ClearBrowsingDataFragment lint suppression
2020-05-14 wnwen Android: Remove unused gn args for lint
2020-05-14 chromium-autoroll Roll Fuchsia SDK from 0.20200513.3.1 to 0.20200514.0.1
2020-05-13 chromium-autoroll Roll Fuchsia SDK from 0.20200513.1.1 to 0.20200513.3.1
2020-05-13 isherman Skip sudo when running install-build-deps.sh in --quick-check mode
2020-05-13 wnwen Android: Fix NewApi and other lint checks
2020-05-13 sdefresne Reland "[ios] Better diagnostics when selecting codesigning identity fails"
2020-05-13 djean Revert "[ios] Better diagnostics when selecting codesigning identity fails"
2020-05-13 sdefresne [ios] Better diagnostics when selecting codesigning identity fails
2020-05-13 chromium-autoroll Roll Fuchsia SDK from 0.20200512.3.1 to 0.20200513.1.1
2020-05-13 chromium-autoroll Roll Fuchsia SDK from 0.20200512.2.1 to 0.20200512.3.1
2020-05-13 agrieve Android: Add desugar runtime in dex() step
2020-05-12 chromium-autoroll Roll Fuchsia SDK from 0.20200512.1.1 to 0.20200512.2.1
2020-05-12 hypan android: Fix the asan_symbolize to work with library name like libc++.so
2020-05-12 inglorion Make use_goma_thin_lto only apply when useful
2020-05-12 zynis Add Visual Studio debugger visualisation for std::_1::tuple<...>
2020-05-12 chromium-autoroll Roll Fuchsia SDK from 0.20200512.0.1 to 0.20200512.1.1
2020-05-12 chromium-autoroll Roll Fuchsia SDK from 0.20200511.3.1 to 0.20200512.0.1
2020-05-12 thakis Revert "mac: Disable assert for using hermetic xcode for official builds."
2020-05-12 steveroe [fuchsia] Enable call stack print for all exceptions caught by test runner.
2020-05-11 chromium-autoroll Roll Fuchsia SDK from 0.20200511.1.1 to 0.20200511.3.1
2020-05-11 meiliang [GroupSuggestion] Add strings for grouping suggestion
2020-05-11 gab [base] Add explicit note about COMPILER_MSVC and COMPILER_GCC being true with clang
2020-05-11 wnwen Android: Remove lint_suppressions_file forward
2020-05-11 hzjian [Reland] Move linker from Trichrome library to chrome
2020-05-11 wnwen Android: Add back lint_suppressions_file
2020-05-11 chromium-autoroll Roll Fuchsia SDK from 0.20200508.0.1 to 0.20200511.1.1
2020-05-11 agrieve Android: Remove duplicate assignment of _enable_turbine
2020-05-09 spang [fuchsia] Fix broken cc_unittests on Fuchsia
2020-05-08 sergeyu Revert "Roll Fuchsia SDK from 0.20200508.0.1 to 0.20200508.1.1"
2020-05-08 cduvall [WebLayer] Add tests for language handling in bundles
2020-05-08 chromium-autoroll Roll Fuchsia SDK from 0.20200508.0.1 to 0.20200508.1.1

Roll buildtools/ 204a35a2a..6b951673d (16 commits)

204a35a2a6..6b951673d1

$ git log 204a35a2a..6b951673d --date=short --no-merges --format='%ad %ae %s'
2020-07-03 sdefresne Roll GN from cd3869be..b6203d18
2020-07-01 estaab Roll GN from 7d7e8dee..cd3869be
2020-06-18 sdefresne remove copybara initialization artifacts
2020-06-18 sdefresne Copybara Service Migration Initialization.
2020-06-18 sdefresne Roll GN from db55efd4..7d7e8dee
2020-06-17 sdefresne Roll GN from fbe7aec7..db55efd4
2020-06-15 sdefresne Roll GN from 200492a5..fbe7aec7
2020-06-15 sdefresne Roll GN from 9a0496a7..200492a5
2020-06-11 thakis Roll GN from d0a6f072..9a0496a7
2020-06-03 ambre [libunwind] Build with -funwind-tables
2020-05-20 dpranke Change 'dpranke@chromium.org' -> 'dpranke@google.com' in OWNERS files.
2020-05-20 avi Fix checkdeps
2020-05-20 dpranke Update TEAM in OWNERS for build-related directories.
2020-05-19 rsesek Roll GN from ab32747a..d0a6f072
2020-05-15 hypan libc++: Set output_name of libc++ to libc++_chrome for android
2020-05-14 thakis Roll GN from 5ed3c9cc..ab32747a

Roll testing/ 46f9803f0..a711b1132 (380 commits)

46f9803f0c..a711b11325

$ git log 46f9803f0..a711b1132 --date=short --no-merges --format='%ad %ae %s'
2020-07-06 syoussefi Revert "Remove //chrome/test wrapper targets for angle."
2020-07-06 toyoshim OOR-CORS: Enable TabStripTabListTest and TabStripTabTest on cros
2020-07-06 rdevlin.cronin [Extensions] Add a trial config for kExtensionSettingsOverriddenDialogs
2020-07-06 fdoray Cleanup feature to control the priority of the video capture service.
2020-07-06 apotapchuk [Kiosk] Add e2e tests for Web kiosk
2020-07-06 dpranke Remove //chrome/test:dawn_perf_tests wrapper target.
2020-07-06 dpranke Remove //chrome/test wrapper targets for angle.
2020-07-03 kylechar Remove flags to force OOP-R for SkR+Dawn on Windows
2020-07-03 agrieve Delete chrome_public_modern_apk
2020-07-02 treib Remove cacheinvalidation_unittests from more buildbot configs
2020-07-02 jmadill Run standalone ANGLE unittests on non-Android CQ.
2020-07-02 guidou Revert "Add a first pass of the desktop test wrapper scripts."
2020-07-02 dpranke Add a first pass of the desktop test wrapper scripts.
2020-07-01 machenbach [owners] Add comment in owners file
2020-07-01 fergal Reland "Parameterize NavigationControllerBrowserTest etc for RenderDocument."
2020-07-01 rsesek iOS: Convert GN libs lists to frameworks in //testing/iossim.
2020-07-01 dullweber Revert "Parameterize NavigationControllerBrowserTest etc for RenderDocument."
2020-07-01 chikamune Enable the HeapMojoUseContextObserver feature for waterfall testing
2020-07-01 jessemckenna Limit battery timer-interrupt frequency to 125 Hz
2020-07-01 liviutinta Enable ClickPointerEvent flag for tests
2020-07-01 fergal Parameterize NavigationControllerBrowserTest etc for RenderDocument.
2020-07-01 ajuma Update fieldtrial_testing_config.json for SafeBrowsingAvailableOnIOS
2020-06-30 lindsayw [mac] Roll osxbeta to 10.16
2020-06-30 sergeyu Revert "[fuchsia] Temporarily remove blink_web_tests from Fuchsia x64 bot."
2020-06-30 jonahr Re-enable gl_tests_passthrough on Linux and Mac
2020-06-30 behdadb Updating rep_perf_test spec tags to fix upper limit adjustment
2020-06-30 mpolzer Oobe: Read Rollback Restore from Config
2020-06-30 rsorokin oobe tests: Add LoginOfflineTest to MSAN filters.
2020-06-30 kojii [FragmentItem] Add to fieldtrial_testing_config.json
2020-06-30 sergeyu [Fuchsia] Enable AEMU on FYI Fuchsia x64 bots.
2020-06-30 bpastene Bump shards of storage-variant content_browsertests on linux-dbg.
2020-06-30 bsheedy Automatically handle multiple expected GPU IDs
2020-06-29 hypan emulator: Disable flaky tests in content_shell_test_apk on MM
2020-06-29 ynovikov Enable tests on SwANGLE Chromium bots
2020-06-29 triploblastic Remove SyncErrorInfoBarAndroid flag from native code
2020-06-29 treib Remove cacheinvalidation_unittests from buildbot configs
2020-06-29 fergal Add 4 failing SitePerProcessBrowserTest to the bfcache filter.
2020-06-29 fergal Rename SitePerProcessBrowserTest tests in various test filter.
2020-06-26 bsheedy Fix info_collection_tests flaking due to missing ID
2020-06-26 rmhasan weblayer: Update m84 version tested for skew
2020-06-26 asamidoi Enable the CheckOfflineCapability flag in a field trial testing config.
2020-06-25 mmoroz [libFuzzer] fix MojoLPM link in the documentation.
2020-06-25 mamir [Autofill] Add fieldtrial for HideAutofillSuggestions experiment
2020-06-25 pnoland Fix DetachedIframeUnloadHandlerABCB test filters
2020-06-25 gbeaty Generate a pyl file with project details that presubmits can read.
2020-06-25 gbeaty Use pyfakefs in generate_buildbot_json_unittest.
2020-06-25 zhaoyangli [iOS][infra] Fix some variant definitions in ios14-beta-sim builder.
2020-06-25 rmhasan weblayer, wpt: Remove setting of actual results to layout test results
2020-06-25 schenney [Paint Holding] Add a flag for cross-origin Paint Holding
2020-06-25 gbeaty Add a .style.yapf file to testing/buildbot so that code is formatted.
(...)
2020-05-15 wenbinzhang [benchmarking] Disable linux-perf from uploading perf data
2020-05-15 wenbinzhang [benchmarking] Disable Win10 low end on fyi from uploading perf data
2020-05-15 hypan android: Update android-asan to run on marshmallow
2020-05-15 hypan android: Update android-cronet-asan-arm-rel to run on marshmallow
2020-05-15 gbeaty Don't enforce that builders in waterfalls.pyl exist on branches.
2020-05-15 antoniosartori Remove logic for the require-sri-for directive in CSP
2020-05-14 sgilhuly Add screenshot_sync and pixel tests to SkiaDawn bots
2020-05-14 alexchau Add back field trial config for UnidoOnSignInV2
2020-05-14 nhiroki ServiceWorker: Rename ServiceWorkerProviderHostTest to ServiceWorkerContainerHostTest
2020-05-14 enga Simplify Dawn bot test configurations
2020-05-13 bsheedy Fix CrOS mixins
2020-05-13 wylieb Add dark search feature flag
2020-05-13 wnwen Android: Add webview boundaries apk for lint
2020-05-13 liaoyuke Fix win coverage config - part 1
2020-05-13 chonggu [Fuchsia] Shard net_unittests in Fuchsia.
2020-05-13 collinbaker Focus textfields on completed tap on ChromeOS
2020-05-13 chonggu [Fuchsia] Enable cc_unittests for Fuchsia CI.
2020-05-13 enga Run dawn_end2end_tests on just discrete and integrated GPUs
2020-05-13 svenzheng Fix pixel tests not running on CQ/tryjob
2020-05-12 kylixrd Only add views_examples_unittests to win10 bot.
2020-05-12 michaeldo [iOS] Roll to Xcode 11.4
2020-05-12 samfort Remove AssumeOverlapAfterFixedOrStickyPosition
2020-05-12 clemensb Extend field trial for Liftoff on mobile
2020-05-12 wenbinzhang [benchmarking] Disable android pixel 2 perf fyi from uploading perf data
2020-05-12 battre Switch Autofill to new API server
2020-05-12 sidereal Revert "Added views_examples_unitttests to launch views_examples to verify it appears."
2020-05-12 kylixrd Added views_examples_unitttests to launch views_examples to verify it appears.
2020-05-12 bsheedy Add GPU CrOS builder/testers
2020-05-12 estaab Add WebLayer skew tests for older clients against trunk implementation.
2020-05-11 zhaoyangli [iOS][infra] Source side changes to add multi window builders.
2020-05-11 domfc Remove field trial testing config for WebProtect alpha
2020-05-11 hypan emulator: increase shard number of NSOOP_content_browsertests for MM bot
2020-05-11 wychen Disable RenderTests on Android CFI bot (cont.)
2020-05-11 chonggu [Fuchsia] Add stable test suites to Fuchsia CI Bots.
2020-05-11 bpastene Promote vaapi_unittest out of experimental.
2020-05-11 mheikal Check 64bit expectations on android-pie-arm64-rel (Reland)
2020-05-11 behdadb Support for experimental stories
2020-05-11 dmcardle Fuzz BackoffEntrySerializer with net_backoff_entry_serializer_fuzzer.
2020-05-11 harrisonsean Modify PasswordCheck experiment
2020-05-09 spang Revert "[Fuchsia] Use headless ozone for Fuchsia ARM64 bots."
2020-05-09 spang [fuchsia] Fix broken cc_unittests on Fuchsia
2020-05-09 gbeaty Add 'all' as a compile target for clang builders.
2020-05-08 bsheedy Disable GPU buildbucket test
2020-05-08 jeffyoon [pgo] introducing --sparse argument to code coverage merge scripts
2020-05-08 bpastene Temporarily remove disk_usage_tast_test from chromeos-kevin-rel.
2020-05-08 mheikal Revert "Check 64bit expectations on android-pie-arm64-rel"
2020-05-08 bsheedy Fix test_buildbucket_api_gpu_use_case retval
2020-05-08 bpastene Add LIBVA_DRIVER_NAME to vaapi_unittest & narrow down its filter.
2020-05-08 cduvall [WebLayer] Add tests for language handling in bundles
2020-05-08 behdadb Refactoring Rendering Representative perf tests

Roll third_party/googletest/ a09ea700d..356f2d264 (50 commits)

a09ea700d3..356f2d264a

$ git log a09ea700d..356f2d264 --date=short --no-merges --format='%ad %ae %s'
2020-07-01 absl-team Googletest export
2020-06-26 absl-team Googletest export
2020-06-25 absl-team Googletest export
2020-06-24 absl-team Googletest export
2020-06-24 absl-team Googletest export
2020-06-19 mayur.shingote Updated googletest issue tracker url.
2020-06-17 absl-team Googletest export
2020-06-15 absl-team Googletest export
2020-06-12 dmauro Googletest export
2020-06-10 absl-team Googletest export
2020-06-08 absl-team Googletest export
2020-06-08 absl-team Googletest export
2020-06-05 dmauro Googletest export
2020-06-10 rharrison Fix build issue for MinGW
2020-06-04 dmauro Googletest export
2020-06-03 absl-team Googletest export
2020-06-02 absl-team Googletest export
2020-06-01 absl-team Googletest export
2020-03-07 krystian.kuzniarek make UniversalPrinter<std::any> support RTTI
2020-03-07 krystian.kuzniarek specialize UniversalPrinter<> for std::any (without support for RTTI)
2020-03-07 krystian.kuzniarek specialize UniversalPrinter<> for std::optional
2020-03-07 krystian.kuzniarek specialize UniversalPrinter<> for std::variant
2020-05-28 dmauro Googletest export
2020-05-28 dmauro Googletest export
2020-05-27 absl-team Googletest export
2020-05-27 dmauro Googletest export
2020-05-19 absl-team Googletest export
2020-05-18 absl-team Googletest export
2020-05-18 durandal Googletest export
2020-05-18 absl-team Googletest export
2020-05-14 absl-team Googletest export
2020-05-25 invalid_ms_user Use count function instead of handwritten loop
2020-05-10 mate.pek README.dm: Renamed related open source project name: Catch2 and Google Test Explorer -> C++ TestMate
2020-05-13 absl-team Googletest export
2020-05-13 absl-team Googletest export
2020-05-11 absl-team Googletest export
2020-05-08 martin Remove an explicit include of debugapi.h
2020-05-08 martin Revert "Googletest export"
2020-03-26 mvoorsluys Fix test with stack.
2020-03-29 verdoialaurent Fix --gtest_print_time coloring
2020-03-26 mvoorsluys Fixed xml unit-tests and added extra tests
2020-03-26 mvoorsluys Fix multiple \n characters in xml file when using GTEST_SKIP.
2020-03-26 mvoorsluys Only write ">\n" once when there is failure and skipped tests.
2020-03-26 mvoorsluys Output skipped information in the xml file.
2020-03-21 ngompa13 Set the version for the libraries
2020-02-21 nini16041988-gitbucket Add missing call for gtest_list_output_unittest_ unitTest. Add unitTest for fixed TEST_P line number. Use CodeLocation TestInfo struct.
2020-02-18 nini16041988-gitbucket Fix: shadow member
2020-02-18 nini16041988-gitbucket Add correct line number to TEST_P test cases for gtest_output.
2020-02-06 59134746+aribibek fix a link to documentation
2020-01-17 hgsilverman Fix always false condition and clean function body

Roll third_party/spirv-headers/ c0df742ec..11d7637e7 (8 commits)

c0df742ec0..11d7637e7a

$ git log c0df742ec..11d7637e7 --date=short --no-merges --format='%ad %ae %s'
2020-06-01 dneto spir-v.xml: Use plain ASCII quotes in comment
2020-05-29 cepheus Rebuild headers against the previous grammar commit.
2020-05-29 dmitry.sidorov Apply suggestions
2020-04-05 dmitry.sidorov Add Intel specific definitions from KhronosGroup/SPIRV-LLVM-Translator
2020-05-29 cepheus Header build from previous grammar update.
2020-05-25 michael.kinsner Propose bit allocation mechanism for the FP Fast Math Mode bitfield, following from the mechanism previously added for the loop control bitfield.
2020-05-20 dneto Update example to use unified1 headers
2020-04-05 dmitry.sidorov Add SPV_INTEL_function_pointers preview extension

Roll third_party/spirv-tools/ c8590c18b..bd2a9ea85 (70 commits)

c8590c18bd..bd2a9ea852

$ git log c8590c18b..bd2a9ea85 --date=short --no-merges --format='%ad %ae %s'
2020-07-03 vasniktel spirv-fuzz: TransformationInvertComparisonOperator (#3475)
2020-07-02 vasniktel Fix regression (#3481)
2020-07-02 vasniktel spirv-fuzz: Add fuzzerutil::FindOrCreate* (#3479)
2020-06-30 vasniktel spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391)
2020-06-30 vasniktel spirv-fuzz: Add one parameter at a time (#3469)
2020-06-29 jaebaek Fix ADCE pass bug for mulitple entries (#3470)
2020-06-26 ehsannas Add gl_BaseInstance to the name mapper. (#3462)
2020-06-26 andreperezmaselco.developer Implement the OpMatrixTimesScalar linear algebra case (#3450)
2020-06-25 jaebaek Clear debug information for kill and replacement (#3459)
2020-06-25 alanbaker Validate location assignments (#3308)
2020-06-23 ehsannas Support OpCompositeExtract pattern in desc_sroa (#3456)
2020-06-23 vasniktel spirv-fuzz: Implement FuzzerPassAddParameters (#3399)
2020-06-23 vasniktel spirv-fuzz: Add GetParameters (#3454)
2020-06-23 vasniktel spirv-fuzz: Permute OpPhi instruction operands (#3421)
2020-06-22 rharrison Add support for different default/trunks in roll-deps (#3442)
2020-06-19 jaebaek [spirv-opt] debug info preservation in ssa-rewrite (#3356)
2020-06-19 ehsannas Updated desc_sroa to support flattening structures (#3448)
2020-06-19 vasniktel spirv-fuzz: Refactor variable creation (#3414)
2020-06-19 vasniktel spirv-fuzz: Swap operands in OpBranchConditional (#3423)
2020-06-18 stevenperron Use structured order to unroll loops. (#3443)
2020-06-18 jaebaek Debug info preservation in dead branch elimination (#3425)
2020-06-17 vasniktel Add RemoveParameter method (#3437)
2020-06-17 vasniktel Fix return type (#3435)
2020-06-16 ehsannas Eliminate branches with condition of OpConstantNull (#3438)
2020-06-16 andreperezmaselco.developer spirv-fuzz: Implement vector shuffle fuzzer pass (#3412)
2020-06-16 andreperezmaselco.developer spirv-fuzz: Add replace linear algebra instruction transformation (#3402)
2020-06-15 dj2 Update access control lists. (#3433)
2020-06-13 vasniktel Fix operand access (#3427)
2020-06-12 jaebaek Debug info preservation in ccp pass (#3420)
2020-06-10 dneto Fix round trip tests that weren't instantiated (#3417)
2020-06-10 vasniktel spirv-fuzz: Add a test (#3238)
2020-06-10 vasniktel spirv-fuzz: Add support for OpSpecConstant* (#3373)
2020-06-05 vasniktel spirv-fuzz: Fix replayer bug (#3401)
2020-06-05 andreperezmaselco.developer Add value instruction condition (#3385)
2020-06-05 andreperezmaselco.developer Fix instruction function use (#3390)
2020-06-05 vasniktel spirv-fuzz: Fix regression (#3396)
2020-06-04 paulthomson Fix googletest inclusion (#3398)
2020-06-02 jaebaek Add tests for merge-return debug info preservation (#3389)
2020-05-29 andreperezmaselco.developer spirv-fuzz: Add push id through variable transformation (#3359)
2020-05-27 rharrison Rolling 4 dependencies (#3380)
2020-05-27 stevenperron Start SPIRV-Tools v2020.4
2020-05-27 stevenperron Finalize SPIRV-Tools v2020.3
2020-05-27 stevenperron Update CHANGES
2020-05-26 andreperezmaselco.developer spirv-fuzz: Support bit width argument for int and float types (#3378)
2020-05-26 andreperezmaselco.developer Fix function use (#3372)
2020-05-25 jaebaek spirv-val: allow DebugInfoNone for DebugTypeComposite.Size (#3374)
2020-05-25 47594367+rg3igalia Add validation support for ImageGatherBiasLodAMD (#3363)
2020-05-21 38433336+AnastasiaStulova Fix validation failure on OpDecorationGroup (#3365)
2020-05-21 greg Remove deprecated interfaces from instrument passes (#3361)
2020-05-21 jaebaek Preserve debug info in inline pass (#3349)
2020-05-21 dnovillo Reject folding comparisons with unfoldable types. (#3370)
2020-05-21 paulthomson Improve build instructions for fuzzer (#3364)
2020-05-20 stevenperron Add unrolling to performance passes (#3082)
2020-05-20 jaebaek Handle OpConstantNull in ssa-rewrite (#3362)
2020-05-19 rharrison Add in a bunch of missed files to the BUILD.gn (#3360)
2020-05-19 rharrison Remove stale entries from BUILD.gn (#3358)
2020-05-19 vladimir.davidovich allow cross compiling for Windows Store, UWP, etc. (#3330)
2020-05-19 vasniktel spirv-fuzz: Remove FuzzerPassAddUsefulConstructs (#3341)
2020-05-19 vasniktel Add support for StorageBuffer (#3348)
2020-05-19 462213+sl1pkn07 Prevent Effcee install his things when build spirv-tools with testing enabled (#3256)
2020-05-19 stevenperron Don't register edges twice in merge return (#3350)
2020-05-14 stevenperron Revert "Revert "[spirv-opt] refactor inlining pass (#3328)" (#3342)" (#3345)
2020-05-14 afdx spirv-reduce: Remove unused struct members (#3329)
2020-05-14 andreperezmaselco.developer Add adjust branch weights transformation (#3336)
2020-05-13 stevenperron Revert "[spirv-opt] refactor inlining pass (#3328)" (#3342)
2020-05-13 jaebaek [spirv-opt] refactor inlining pass (#3328)
2020-05-13 afdx spirv-reduce: Remove unused uniforms and similar (#3321)
2020-05-13 afdx spirv-fuzz: Fix to fact manager (#3339)
2020-05-13 afdx spirv-fuzz: Get rid of unnecessary template method (#3340)
2020-05-12 stevenperron Do merge return if the return is not at the end of the function. (#3337)

Roll tools/clang/ 54f2e0def..b49c12a8f (81 commits)

54f2e0def1..b49c12a8f3

$ git log 54f2e0def..b49c12a8f --date=short --no-merges --format='%ad %ae %s'
2020-06-30 inglorion goma_link: add --allowlist option
2020-06-30 inglorion goma_link: add phony rules for native object files
2020-06-30 inglorion goma_link: use allowlist for targets for which we do distributed ThinLTO
2020-06-30 thakis clang build script: scale back xcode stuff a bit
2020-06-29 thakis mac: Include arm64 slice in libclang_rt.osx.a.
2020-06-29 inglorion goma_link: add --generate option
2020-06-29 zhin [Py3] Get update.py Python3 compatible
2020-06-28 thakis Minor tweaks to the clang upload rev script.
2020-06-28 thakis clang build script: Stop showing the first LLVM commit in every build.
2020-06-28 thakis Roll clang n356902-4e813bbd-1 : n358615-fb1aa286-1.
2020-06-26 zhin [Py3] Get blink_gc_plugin Py3 ready
2020-06-25 zhin [Py3] Refactor expand_thin_archives to call into goma_link
2020-06-25 lukasza Ensure stable order in the rewriter output.
2020-06-25 zhin [Py3] Make compile_db and test Python3 compatible
2020-06-25 bartekn Fix a field and add more to manual-fields-to-ignore.txt
2020-06-25 omerkatz heap: Remove mixin check from clang plugin
2020-06-25 hans Fix blink_gc_plugin tests with Python 2
2020-06-25 bartekn A script that performs a CheckedPtr rewrite
2020-06-25 lukasza Stop ignoring base::Bind args (thinking the parameters are references).
2020-06-24 zhin [Py3] Get blink_gc_plugin Py3 ready
2020-06-24 zhin [Py3] Make build.py python3 compatible
2020-06-23 hans Add linux_angle_deqp_rel_ng to Cq-Include-Trybots for Clang rolls
2020-06-23 bartekn Adding some more fields to manual-fields-to-ignore.txt.
2020-06-22 hans Revert "Roll clang n356902-4e813bbd-1 : n357772-7f0d7f32-1."
2020-06-22 hans Remove/replace unnecessary includes of logging.h (tools/)
2020-06-22 hans Roll clang n356902-4e813bbd-1 : n357772-7f0d7f32-1.
2020-06-18 omerkatz heap: Apply clang plugin to heap unittests
2020-06-18 bartekn Adding a few more fields to manual-fields-to-ignore.txt.
2020-06-17 lukasza Remove stale, automatic exclusions from fields-to-ignore.txt
2020-06-16 lukasza Workaround a clang bug affecting cxxConstructorExpr.
2020-06-16 lukasza Skip some scenarios via blocklist, rather than unconditionally.
2020-06-15 lukasza Adding two more fields to fields-to-ignore.txt.
2020-06-15 bartekn Add TlsVectorEntry::data to fields-to-ignore.txt
2020-06-15 bartekn Add 2 fields that violate constexpr to fields-to-ignore.txt
2020-06-13 aeubanks Roll clang n356235-f7f1abdb-1 : n356902-4e813bbd-1.
2020-06-11 lukasza Fix rewriting of |auto* v = my_struct.field| to allow direct memberExpr.
2020-06-11 lukasza Ensure that |SomeTemplate<SomeClass>* ptr_field| gets rewritten.
2020-06-11 bartekn Add one more x_display_ field to fields-to-ignore.txt
2020-06-10 bartekn Add more fields to fields-to-ignore.txt
2020-06-10 lukasza Ignoring fields declared within implicit function specializations.
2020-06-10 lukasza Always normalize paths used in apply_edit.py
2020-06-09 lukasza Append |.get()| when calling function templates like base::WrapUnique.
2020-06-09 lukasza Support for auto-generating input for --exclude-fields cmdline param.
2020-06-08 hans Roll clang n355885-a6ae333a-2 : n356235-f7f1abdb-1.
2020-06-05 lukasza Fix handling affected expressions in implicit template specializations.
2020-06-05 jonross Reland "Fields in system headers (and generated code) are not really affected."
2020-06-05 jonross Revert "Fields in system headers (and generated code) are not really affected."
2020-06-05 bartekn Exclude users of nmap and base::AllocPages
2020-06-04 inglorion goma_link: handle function sections and data sections
2020-06-04 lukasza Fields in system headers (and generated code) are not really affected.
2020-06-04 lukasza Append |.get()| to: auto* var_ptr = my_struct.ptr_field;
2020-06-03 lukasza Using |.get()| in conditional operator results.
2020-06-03 lukasza Rewriting |const_cast<...>(s.ptr_field)| into |...s.ptr_field.get()...|.
2020-06-03 lukasza Rewriting |printf("%p", s.ptr_field)| into |...s.ptr_field.get()...|.
2020-06-03 lukasza Avoid rewriting C-only or |extern "C"| field decls.
2020-06-03 thakis clang build script: Start using LLVM_LOCAL_RPATH.
2020-06-03 bartekn Add two more fields to fields-to-ignore.txt
2020-06-02 thakis Roll clang n354867-0e41d647-2 : n355885-a6ae333a-1.
2020-06-02 bartekn Add more fields to fields-to-ignore.txt
2020-05-28 dmcardle Fix broken --diff option for clang_tidy_tool.py.
2020-05-26 lukasza Support for --exclude-fields=fields-to-ignore.txt cmdline parameter.
2020-05-26 lukasza Avoiding rewriting macro-generated types.
2020-05-25 hans Clang upload_revision.py, add TODO about bug number
2020-05-25 thakis clang/android: Stop using make_standalone_toolchain.py script.
2020-05-22 thakis Roll clang n353803-99ac9ce7-2 : n354867-0e41d647-1.
2020-05-22 lukasza Avoid rewriting fields in third-party code.
2020-05-21 thakis clang build script: set rpath on linux so unit tests can run
2020-05-21 lukasza Ignoring |SomeClass *ptr_field1, *ptr_field2|.
2020-05-20 inglorion goma_link: add slash to -thinlto-prefix-replace
2020-05-17 omerkatz heap: Make all Trace methods const
2020-05-14 lukasza Avoiding rewriting pointers to non-free-standing structs.
2020-05-14 lukasza Avoid rewriting pointers to arrays.
2020-05-14 lukasza Avoid converting |char* field| to |CheckedPtr<char> field|.
2020-05-14 lukasza Avoiding CheckedPtr<object-with-deleted-operator-new>.
2020-05-14 lukasza Not generating replacements within implicit template specializations.
2020-05-12 lukasza Ignoring fields of class backing lambda expressions.
2020-05-12 hans Roll clang n346557-4e0d9925-3 : n353803-99ac9ce7-1.
2020-05-12 lukasza Stop depending on the Z3 solver when building llvm/clang.
2020-05-08 lukasza Inserting a new header should account for presence of BOM bytes.
2020-05-08 lukasza Attempt to preserve the original spelling of the pointee type.
2020-05-08 lukasza Avoid rewriting function pointer types.

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: I88228938fb78c3c5badc9489bfaa3860e1d56e33
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24400
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-06 16:07:03 +00:00
David Neto 3b8e6dd816 Error out for unrecognized option, more than one file
Change-Id: I7b7797a04ce824f263c4db6e64eefee083cc4c9d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24340
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-06 13:15:26 +00:00
dan sinclair f2aaa0e985 [msl-writer] Always add the metal_stdlib include.
This CL adds the metal_stdlib include to the MSL generator.

Bug: tint:8
Change-Id: Ie80a7aa3921e2c4594cb7dc5a69d1b04a253c752
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24185
Reviewed-by: David Neto <dneto@google.com>
2020-07-02 20:53:54 +00:00
dan sinclair 6002a3345f [msl-writer] Add namer class.
This CL adds a namer class to prevent collisions with builtin names in
MSL. The MSL generator has been updated to use the namer anywhere that
names are emitted.

Bug: tint:8
Change-Id: I820f226a7286be1d5b0d613bd0fa41b68cb9f8ba
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24184
Reviewed-by: David Neto <dneto@google.com>
2020-07-02 20:53:45 +00:00
dan sinclair 53b3283c6a [msl-writer] Emit switch statements.
This CL adds support for switch and case statements into the MSL writer.

Bug: tint:8
Change-Id: Ib51f943e8476c0ecfd45e9131404f96934c6e21f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24180
Reviewed-by: David Neto <dneto@google.com>
2020-06-30 21:33:20 +00:00
David Neto 2c11bd6b68 [spirv-reader] Refactor bookkeeping for localy defined values
Bug: tint:3
Change-Id: Ibe26b802ae61c6271f8a75e641ac31db36df6000
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24124
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-06-30 19:03:17 +00:00
dan sinclair e88c0f6f8a [msl-writer] Emit loop statements.
This CL adds the code to convert a loop/continuing statement into MSL.

Bug: tint:8
Change-Id: I9fa595908c6d834d9543b583c8baf8c19f8cae6c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24122
Reviewed-by: David Neto <dneto@google.com>
2020-06-30 17:40:28 +00:00
David Neto e91325956d [spirv-reader] Hoist definitions as needed
Compensate for the fact that dominance does not correspond
exactly to scoping. A definition can dominate a use, but when mapped
in a naive way to constant definitiion and its use, the definition
name goes out of scope by the time you reach the use.

This is correct for storable types.

Bug: tint:3
Change-Id: I03e6c5ba68393151485ed4cdbe6b2b3d7773d1ad
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24141
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-06-30 15:16:18 +00:00
David Neto de7b15ebb9 [spirv-reader] Don't move combinatorial values across control flow
Avoid sinking expensive operations into control flow such as loops.
The heuristic way to achieve that is to avoid moving combinatorial
values across *any* structured construct boundaries.

Bug: tint:3
Change-Id: I91502b01166a0db64c0e652331591850df75f9d4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24140
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-06-30 13:59:43 +00:00
dan sinclair 57b3b1d117 [msl-writer] Add break and continue emission.
This CL adds writting of break and continue statements to the MSL
backend.

Bug: tint:8
Change-Id: If2443c036fa82f54708d209d924192ee7a159e76
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24121
Reviewed-by: David Neto <dneto@google.com>
2020-06-29 21:17:54 +00:00
dan sinclair fa1659a3ef [msl-writer] Emit member accessors.
This CL adds emission of member accessor expressions to the MSL writer.

Bug: tint:8
Change-Id: I21d8564880c44d719c89dca2a10cd97ccb1e2cd7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24120
Reviewed-by: David Neto <dneto@google.com>
2020-06-29 21:17:44 +00:00
dan sinclair 48bb366991 [spirv-writer] Allow casting of vectors along with scalars.
The current `cast` conversion code only handles scalar types and fails
if provided with vectors. This CL updates the logic to accept scalars
along with the provided scalar cases.

Bug: tint:96
Change-Id: I60772e75286fc3ee7a9dfba6634db069062b22d0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23820
Reviewed-by: David Neto <dneto@google.com>
2020-06-29 17:58:09 +00:00
David Neto 5b46d71ae7 Enable Tint as part of a larger CMake project
- Add googletest and spirv-tools local builds only if their CMake targets
  are not already configured.
- Add local spirv-headers as an include directory only if the associated
  CMake directory does not already point to a directory.

Change-Id: I53ebb0d8fdf7703e8219000b78c75c30859c91a4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24020
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-06-26 22:29:27 +00:00
dan sinclair d4eafb631d [msl-writer] Emit alias types.
This CL adds emission of alias types to the MSL writer. They are output
as `typedef`s.

Bug: tint:8
Change-Id: I18b839ed0238c4636e3975f35f5d88badd412fe4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24001
Reviewed-by: David Neto <dneto@google.com>
2020-06-26 21:27:59 +00:00
dan sinclair dc841f1bf2 [msl-writer] Add array accessors.
This CL adds the code to emit array accessors from the MSL backend..

Bug: tint:8
Change-Id: Ia6b49c11602d39aa559feac31fcfd592ab54928c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24000
Reviewed-by: David Neto <dneto@google.com>
2020-06-26 21:27:59 +00:00
dan sinclair d1bf87b9d8 [msl-writer] Add unary op emission.
This CL adds emission of the unary `-` and `!` operators.

Bug: tint:8
Change-Id: I9dda066111cc8f115b593127cf070c6ca37bdc66
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23842
Reviewed-by: David Neto <dneto@google.com>
2020-06-26 21:27:59 +00:00
dan sinclair 24a46e8e69 [msl-writer] Emit kill statement.
This Cl adds emission of the Kill statement as `discard_fragment`. This
may need to be revised when the semantics of Kill are agreed upon.

Bug: tint:8
Change-Id: I2d09f09143b2acd0139d876e873e3c70abbc84a3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23841
Reviewed-by: David Neto <dneto@google.com>
2020-06-26 21:27:59 +00:00
dan sinclair 28d4a94bee [msl-writer] Add emission of if statements.
This Cl adds emission of `if`, `else if` and `else` statements to the
MSL backend.

Bug: tint:8
Change-Id: I8c22d70f2afa0a1d86cf475f5c98127504a6dc0e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23840
Reviewed-by: David Neto <dneto@google.com>
2020-06-26 21:27:59 +00:00
dan sinclair b1de84316c [msl-writer] Add cast conversion.
This CL adds conversion of casts to MSL.

Bug: tint:8
Change-Id: Iecfb9a5b413b1d10372b4d2fec31c0956b1475a0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23822
Reviewed-by: David Neto <dneto@google.com>
2020-06-26 21:27:59 +00:00
dan sinclair 3dbc8378fa [msl-writer] Add generation of as casts.
This CL adds the MSL conversion of as casts to `as_cast`.

Bug: tint:8
Change-Id: Iaa8ee1fa3077e4471bbead9d24fcf1e2d68998b0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23821
Reviewed-by: David Neto <dneto@google.com>
2020-06-26 21:27:59 +00:00
David Neto 7fe3c36376 [spirv-reader] Weaken input validation to Vulkan 1.0
The process of passing the module through this reader, the WGSL semantics,
and the SPIR-V writer will sanitize the module such that the end result
should satisfy SPV_ENV_WEBGPU_0 requirements.

Being more forgiving about the input SPIR-V will be a quality-of-life
improvement.

Bug: tint:3
Change-Id: Ib54cbf729b9e078d797a1ef31422bad497daa5a0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23942
Reviewed-by: dan sinclair <dsinclair@google.com>
Commit-Queue: dan sinclair <dsinclair@google.com>
2020-06-26 15:47:03 +00:00
Ryan Harrison 40236d835e Add configs for CQ
Based off of the configs used in Dawn

BUG=tint:1

Change-Id: Ie6d028dd0c0ae4ce77fa689a3e080b91afd56f83
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23800
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-06-25 01:50:59 +00:00
dan sinclair ec3e2d4abd [metal-writer] Add entry point support.
This CL adds preliminary entry point support to the Metal backend.

Bug: tint:8
Change-Id: I7b904621d706d4503d5054711de64872f79cf2fa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23708
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 18:22:28 +00:00
dan sinclair 6366f68121 [metal-writer] Emit constructors.
This Cl adds the code to emit scalar and type constructors from the
Metal backend.

Bug: tint:8
Change-Id: I95c713568ae3a73b82f8c9e10119e29e3469893e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23707
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 18:22:21 +00:00
dan sinclair 7f269e5bcb [metal-writer] Emit binary operations.
This CL adds emission of binary operations to the Metal backend.

Bug: tint:8
Change-Id: I797daadd238b718b081842b63ccefab3294bc20c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23706
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 18:22:05 +00:00
dan sinclair 70c605fc47 [metal-writer] Emit assignment statements.
This CL adds assignment statements to the Metal backend.

Bug: tint:8
Change-Id: Iaf4faa62124948fd0e785d5bebd20aae778ba050
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23705
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 17:54:33 +00:00
dan sinclair e66d6a6745 [metal-writer] Emit functions
This Cl adds the code to emit functions from the metal writer. Note,
this does not handle entry points yet.

Bug: tint:8
Change-Id: Ie665771169261f6839de5eb1b66dc511bf47616a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23704
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 17:54:25 +00:00
dan sinclair 646fb23c1f [metal-writer] Add identifier expression.
This CL adds the start of identifier expressions to the Metal backend.
Identifiers with paths are currently not supported.

Bug: tint:8
Change-Id: I4df8b6a3c32251d454d3dae5fa8933dad36094f8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23703
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 17:49:08 +00:00
dan sinclair 8cd87513b3 [metal-writer] Add return generation.
This CL adds generation of the return statement.

Bug: tint:8
Change-Id: Iffee600e77a485649b987d39aab47742968e438e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23702
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 17:49:00 +00:00
dan sinclair 5dd37b2e6c [metal-writer] Add basic type emission.
This CL adds the start of type emission for the Metal backend. A few
types like pointers and structs aren't complete yet.

Bug: tint:8
Change-Id: I648e9275ef1b9dc6fa63b6ab328fe018a5f620ea
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23701
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 17:48:53 +00:00
dan sinclair 2a59901483 [metal-writer] Stub out the Metal Shading Language backend.
This CL adds the basis of the Metal Shading Language backend.

Bug: tint:8
Change-Id: I85976250eb41ac12203a5db116444e993c3d09d4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23700
Reviewed-by: David Neto <dneto@google.com>
2020-06-23 17:48:40 +00:00
Ryan Harrison 9a452c11ae Fix BUILD.gn issues for TypeDeterminerTest
Change-Id: Iba35145fcba04ecaf2cb411c5e87d2e7f8ecea50
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/23740
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-06-23 16:38:47 +00:00