8483 Commits

Author SHA1 Message Date
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
Corentin Wallez
5929a04316 Split BUILD.gn into per-subdirectory BUILD.gns
This will allow Tint's dependent to depend on libtint without GN
discovering Tint's test and try to build them. In particular it will
help use Tint in Dawn in Skia's standalone build which doesn't have
//testing.

Bug: dawn:706
Change-Id: Idd28662b89aa75df7704eaae205328dce0b96fef
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44540
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
2021-03-15 08:43:11 +00:00
Jiawei Shao
d41aa4378d Add "opengles" in the helper information of Dawn samples
BUG=dawn:707

Change-Id: Id45deb13d8afeef985d81ebc3f7a1a80040498bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44660
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-15 08:02:53 +00:00
Jiawei Shao
d89814ed7a Enable DepthStencilCopyTests.ToStencilAspect on Windows/Intel/Vulkan
BUG=dawn:439
TEST=dawn_end2end_tests
Change-Id: I49448b201469ea29f7c740656e0f3b0822634e33
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44400
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-03-15 01:16:02 +00:00
Ryan Harrison
bdc1340449 Add reflection for fragment inputs/outputs from Tint
BUG=dawn:702

Change-Id: I1a75929bbb91411c10dac5a5408e8fc57d67102b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44460
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-12 21:33:08 +00:00
Dawn Autoroller
798dea1d94 Roll Tint from 4c8d7259da8a to e2bc7aa74709 (1 revision)
https://dawn.googlesource.com/tint.git/+log/4c8d7259da8a..e2bc7aa74709

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: I4810198d7db79fe099719f37fb2270238d15b9fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44580
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-12 20:18:27 +00:00
Brandon Jones
c53ea046a6 Don't use depth offset in TextureCopySplitter
Remove usage of the depth offset in TextureCopySplitter. Because there
is no slice pitch alignment requirement, it is simpler to express the
subresource footprint with just width and height. Fixes incorrect copies
when using WriteTexture on a texture with 64 or less width.

Bug: dawn:573
Change-Id: I51cb73b522a443b8b42d9ba290c69541211be4bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39200
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
2021-03-12 17:58:47 +00:00
James Price
e2bc7aa747 Delete some obsolete sources
These were supposed to be deleted in 95d4077.

Change-Id: Ic2a08283a8f4255f107492fcfa1bb0f320969f73
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44500
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-12 16:59:26 +00:00
Jiawei Shao
a57308e60b Workaround the compile error when calling std::begin on C arrays
This patch adds a workaround for a compile error when calling
std::begin on C-style arrays when rolling Dawn to Skia.

BUG=chromium:1161355

Change-Id: I6b697c383c0f76866e1d35f75bd1f64b96c5d6c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44520
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-12 08:22:47 +00:00
Bryan Bernhart
2f72aeda4f D3D12: Pass usage to ProduceTexture
Allow external images to specify all allowed texture usages which will
be checked by ProduceTexture. This avoids needing to assume the usage
between multiple calls to ProduceTexture is always the same.

Bug=dawn:625

Change-Id: I9fdb59af23e6c160e939ab1c51de03542248c0c8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44260
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-12 02:27:56 +00:00
Brandon Jones
0702b70469 Updating RenderPipelineDescriptor to the newest layout
Currently normalizes anything using the new layout to the old one for
the sake of getting things working as quickly as possible. Follow up
changes will gradually push the new layout through more of the stack.

Bug: dawn:642
Change-Id: Ie92fa9dde21174f62ceba1a1f4866cbc24c5fc6f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38600
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-11 21:19:00 +00:00
Dawn Autoroller
c506385531 Roll Tint from d9250a5a2175 to 4c8d7259da8a (9 revisions)
https://dawn.googlesource.com/tint.git/+log/d9250a5a2175..4c8d7259da8a

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: I76609136502d2a8ae533b82856bb6474a13ac32d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44440
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-11 19:40:50 +00:00
Jiawei Shao
f905e57be2 D3D12: Add workaround for T2T copy issue on Intel GPUs
On Intel Gen9 (SKL) and Gen9.5 (KBL, CFL, CML) GPUs with latest
Intel D3D12 driver (27.20.100.9316), there is a bug in the command
CopyTextureRegion() when we want to do the texture-to-texture copy
with the formats whose texel block size < 4 bytes and source mipmap
level > destination mipmap level.

This patch adds a workaround for this driver bug by implementing
the functionality of the T2T copy with one T2B copy and one B2T
copy.

BUG=chromium:1161355
TEST=dawn_end2end_tests

Change-Id: I688bb8bae277832aaba1be2680012040ee8e1160
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43860
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-11 19:34:50 +00:00
James Price
4c8d7259da [msl-writer] Handle non-struct entry point parameters
Add a sanitizing transform to collect location-decorated parameters
into a struct.

Bug: tint:510
Change-Id: I1e9bf829dac946e5fec0ecfe6da7e1ef9cebff8e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44322
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-11 18:27:22 +00:00
James Price
d3e3681d63 [wgsl-writer] Generate builtin and location decorations on struct members
Bug: tint:576
Change-Id: Ie8ace8dd77095abedcca97caca330e2d11a7559c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44321
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@chromium.org>
2021-03-11 17:47:52 +00:00
James Price
95d4077648 Flatten ast::Decoration class hierarchy
Remove the decoration groupings (Array, Function, Struct,
StructMember, Type, Variable), such that all *Decoration classes now
subclass ast::Decoration directly. This allows for decorations to be
used in multiple places; for example, builtin decorations are now
valid for both variables and struct members.

Checking that decoration lists only contain decorations that are valid
for the node that they are attached to is now done inside the
validator.

Change-Id: Ie8c0e53e5730a7dedea50a1dec8f26f9e7b00e8d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44320
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@chromium.org>
2021-03-11 17:39:32 +00:00
Ryan Harrison
f1773c6700 [inspector] Include component type information for stage variables
BUG=tint:630

Change-Id: Ib30221e7a2d35e77a164969428ed6bfc07bc2a8e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44340
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-11 16:37:32 +00:00
Aleksi Sapon
9f6bc4e3a9 CMake fix
Add missing source files to CMakeLists.txt (introduced in e3f10e3d8ef431981cdeee8a47791bcf4f347bb0).

Change-Id: Iac013e6119e9401a2b94a43220ca8f11d86f82dd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43961
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-11 16:27:00 +00:00
James Price
a0d48382cb [spirv-writer] Handle entry point parameters
Add a sanitizing transform to hoist entry point parameters out as
global variables.

Bug: tint:509
Change-Id: Ic18f69386a58d82ee11571fa9ec0c54cb5bdf2cf
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44083
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-11 15:57:21 +00:00
James Price
f4ff6af0b4 [wgsl-writer] Emit decorations on function parameters
This is needed to correctly generate entry point IO parameters.

Bug: tint:576
Change-Id: I9b96886d5ea90a54a568dd36506da563227afde7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/44082
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-10 23:50:49 +00:00