Commit Graph

4990 Commits

Author SHA1 Message Date
Jiawei Shao c686a6a541 Implement inter-stage variable matching rules - Part I
This patch implements the inter-stage variable matching rules on
the attributes 'location', 'base type' and 'composition type'.

In the next patch we will implement the matching rules on the
'interpoliation type' and 'interpoliation sampling'.

BUG=dawn:802
TEST=dawn_unittests

Change-Id: Ic0a273e01dced301d437add83bad3d0c7d94a133
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58363
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-07-26 01:39:21 +00:00
Dawn Autoroller 68c771a637 Roll Tint from 1c6ff0ec3b to 13081d4e46 (1 revision)
https://dawn.googlesource.com/tint.git/+log/1c6ff0ec3b6a..13081d4e462b

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/main/autoroll/README.md

Bug: dawn:1023
Tbr: cwallez@google.com
Change-Id: I9821deacf68582ab705095e81dde3e1de4365afe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59640
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-25 19:07:29 +00:00
Corentin Wallez ff6c9ca6f0 wgpu::InputStepMode -> VertexStepMode
See https://github.com/gpuweb/gpuweb/pull/1927

Adds a typedef to make a gradual deprecation.

Bug: dawn:1023
Change-Id: Ic81a933a95556fbf5726056530788dde017a1449
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59442
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-25 18:40:19 +00:00
Dawn Autoroller f004b6ec2a Roll Tint from f7d0c1cbfe to 1c6ff0ec3b (1 revision)
https://dawn.googlesource.com/tint.git/+log/f7d0c1cbfe46..1c6ff0ec3b6a

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Ied649ccfde7ec4d80ff65159ffeb5720d8915aa1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59600
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-25 08:10:39 +00:00
Dawn Autoroller 184a6b564c Roll Tint from 70eb1d3573 to f7d0c1cbfe (1 revision)
https://dawn.googlesource.com/tint.git/+log/70eb1d3573bf..f7d0c1cbfe46

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I6dfa84b9d183f15e77be413a896ddc699a942b5d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59581
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-24 14:14:08 +00:00
Dawn Autoroller d7086c91d3 Roll Tint from 48411444b4 to 70eb1d3573 (1 revision)
https://dawn.googlesource.com/tint.git/+log/48411444b45e..70eb1d3573bf

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I71d7656eb5db6a7d2bf836649ac231ebfa5e6522
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59580
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-24 08:15:18 +00:00
Dawn Autoroller 93a453da42 Roll Tint from 294cb95f0e to 48411444b4 (1 revision)
https://dawn.googlesource.com/tint.git/+log/294cb95f0e23..48411444b45e

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Iec491a91d1f16c891acffe5069c5312db9c57e8a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59520
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-24 00:16:27 +00:00
Dawn Autoroller 6515e20a1e Roll Tint from bd3edb564f to 294cb95f0e (7 revisions)
https://dawn.googlesource.com/tint.git/+log/bd3edb564fd6..294cb95f0e23

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I00ba4b7494694f86122dde9eda6dd6b1d0feb6bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59500
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-23 19:06:17 +00:00
Li Hao 7839647a23 Disable Timestamp Query on macOS 11+
Bug: dawn:940
Change-Id: I74f5f3814dd4eb8b3b025f32ba1eb56a197cfec2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59480
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-07-23 18:59:47 +00:00
Corentin Wallez 21528281fd D3D12: Fix order of Tint transforms
FirstIndexOffset must happen after BindingRemapper otherwise some
invalid AST is produced after FirstIndexOffset.

This was found running a CTS test on Windows:
validation,vertex_state:vertex_shader_type_matches_attribute_format

Also adds a regression test.

Bug: dawn:1014

Change-Id: Icbe4b3adb5e5844ffc8435e0e67056c7dff23970
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59281
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
2021-07-23 15:49:47 +00:00
Corentin Wallez 9bb32ba330 Make vertex attrib offsets require min(4, formatSize)
Bug: dawn:1010
Change-Id: Ib7e7fe7f9fb7fbf1a7701b72ed5a1c75d5c01209
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59282
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-23 14:28:47 +00:00
Dawn Autoroller 77a399790c Roll Tint from ba93d14c9a to bd3edb564f (1 revision)
https://dawn.googlesource.com/tint.git/+log/ba93d14c9a92..bd3edb564fd6

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Iaabfbd65b69375a70ecc8535c7d1ba30f64ced27
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59460
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-23 14:00:17 +00:00
Yang Gu a314f0963a Use last 2 fields as Intel graphics driver build number
After discussion with driver team, there is no need to differentiate new
driver and legacy driver for build number, so the last 2 fields are used
consistently.

Bug: None
Change-Id: I43ac2b484f84ed209d46dd9283830930908b05ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59121
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yang Gu <yang.gu@intel.com>
2021-07-23 06:48:00 +00:00
Dawn Autoroller b16bcbdf73 Roll Tint from fced350b3d to ba93d14c9a (1 revision)
https://dawn.googlesource.com/tint.git/+log/fced350b3d20..ba93d14c9a92

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Id7a07c2098129871cde588be4d61d96aca34a4e6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59400
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-23 04:49:41 +00:00
Dawn Autoroller 8f294552b6 Roll Tint from 4261466a84 to fced350b3d (2 revisions)
https://dawn.googlesource.com/tint.git/+log/4261466a843f..fced350b3d20

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I3467f784646b0f01da165d84c36238b354b1cad4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59380
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-22 23:28:18 +00:00
Dawn Autoroller 54d988d189 Roll Tint from 66b979d7fb to 4261466a84 (5 revisions)
https://dawn.googlesource.com/tint.git/+log/66b979d7fb75..4261466a843f

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Ie52c3d68511883d356bc01f7bd40b5c039067a07
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59261
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-22 18:18:30 +00:00
Austin Eng 01ceccb1eb Disallow timestamp query creation if disallow_unsafe_apis
Bug: chromium:1226078
Change-Id: I567522c5562d8cba616ef4315c91a0420d5146d6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59044
Reviewed-by: Hao Li <hao.x.li@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-07-22 18:13:00 +00:00
Dawn Autoroller f844ff071c Roll Tint from fe3ba95e6a to 66b979d7fb (1 revision)
https://dawn.googlesource.com/tint.git/+log/fe3ba95e6a46..66b979d7fb75

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I47c799263b2b9e8c1591619a29d0e1fdff99ffee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59260
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-22 12:44:00 +00:00
Corentin Wallez e9c8225f54 Implement render pipeline vertex format base type validation.
Bug: dawn:1008

Change-Id: I04d1ff1d46c1106147a8c50415c989db5789cbfc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59031
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-22 11:43:10 +00:00
Corentin Wallez 1384e8b163 Replace VertexFormatUtils with a dawn_native table of formats
This replaces multiple switches with a single indexing into a data
table, and also adds information about the VertexFormatBaseType for
later validation.

Bug: dawn:1008
Change-Id: Ic3f564b0dc571cc0008a54785613f962ce223452
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59030
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
2021-07-22 08:57:29 +00:00
Dawn Autoroller c607e81de2 Roll Tint from 81d4ed0d9c to fe3ba95e6a (1 revision)
https://dawn.googlesource.com/tint.git/+log/81d4ed0d9c0e..fe3ba95e6a46

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I282f833822d59b3804bb5df0db39e749de445fa5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59142
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-21 22:49:09 +00:00
Ken Rockot 2d41f8c1df Enforce per-dimension dispatch size limits
Note that this is for direct dispatch calls only. Indirect dispatch
calls are still not validated.

Bug: dawn:1006
Change-Id: I061c15208a01dfb803923823ba4afd38667cad22
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59122
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ken Rockot <rockot@google.com>
2021-07-21 20:44:09 +00:00
Ken Rockot 59668e95c7 Validate workgroup size and storage requirements
We define hard limits on these attributes for compute stages. This
enforces them.

BUG: dawn:322
Change-Id: I9b279774e877b5d40d912cb9f812f23d61c20a42
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/56806
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-07-21 20:19:20 +00:00
Austin Eng e50f8c65b7 Skip BufferZeroInitTests.ResolveQuerySet if not on MacOS 10
Bug: dawn:940
Change-Id: I830cebf2247b65ea0be58a10e02fbcc0542ff73b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59040
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-07-21 18:34:19 +00:00
Brian Ho 4d94647e1f Vulkan: Export VkSemaphores as SYNC_FDs instead of OPAQUE_FDs
For Dawn/Chrome interop, Chrome OS differs from Linux as it uses the
NativePixmap-based SharedImageBacking which stores image memory as
dma-bufs as opposed to opaque FDs. Likewise, for synchronization,
Chrome OS wants to use sync obj FDs as opposed to opaque FDs for
more flexibility.

The motivating difference between sync obj FDs and their opaque
counterparts is how they are created. As their name suggests, Opaque
FDs are mostly meaningless outside of the Vulkan ecosystem and must
be created from a VkDevice. As a result, Linux’s
ExternalVkImageBacking needs the Vulkan implementation to create the
FD even when accessing the SharedImage as a GL texture [1]. On Chrome
OS, however, we don’t guarantee Vulkan outside of Dawn, so we aren’t
able to create the opaque FD directly in Chrome.

Instead, we are always able to create sync objs (e.g. via a
fence [2]) which can be imported as VkSemaphores by simply changing
VkImportSemaphoreFdInfoKHR::handleType. Similarly, we can export
signal VkSemaphores as sync objs as well by updating
VkSemaphoreGetFdInfoKHR::handleType.

This CL adds conditional support for using SYNC_FDs on Chrome OS
when importing/exporting VkSemaphores and renames
SemaphoreServiceOpaqueFD accordingly. With this, we can properly
wait on reads/writes on a GL SharedImage representation before
accessing the same memory in Dawn [3].

[1] https://source.chromium.org/chromium/chromium/src/+/main:gpu/command_buffer/service/external_vk_image_gl_representation.cc;l=75;drc=f887797b3b527feabd5dfe9b3f2cc7f6deade49f
[2] https://source.chromium.org/chromium/chromium/src/+/main:gpu/command_buffer/service/shared_image_backing_gl_image.cc;l=681;drc=f887797b3b527feabd5dfe9b3f2cc7f6deade49f
[3] https://chromium-review.googlesource.com/c/chromium/src/+/3042460

BUG=b:172208313
Change-Id: I5357847fea40e41d1b982054e3573d363e17530c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59080
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
2021-07-21 17:49:20 +00:00
Dawn Autoroller c635acdfba Roll Tint from f3fffdaded to 81d4ed0d9c (5 revisions)
https://dawn.googlesource.com/tint.git/+log/f3fffdaded4b..81d4ed0d9c0e

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I611b64ae52580ba4f2cf826496636e3ea2d9bb2c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59141
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-21 17:28:49 +00:00
Ben Clayton 909a3c3ccf Add toggles: disable_workgroup_init, disable_symbol_renaming
--disable_workgroup_init will disable the workgroup memory zero initiailization. Useful for benchmarking.

--disable_symbol_renaming will disable tint's symbol renamer. Useful for debugging output.

Bug: tint:1003
Fixed: dawn:1016
Change-Id: I92486ef88a2c1112d9ccb40f7920947bd2011c70
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58861
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-07-21 16:31:30 +00:00
Dawn Autoroller 18f63b4e16 Metal: Handle failure to allocate an MTLCommandBuffer
This requires restructuring the logic around MTLCommandBuffer allocation
so that GetPendingCommandContext is guaranteed to never fail. Logic in
the Metal backend is now similar to the Vulkan backend: the
MTLCommandBuffer is prepared at device initialization time, or after a
submission, such that it is always valid.

A new mUsed boolean is added to CommandRecordingContext to say whether
any commands have been recording. Previously mCommandBuffer was used for
that purpose, but it is now always non-null.

Bug: dawn:801

Change-Id: I5dc6747d1e6d538054010cc50533a03a49af921a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58720
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-21 15:41:29 +00:00
Ben Clayton f50c22b998 .vscode: Fix quotations in windows 'gn gen' task
It seems the tweaks to always force "cmd" to be the shell seemingly changes the way single quotes are handled.  ¯\_(ツ)_/¯

Change-Id: I434066591c968fdfc055a75fa22b7f4c2585b482
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59029
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-21 14:07:49 +00:00
Dawn Autoroller 7dbda40209 Roll Tint from 36b49e8834 to f3fffdaded (1 revision)
https://dawn.googlesource.com/tint.git/+log/36b49e8834f2..f3fffdaded4b

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Ifda5c1098c5434b000207a6a735263c6302bb803
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59140
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-21 11:14:49 +00:00
Corentin Wallez 03f9437ae8 Metal: Handle failures in Texture and TextureView creation.
This includes OOM as well as internal driver failures when
creating a view of an MTLTexture. This required changing the code to use
the Create-Initialize pattern used everywhere else.

Bug: dawn:801

Change-Id: Ib8a8dec74141aacfa58a55bb8201a83351b3b739
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58721
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-07-21 09:34:28 +00:00
Zhaoming Jiang 28497129d5 Fix memory issues in logging callback
1. Trigger all deferred callback tasks before registering a new
device-level callback function, making sure that these tasks won't be
invalided due to callback function changing;
2. Fix the end to end testsuit DeviceLostTests, setting the device lost
callback at the beginning of each test so that callback tasks created
during the test will not be triggered unexpectedly.

Bug: chromium:1223390
Bug: chromium:1223603
Bug: chromium:1228134
Change-Id: I2530e938d8fbb2920f3cc6fc78baa01c5d18ad5d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/56040
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2021-07-21 08:59:09 +00:00
Jiawei Shao 46513c7810 Add validation to the maximum inter-shader stage variable location
This patch adds the validation rules on the maximum inter-shader
stage variable locations. According to Vulkan SPEC, "Each effective
Location must have a value less than the number of location avaiable for
the given interface", and according to Table 18 "Shader Input and Output
Locations", the number of available vertex output locations is
maxVertexOutputComponents / 4, and the number of available fragment input
locations is maxFragmentInputComponents / 4.

BUG=dawn:802
TEST=dawn_unittests

Change-Id: I73a66ad69c808fbd0b128abaed1ca84f19a7925d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58640
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-07-21 08:26:58 +00:00
Dawn Autoroller 8bee260b74 Roll Tint from 0c7332b2ba to 36b49e8834 (1 revision)
https://dawn.googlesource.com/tint.git/+log/0c7332b2baf5..36b49e8834f2

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I764ad9a990cd6f4c622b7a720964be82b2b5b43b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59120
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-21 04:52:13 +00:00
shrekshao ca611e3799 Clean remaining deprecated WireServer WriteHandle interface
Bug: dawn:773

Change-Id: I94f5f338c13fea063102f97ae5b1b8f995ae8991
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59043
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2021-07-20 23:26:48 +00:00
Dawn Autoroller a52d4fc4b3 Roll Tint from c41d940650 to 0c7332b2ba (15 revisions)
https://dawn.googlesource.com/tint.git/+log/c41d94065092..0c7332b2baf5

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I9fb6f879d1fa6f32a7b95af4142b0fc780eb5419
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59100
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-20 23:04:58 +00:00
Corentin Wallez 02a603b613 Metal: Handle potential OOM in other places.
This commit adds checks to (hopefully) all the remaining places in the
Metal backend where object creation can fail.

Bug: dawn:801

Change-Id: Ic27803e956beef822f94ca8449f7816ddd17c1bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58722
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-07-20 21:08:39 +00:00
Austin Eng b24e1320fc Metal: Only call UpdateTimestampPeriod if the extension is enabled
Bug: chromium:1226078
Change-Id: I75528096fe080aba4d8edd970d73e0aefa9130ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59041
Commit-Queue: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2021-07-20 20:48:10 +00:00
Ryan Harrison 45aed4ba2e Force Python 3 in presubmit
BUG=dawn:1015

Change-Id: I80d5afcfe3a7fc5c3c4c79d8c423ddf9578712e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58960
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-07-20 17:57:20 +00:00
Corentin Wallez 8a140fe67a Roll third_party/vulkan-deps/ 85e758a22..df0528b58 (99 commits)
https://chromium.googlesource.com/vulkan-deps/+log/85e758a22b7a..df0528b581a1

$ git log 85e758a22..df0528b58 --date=short --no-merges --format='%ad %ae %s'
2021-07-15 chromium-autoroll Roll SPIRV-Tools from 640b17b5fbc6 to 2685c9a687b5 (1 revision)
2021-07-15 chromium-autoroll Roll Vulkan-ValidationLayers from cb03f32776a6 to 98df0682926f (2 revisions)
2021-07-15 chromium-autoroll Roll Vulkan-ValidationLayers from 8b83ca019c50 to cb03f32776a6 (2 revisions)
2021-07-15 chromium-autoroll Roll SPIRV-Cross from fe08bf4af440 to 6196e3b02968 (2 revisions)
2021-07-15 chromium-autoroll Roll SPIRV-Cross from be3988b13cb7 to fe08bf4af440 (1 revision)
2021-07-15 chromium-autoroll Roll Vulkan-ValidationLayers from dada63db181a to 8b83ca019c50 (2 revisions)
2021-07-14 chromium-autoroll Roll Vulkan-Loader from 15e1bbe99a09 to 99c0b1433a09 (1 revision)
2021-07-14 chromium-autoroll Roll SPIRV-Headers from ddf3230c14c7 to 1d4e3a7e3a04 (2 revisions)
2021-07-14 chromium-autoroll Roll SPIRV-Tools from 4baf3affe323 to 640b17b5fbc6 (1 revision)
2021-07-14 chromium-autoroll Roll SPIRV-Tools from feb05446bbc3 to 4baf3affe323 (1 revision)
2021-07-14 chromium-autoroll Roll SPIRV-Tools from 2299b710de6c to feb05446bbc3 (1 revision)
2021-07-13 chromium-autoroll Roll Vulkan-Loader from 7033871e47d6 to 15e1bbe99a09 (1 revision)
2021-07-13 chromium-autoroll Roll Vulkan-Tools from 8b86fbac17b9 to 33a87ce6daec (1 revision)
2021-07-13 chromium-autoroll Roll Vulkan-ValidationLayers from 27a26f525f92 to dada63db181a (2 revisions)
2021-07-13 chromium-autoroll Roll Vulkan-ValidationLayers from 607d1d974d22 to 27a26f525f92 (1 revision)
2021-07-13 chromium-autoroll Roll Vulkan-ValidationLayers from 5bdd45ecca5f to 607d1d974d22 (1 revision)
2021-07-13 chromium-autoroll Roll SPIRV-Tools from d432bebb113d to 2299b710de6c (1 revision)
2021-07-13 chromium-autoroll Roll Vulkan-ValidationLayers from 48b8e27e9de0 to 5bdd45ecca5f (2 revisions)
2021-07-13 chromium-autoroll Roll Vulkan-Loader from 8c45e953d0a8 to 7033871e47d6 (1 revision)
2021-07-13 chromium-autoroll Roll Vulkan-Loader from 550b23a566a2 to 8c45e953d0a8 (1 revision)
2021-07-13 chromium-autoroll Roll SPIRV-Cross from d42c0b2e08ef to be3988b13cb7 (2 revisions)
2021-07-13 chromium-autoroll Roll SPIRV-Cross from 1ae2b58f19a9 to d42c0b2e08ef (1 revision)
2021-07-13 chromium-autoroll Roll SPIRV-Tools from 3b6abf41cc72 to d432bebb113d (1 revision)
2021-07-12 chromium-autoroll Roll Vulkan-Loader from 8daad81803f5 to 550b23a566a2 (1 revision)
2021-07-12 chromium-autoroll Roll SPIRV-Headers from 07f259e68af3 to ddf3230c14c7 (6 revisions)
2021-07-12 chromium-autoroll Roll SPIRV-Headers from ddf3230c14c7 to 07f259e68af3 (0 revision)
2021-07-12 chromium-autoroll Roll Vulkan-Loader from 3bdb32d29f2d to 8daad81803f5 (50 revisions)
2021-07-12 chromium-autoroll Roll SPIRV-Tools from c26baf4c9308 to 3b6abf41cc72 (1 revision)
2021-07-10 chromium-autoroll Roll Vulkan-ValidationLayers from 1c0b96aec2a3 to 48b8e27e9de0 (2 revisions)
2021-07-09 chromium-autoroll Roll Vulkan-ValidationLayers from b5dd25f4cd9c to 1c0b96aec2a3 (1 revision)
2021-07-09 chromium-autoroll Roll Vulkan-ValidationLayers from 32de8039cd51 to b5dd25f4cd9c (2 revisions)
2021-07-09 chromium-autoroll Roll Vulkan-ValidationLayers from f4fb2a0b00d1 to 32de8039cd51 (30 revisions)
2021-07-08 chromium-autoroll Roll glslang from 9e707294f126 to 4b7b86d568b4 (1 revision)
2021-07-08 chromium-autoroll Roll Vulkan-ValidationLayers from 24abc3af2fa6 to f4fb2a0b00d1 (1 revision)
2021-07-08 chromium-autoroll Roll Vulkan-ValidationLayers from 7cdc779e82e9 to 24abc3af2fa6 (6 revisions)
2021-07-08 chromium-autoroll Roll Vulkan-ValidationLayers from f2912cd0f628 to 7cdc779e82e9 (2 revisions)
2021-07-07 chromium-autoroll Roll glslang from 89286ca56b3d to 9e707294f126 (1 revision)
2021-07-07 chromium-autoroll Roll glslang from ae2a562936cc to 89286ca56b3d (1 revision)
2021-07-07 chromium-autoroll Roll Vulkan-Tools from 697cc6c387fd to 8b86fbac17b9 (1 revision)
2021-07-07 chromium-autoroll Roll Vulkan-ValidationLayers from 394157ab5101 to f2912cd0f628 (1 revision)
2021-07-07 chromium-autoroll Roll SPIRV-Tools from 9ce7a2fb62eb to c26baf4c9308 (1 revision)
2021-07-06 chromium-autoroll Roll Vulkan-ValidationLayers from 054383987078 to 394157ab5101 (1 revision)
2021-07-06 chromium-autoroll Roll Vulkan-Tools from ed2740a8220e to 697cc6c387fd (1 revision)
2021-07-06 chromium-autoroll Roll Vulkan-ValidationLayers from 13930981cd40 to 054383987078 (2 revisions)
2021-07-06 chromium-autoroll Roll Vulkan-Tools from abfc71f051a6 to ed2740a8220e (1 revision)
2021-07-06 chromium-autoroll Roll Vulkan-ValidationLayers from 5b3013cba651 to 13930981cd40 (2 revisions)
2021-07-06 chromium-autoroll Roll SPIRV-Tools from 4d2832e3c8d7 to 9ce7a2fb62eb (1 revision)
2021-07-05 chromium-autoroll Roll SPIRV-Tools from 7763360524ec to 4d2832e3c8d7 (1 revision)
2021-07-05 chromium-autoroll Roll Vulkan-ValidationLayers from 39152e64829c to 5b3013cba651 (2 revisions)
2021-07-05 chromium-autoroll Roll Vulkan-Headers from a8964617af6b to 0193e158bc9f (1 revision)
2021-07-04 chromium-autoroll Roll SPIRV-Tools from a95bc460f924 to 7763360524ec (1 revision)
2021-07-03 chromium-autoroll Roll Vulkan-ValidationLayers from 406766a8440f to 39152e64829c (1 revision)
2021-07-02 chromium-autoroll Roll Vulkan-ValidationLayers from b3ab357b1a00 to 406766a8440f (1 revision)
2021-07-02 chromium-autoroll Roll Vulkan-ValidationLayers from a844c1288087 to b3ab357b1a00 (1 revision)
2021-07-02 chromium-autoroll Roll SPIRV-Tools from c67f132087b9 to a95bc460f924 (1 revision)
2021-07-02 chromium-autoroll Roll SPIRV-Tools from 06f114d48214 to c67f132087b9 (1 revision)
2021-07-01 chromium-autoroll Roll Vulkan-Tools from a7fc5ca82287 to abfc71f051a6 (1 revision)
2021-07-01 chromium-autoroll Roll Vulkan-ValidationLayers from 73452524742b to a844c1288087 (4 revisions)
2021-07-01 chromium-autoroll Roll Vulkan-ValidationLayers from 667cc02b6514 to 73452524742b (1 revision)
2021-07-01 chromium-autoroll Roll SPIRV-Tools from 74e8105eb801 to 06f114d48214 (1 revision)
2021-07-01 chromium-autoroll Roll Vulkan-ValidationLayers from 28198b569714 to 667cc02b6514 (3 revisions)
2021-06-30 chromium-autoroll Roll Vulkan-ValidationLayers from 7465dc3cb7a2 to 28198b569714 (1 revision)
2021-06-30 chromium-autoroll Roll Vulkan-Tools from 2b7d601bdaed to a7fc5ca82287 (1 revision)
2021-06-30 chromium-autoroll Roll SPIRV-Cross from bf746bd68019 to 1ae2b58f19a9 (1 revision)
2021-06-30 chromium-autoroll Roll Vulkan-Tools from 68b1feb2727e to 2b7d601bdaed (1 revision)
2021-06-30 chromium-autoroll Roll Vulkan-ValidationLayers from 4e28e6495717 to 7465dc3cb7a2 (1 revision)
2021-06-30 chromium-autoroll Roll SPIRV-Cross from c5b8022e615d to bf746bd68019 (1 revision)
2021-06-30 chromium-autoroll Roll Vulkan-Tools from aaebda90a9a8 to 68b1feb2727e (1 revision)
2021-06-29 chromium-autoroll Roll SPIRV-Tools from f9893c454940 to 74e8105eb801 (1 revision)
2021-06-29 chromium-autoroll Roll SPIRV-Tools from 8442a181294b to f9893c454940 (1 revision)
2021-06-29 chromium-autoroll Roll SPIRV-Tools from eeff9af1e6e1 to 8442a181294b (1 revision)
2021-06-29 chromium-autoroll Roll SPIRV-Tools from b8587c984a93 to eeff9af1e6e1 (1 revision)
2021-06-29 chromium-autoroll Roll SPIRV-Cross from 853e84e8bff8 to c5b8022e615d (1 revision)
2021-06-29 chromium-autoroll Roll SPIRV-Cross from 9338996f3b2b to 853e84e8bff8 (1 revision)
2021-06-28 chromium-autoroll Roll Vulkan-ValidationLayers from 01cf24db1331 to 4e28e6495717 (1 revision)
2021-06-28 chromium-autoroll Roll SPIRV-Tools from 4fcdc5894676 to b8587c984a93 (1 revision)
2021-06-28 chromium-autoroll Roll Vulkan-Tools from 8926213dd008 to aaebda90a9a8 (1 revision)
2021-06-28 chromium-autoroll Roll SPIRV-Tools from 237173a07083 to 4fcdc5894676 (1 revision)
2021-06-28 chromium-autoroll Roll Vulkan-ValidationLayers from c09be02a362f to 01cf24db1331 (2 revisions)
2021-06-28 chromium-autoroll Roll SPIRV-Tools from 8cc8b6562be9 to 237173a07083 (1 revision)
2021-06-28 chromium-autoroll Roll SPIRV-Cross from 31490955852b to 9338996f3b2b (1 revision)
2021-06-28 chromium-autoroll Roll SPIRV-Cross from 9cdeefb5e322 to 31490955852b (1 revision)
2021-06-28 chromium-autoroll Roll Vulkan-Headers from 37164a5726f7 to a8964617af6b (1 revision)
2021-06-25 chromium-autoroll Roll Vulkan-ValidationLayers from 6fbf8245095e to c09be02a362f (1 revision)
2021-06-25 chromium-autoroll Roll Vulkan-ValidationLayers from 7345a069cca3 to 6fbf8245095e (1 revision)
2021-06-25 chromium-autoroll Roll Vulkan-ValidationLayers from 968b6094907e to 7345a069cca3 (1 revision)
2021-06-25 chromium-autoroll Roll Vulkan-ValidationLayers from bfe4822f0d97 to 968b6094907e (1 revision)
2021-06-25 chromium-autoroll Roll Vulkan-ValidationLayers from 16266c388370 to bfe4822f0d97 (2 revisions)
2021-06-24 chromium-autoroll Roll SPIRV-Tools from 3a02d1126872 to 8cc8b6562be9 (1 revision)
2021-06-24 chromium-autoroll Roll SPIRV-Tools from e065c482c6c9 to 3a02d1126872 (1 revision)
2021-06-23 chromium-autoroll Roll Vulkan-ValidationLayers from bd7c99573d3b to 16266c388370 (1 revision)
2021-06-23 chromium-autoroll Roll glslang from 0c4c93bf615b to ae2a562936cc (1 revision)
2021-06-23 chromium-autoroll Roll Vulkan-ValidationLayers from 71916f15bc7f to bd7c99573d3b (5 revisions)
2021-06-23 chromium-autoroll Roll Vulkan-Tools from dbd221b2bc7a to 8926213dd008 (1 revision)
2021-06-23 chromium-autoroll Roll SPIRV-Tools from e992c96c89a3 to e065c482c6c9 (1 revision)
2021-06-23 chromium-autoroll Roll glslang from b38100f6bc00 to 0c4c93bf615b (1 revision)
2021-06-23 chromium-autoroll Roll SPIRV-Tools from 0c21e50922e4 to e992c96c89a3 (1 revision)
2021-06-22 chromium-autoroll Roll Vulkan-ValidationLayers from f12691a7fca2 to 71916f15bc7f (2 revisions)
2021-06-22 chromium-autoroll Roll SPIRV-Tools from f8eafd4d838c to 0c21e50922e4 (2 revisions)

TBR=enga@chromium.org

Created with:
  roll-dep third_party/vulkan-deps

Change-Id: I9517b84c5eca6eb9251655c4b3afc2d72dbc5348
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58860
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-20 17:43:38 +00:00
Ben Clayton 67035040f6 D3D12: Enable IEEE strictness
Bug: tint:976
Change-Id: I4e2d625adad89402774584ccff72b5e33dc69957
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58724
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-07-20 12:47:58 +00:00
Dawn Autoroller cfd5ebb2f2 Roll Tint from ac9db206eb to c41d940650 (3 revisions)
https://dawn.googlesource.com/tint.git/+log/ac9db206eb87..c41d94065092

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I70fcb2c9e4460ce86ac9cb60c5f46e7ca39e59ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58801
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-20 03:20:48 +00:00
Zhaoming Jiang 5af0a62e54 Fix memory leak in ShaderModuleBase::MakeError
Change the ShaderModuleBase::MakeError to return a Ref<ShaderModuleBase>
rather than a naked pointer. This Ref will be used and finally detached in
DeviceBase::APICreateShaderModule.

Bug: chromium:1223546
Change-Id: Ie4213f091e37fdc61c6e1f0bb742e8787bcb4eb8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58660
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2021-07-20 01:17:38 +00:00
Corentin Wallez ae5be1df34 Vulkan: ignore errors in shutdown vkWaitForFences.
There is nothing we can do when these errors happen except proceeding
with the clean shutdown of the Vulkan device by destroying all the
fences.

Bug: chromium:1230251
Change-Id: I5f14770bf71072616783afec7cf9538c9b103f23
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58398
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-07-20 00:26:07 +00:00
shrekshao bdc029ee39 Validate format is blendable when blending is enabled
Treat color target format with "float" capabilities as
blendable format and validate when blending is enabled.
Add helpers for checking float16 texture values.

Bug: dawn:726

Change-Id: Icf8c0182e5e9a13523970c84b5af91f395a089af
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/57744
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-07-19 23:27:27 +00:00
Brandon Jones 631b300262 Ensure correct shader reflection for texture_external
Adds some handling that ensures correct reflection of texture_external now
that Dawn uses Tint by default. Enables the previously written tests.

dawn: 1004
Change-Id: I8fd43292e9fe243aee037c70fe47b79ace8b672f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58540
Commit-Queue: Brandon Jones (Intel) <brandon1.jones@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-07-19 22:26:47 +00:00
Dawn Autoroller 1fdcabf4a9 Roll Tint from a94d1a9c81 to ac9db206eb (6 revisions)
https://dawn.googlesource.com/tint.git/+log/a94d1a9c81e9..ac9db206eb87

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I25a40184725b589b3d9a258368388302abc84ed4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58800
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-19 21:45:47 +00:00
Ben Clayton 9b2c17caf9 Fix vscode tasks.json for different shells
Change-Id: I0133e96be89254b52e3d2aa796ba8b62d851c582
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58723
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-19 17:16:28 +00:00
Dawn Autoroller 2950a94b6e Roll Tint from cdcec6d08c to a94d1a9c81 (4 revisions)
https://dawn.googlesource.com/tint.git/+log/cdcec6d08c15..a94d1a9c81e9

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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I6dec69120444c45c8cce3d7b802364912e447a03
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58740
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-19 16:33:47 +00:00
Corentin Wallez 0f3c35c8c1 Remove deprecated ExternalImageAccessDescriptorDXGIKeyedMutex behavior
Previously Dawn was using acquireKey + 1 for the releaseKey but we
changed the code transition to requiring a specific key. We supported
both options for a time but now that Chromium uses a releaseKey, we can
remove the deprecated option.

Bug: chromium:1213977
Change-Id: Iab253673c15b83b107dcc3635ee165cfa09efeb6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58383
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-07-19 14:44:06 +00:00