10152 Commits

Author SHA1 Message Date
Ben Clayton
50f169dcc8 debug: Add TINT_UNIMPLEMENTED()
Use this when we have code TODOs, so we can easily find them.

Change-Id: I7720d4cc3a52d51f3c240e86611b4a8eea566a6a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44863
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-03-17 04:55:33 +00:00
James Price
15dcd8fb15 [validator] Fix return statement type validation for aliases
Unwrap type aliases from the function return type before comparing to
the return value.

Add additional test coverage for aliased and non-aliased cases.

Change-Id: I4aa43f681468cd2c68e84da71222aea952117c1a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44923
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-03-16 22:08:13 +00:00
Ben Clayton
1222c15172 Fix CMake build warnings / errors
Fixed: tint:651
Change-Id: I6d4119f4acecbea1555a85c53b4f3e905be2c556
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44866
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-03-16 21:58:23 +00:00
Ryan Harrison
ed16517e32 Fix VertexStateTests
BUG=dawn:714

Change-Id: Ic9c478ae708d48cf78228edf831badb7c401d131
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44924
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-16 20:56:00 +00:00
Ryan Harrison
377acdda46 Add Storage Texture bindings to GetResourceBindings
BUG=tint:647

Change-Id: Iebf8e71366cf816d46b1acca11c1a0a7f1183530
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44900
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-03-16 20:52:33 +00:00
Ryan Harrison
322e451a62 Fix CopyTextureForBrowserTests
BUG=dawn:712

Change-Id: Ie8b504a3566fae18a35029b63cf74f55dbe93b0d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44922
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-16 20:23:00 +00:00
Ryan Harrison
ddc4712609 Fix ComputeStorageBufferBarrierTests
BUG=dawn:711

Change-Id: I566f2631721d10374027cf3959fce7eaf20a85c0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44921
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-16 20:04:10 +00:00
Ryan Harrison
f4496c14b7 Fix ComputeDispatchTests
BUG=dawn:710

Change-Id: I47dac524f66f84e2d5e3aa966935bd2ca9d03144
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44920
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-16 19:53:29 +00:00
Ryan Harrison
cc84ee24fc Fix ComputeCopyStorageBufferTests tests
BUG=dawn:709

Change-Id: Ib829a834546588a2948179f487fc75b1bf09cf06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44901
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-16 19:34:41 +00:00
Corentin Wallez
92a0588ac8 Enable WGSL unconditionally in GN builds.
Bug: dawn:706
Change-Id: I1fdd0f8e61710f3375b6b2fb0152acdff4569528
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44862
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-03-16 19:17:19 +00:00
Antonio Maiorano
fb5897057b Add CMakeSettings.json with convenient defaults
This is used by Visual Studio's CMake integration. I've added configs
for targeting x64 and x86, Debug and Release, as well as the Clang
(clang-cl) variants. Choosing a Clang variant will prompt the user to
install Visual Studio's clang-cl support via the installer.

Change-Id: I6cc33ea8a3c5dced8df476d72629fdec5044663b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44883
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Auto-Submit: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-16 18:52:53 +00:00
Corentin Wallez
0ed19c6640 Port invalid SPIR-V tests to SPVASM instead of GLSL.
Bug: dawn:572
Change-Id: I4d244d6837f70720a04236ecb751785e27a14d10
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44763
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-16 18:09:59 +00:00
Corentin Wallez
af607f7f80 Port the MinimumBufferSizeValidationTests to WGSL.
Bug: dawn:572
Change-Id: I24d5e37711aecdef582c33cb4ad55d0e5fb30004
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44860
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-16 17:30:04 +00:00
Antonio Maiorano
cb21680714 TestHelper: rename td_ to resolver_
Change-Id: I7fb82fa6c2802747762fca3af1d5e59eb44ffb5a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44881
Auto-Submit: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-16 16:31:33 +00:00
Antonio Maiorano
ac39fb44bb CMake: bump warning level from 3 to 4 for msvc builds
This enables, among other things, warnings on unused variables, which
matches our default Clang and GCC builds.

Change-Id: I3f405b1a5c30e428542cd72d50f07910e477cea6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44880
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-16 15:05:33 +00:00
Ben Clayton
63c87d9582 Add .vscode/tasks.json
Contains a bunch of helper tasks for building the project and pushing changes to gerrit

Change-Id: I1f2b118e0fd811c5b67f26803d94569609697284
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44785
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-16 13:33:23 +00:00
Antonio Maiorano
be0fc4e929 Validate binary operations
This change validates that the operand types and result type of every
binary operation is valid.

* Added two unit tests which test all valid and invalid param combos. I
also removed the old tests, many of which failed once I added this
validation, and the rest are obviated by the new tests.

* Fixed VertexPulling transform, as well as many tests, that were using
invalid operand types for binary operations.

Fixed: tint:354
Change-Id: Ia3f48384256993da61b341f17ba5583741011819
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44341
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-16 13:26:03 +00:00
Dawn Autoroller
54586e6121 Roll Tint from c205c28bc3dc to 169140117937 (18 revisions)
https://dawn.googlesource.com/tint.git/+log/c205c28bc3dc..169140117937

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 cwallez@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: cwallez@google.com
Change-Id: I809e0a2add8f15d7bd2642c2889bb278d1131e3b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44842
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 12:42:04 +00:00
Ben Clayton
e76a33b6eb Fix more WGSL vector constructors
Constructor arguments need to match the vector element type.

Tint has new validation that now checks for this.

Bug: tint:632
Change-Id: Ifcb994260c167e326ce5c0776915d44954dd8aa9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44767
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-16 12:00:54 +00:00
Ben Clayton
175a7eb826 RenderPipelineValidationTest: Fix vector constructor
Integer literals need to be suffixed with `u` in order to be unsigned. This also includes 0.

Tint has new validation that now checks for this.

Bug: tint:632
Change-Id: I1af07590d93620561df1a0084521eb071d4af7ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44766
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-16 10:10:04 +00:00
Corentin Wallez
36f19daa7d Port D3D12 white box tests to WGSL.
Bug: dawn:572
Change-Id: I91cc56847c4970c3f32697738edb799f7468e76f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44760
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-16 10:00:44 +00:00
Corentin Wallez
debab92fac GN: Use updated path to libtint.
Bug: dawn:706
Change-Id: I39864f75b12272992bd9129a8eeea1ac6479a99e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44764
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-16 09:31:44 +00:00
Corentin Wallez
eeb3d52b95 Roll third_party/vulkan-deps/ 23a4efc36..105af117f (89 commits)
https://chromium.googlesource.com/vulkan-deps/+log/23a4efc36ed9..105af117f053

$ git log 23a4efc36..105af117f --date=short --no-merges --format='%ad %ae %s'
2021-03-15 chromium-autoroll Roll Vulkan-Tools from d1cd2653949d to 27c21248221f (1 revision)
2021-03-15 chromium-autoroll Roll Vulkan-ValidationLayers from f648a59e1c73 to 053e2bf22dd2 (3 revisions)
2021-03-15 chromium-autoroll Roll glslang from a36d91e5acdb to b2e5b5c559e1 (1 revision)
2021-03-14 chromium-autoroll Roll SPIRV-Tools from 9e93b165c7ac to 478754c00537 (2 revisions)
2021-03-12 chromium-autoroll Roll SPIRV-Cross from 2e000a0be4d2 to 84d1f8aa2a40 (1 revision)
2021-03-12 chromium-autoroll Roll SPIRV-Cross from 60aa24566e01 to 2e000a0be4d2 (1 revision)
2021-03-12 chromium-autoroll Roll SPIRV-Tools from 5d8c40399e1a to 9e93b165c7ac (1 revision)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from 6678fcd67ed8 to f648a59e1c73 (1 revision)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from 46674d1c7a49 to 6678fcd67ed8 (2 revisions)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from 8b29a083c140 to 46674d1c7a49 (1 revision)
2021-03-11 chromium-autoroll Roll Vulkan-ValidationLayers from be60dd27b119 to 8b29a083c140 (1 revision)
2021-03-11 chromium-autoroll Roll SPIRV-Tools from 77eb2b608e0c to 5d8c40399e1a (1 revision)
2021-03-10 chromium-autoroll Roll glslang from 84e11a858c55 to a36d91e5acdb (1 revision)
2021-03-10 chromium-autoroll Roll SPIRV-Tools from f7cf3ec2a5f6 to 77eb2b608e0c (1 revision)
2021-03-10 chromium-autoroll Roll Vulkan-Tools from 461b33cfa272 to d1cd2653949d (1 revision)
2021-03-10 chromium-autoroll Roll Vulkan-Loader from 237d3dcb5c67 to 1353e80d87b4 (1 revision)
2021-03-10 chromium-autoroll Roll SPIRV-Tools from 1746ed39d5b9 to f7cf3ec2a5f6 (1 revision)
2021-03-10 chromium-autoroll Roll SPIRV-Tools from 4a59fd47634f to 1746ed39d5b9 (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from 6fdf3d02d2be to be60dd27b119 (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from c0eb52829fe1 to 6fdf3d02d2be (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from d093e529c0e1 to c0eb52829fe1 (1 revision)
2021-03-09 chromium-autoroll Roll Vulkan-ValidationLayers from d1de19fea50f to d093e529c0e1 (1 revision)
2021-03-09 chromium-autoroll Roll SPIRV-Cross from fb1f295aaf40 to 60aa24566e01 (1 revision)
2021-03-09 chromium-autoroll Roll SPIRV-Tools from c6da5e343c60 to 4a59fd47634f (1 revision)
2021-03-09 chromium-autoroll Roll SPIRV-Cross from d57ab68a2198 to fb1f295aaf40 (3 revisions)
2021-03-09 chromium-autoroll Roll glslang from e3182379bab6 to 84e11a858c55 (1 revision)
2021-03-08 chromium-autoroll Roll glslang from c7c7982ebee9 to e3182379bab6 (1 revision)
2021-03-08 chromium-autoroll Roll Vulkan-ValidationLayers from bda4a85219e3 to d1de19fea50f (1 revision)
2021-03-08 chromium-autoroll Roll Vulkan-ValidationLayers from 2ece8add63fe to bda4a85219e3 (1 revision)
2021-03-08 chromium-autoroll Roll SPIRV-Tools from e6a9f4e4306a to c6da5e343c60 (1 revision)
2021-03-08 chromium-autoroll Roll glslang from 159b05708055 to c7c7982ebee9 (1 revision)
2021-03-08 chromium-autoroll Roll Vulkan-ValidationLayers from faa7a526b033 to 2ece8add63fe (2 revisions)
2021-03-08 chromium-autoroll Roll Vulkan-Headers from 4fe5828a0295 to 89d366355e6f (1 revision)
2021-03-05 chromium-autoroll Roll Vulkan-ValidationLayers from 392ba9fe7c98 to faa7a526b033 (4 revisions)
2021-03-05 chromium-autoroll Roll Vulkan-ValidationLayers from 0ec2c7a6935a to 392ba9fe7c98 (2 revisions)
2021-03-05 chromium-autoroll Roll SPIRV-Tools from 7d514cf1c7ab to e6a9f4e4306a (1 revision)
2021-03-05 chromium-autoroll Roll SPIRV-Tools from f7043c0de671 to 7d514cf1c7ab (1 revision)
2021-03-04 chromium-autoroll Roll Vulkan-ValidationLayers from a4cb494beeca to 0ec2c7a6935a (1 revision)
2021-03-03 chromium-autoroll Roll SPIRV-Tools from 43cfa9bc1ddb to f7043c0de671 (1 revision)
2021-03-03 chromium-autoroll Roll Vulkan-Tools from 88ea55de928a to 461b33cfa272 (2 revisions)
2021-03-03 chromium-autoroll Roll Vulkan-ValidationLayers from 030089e86335 to a4cb494beeca (2 revisions)
2021-03-03 chromium-autoroll Roll Vulkan-ValidationLayers from 79f0658e9fba to 030089e86335 (1 revision)
2021-03-03 chromium-autoroll Roll SPIRV-Tools from 939bc0260393 to 43cfa9bc1ddb (1 revision)
2021-03-03 chromium-autoroll Roll Vulkan-ValidationLayers from b95891b0b187 to 79f0658e9fba (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-ValidationLayers from 476f5e2a9f65 to b95891b0b187 (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-Loader from c5678a03db38 to 237d3dcb5c67 (2 revisions)
2021-03-02 chromium-autoroll Roll SPIRV-Tools from 0bd920eb9d44 to 939bc0260393 (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-Headers from c428484bc886 to 4fe5828a0295 (1 revision)
2021-03-02 chromium-autoroll Roll glslang from 0eca4130929e to 159b05708055 (1 revision)
2021-03-02 chromium-autoroll Roll Vulkan-ValidationLayers from bbe724bcf140 to 476f5e2a9f65 (1 revision)
2021-03-01 chromium-autoroll Roll glslang from 42ddfbd3d555 to 0eca4130929e (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-Headers from ac1702076683 to c428484bc886 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from bc87f06a1718 to bbe724bcf140 (5 revisions)
2021-03-01 chromium-autoroll Roll glslang from e04a046ce7c2 to 42ddfbd3d555 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from bf6f9a33cff0 to bc87f06a1718 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from 9b741d501968 to bf6f9a33cff0 (2 revisions)
2021-03-01 chromium-autoroll Roll Vulkan-ValidationLayers from 94d71a5691b3 to 9b741d501968 (1 revision)
2021-03-01 chromium-autoroll Roll SPIRV-Tools from d28186db93d8 to 0bd920eb9d44 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-Headers from a6a971aa64b3 to ac1702076683 (1 revision)
2021-03-01 chromium-autoroll Roll Vulkan-Headers from 1d99b835ec3c to a6a971aa64b3 (1 revision)
2021-02-27 chromium-autoroll Roll glslang from 3839066ee47a to e04a046ce7c2 (2 revisions)
2021-02-26 chromium-autoroll Roll glslang from 51d672b8a831 to 3839066ee47a (1 revision)
2021-02-26 chromium-autoroll Roll Vulkan-ValidationLayers from 4fdcd0eebfed to 94d71a5691b3 (2 revisions)
2021-02-26 chromium-autoroll Roll SPIRV-Tools from ef3290bbea35 to d28186db93d8 (1 revision)
2021-02-26 chromium-autoroll Roll SPIRV-Cross from 621884d70917 to d57ab68a2198 (1 revision)
2021-02-25 chromium-autoroll Roll Vulkan-ValidationLayers from 17708d0dc52f to 4fdcd0eebfed (1 revision)
2021-02-25 chromium-autoroll Roll glslang from 00c6d2d4a71c to 51d672b8a831 (1 revision)
2021-02-25 chromium-autoroll Roll glslang from 9801a9e42aeb to 00c6d2d4a71c (1 revision)
2021-02-24 chromium-autoroll Roll Vulkan-ValidationLayers from b1bf16e1c847 to 17708d0dc52f (2 revisions)
2021-02-24 chromium-autoroll Roll glslang from 2e99822c148c to 9801a9e42aeb (1 revision)
2021-02-24 chromium-autoroll Roll Vulkan-ValidationLayers from 521bc47360bf to b1bf16e1c847 (2 revisions)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from b1c48517987f to 521bc47360bf (3 revisions)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from dd3e73f3a025 to b1c48517987f (2 revisions)
2021-02-23 chromium-autoroll Roll glslang from 6f7a8ebf76cb to 2e99822c148c (1 revision)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from 0d7751a78305 to dd3e73f3a025 (1 revision)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from 9ce7c8e67684 to 0d7751a78305 (3 revisions)
2021-02-23 chromium-autoroll Roll Vulkan-ValidationLayers from 7245199c91ac to 9ce7c8e67684 (1 revision)
2021-02-23 chromium-autoroll Roll glslang from c8b95db65ec3 to 6f7a8ebf76cb (1 revision)
2021-02-23 chromium-autoroll Roll glslang from 5421877c380d to c8b95db65ec3 (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from 456634a51059 to 7245199c91ac (2 revisions)
2021-02-22 chromium-autoroll Roll glslang from e56beaee7368 to 5421877c380d (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from b1106d3a41b7 to 456634a51059 (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from 7ddbb307e52b to b1106d3a41b7 (1 revision)
2021-02-22 chromium-autoroll Roll Vulkan-ValidationLayers from 1db6edcaeed2 to 7ddbb307e52b (1 revision)
2021-02-19 chromium-autoroll Roll Vulkan-ValidationLayers from a3705f43f4ea to 1db6edcaeed2 (5 revisions)
2021-02-19 chromium-autoroll Roll Vulkan-ValidationLayers from 4edde62bf0c8 to a3705f43f4ea (1 revision)
2021-02-19 chromium-autoroll Roll SPIRV-Tools from 1b35745ad1c9 to ef3290bbea35 (1 revision)
2021-02-18 chromium-autoroll Roll glslang from 51b86c1a2b77 to e56beaee7368 (1 revision)
2021-02-18 chromium-autoroll Roll SPIRV-Tools from 05cda81aba8c to 1b35745ad1c9 (2 revisions)

TBR=enga@chromium.org

Created with:
  roll-dep third_party/vulkan-deps

Change-Id: I777f5dee01fc967693097497d5e1d3be3ee2aac8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44762
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-16 08:15:54 +00:00
Ben Clayton
1691401179 Another fix for run-parallel
Don't return error code 1 when some invocations return with no errors.

Change-Id: I4eec555bc188bcfaa3424dbb70a3391062ba87f6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44782
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-03-15 22:15:22 +00:00
Ben Clayton
7d80c2783a validator_decoration_test: Handle new size / align decorations
Bug: tint:626
Change-Id: Ibaaff85d4cd2e0a0bce05006d2bf74ca884a8db0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44783
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-03-15 21:59:42 +00:00
Ryan Harrison
935927d0f6 [inspector] Remove check that uniform buffers have an access wrapper
BUG=tint:641

Change-Id: I49c2e59e1555c839665cde9d30bb8181c4b28814
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44802
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 21:30:52 +00:00
David Neto
5a01b72b98 Remove unusued param
Fixes GCC build

Change-Id: I0d89d48bdaa24f4199afa03197e8bbf1a0576b28
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44803
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-03-15 21:28:22 +00:00
Arman Uguray
3549e2ea8c Resolver: Enforce vector constructor type rules
Added enforcement for vector constructor type rules according to the
table in https://gpuweb.github.io/gpuweb/wgsl.html#type-constructor-expr.

This surfaced a number of existing tests that violated some of these
rules or had a type-declaration related bug, so this CL fixes those as
well (these tests either passed the incorrect number of arguments to a
vector constructor or relied on implicit conversions between numeric
types).

Fixed: tint:632
Fixed: tint:476
Change-Id: I8279be3eeae50b64db486ee7a91a43bd94fdff62
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44480
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 21:21:33 +00:00
Ben Clayton
2f9ced0341 Update DEPRECATED comments about offset decorations
Let's keep these for the SPIR-V reader case. The way things currently work is actually nicer than attempting to generate size / align decorations in the SPIR-V reader.

Change-Id: I83087c153e3b3056e737dcfbfd73ae6a0986bd7c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44684
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-03-15 20:34:22 +00:00
Ben Clayton
822fa54d87 writer/wgsl: Fix size / align decoration emission
This was broken by a rebase of the Default Struct Layout change.
This went unnoticed because there was no test coverage for these. Added.

Also replace `[[offset(n)]]` decorations with padding fields.

Bug: tint:626
Change-Id: Iad6f1a239bc8d8fcb15d18a204d3f5a78a372350
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44683
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-03-15 20:25:12 +00:00
Ben Clayton
fd3cf82056 Fix missing printed errors from run-parallel
These errors were captured, but not printed.

Fix the lint error that was not being displayed.

Change-Id: I56da5c3a044b8a8e41695883ce780aca6245ad04
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44780
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-15 20:18:32 +00:00
David Neto
c7e4032009 Rename Transform() to Run() to fix build
Two changes merged that were not compatible (44681 and 44603).

Change-Id: Ib35c4d738e4749b904c0c83626de730de63b8417
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44800
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-15 20:10:02 +00:00
Antonio Maiorano
5106a0653c Add CastableBase::To() overload with predicate
This allows for a more optimal way to filter the result of To(). Updated
Type query functions to make use of it. Added tests.

Change-Id: If3a65259345fbe6b92c6d367ab01fa718bb7cfee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44463
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-15 19:55:02 +00:00
Ben Clayton
b903aadcd2 Fix GCC warnings / errors
Fixed: tint:636
Change-Id: Ic1bb602b07d659e553d8cb09fd5898482c40c0c1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44681
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-15 19:19:42 +00:00
James Price
6eda12a55d [wgsl-writer] Use EmitDecorations() for function parameters
Removes some duplicated code.

Change-Id: I05120e5f443810e54babb842f0f993e4e0a7da79
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44603
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 17:35:02 +00:00
Antonio Maiorano
a089a56c73 Add Castsable::IsAnyOf<T1, T2, ...>()
This makes it a little easier to check if an object is one of any of the
types provided. Updated Type query functions to make use of IsAnyOf.
Added tests.

Change-Id: I12ea62b32042b6675d998ab85b86f2fe15861330
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44462
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 17:29:03 +00:00
Antonio Maiorano
81a4753c38 Castable: factor out Is and As to free standing functions
These can now also be called with nullptr and will return false or
nullptr respectively.

Change-Id: I5fcf292503dd718f8d3771c7c39c204ce03ff4f7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44461
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-15 17:20:51 +00:00
James Price
cc193de025 [wgsl-writer] Generate decorations on function return types
Bug: tint:576
Change-Id: I60d046fb4db558daf52178600b962eaeb6d3f843
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44602
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 17:15:23 +00:00
James Price
feecbe0d83 [wgsl-reader] Allow decorations on function return types
Add a return type decoration list field to ast::Function.

Bug: tint:513
Change-Id: I41c1087f21a87731eb48ec7642997da5ae7f2baa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44601
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 17:01:34 +00:00
James Price
20a438a5c3 [msl-writer] Fix leak in HandleEntryPointIOTypes
Avoid cloning parameters until we know we are going to rewrite the
function.

Change-Id: I0b0e2513d8652a0f2e561419848f77875d67591b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44600
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 16:47:11 +00:00
James Price
cf79a16fef [hlsl-writer] Handle non-struct entry point parameters
Add a sanitizing transform to collect input parameters into a
struct. HLSL does not allow non-struct entry-point parameters, so any
location- or builtin-decorated inputs have to be provided via a struct
instead.

Bug: tint:511
Change-Id: I3784bcad3bfda757ebcf0efc98c499cfce639b5e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44420
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 16:39:21 +00:00
Dawn Autoroller
8c40cad1c9 Roll Tint from d614dd5d12a4 to c205c28bc3dc (2 revisions)
https://dawn.googlesource.com/tint.git/+log/d614dd5d12a4..c205c28bc3dc

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 cwallez@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: dawn:706
Tbr: cwallez@google.com
Change-Id: Ia841cebda4670e62493f7d73dc47a06fee1c1dac
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44721
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 15:53:43 +00:00
Corentin Wallez
c205c28bc3 GN: Fix compilation of fuzzers in Chromium
Bug: dawn:706
Change-Id: I1245bfe728d6b7f82a2fdfb0a65fd24ba3269526
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44685
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-15 15:09:11 +00:00
Corentin Wallez
a94c9acd01 Fix the vertex attribute offset alignment rule.
Bug: dawn:130
Change-Id: Ib5fa24bf5520cb1ffe1653f1504dff244df928b4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44300
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-03-15 14:52:53 +00:00
Ben Clayton
a75205265e Add src/utils/math.h
Move the RoundUp() and IsPowerOfTwo() methods from Resolver.cc to this file.

Add tests

Change-Id: Ib7af53dfa5e69083ec4fc2484da92a84c9468818
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44682
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2021-03-15 13:37:41 +00:00
Corentin Wallez
693b76bcd5 Remove usage of deprecated std::codecvt
It was causing issues building Dawn in Skia. The error message helpfully
suggests using WideCharToMultiByte instead.

Bug: dawn:706
Change-Id: I87dee1192123f49cc8e7243a29df446389454df4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44560
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-15 12:10:23 +00:00
Dawn Autoroller
21e2c01620 Roll Tint from 717fbbf18387 to d614dd5d12a4 (1 revision)
https://dawn.googlesource.com/tint.git/+log/717fbbf18387..d614dd5d12a4

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 kainino@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: kainino@google.com
Change-Id: I32ffc85b3a3247a983c911165e932b029e43b45f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44720
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 12:04:53 +00:00
Dawn Autoroller
c357bcad5f Roll Tint from e2bc7aa74709 to 717fbbf18387 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/e2bc7aa74709..717fbbf18387

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 kainino@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: dawn:706
Tbr: kainino@google.com
Change-Id: I07ce6c63238a06fdb73dc809ee18332eafc02d3d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44700
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 11:17:03 +00:00
Ben Clayton
d614dd5d12 Implement Default Struct Layout
Implements https://github.com/gpuweb/gpuweb/pull/1447

SPIR-V Reader is still TODO, but continues to function as the offset
decoration is still supported.

Bug: tint:626
Bug: tint:629
Change-Id: Id574eb3a5c6729559382812de37b23f0c68fd406
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/43640
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
2021-03-15 10:43:11 +00:00
Corentin Wallez
717fbbf183 BUILD.gn: use public_deps for the proxy group.
Otherwise the public_configs of the proxied targets don't correctly get
propagated, causing Dawn to fail compilation due to missing include
directories.

Bug: 706
Change-Id: Ib8acfb06105e77ad005c3900975e8173d85dcf32
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44680
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-15 10:40:01 +00:00