10225 Commits

Author SHA1 Message Date
Ben Clayton
ecc2cdfb61 writer/spirv: Use OpImageQuerySizeLod for non-MS images
Fixes validation error:
`Image must have either 'MS'=1 or 'Sampled'=0 or 'Sampled'=2`

Bug: tint:140
Bug: tint:437
Change-Id: If6d7e86aeb7767b212debf94bcae9ee2ce8ad209
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37445
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-01-12 21:18:58 +00:00
Ben Clayton
d1aef67011 writer/spirv: Fix storage class and add decorations for texture test cases
These are required for correct SPIR-V emission.

Bug: tint:444
Change-Id: I6d25dcc6e06af7f9ca9f250758b7901171923773
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37444
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-01-12 20:14:18 +00:00
Ben Clayton
50c5fa1100 writer/spirv: Refactor IntrinsicTextureTest.OutsideFunction_IsError
Use the same builder helpers as IntrinsicTextureTest.Call, significantly reducing boilerplate

Change-Id: Idb37a1704b9ed76c3872d14003ff279b2955d18b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37443
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-01-12 20:09:42 +00:00
Carl Woffenden
22eff1eb8c Fixes to build with MSVC 2019
When building with MSVC (using 'is_clang=false') various errors are
encountered. This fixes:

- multiple tests/end2end/ColorStateTests.cpp(309): error C2039:
  'transform': is not a member of 'std'

- dawn_wire/server/Server.h(171): error C2248:
  'dawn_wire::server::MapUserdata::MapUserdata': cannot access private
  member declared in class 'dawn_wire::server::MapUserdata'

- variants of the above in Server.h for all the other CallbackUserdata
  subclasses

Bug: dawn:602

Change-Id: I01b1db3fbf67ae170b21a7d890af6162b82a1725
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37420
Commit-Queue: Carl Woffenden <cwoffenden@gmail.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-01-12 19:47:13 +00:00
Corentin Wallez
4b30f93762 Add the correct rpath to use Swiftshader / Vulkan on macOS
Previously the @executable_path rpath was only added when doing
component builds and non-component builds failed to find Vulkan and
Swiftshader on macOS.

Bug: None
Change-Id: I0277566e4bf181703dff26bb1bf3e57858864009
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37442
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-01-12 19:01:04 +00:00
David Neto
559f4e66d5 Remove stdout output from test
Change-Id: If1c4b72f636f7aa9d8fac81b5172dd050b06dc32
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37500
Commit-Queue: David Neto <dneto@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-12 18:25:58 +00:00
Bryan Bernhart
f600666866 D3D12: Add HLSL compiler version to key
BUG=dawn:529

Change-Id: I84d8edc6022564cda084a0f0de384a4e15e0e1a1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35480
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2021-01-12 18:21:33 +00:00
dan sinclair
42e873c6f6 Update comments in test WGSL files.
This CL updates the test WGSL files to use // for comments instead of #.

Change-Id: I5ba31cfe15e9f293bcb82f82e2a3dbe6f6e61e96
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37480
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-12 18:13:28 +00:00
Ryan Harrison
0b5d1dd5d8 Re-land fuzzing work with fix
Revert "Revert 3 fuzzing CLs, since they are preventing rolling into Chromium."

This reverts commit 1d9935cf37fdd1b9eb18f3e41d6142a345bba4a6.

Also adjusts BUILD.gn file, so that Chromium build can find all the
needed symbols.

BUG=tint:58,tint:59,tint:193,tint:194,tint:199,tint:436

Change-Id: I3fe71ff52c8156f30fccfaab0bf7f647f158aea4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37460
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-12 16:23:48 +00:00
Corentin Wallez
346fa226df Rolling 3 dependencies
Roll build/ 787a783b9..3769c3b43 (413 commits)

787a783b96..3769c3b43c

$ git log 787a783b9..3769c3b43 --date=short --no-merges --format='%ad %ae %s'
2021-01-12 chromium-autoroll Roll Fuchsia SDK from 0.20210111.1.1 to 0.20210111.3.1
2021-01-11 sokcevic Use inclusive parameter names in PRESUBMIT
2021-01-11 agrieve Android: Remove android:debuggable in AndroidManifest.xml expectations
2021-01-11 chromium-autoroll Roll Fuchsia SDK from 0.20210110.3.1 to 0.20210111.1.1
2021-01-11 jbudorick android: switch resource_sizes.py to vpython.
2021-01-11 chromium-autoroll Roll Fuchsia SDK from 0.20210110.2.1 to 0.20210110.3.1
2021-01-11 cduvall Check <queries> tag from DFM manifest when doing manifest verification
2021-01-10 chromium-autoroll Roll Fuchsia SDK from 0.20210110.1.1 to 0.20210110.2.1
2021-01-10 chromium-autoroll Roll Fuchsia SDK from 0.20210109.3.1 to 0.20210110.1.1
2021-01-10 chromium-autoroll Roll Fuchsia SDK from 0.20210109.2.1 to 0.20210109.3.1
2021-01-09 chromium-autoroll Roll Fuchsia SDK from 0.20210109.0.1 to 0.20210109.2.1
2021-01-09 chromium-autoroll Roll Fuchsia SDK from 0.20210108.2.1 to 0.20210109.0.1
2021-01-08 chromium-autoroll Roll Fuchsia SDK from 0.20210108.1.1 to 0.20210108.2.1
2021-01-08 chromium-autoroll Roll Fuchsia SDK from 0.20210107.3.1 to 0.20210108.1.1
2021-01-08 chromium-autoroll Roll Fuchsia SDK from 0.20210107.2.1 to 0.20210107.3.1
2021-01-07 liaoyuke Lacros: support --deploy-lacros in build/chromeos/test_runner.py
2021-01-07 guterman Proof of concept for test selection via GN
2021-01-07 chromium-autoroll Roll Fuchsia SDK from 0.20210107.0.1 to 0.20210107.2.1
2021-01-07 bpastene chromeos: Add support for sharding Tast tests.
2021-01-07 smaier Fixing ProtectedMembersInFinalClass errorprone warnings
2021-01-07 chromium-autoroll Roll Fuchsia SDK from 0.20210106.3.1 to 0.20210107.0.1
2021-01-07 chromium-autoroll Roll Fuchsia SDK from 0.20210106.1.1 to 0.20210106.3.1
2021-01-06 liaoyuke Lacros: Support --tast-vars in build/chromeos/test_runner.py
2021-01-06 wnwen Android: Use enable_bytecode_checks for D8 (reland)
2021-01-06 chromium-autoroll Roll Fuchsia SDK from 0.20210105.3.1 to 0.20210106.1.1
2021-01-06 chromium-autoroll Roll Fuchsia SDK from 0.20210105.2.1 to 0.20210105.3.1
2021-01-06 liaoyuke Add unit tests for build/chromeos/test_runner.py
2021-01-05 agrieve Android: Mark UnnecessaryParentheses ErrorProne check as undesirable.
2021-01-05 agrieve Android: Disable errorprone checks for generated files
2021-01-05 chromium-autoroll Roll Fuchsia SDK from 0.20210105.0.1 to 0.20210105.2.1
2021-01-05 agrieve Android: Add a way to apply errorprone suggested fixes
2021-01-05 chromium-autoroll Roll Fuchsia SDK from 0.20210104.3.1 to 0.20210105.0.1
2021-01-05 chromium-autoroll Roll Fuchsia SDK from 0.20210104.1.1 to 0.20210104.3.1
2021-01-04 thakis mac: Use `cp -l` instead of `cp -c` when available
2021-01-04 chromium-autoroll Roll Fuchsia SDK from 0.20210104.0.1 to 0.20210104.1.1
2021-01-04 chromium-autoroll Roll Fuchsia SDK from 0.20210103.2.1 to 0.20210104.0.1
2021-01-03 chromium-autoroll Roll Fuchsia SDK from 0.20210103.1.1 to 0.20210103.2.1
2021-01-03 chromium-autoroll Roll Fuchsia SDK from 0.20210102.3.1 to 0.20210103.1.1
2021-01-03 chromium-autoroll Roll Fuchsia SDK from 0.20210102.1.1 to 0.20210102.3.1
2021-01-02 chromium-autoroll Roll Fuchsia SDK from 0.20210102.0.1 to 0.20210102.1.1
2021-01-02 chromium-autoroll Roll Fuchsia SDK from 0.20201231.3.1 to 0.20210102.0.1
2021-01-01 chromium-autoroll Roll Fuchsia SDK from 0.20201231.1.1 to 0.20201231.3.1
2021-01-01 chromium-autoroll Roll Fuchsia SDK from 0.20201230.3.1 to 0.20201231.1.1
2020-12-31 chromium-autoroll Roll Fuchsia SDK from 0.20201230.2.1 to 0.20201230.3.1
2020-12-30 chromium-autoroll Roll Fuchsia SDK from 0.20201230.0.1 to 0.20201230.2.1
2020-12-30 agrieve Android: Remove obsolete .build_config entry "owned_resource_srcjars"
2020-12-30 thakis mac: Simplify copy_bundle_data command.
2020-12-30 chromium-autoroll Roll Fuchsia SDK from 0.20201229.2.1 to 0.20201230.0.1
2020-12-29 chromium-autoroll Roll Fuchsia SDK from 0.20201229.1.1 to 0.20201229.2.1
2020-12-29 chromium-autoroll Roll Fuchsia SDK from 0.20201228.3.1 to 0.20201229.1.1
(...)
2020-11-09 chromium-autoroll Roll Fuchsia SDK from 0.20201108.3.1 to 0.20201109.0.1
2020-11-09 chromium-autoroll Roll Fuchsia SDK from 0.20201108.1.1 to 0.20201108.3.1
2020-11-08 chromium-autoroll Roll Fuchsia SDK from 0.20201108.0.1 to 0.20201108.1.1
2020-11-08 chromium-autoroll Roll Fuchsia SDK from 0.20201107.2.1 to 0.20201108.0.1
2020-11-07 chromium-autoroll Roll Fuchsia SDK from 0.20201107.0.1 to 0.20201107.2.1
2020-11-07 chromium-autoroll Roll Fuchsia SDK from 0.20201106.3.1 to 0.20201107.0.1
2020-11-07 chromium-autoroll Roll Fuchsia SDK from 0.20201106.2.1 to 0.20201106.3.1
2020-11-07 smaier Android resources: skipping 'skip' XML element
2020-11-06 ender Enable errorprone compile-time nullable checks.
2020-11-06 thakis mac/arm: Remove two toolchain workarounds.
2020-11-06 chromium-autoroll Roll Fuchsia SDK from 0.20201106.0.1 to 0.20201106.2.1
2020-11-06 agrieve Reland "Android: Check R8 output for references to missing symbols"
2020-11-06 wenbinzhang Revert "Android: Check R8 output for references to missing symbols"
2020-11-06 thakis build: Enable MemorySSA DSE with pinned clang.
2020-11-06 nbilling Suppress output from the dwp tool in link scripts.
2020-11-06 chromium-autoroll Roll Fuchsia SDK from 0.20201105.5.1 to 0.20201106.0.1
2020-11-06 agrieve Android: Check R8 output for references to missing symbols
2020-11-06 mark mac-arm64: Update toolchain to Xcode 12.2rc (12B5044c)
2020-11-06 huangs [Build] Rename GN template "android_resource_size_config" to "android_size_bot_config".
2020-11-06 chromium-autoroll Roll Fuchsia SDK from 0.20201105.2.1 to 0.20201105.5.1
2020-11-05 huangs [Build] Add size config JSON files and supports.
2020-11-05 sebmarchand Enable call-graph-profile-sort for PGO builds.
2020-11-05 chromium-autoroll Roll Fuchsia SDK from 0.20201105.0.1 to 0.20201105.2.1
2020-11-05 sdefresne [ios] Mark Chrome target as supporting "catalyst" in Xcode project
2020-11-05 sdefresne [ios] Use generic implementation of libvpx in "catalyst" environment
2020-11-05 arthursonzogni Revert "[WebLayer] Change the return type of Fragment.getActivity() to Activity."
2020-11-05 chromium-autoroll Roll Fuchsia SDK from 0.20201104.2.1 to 0.20201105.0.1
2020-11-04 dpranke Change actions to python2_actions as needed.
2020-11-04 chromium-autoroll Roll Fuchsia SDK from 0.20201104.1.1 to 0.20201104.2.1
2020-11-04 seantopping Re-enable AFDO profiles for Chromecast
2020-11-04 bpastene Remove cros_browser_sanity_test from all CrOS bots.
2020-11-04 thakis Remove a no-op conditional to fix a todo.
2020-11-04 agrieve Revert "Reland #2: Android: Use locally-build devil deps only when build_with_chromium=true"
2020-11-04 cwallez Fix `gn gen` with python3 and the Windows toolchain on a other drive.
2020-11-04 chromium-autoroll Roll Fuchsia SDK from 0.20201103.3.1 to 0.20201104.1.1
2020-11-04 chromium-autoroll Roll Fuchsia SDK from 0.20201103.2.1 to 0.20201103.3.1
2020-11-03 bjoyce Add chrome_junit_test shard experimental test suit.
2020-11-03 thakis android: Reorganize how arm_float_abi is set.
2020-11-03 wnwen Android: Fix build_utils output for python 2
2020-11-03 chromium-autoroll Roll Fuchsia SDK from 0.20201103.0.1 to 0.20201103.2.1
2020-11-03 agrieve Reland #2: Android: Use locally-build devil deps only when build_with_chromium=true
2020-11-03 agrieve Fix missing output when using use_debug_fission
2020-11-03 sdefresne [ios] Ensure bots can pretty print $root_build_dir/args.gn
2020-11-03 rmcelrath [WebLayer] Change the return type of Fragment.getActivity() to Activity.
2020-11-03 chromium-autoroll Roll Fuchsia SDK from 0.20201102.3.1 to 0.20201103.0.1
2020-11-03 mmenke Remove TCP/UDP echo modes from the SpawnedTestServer.
2020-11-03 chromium-autoroll Roll Fuchsia SDK from 0.20201102.1.1 to 0.20201102.3.1
2020-11-02 mbonadei Move arm_float_abi to a generic declare_arg.
2020-11-02 sdefresne [gn] Ensure bots correctly parse $root_build_dir/args.gn
2020-11-02 smaier Reland "Re-enabling aar .info file checker"

Roll buildtools/ 98881a129..235cfe435 (10 commits)

98881a1297..235cfe435c

$ git log 98881a129..235cfe435 --date=short --no-merges --format='%ad %ae %s'
2021-01-12 dpranke Roll GN from 0d67e272..595e3be7
2020-12-26 thakis Roll GN from 53d92014..0d67e272
2020-12-09 msavigny Add initial support for re-client to the chromium build.
2020-12-08 msavigny Move reclient binaries to src/buildtools.
2020-11-05 dpranke Roll GN from 843b5003..53d92014
2020-11-05 honglinyu Roll gn to 843b50030ce7ee1f86b8f1bf284ce8ca92985c3b
2020-11-04 dpranke Revert "Reland "Roll GN from e002e68a..f5f465b5""
2020-11-03 dpranke Reland "Roll GN from e002e68a..f5f465b5"
2020-11-03 dpranke Revert "Roll GN from e002e68a..f5f465b5"
2020-11-03 rjascani Roll GN from e002e68a..f5f465b5

Roll tools/clang/ eb065289a..b12d1c836 (36 commits)

eb065289a4..b12d1c836e

$ git log eb065289a..b12d1c836 --date=short --no-merges --format='%ad %ae %s'
2021-01-12 hans Build Clang with GCC 10.2.0 on Linux
2021-01-12 keishi Update namespace for TK_AsIs
2021-01-11 thakis Roll clang llvmorg-12-init-15676-g5c951623-1 : llvmorg-12-init-16296-g5e476061-1.
2021-01-07 jdoerrie [clang] Add StringPiece Rewriter Tool
2021-01-05 glazunov Exclude BigEndianWriter::end_ from rewrite_raw_ptr_fields
2021-01-05 thakis Roll clang llvmorg-12-init-12923-g6ee22ca6-1 : llvmorg-12-init-15676-g5c951623-1.
2020-12-21 thakis clang build/mac: Stop forcing Py2
2020-12-18 timvp Add fallback for Ninja path for clang compile DB
2020-12-07 hans Clang build scripts: LLVM 'master' is now 'main'
2020-12-03 bikineev blink_gc_plugin: Disallow only Optional GCed fields
2020-12-01 rnk Fix -Wsuggest-override warnings in clang plugin code
2020-11-29 thakis Roll clang llvmorg-12-init-12083-g94e4ec64-1 : llvmorg-12-init-12923-g6ee22ca6-1.
2020-11-26 keishi Add sandbox/win to rewrite_raw_ptr_fields ignore list
2020-11-20 aeubanks Roll clang llvmorg-12-init-11780-g6ef07111-1 : llvmorg-12-init-12083-g94e4ec64-1.
2020-11-18 keishi Exclude MemoryDumpProvider::name from rewrite_raw_ptr_fields
2020-11-18 keishi Exclude LabelManagerTest TestCase fields from rewrite_raw_ptr_fields
2020-11-18 keishi Fix matcher for constructors via an implicit cast
2020-11-17 keishi Exclude logging.h in rewrite_raw_ptr_fields
2020-11-17 keishi Exclude KeyedServiceBaseFactory::service_name_ in rewrite_raw_ptr_fields
2020-11-17 thakis Roll clang llvmorg-12-init-11462-g418f18c6-1 : llvmorg-12-init-11780-g6ef07111-1.
2020-11-17 thakis clang packager: Create "ld64.lld" symlinks
2020-11-17 thakis mac: Let clang updater pull mac packages on all hosts.
2020-11-16 keishi Add .get() to CheckedPtr when comparing with a std::string
2020-11-12 thakis Roll clang llvmorg-12-init-11060-g118c3f3c-1 : llvmorg-12-init-11462-g418f18c6-1.
2020-11-12 thakis clang: Update plugin test expectations after clang e7f3e2103c
2020-11-11 mark mac: Switch all architectures to the macOS 11.0 SDK and Xcode 12
2020-11-09 thakis Roll clang llvmorg-12-init-10666-gc9f69ee7-1 : llvmorg-12-init-11060-g118c3f3c-1.
2020-11-05 thakis Revert "Treat CheckedPtr specially in FindBadConstructsConsumer"
2020-11-05 keishi Add mini_installer and chrome_elf to rewrite_raw_ptr_fields ignore list
2020-11-05 keishi Treat CheckedPtr specially in FindBadConstructsConsumer
2020-11-04 thakis Bump system Xcode on ToTMac, ToTMac (dbg), ToTMacAsan, ToTMacCoverage from 11 to 12.
2020-11-04 thakis clang build script: Remove a workaround for an issue that's fixed upstream.
2020-11-04 thakis Roll clang llvmorg-12-init-5627-gf086e85e-3 : llvmorg-12-init-10666-gc9f69ee7-1.
2020-11-03 lukasza Emit constexpr-initialized fields as candidates for exclusion (vars).
2020-11-03 thakis clang: Only build arm64 iossim compiler-rt libs on the upload bots.
2020-11-02 sdefresne [ios] Build more architecture for clang runtime library

Created with:
  roll-dep build buildtools tools/clang

Change-Id: Id4737ea3623ebd9d0f21b6a8c3b4a37fc4ab7dc2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37440
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-01-12 16:23:03 +00:00
Corentin Wallez
fd4d7d261e cr-buildbucket.cfg: Use Windows 10 only for CQ
Chromium's //build directory now supports building only on Windows 10,
so request that for our builder.

Bug: None

Change-Id: I10692e20e25d8ea305a6504fb17cf5ac9370b6fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37441
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-01-12 15:32:48 +00:00
David Neto
4651a6ee8b spirv-reader: explicitly reject combined-image-sampler
This was already rejected, but with a not-very-useful message.
Error out more consciously and issue a higher level, more informative
error message.

Fixed: tint:442
Change-Id: I3643b98d17f55b44b9dcf86aa828010bb39fcd8e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37242
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: David Neto <dneto@google.com>
Auto-Submit: David Neto <dneto@google.com>
2021-01-12 15:24:18 +00:00
Corentin Wallez
7fae6cbf1d Add new third-party dependencies to .gitignore
Bug: dawn:447, dawn:580
Change-Id: I0f9eb17f1c7d91a3688b3e4d888c125b390f0794
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37200
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-01-12 09:23:37 +00:00
Ben Clayton
64275742e0 ShaderModule: Enable the prettier tint diagnostic formatter
Includes code snippits and squiggles of the offending line(s)

Bug: none
Change-Id: If704b5d1118d0246c16f6e729a10d16363a1169b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37281
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
2021-01-12 08:55:57 +00:00
Carl Woffenden
ede229f313 Minor fix to build with MSVC: Removes switch with only default case
Fixes warning C4065: switch statement contains 'default' but no 'case' labels

Change-Id: If9a8f20eaeb2499f71bc25a69e545b3e8b21be4d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36081
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Carl Woffenden <cwoffenden@gmail.com>
2021-01-12 08:55:27 +00:00
Ben Clayton
4c5ab90452 ShaderModule: Refactor ParseWGSL() to take a File*
The tint::ast::Module holds a diagnostic list (tint::diag::List) which references the source tint::Source::File.
If you try to enable any of the more pretty diagnostic printing functionality, and attempt to print these after ParseWGSL() has returned, you'll then dereference a pointer to the now stack unwound `tint::Source::File`.
Promote the file up one callstack level to fix this.

Bug: none. Only exposed when using pretty printing.
Change-Id: I9432dd9d668fd1d92efa228bb5ed31278fd3ddfc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37280
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
2021-01-12 08:50:31 +00:00
Dawn Autoroller
2bd95f1cf4 Roll Tint from c3c70f848a71 to 987376cd21a8 (7 revisions)
https://dawn.googlesource.com/tint.git/+log/c3c70f848a71..987376cd21a8

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC dsinclair@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: dsinclair@google.com
Change-Id: I0352f0b0f863385dd2e22f90990cce4ee0777f9c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37360
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-12 05:06:57 +00:00
dan sinclair
987376cd21 Revert the namer changes.
This CL reverts the changes to use the top level namer in the various
backends. This is causing issues when rolling into Dawn in the case
where the tint generator is used to create SPIR-V which is sent to
SPIRV-Cross but then generator and inspector aren't used. The entry
points end up being incorrect as SPIRV-Cross gets the renamed entry
points.

Change-Id: I4749e1d773f2bd9edcce83e63555f07a443d5ca5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37342
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2021-01-12 04:34:53 +00:00
dan sinclair
b91e8a9fbe Add a Unsafe SPIR-V generate call.
Currently Dawn may use the tint generator or the SPIRV-Cross generator.
In the case of SPIRV-Cross, we need to generate the SPIR-V with the
original names otherwise SPIRV-Cross won't be able to match up the entry
point name with the names in the shader.

Change-Id: Ica473030009b282fee352f2d1c1acc93f1db592c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37222
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2021-01-12 02:59:12 +00:00
Hao Li
9ff83f6c95 Query API: Non-precise occlusion query on D3D12
- Implement begin/endOcclusionQuery on D3D12, the query result is binary
  (0/1), so we don't need compute shader on D3D12.
- Add end2end tests with depth/stencil/scissor tests enable/disable

Bug: dawn:434
Change-Id: I7b58987a9bc3e7f9cbcdee83f630aaa166582f5f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36860
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2021-01-12 01:44:01 +00:00
dan sinclair
03f38e0cd9 Update new entry points to use correct namer.
This CL fixes up a merge conflict which accidentally used the Unsafe
namer instead of the Mangle namer for the temporary API to allow rolling
into Chrome.

Change-Id: Id3b932d29fe15ab64347350f5b36b3d9efeffbdf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37300
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2021-01-11 22:07:02 +00:00
Ben Clayton
f6866a2ffc Add std::hash<tint::Symbol> specialization
Allows symbols to be used as keys for std::unordered_map and std::unordered_set.
Replace all map / set use of uint32_t for Symbol, where applicable.

Change-Id: If142b4ad1f0ee65bc62209ae2f277e7746be19bb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37262
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2021-01-11 22:02:42 +00:00
Ben Clayton
4527a512eb TypeDeterminer: Fix type map iterations
`DetermineStorageTextureSubtype()` may add types to the module while these types are being iterated over, leading to UB.

To work around, collect all the storage texture types into a vector first, and iterate over these.

Change-Id: Ib94b1df52d6ccbbf635a6d89eeeabef46ba03416
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37261
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-11 21:14:22 +00:00
Ben Clayton
d221738e20 Add diag::Formatter::Style::print_newline_at_end
Automatically prints a newline at the end of the last diagnostic in a list. Defaults to true.

Disabled for many tests that assume no newline at end of string.

Change-Id: Id1c2f7771f03f22d926fafc2bebebcef056ac5e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37260
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-01-11 21:09:22 +00:00
Ben Clayton
4a0b9f77ef Implement textureDimensions()
SPIR-V reader TODO.

Bug: tint:140
Bug: tint:437
Change-Id: Ia3a6cb0b36142142d3dc8662281e1860c609c82b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36980
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2021-01-11 21:07:32 +00:00
Dawn Autoroller
ea26a8ce55 Roll Tint from f51d965befa1 to c3c70f848a71 (22 revisions)
https://dawn.googlesource.com/tint.git/+log/f51d965befa1..c3c70f848a71

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC dsinclair@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: dsinclair@google.com
Change-Id: I89cef8b887811df48ea8f8573af7e1388e1fcb9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37241
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-11 20:18:31 +00:00
Carl Woffenden
e650b38aa6 Minor fix to build with MSVC: Gets content address instead of iterator
Fixes error C2679: binary '-': no operator found which takes a right-hand operand of type 'std::_Array_iterator<_Ty,23>' (or there is no acceptable conversion)

Change-Id: I566b05032da5f68674156eae2901a3f3e7a8acbb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36082
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-01-11 20:02:21 +00:00
dan sinclair
c3c70f848a Fix const-ness of inspector constructor.
This was changed originally, but we no longer need the module to be
non-const for the Inspector. Set it back to const to fix the Chrome
roll.

Change-Id: I68166a7a687249cab5c344167386144554b7d175
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37221
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 20:01:12 +00:00
David Neto
e86fd505e4 Fix doxygen comment
Change-Id: I5977c7fe09f80e9da9438e7842fdfdf44346c839
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37220
Commit-Queue: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 19:17:59 +00:00
David Neto
3f245ed362 spirv-reader: convert arity of textureLoad on depth texture
Fixed: tint:439
Change-Id: I151e388a1ea11bdcb5cebf0441a73ddcaf8a6f54
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/37063
Commit-Queue: David Neto <dneto@google.com>
Auto-Submit: David Neto <dneto@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 19:04:49 +00:00
Corentin Wallez
1457ecbcaf Remove obsolete build flag.
No longer necessarry: "linux_use_bundled_binutils_override"

Bug: chromium:1164276
Change-Id: Id5d27b427e91204e71a74da572f3f369630ae54b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37201
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-01-11 18:27:52 +00:00
Yunchao He
0325e4503b Add more constants for max texture sizes
Currently we only implemented 2D and 2DArray texture. kMaxTextureSize
is actually for 2D texture only. This patch adds a few more constants
for texture size for 1D and 3D textures, and changes kMaxTextureSize
to kMaxTextureDimension2D.

Bug: dawn:558

Change-Id: I9088dd7c060dc096a65abea37c7fb01f760524e9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36540
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2021-01-11 18:04:12 +00:00
dan sinclair
2dc1ef47e0 Switch default to the MangleNamer.
This Cl updates all of the generators and the inspector to use the
mangle namer by default.

Change-Id: Id6811d76bf2475a2c2a2864fb8fc0f43e95a6e65
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36944
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
a8d9755053 Allow setting the namer into the inspector.
This CL adds an extra constructor to the inspector to change the namer
user. The inspector tests are then updated to use the test namer.

Change-Id: Ibc91de89b52161dc125b38d65e445b5833ad6c18
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36943
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
b920e604b2 Change generators to take a pointer instead of move.
This CL changes the generators so we don't have to move the module into
the generator. This will then allow calling the demangler at a later
point and still having access to the module.

Change-Id: Icad16ddb2b89921cbb174cf7fec520c410139285
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36942
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
7d152e0936 Use TestNamer in the SPIR-V backend.
This CL updates the SPIR-V generation tests to use the TestNamer.

Change-Id: I6a1d9a4c41f080ba3518509864bb06f1629ab0a9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36941
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
f4bc0e7337 Use TestNamer in HLSL tests.
This CL updates the HLSL tests to use the test namer and fixes up places
where the incorrect name was output.

Change-Id: I8510d1ff5a57f3a0996dc9c7c8478775ef141105
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36940
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
f74b90b3dd Use a test namer in the MSL generator.
This CL updates the MSL generator to use a test namer, the various
places where the incorrect name was emitted have been fixed.

Change-Id: I20c990bdddc4f0580b09269920abe8376fa3ca07
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36900
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
c8c31560de Remove name fields
This CL removes the name fields from the various AST nodes now that the
symbols are used everywhere.

Change-Id: I73e8fa8958aa6e6f0159b12b63176b12c418f525
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36762
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
e65e4bd2c5 Remove IdentifierExpression::name().
This CL removes the name method from IdentifierExpression. The usages
have been converted over to the symbol.

Change-Id: Id751c2fc4a43bd5414fbaf8a8a66ecffb3838e48
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36801
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
4ac6568821 Remove Function::name().
This CL removes the function name accessor and changes all usages to use
the symbol.

Change-Id: I19b92bf1bc557ba14e68ef8cb381487a4ad1f7ee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36821
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
eb737c25db Remove StructMember::name().
This CL removes the name accessor from the struct member. Usages have
been replaced with symbol usages.

Change-Id: Idd9c5b34f0b5503ffee84e0c82d69aa65b1df7ea
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36820
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2021-01-11 16:24:32 +00:00
dan sinclair
e76a86a22c Remove StructType::name()
This CL removes the name accessor from the StructType. All usages are
updated to use the symbol.

Change-Id: I65d793e9609a1663facce955bdb89e60f11f382a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36800
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
1d967e3228 Remove the AliasType::name() getter.
This CL removes the name() method from AliasType and replaces with
usages through the Symbol.

Change-Id: I50a85e4262e488adf935b9a484214fc85a966301
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36781
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
396b02342f Remove Variable::name().
This CL removes the name getter from the Variable class. All usages are
updated to use the symbol.

Change-Id: I3e4d86d2124d39023cad6113c62230c1757ece71
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36780
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
197a1b943d Use the top level namer in the SPIR-V backend.
This CL updates the SPIR-V backend to use the top level namer.

Change-Id: I67566d7674d5366c82c99d6fbb985805a2a9a5b4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36720
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
f3e3586835 Use namer in the Inspector.
This CL adds the namer to the Inspector when getting the remapped name.

Change-Id: Ic5ed8c50a24b7a1cc303767d049a358181d27603
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36661
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
8d6e625ef4 Convert HLSL to higher level namer.
This CL switches the HLSL generator to use the top level UnsafeNamer
instead of a custom namer.

Change-Id: I7643ee6586955ed2bc493104004fb9f9c524e951
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36660
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
dan sinclair
05b64849b2 Convert MSL generator to unsafe namer.
This Cl updates the MSL generator to use the unsafe namer internally.

Change-Id: Ibeea747da1d7675c05a0dcb2416fbd491bb5d64b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/36581
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-01-11 16:24:32 +00:00
Stephen White
77fcdf7eaa Add ANGLE to Dawn build.
Bug: dawn:447, dawn:580
Change-Id: I77726651ca00d64768bddc0bb476fd920e11851f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/35081
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-01-11 15:52:12 +00:00