8443 Commits

Author SHA1 Message Date
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
Xinghua Cao
db34c78910 Check FP16 support on D3D backend
True FP16 is only supported in DXC through Shader Model 6.2, also
check the value of the Native16BitShaderOpsSupported member of
D3D12_FEATURE_DATA_D3D12_OPTIONS4 to view whether hardware actually
supports FP16 operations.

BUG=dawn:426
TEST=dawn_end2end_tests

Change-Id: If675f7ba650cb1bd8c792928b70619b9ccda048a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23243
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
2020-07-06 08:28:00 +00:00
Jiawei Shao
80f927d763 Implement buffer lazy initialization before writeBuffer
This patch implements buffer lazy initialization before writeBuffer():
if the buffer is not initialized and writeBuffer() doesn't cover the
whole buffer, the buffer will be cleared to 0, otherwise the buffer
shouldn't be cleared.

This patch also introduces a toggle LazyClearBufferOnFirstUse for the
development of buffer lazy initialization: before buffer lazy
initialization being completely supported, all the related code will
only be enabled behind this toggle to prevent the buffers with valid
content being unexpectedly cleared.

BUG=dawn:414
TEST=dawn_end2end_tests

Change-Id: I99a2aa98ca4b9b21d69c6b32080afb525e2c4ad3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24041
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-07-06 08:24:30 +00:00
Dirk Pranke
59ccb1f6de Add proper data_deps to dawn_perf_tests.
Currently the Chromium build defines a wrapper build target
for Dawn (//chrome/test:dawn_perf_tests) that seems to exist
only to specify some extra data dependencies. By moving this
data dependencies onto the Dawn dawn_perf_tests itself, this
removes a problematic target in Chromium that would otherwise
block my planned changes for crbug.com/816629.

Bug: chromium:816629
Change-Id: I428698fe164bd1aad09c8dba14e57a4b7acebb1c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24302
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-07-03 05:47:07 +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
Corentin Wallez
f695264d30 Broaden -Wno-tautological-type-limit-compare
In https://dawn-review.googlesource.com/c/dawn/+/24162 it was added
inside the is_win condition so it didn't take effect on Linux.

TBR=enga@chromium.org
TBR=senorblanco@chromium.org
Bug: None
Change-Id: Icc9ea20ed3a5ae4e5c514ce32bff88009ad82b1a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24240
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-07-02 09:21:08 +00:00
Jiawei Shao
4d007f34f3 Fix bugs in the multi-layer copies with BC formats on D3D12 and OpenGL
This patch fixes two bugs in the copy commands with BC formats and
multiple array layers on D3D12 and OpenGL and adds two end2end tests as
the regression tests.

This patch also removes "viewArrayLayer" in the struct CopyConfig used
in CompressedTextureBCFormatTest and sets the base array layer into
CopyConfig.copyOrigin3D.z instead.

BUG=dawn:453
TEST=dawn_end2end_tests

Change-Id: I1c2e6b79fb7c44fc996655ab5a908e27ba8c4729
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24183
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-07-02 09:08:09 +00:00
Hao Li
16ca52cc16 Roll third_party/shaderc/ caa519ca5..f4025c1cd (2 commits)
caa519ca53..f4025c1cd5

$ git log caa519ca5..f4025c1cd --date=short --no-merges --format='%ad %ae %s'
2020-07-01 xinghua.cao Add interface for enabling 16-bit types (#1091)
2020-06-23 rharrison Roll 5 dependencies and update tests/expectations (#1087)

Created with:
   roll-dep third_party/shaderc --roll-to 'origin/main'

Bug: dawn:426
Change-Id: I99198704f7cb3ce6e5ceab74f2941372fd4af025
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24220
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-07-02 08:50:28 +00:00
Idan Raiter
bcc65f2d48 Vulkan: Enable robust buffer access if validation is on
Bug: dawn:480
Change-Id: Id145fab2fe24b70a063c3cc1f75f0a565635abf8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24182
Commit-Queue: Idan Raiter <idanr@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-07-01 21:37:57 +00:00
Austin Eng
509b811a75 Vulkan: Fix MemoryServiceOpaqueFD CreateImage
vkCreateImage when bound to imported memory, must also have
a VkExternalImageCreateInfo struct in its pNext chain that
has VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT as a
handleType.

This was discovered when tests started failing after a roll
of the Vulkan validation layers.

Tbr=cwallez@chromium.org, senorblanco@chromium.com
Bug: none
Change-Id: I4692d650af27b9325342baeda34a0d982fc49041
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24200
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-07-01 20:44:47 +00:00
Corentin Wallez
96c78ec737 Disable -Wtautological-type-limit-compare
This unblocks a roll into Skia.

Allow comparison against type limits that might be tautological on
32bit or 64bit systems. Without this the following produces an error
on 64bit:

  if (myUint64 > std::numeric_limits<size_t>::max()) {...}

Bug: None
Change-Id: I31fc579738b6fb85b40cfeac8f30936161a15da1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24162
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-07-01 14:36:56 +00:00
Tomek Ponitka
5fb974cf47 Changing pointers to Ref<> in GetOrCreateBGL
DeviceBase::GetOrCreateBindGroupLayout and
DeviceBase::GetOrCreateEmptyBindGroupLayout are now returning
ResultOrError<Ref<BindGroupLayoutBase>> instead of
ResultOrError<BindGroupLayoutBase*>.

Bug: dawn:466
Change-Id: I223864325aba9011b0ba6dc67589ead48d930309
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24082
Commit-Queue: Tomek Ponitka <tommek@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-07-01 13:09:46 +00:00
Hao Li
5191adc58c Query API: WriteTimestamp
Add WriteTimestamp API on CommandEncoder, ComputePassEncoder and
RenderPassEncoder.

Bug: dawn:434
Change-Id: Ifeca4efed01d80459d6fefa22ba05bea699b541f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23244
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2020-07-01 10:48:16 +00:00
Jiajie Hu
2ffc55ab38 Never try to populate the LASTCHANGE file in non-standalone checkout
Since the build/ directory is checked out behind 'dawn_standalone', the
'lastchange' hook depending on that should be guarded by the same
condition.

Bug: dawn:437
Change-Id: If6d1f5ee505eab5bc5519ec6d29b2efe5d69d9aa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24123
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiajie Hu <jiajie.hu@intel.com>
2020-07-01 05:08:36 +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
Tomek Ponitka
268fe254ec Added constraints for too large uniform buffer bindings
Added a constraint in ValidateBufferBinding function checking for too
large uniform buffer bindings. Added MaxUniformBufferBindingSize
test in BindGroupValidationTest.

Bug: dawn:436
Change-Id: I31c6e2236ce928d5e81c43455eb18cf4eacdc0f1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24081
Commit-Queue: Tomek Ponitka <tommek@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-06-30 18:49:20 +00:00
Bryan Bernhart
bd2ab92853 D3D12: Limit QueueWriteBufferTests.ManyWriteBuffer
The stress test is causing timeouts on slower GPUs
due to the TDR threshold being hit. This halves the
number of writes required to complete the test.

BUG=dawn:228

Change-Id: I18dfa68b39a2c079b89eeadc78a69675e5c3269f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24100
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2020-06-30 18:48:20 +00:00
Corentin Wallez
f7fab5a259 dawn_native: Use correct integer width for SetSubData.
SetSubData's count is a uint64_t while Queue::WriteBuffer's is a size_t
so we add a small validation check that no narrowing will occur.

No test is added because SetSubData will be removed soon, and it will be
hard to test because of the Null backend's artificial OOM.

This was found while debugging an unrelated fuzzer issue.

Bug: chromium:1099621
Change-Id: I27a9da2b94f51e889c5573f88d4a0a73fea5985c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23961
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-06-30 18:46:32 +00:00
Corentin Wallez
00d6215be9 dawn_wire/client: Add ToAPI and FromAPI helpers.
In the client code, we often need to translate between WGPUObject (the
API type) to Object* (the internal client type). This added a bunch of
reinterpret_casts that make the code less readable and more fragile.

This CL adds FromAPI and ToAPI helpers in the autogenerated
ApiObjects_autogen.h header, that convert between API and internal types
in a type-safe way.

Bug: dawn:445

Change-Id: Ia1bf624f0315ced496b95cb660adf88abd916d71
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24063
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-06-30 18:39:50 +00:00
Corentin Wallez
2f616dd108 dawn_wire: Remove client/ApiProcs_autogen.h
This header was only used to call DeviceCreateErrorBuffer and
DeviceInjectError that are used in some handwritten client commands.
We remove the need for the header by making these two commands
handwritten.

This also improves readability, previously injecting errors read:

  ClientDeviceInjectError(reinterpret_cast<WGPUDevice>(device),
                           WGPUErrorType_Validation,
                           "Some validation message");

And now reads:

  device->InjectError(WGPUErrorType_Validation, "Some validation message");

Bug: dawn:445

Change-Id: Ie11570aacf3036e13abd174d91670ecb84661226
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24080
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-06-30 18:26:30 +00:00
Corentin Wallez
d411726003 dawn_wire: Make ApiProcs call into objects directly.
This CL modifies code generation so that the generated client procs call
the handwritten methods on client objects directly.

Previously the flow was:
  - wgpuBarDoStuff
  - ClientBarDoStuff
  - ClientHandwrittenBarDoStuff
  - client::Bar::DoStuff

With this CL the flow is:
  - wgpuBarDoStuff
  - ClientBarDoStuff
  - client::Bar::DoStuff

This required adding Buffer creation methods on client::Device instead
of calling client::Buffer static methods directly.

Bug: dawn:445

Change-Id: I1b332b71ac7a03685afcf8fd0617d3d27da468cf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24062
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-06-30 18:01:50 +00:00
Corentin Wallez
9fa68833b2 dawn_wire/client: Encapsulate all queue/fence-related logic
This CL only moves code, renames client::Fence members, and introduces
client::Queue. Additional fence methods are added for the interaction
with the queue. There are no functional changes.

With this ApiProcs.cpp is almost passthrough and will be removed in a
follow-up CL.

Bug: dawn:445
Change-Id: I65544ef76b54614452cf7c74a948a96cb35a4cfe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24061
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-06-30 17:53:08 +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
Corentin Wallez
91904cdfde D3D12: Simplify the mapping logic.
This also removes the reliance on BufferBase::IsMapped to know whether
to unmap on destroy. This call was confusing because it was used by the
D3D12 backend to know if its own storage was mapped, but semantically
seemed to check for Buffer::State::Mapped (and not MappedAtCreation).

Bug: dawn:445
Change-Id: I3d6fde1d2996798d53264d5643545f0efb90551a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24060
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Brandon Jones <brandon1.jones@intel.com>
2020-06-30 12:21:54 +00:00
Corentin Wallez
1325ab1251 Add Buffer::Get[|Const]MappedRange
This CL adds GetMappedRange reusing the existing GetMappedPointerImpl
call in dawn_native. In dawn_wire tracking is added to keep a
Buffer::mMappedData around.

Tests are added to test the result of Get[|Const]MappedRange in all
buffer states.

Bug: dawn:445
Change-Id: I3737dc4d36f31d392839952da0b5c0d10c7c8a88
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23861
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-06-30 11:51:14 +00:00
Corentin Wallez
2008d15326 Buffer: Always use MappedAtCreation state when applicable.
In a follow-up CL we need to know if the buffer is in the
MappedAtCreation state for validation of GetMappedRange. Having the
state not 100% reflect the state in the spec meant that validation if
GetMappedRange would fail for buffers mapped at creation for which
IsMapWritable is true.

Bug: dawn:445
Change-Id: I4a64335a708b838526da8d65f907b21c782816e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23981
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-06-30 11:05:44 +00:00
Corentin Wallez
bae16b4df9 dawn_wire/client: Encapsulate all buffer-related logic in Buffer.cpp
This CL only moves code, renames client::Buffer members and does
additional casts where needed. No functional changes.

Bug: dawn:445

Change-Id: I2bf83ecc1c9b36d5965d0365360dd981fcd41aac
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23860
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-06-30 09:48:14 +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
Corentin Wallez
b231c7fb71 Null: Make Increment/DecrementMemoryUsage use uint64_t.
Otherwise on 32-bit platforms, creation of a buffer bigger than the max
size_t would overflow the check and no OOM would be produced.

Bug: chromium:1099621

Change-Id: I987a338b150d10c0eabc3eb5fb3b815a5c2a5ca2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23960
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2020-06-29 20:03:16 +00:00
Yunchao He
1c9e045024 Fix a bug in PassResourceUsageTracker.cpp
In a render/compute pass, if a texture is used as the same usages
across its subresources, and it is also used as different usages
across its subresources. We should mark that it is not used as the
same usages across its subresources for this pass, and we need to
visit every single subresource to track its usages transition.

Bug: dawn:462

Change-Id: Ide0770db62a3b7b85664757b21eb3280a0bb646c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23300
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-06-29 19:00:05 +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
Tomek Ponitka
bf27bd7a5e Caching empty bind group layouts
Added Device::GetOrCreateEmptyBindGroupLayout which caches the result
after being run and modified PipelineBase::getBindGroupLayout to use
that instead of creating a new empty bind group layout each time.

Bug: dawn:466
Change-Id: I70a5719265784eb8f60c2eedf6db7596462b21bd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/23980
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Tomek Ponitka <tommek@google.com>
2020-06-29 11:13:43 +00:00
Bryan Bernhart
b7ece23ffc D3D12: Remove ComPtr from d3d12::Buffer::GetD3D12Resource
Creating lots of SRVs needlessly refcounts and floods PIX traces.

BUG=dawn:155

Change-Id: I26fd1019c8c1326f0e6db3e94240a29e4d466be1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24002
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-06-29 08:50:03 +00:00
Jiawei Shao
330c272fc4 Enable two cases in TextureZeroInitTests with swiftshader
This patch enables two tests with swiftshader after the fix in
https://dawn-review.googlesource.com/c/dawn/+/23200.

BUG=dawn:22
TEST=dawn_end2end_tests

Change-Id: I27ff5afe6735aff3c416cbe65d039006b1ceae55
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24040
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-06-29 08:30:03 +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