Commit Graph

2929 Commits

Author SHA1 Message Date
Kai Ninomiya 5a1d786754 Check for deprecation warnings in ValidationTests
And adds EXPECT_DEPRECATION_WARNING where necessary in validation tests.

Bug: dawn:520, dawn:527
Change-Id: Ic8e103e4b7b5784a2009519e0a18ed16088632b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31300
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2020-10-30 17:54:46 +00:00
dawn-autoroll 25eb373eed Roll Tint from bfc2fceb84 to 5d40a5621b (1 revision)
https://dawn.googlesource.com/tint.git/+log/bfc2fceb840a..5d40a5621b7d

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 rharrison@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: rharrison@google.com
Change-Id: I12d9795275558fd8bdc820bf96763de6333c0bbd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31383
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 19:30:05 +00:00
dawn-autoroll c50dbf838d Roll Tint from c8b2d23e9d to bfc2fceb84 (1 revision)
https://dawn.googlesource.com/tint.git/+log/c8b2d23e9de7..bfc2fceb840a

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 rharrison@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: rharrison@google.com
Change-Id: I378f1ede36d0c4a6d3a0950ccea5cfce563d66f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31381
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 18:05:45 +00:00
dawn-autoroll 7055485706 Roll Tint from 6857ed0b0b to c8b2d23e9d (1 revision)
https://dawn.googlesource.com/tint.git/+log/6857ed0b0bc3..c8b2d23e9de7

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 rharrison@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: rharrison@google.com
Change-Id: Icb77d13d147c5ff3bd35eb0fee2f5050f6cc6483
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31288
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 15:22:42 +00:00
dawn-autoroll e326dbde2c Roll Tint from c55fc39acb to 6857ed0b0b (1 revision)
https://dawn.googlesource.com/tint.git/+log/c55fc39acba8..6857ed0b0bc3

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 rharrison@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: rharrison@google.com
Change-Id: Idc9f5356ca0bcac57fdc5201f32a159ce1f7bd9f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31287
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 14:52:02 +00:00
dawn-autoroll af64c73c17 Roll Tint from 4dd5665502 to c55fc39acb (1 revision)
https://dawn.googlesource.com/tint.git/+log/4dd5665502ad..c55fc39acba8

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 rharrison@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: rharrison@google.com
Change-Id: I91ab5f7a6c39ae325c2f97ab2f7c6df0c22ec08a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31286
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 13:45:42 +00:00
dawn-autoroll a64fd1784a Roll Tint from 62bbc6f6c0 to 4dd5665502 (1 revision)
https://dawn.googlesource.com/tint.git/+log/62bbc6f6c050..4dd5665502ad

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 rharrison@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: rharrison@google.com
Change-Id: Ia2067cfc24b086854193f0281c7eb04b79ed0d07
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31285
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 13:30:02 +00:00
Corentin Wallez b0789fde61 Fix RPDesc::occlusionQuerySet not defaulting to nullptr
The default value for optional object structure members wasn't set
correctly for C++ structures.

Bug: dawn:22
Change-Id: I09e7f3675f6e0b5990ddcf03601b3b91cd25f553
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31200
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-10-29 13:09:12 +00:00
dawn-autoroll dbc916c6f6 Roll Tint from d2fa57d26d to 62bbc6f6c0 (1 revision)
https://dawn.googlesource.com/tint.git/+log/d2fa57d26dff..62bbc6f6c050

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 rharrison@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: rharrison@google.com
Change-Id: Id5d0d40e1fa8cd50c9a325a39afc1ee88ef3d2ab
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31284
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 13:01:42 +00:00
dawn-autoroll a584311a6a Roll Tint from 5ede1190cf to d2fa57d26d (1 revision)
https://dawn.googlesource.com/tint.git/+log/5ede1190cf97..d2fa57d26dff

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 rharrison@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: rharrison@google.com
Change-Id: Ic2eda20fd27a650b70e87b06c04339bc5de7dc59
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31283
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-29 03:55:45 +00:00
Kai Ninomiya 2bb8035ddc Integrate deprecation testing into DawnTestBase
This makes it a lot easier to modify old tests to test deprecation
behavior, and means we can mark all of the places that are going to
break in the deprecation CL (while we're thinking about it) instead of
the removal CL (which is weeks later).

It also makes it so all deprecation warnings in the tests will be
caught. Turns out that they were already clean.

Bug: dawn:520
Change-Id: I429f667207b88df04341179369bb6d24e034ca65
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31141
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-10-28 21:23:45 +00:00
dawn-autoroll 82cb8d8aba Roll Tint from e8dc46a8c8 to 5ede1190cf (1 revision)
https://dawn.googlesource.com/tint.git/+log/e8dc46a8c88b..5ede1190cf97

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 rharrison@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: rharrison@google.com
Change-Id: I7a6930e177a4087f4b1dc182ec3f3589847a028f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31282
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-28 21:19:25 +00:00
dawn-autoroll 87b886eecb Roll Tint from c23a5652bd to e8dc46a8c8 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/c23a5652bda1..e8dc46a8c88b

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 rharrison@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: rharrison@google.com
Change-Id: Ida8f8585aca77b1a0f79a96f1254ade8d984a4f0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31281
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-28 21:09:05 +00:00
dawn-autoroll 2971eb6749 Roll Tint from adb10d60de to c23a5652bd (1 revision)
https://dawn.googlesource.com/tint.git/+log/adb10d60de32..c23a5652bda1

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 rharrison@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: rharrison@google.com
Change-Id: I28e3311142b228da36efe65e7845b8546fea6740
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31280
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-28 20:57:45 +00:00
dawn-autoroll 47ee61679d Roll Tint from bfd81096a5 to adb10d60de (1 revision)
https://dawn.googlesource.com/tint.git/+log/bfd81096a5e6..adb10d60de32

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 rharrison@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: rharrison@google.com
Change-Id: I6bb4e9a6686d1d3667df019e14f6bf0e23573823
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31107
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-27 21:15:27 +00:00
David Neto 762b7c3457 Fix CMake build when building examples
Add subdirectory src/utils only once.

Change-Id: I3437e0a4c9ff250f4518ce485763117291889cd7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31103
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2020-10-27 19:38:27 +00:00
dawn-autoroll 36b869c846 Roll Tint from 70a3f152f2 to bfd81096a5 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/70a3f152f2f0..bfd81096a5e6

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 rharrison@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: rharrison@google.com
Change-Id: I1ab9628144955bfc72c7c1584929f833852ba170
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31102
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-27 19:31:47 +00:00
Kai Ninomiya 54123a391f Allow unaligned source offset in writeTexture
With some refactoring of the relevant validation code.

Bug: dawn:520
Change-Id: Iedda0f7b1b67c20d3a88f2c4183dcc8eeae2096f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30742
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2020-10-27 19:30:57 +00:00
dawn-autoroll ff39c28c6a Roll Tint from fcbc6efa8f to 70a3f152f2 (1 revision)
https://dawn.googlesource.com/tint.git/+log/fcbc6efa8fd3..70a3f152f2f0

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 rharrison@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: rharrison@google.com
Change-Id: I68929b5eba6d291c6dc4ba645f996a0dbacedad3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31101
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-27 19:18:07 +00:00
dawn-autoroll f496d3b105 Roll Tint from 57694c8dab to fcbc6efa8f (1 revision)
https://dawn.googlesource.com/tint.git/+log/57694c8dab3c..fcbc6efa8fd3

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 rharrison@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: rharrison@google.com
Change-Id: I92b3fd1e484d31e2bc3ffc55c2a65efc74ef38b0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31100
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-27 18:41:37 +00:00
Corentin Wallez 6b087819dd s/OutputAttachment/RenderAttachment/g
But also keep OutputAttachment so it can be gradually changed in all
dependants.

See https://github.com/gpuweb/gpuweb/pull/1168 and
https://github.com/gpuweb/gpuweb/pull/1168

Bug: dawn:22
Change-Id: I6a1ec1de6c22ca4deac88b7fffde4b98d9d54a84
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31040
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-10-27 15:35:56 +00:00
Corentin Wallez 25eeaa3d39 Make Surface reference its attached SwapChain
This solves an issues where when switching swapchains the previous
one was destroyed before the new one was created, doing so detached
itself from the Surface, which in turn made the new swapchain not do
a graceful transition via vkSwapchainCreateInfoKHR::oldSwapchain.

Keeping the reference on the surface makes sure we always have
knowledge of the previous swapchain when replacing it. It requires
re-working the lifetime model of NewSwapChainBase to not require a
call to DetachFromSurface in the destructor, and having the Device
explicitly tell a swapchain it got attached on creation (otherwise
there are ASSERTs firing when swapchain creation fails).

In addition, backends are changed to use a SwapChain::Create method
and fail with a validation error (for now) when the previous swapchain
didn't use the same API.

vulkan::SwapChain is updated to use the previous swapchain's device's
fenced deleter to destroy it which is important in the device
switching tests.

The SwapChainValidationTests are updated because with the lifetime
changes the texture view can be kept alive after the application has
lost the last reference to the wgpu::SwapChain.

TBRing since it was reviewed in a different CL (but for the wrong
branch).

TBR=enga@chromium.org
TBR=senorblanco@chromium.org

Bug: dawn:269
Change-Id: Ie4374b5685af990d68969ab9cd7767e53c287ace
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31041
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-10-27 11:31:26 +00:00
dawn-autoroll 41c24933da Roll Tint from 1bafdc3c45 to 57694c8dab (1 revision)
https://dawn.googlesource.com/tint.git/+log/1bafdc3c45e7..57694c8dab3c

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 rharrison@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: rharrison@google.com
Change-Id: Ib80d1acf683b943cdab41d268f64a78baddea1c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/31002
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-26 20:51:46 +00:00
dawn-autoroll 8036d99531 Roll Tint from f81c1081ea to 1bafdc3c45 (1 revision)
https://dawn.googlesource.com/tint.git/+log/f81c1081ea7d..1bafdc3c45e7

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 rharrison@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: rharrison@google.com
Change-Id: Ic5e5e31f9d11f624ae30e7a69c5b830efac59ae9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30980
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-26 14:45:05 +00:00
Jiawei Shao 42103bc2e9 Fix crash when device is removed before CreateReady*Pipeline callback
This patch fixes a crash issue when the device is destroyed before
the callback of CreateReady{Render, Compute}Pipeline is called. Now
when the callback is called in DeviceBase::ShutDown(), the cached
pipeline object will also be destroyed before the callback returns.

BUG=dawn:529
TEST=dawn_end2end_tests

Change-Id: I91ec2608b53591d265c0648f5c02daf7fadac85e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30744
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-10-24 03:11:43 +00:00
Jiawei Shao ebdbc03b77 Treat VK_SUBOPTIMAL_KHR as a valid return value of vkQueuePresentKHR
vkQueuePresentKHR() may return VK_SUBOPTIMAL_KHR when "a swapchain no
longer matches the surface properties exactly, but can still be used to
present to the surface successfully", so it can also be treated as a
valid return value that indicates vkQueuePresentKHR() has returned
successfully.

This patch fixes the crash when we run the dawn_end2end_test
SwapChainTests.ResizingWindowOnly on the latest Intel Vulkan Windows
driver.

BUG=dawn:269
TEST=dawn_end2end_tests

Change-Id: I571ee74ea75b7a7f6fa59c7eebeed87a2429180d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30842
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-10-24 02:46:13 +00:00
dawn-autoroll 8180c71a35 Roll Tint from 9ab6e8b9eb to f81c1081ea (1 revision)
https://dawn.googlesource.com/tint.git/+log/9ab6e8b9eb0e..f81c1081ea7d

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: I4cb016a596266c31b1af83979742929f3a204076
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30901
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-23 23:51:23 +00:00
Kai Ninomiya c9d0b492d5 Implement new formula for requiredBytesInCopy
Changed upstream in:
- https://github.com/gpuweb/gpuweb/pull/1014
- https://github.com/gpuweb/gpuweb/pull/1130

Note that in some of the cases where width==0 || height==0 || depth==0,
this increases the number of linear data bytes required for a copy.
Since this is a corner case, no deprecation logic is added.

Removes a duplicated copy of this logic in TestUtils.cpp.

Bug: dawn:520
Change-Id: I3b3d079c6ef316df7d95ba5c349bf8de4646fa4d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30741
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2020-10-23 21:21:33 +00:00
Austin Eng ca5aa235da Validate texture aspect on TextureView creation
Bug: dawn:439
Change-Id: Iba8c283e2f4551d9600410ff958d5a304a49ae2c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30724
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-10-23 20:06:03 +00:00
dawn-autoroll 8901df8ffe Roll Tint from e6fda61ef0 to 9ab6e8b9eb (1 revision)
https://dawn.googlesource.com/tint.git/+log/e6fda61ef0c4..9ab6e8b9eb0e

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: I7c9a4126ceb4d8aad4be23caa417d76c5be31a2c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30941
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-23 18:32:43 +00:00
dawn-autoroll 4f06cd3f6d Roll Tint from 79d271580e to e6fda61ef0 (1 revision)
https://dawn.googlesource.com/tint.git/+log/79d271580e21..e6fda61ef0c4

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: I997fa1963fd53502a49852755b9da03597039dfd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30940
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-23 18:13:03 +00:00
dawn-autoroll cd958d7c3c Roll Tint from 1b1d2a5907 to 79d271580e (2 revisions)
https://dawn.googlesource.com/tint.git/+log/1b1d2a590744..79d271580e21

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: I66e5a92eade980d8187651d263a97ce6757d5b44
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30922
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-23 17:37:02 +00:00
dawn-autoroll 6ba6edd037 Roll Tint from 88d705dc85 to 1b1d2a5907 (1 revision)
https://dawn.googlesource.com/tint.git/+log/88d705dc85ff..1b1d2a590744

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: Ia4d4c8a3c43b395bde8efca481709c8b5b42b16c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30900
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-23 17:24:43 +00:00
Yunchao He 346b20ab7c Minor changes in TextureValidationTests
Bug: dawn:558

Change-Id: I86f014b6d82edd4cf7ca112577d08c3b85b20c39
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30767
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-10-23 16:03:22 +00:00
dan sinclair bb3d7981ec CMake updates.
This CL updates the CMake file to allow building Dawn with WGSL support
enabled. A few other required fixes are included.

Bug: None
Change-Id: I11a09710f0ad075a07e23c44ff884826850655e7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30841
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-10-23 13:10:20 +00:00
Corentin Wallez 24e6369261 Slightly improve a RenderPipeline error message.
Bug: dawn:559
Change-Id: Ib7156c0f189c0eb577026d939fecff28a3d43cf4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30861
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-10-23 12:41:40 +00:00
dawn-autoroll ade9a5235c Roll Tint from 8f7c80347d to 88d705dc85 (1 revision)
https://dawn.googlesource.com/tint.git/+log/8f7c80347dc6..88d705dc85ff

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: Id858d73ba6fab77270796c17f9b2f7a4a50f2e8c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30769
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-22 19:43:19 +00:00
Corentin Wallez 2ce1d927e9 SwapChainVk: handle mismatching size and usage with a blit
In Vulkan the swapchain can stop working if the window resizes and
doesn't match the size of the swapchain images anymore. WebGPU
applications might not handle resizes instantly, so if the swapchain
becomes incompatible we give them a temporary texture that we'll then
blit inside the real swapchain texture.

This also handles the case where the application requires more usages
than what the swapchain can support.

In addition, temporary checks are added that fail swapchain creation if
the VkSurface doesn't support BGRA8Unorm which is the only allowed
format for WebGPU swapchains at the moment.

SwapChainTests should now work on Vulkan and are enabled.

Bug: dawn:269

Change-Id: I812c0653125ed86d3a0f8f67347e961c7b207a98
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30700
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-10-22 17:07:49 +00:00
Austin Eng 22505a5afe Fix systemName output on Mac/iOS
macOS and iOS were switched.

Bug: None
Change-Id: I10872110cc3122114d3dfdb29dd4672bdc2cfb6b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30723
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-10-21 22:08:58 +00:00
dawn-autoroll e5f5cb8c3e Roll Tint from 0ce0704741 to 8f7c80347d (1 revision)
https://dawn.googlesource.com/tint.git/+log/0ce070474164..8f7c80347dc6

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: I38cc3022c1941905d16742bef26bc560c1a8a7d9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30766
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-21 20:09:58 +00:00
dawn-autoroll b8a0bd1274 Roll Tint from 4f79c84050 to 0ce0704741 (1 revision)
https://dawn.googlesource.com/tint.git/+log/4f79c8405028..0ce070474164

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: Ie43ce983e5450993ebddd065dfea91e5e1b8ddc8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30763
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-21 19:35:48 +00:00
dan sinclair d3c4222002 Update type for atomic.
The atomic_uint64_t typedef does not appear to be defined on Ubuntu and
you need to use atomic<uint64_t>

Bug: None

Change-Id: I66f92ae6939723a5ca6f7b80dbb1ad8ab633ce4c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30726
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-10-21 15:53:58 +00:00
Corentin Wallez 45b6de9149 Dawn infra: update the primary branch to "main"
Bug: dawn:555
Change-Id: I2c7f67d216c79babb76264d83e66a6f0caa9ad79
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30703
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-10-21 15:27:32 +00:00
Corentin Wallez e3faaae11a Trivial grammar fix in README.md
This is mostly a CL to see if the CQ is able to land commits after the
renaming of Dawn's primary branch to "main".

Bug: dawn:555
Change-Id: I8bf176be2320521de72adb2d91893fb350a379b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30702
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2020-10-21 14:37:52 +00:00
Hao Li e2cbcc9565 Query API: Record used query index in command encoder
- There are some methods need to know which query indexes are used in
encoders: endOcclusionQuery, endPipelineStatisticsQuery, resolveQuerySet.
- On Vulkan, we also need to use the used query indexes to reset each
queries between uses. And because the reset command must be called
outside render pass, we need to check whether a query index is writen
twice on command encoder and render/compute encoders.
- Add validation on writeTimestamp for duplicate writes at same index.

Bug: dawn:434
Change-Id: I6d00dd91e565d960246b6d01ad434d2d5c095deb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27561
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2020-10-21 08:38:31 +00:00
dan sinclair 3f6bb08d00 Update WGSL struct syntax.
This CL updates the Dawn tests to use the new WGSL struct syntax.

Bug: tint:175
Change-Id: I7ce43385f9107f1a133117c41325a344d2241657
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30640
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-10-21 06:59:51 +00:00
Jiawei Shao 03e1400fce Add the entry point of CreateReadyRenderPipeline
BUG=dawn:529
TEST=dawn_end2end_tests

Change-Id: I42ac0edc77e5b6119eb374da72698fca14596f7b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30540
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-10-21 04:37:41 +00:00
dawn-autoroll cca03ca6bf Roll Tint from 7156d3e314 to 4f79c84050 (1 revision)
https://dawn.googlesource.com/tint.git/+log/7156d3e3140b..4f79c8405028

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: I20a3fb1eff4313aa0b40532ec6d9f7dbcd540b93
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30680
Reviewed-by: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-20 22:04:11 +00:00
dan sinclair e9c99e93e7 Add algorithm include.
This CL adds the algorithm include to, hopefully, satisfy the MSVC
build.

Change-Id: Ic0a8a9dfeffe7a02d94d748dbb2813ac576b5371
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30660
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2020-10-20 20:30:11 +00:00
Jose Dapena Paz 1917dc27c2 IWYU: unique_ptr usage in ChunkedCommandSerializer requires including <memory>
Fix build breakage in libstdc++:
../../third_party/dawn/src/dawn_wire/ChunkedCommandSerializer.h:84:34: error: ‘unique_ptr’ is not a member of ‘std’
   84 |             auto cmdSpace = std::unique_ptr<char[]>(new (std::nothrow) char[requiredSize]);
      |                                  ^~~~~~~~~~
../../third_party/dawn/src/dawn_wire/ChunkedCommandSerializer.h:24:1: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?

Bug: chromium:957519
Change-Id: I35b129225882a3f9b758c4f49d1a3cace22aacfe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30600
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-10-20 19:48:31 +00:00