Commit Graph

9752 Commits

Author SHA1 Message Date
Ben Clayton 6c098baedf tint: Implement constant expression structures
Bug: tint:1611
Change-Id: Id04c31ade297a68e7e2941efafbd812ba631fc41
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95946
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-14 20:46:39 +00:00
dawn-autoroll fc85619d77 Roll vulkan-deps from 07a6dec37162 to 3cc80b7988b6 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/07a6dec37162..3cc80b7988b6

Changed dependencies:
* vulkan-headers: 9f73b931f4..16847a6100

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: Ifb592d80a06853da1bec80a1c6ecfaf6d0de2042
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96160
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-14 14:26:01 +00:00
Corentin Wallez a45561bb8c dawn.json: Add the "chain roots" data for chained structs.
This helps output in the headers information about which structure can
be used to extend which. In the future it could also be used to generate
helpers that validate that the chain for a root structure contains only
allowed extension structs.

Fixed: dawn:1486
Change-Id: I6134332d477503e242b3bec9f8e9bedeeb352351
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96000
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-07-14 12:58:25 +00:00
Ben Clayton e1bcb0b416 cts: Clean up expectations.txt
• Add `intel-hd-630-family` to the list of GPU tags (crbug.com/dawn/1444).
• `[ Skip ]` all the `inputSource="const"` expression tests for now (crbug.com/tint/1613).
• Reorder / normalize the rest of the expectations with `./tools/run cts update`.

Bug: dawn:1444
Bug: tint:1613
Change-Id: I39efc454ecff6e804417bcade744a4251acbda07
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95842
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-14 09:54:11 +00:00
dawn-autoroll d4e0bc4495 Roll vulkan-deps from 50b3fdf7ad7d to 07a6dec37162 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/50b3fdf7ad7d..07a6dec37162

Changed dependencies:
* spirv-tools: faa8d6a653..e2cf769302
* vulkan-validation-layers: adf933c0d3..c99353e1fe

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: I53dad3feabd075c573f9cca8d5cdf002189e29c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96082
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-13 23:20:20 +00:00
Yuly Novikov 9fecd7ef8a Suppress WebGPU CTS failures on Linux UHD630
webgpu:shader,execution,expression,call,builtin,abs:f32:inputSource="const";*
webgpu:shader,execution,expression,call,builtin,atan:f32:inputSource="const";*
webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="const";*

Bug: tint:1612
Change-Id: I3151cb02142f4a7b38d1f419bd5c49e981dce3a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96103
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2022-07-13 18:49:10 +00:00
Dawn Autoroller 90ebd5433d Roll ANGLE from a2f64b81dc2b to 062788fa6be1 (2 revisions)
a2f64b81dc..062788fa6b

2022-07-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4d09ee266d3c to 50b3fdf7ad7d (3 revisions)
2022-07-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 2b7014d6e622 to f224faaabcd0 (511 revisions)

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: I34cd5ce275b3910e05b3ae201748949ba0cf23da
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96120
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-13 14:48:40 +00:00
Ben Clayton 2a8c00f53a tint: Limit const expr vector reserve size
The `el_count` will match the WGSL declared array size *before validation*.
Fuzzers have started triggering out-of-memory cases by constructing large constant arrays, just to then error out.

Bug: chromium:1343963
Change-Id: I537ff3a570fe56b40e510b3bc6dfcd9b9752386a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96102
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-07-13 14:28:23 +00:00
Stephen Gutekanst 4a9ce59cb2 dawn/native/d3d12: use correct __uuidof operator
This code uses `_uuidof` (single undescore) instead of `__uuidof`
(two underscores), only the latter is documented as the officially
supported operator by Microsoft:

https://docs.microsoft.com/en-us/cpp/cpp/uuidof-operator?view=msvc-170

I suspect `_uuidof` and `__uuidof` are the same under the msvc compiler,
but in other compilers (Zig/clang/MinGW) only the officially supported
`__uuidof` is exposed. This change improves compatability with such
compilers.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Change-Id: If2850a1a98507161739fcd5f52ebd4ceaefffe75
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87309
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-13 12:28:50 +00:00
Sunny Sachanandani 7ae5c41412 d3d12: Destroy ExternalImageDXGI resources on device destruction
D3D12 objects can have implicit dependencies on device resources that
are not captured by holding ComPtrs:

"Direct3D 12 uses COM-style reference counting only for the lifetimes of
interfaces (by using the weak reference model of Direct3D tied to the
lifetime of the device). All resource and description memory lifetimes
are the sole responsibly of the app to maintain for the proper duration,
and are not reference counted. Direct3D 11 uses reference counting to
manage the lifetimes of interface dependencies as well."

Source: https://docs.microsoft.com/en-us/windows/win32/direct3d12/important-changes-from-directx-11-to-directx-12

ExternalImageDXGI can outlive the device it was created on e.g. the D3D
shared image backing holds on to the ExternalImageDXGI for its lifetime.
ExternalImageDXGI destructor can invoke code that depends on D3D12
resources that might have already been destroyed. In particular, this
shows up as ComPtr::Release for ID3D12Fence crashing mysteriously, and
is also speculated as the cause for a racy invalid function pointer
dereference in crbug.com/1338470.

This CL makes the D3D12 backend device destroy the ExternalImageDXGI's
resources on device destruction making it effectively a weak pointer.
This unblocks landing https://crrev.com/c/3700811 and hopefully fixes
crbug.com/1338470 as well.

This CL also deprecates unnecessary WGPUDevice param to ProduceTexture,
and adds an IsValid() method so that the shared image can check it and
decide to recreate the ExternalImageDXGI if needed.

Bug: dawn:576, chromium:1338470
Change-Id: I2122cf807587cf3b1218ba29ea291263df0cf698
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95860
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-07-13 11:33:51 +00:00
dawn-autoroll 7a4f2b4496 Roll vulkan-deps from 136497f1126c to 50b3fdf7ad7d (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/136497f1126c..50b3fdf7ad7d

Changed dependencies:
* vulkan-validation-layers: 5f61452b9c..adf933c0d3

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: I38a8c684ecd83072e8914c53dccc931a928f4861
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96081
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-13 10:10:30 +00:00
Zhaoming Jiang 9a32a720ac tint/writer/wgsl: Support for F16 type, constructor, and convertor
This patch make WGSL writer support emitting f16 types, f16 literals,
f16 constructor and convertor. Unittests are also implemented.

Bug: tint:1473, tint:1502
Change-Id: Id2a5eec54b95add330366cf141b36999e604a63b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95990
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2022-07-13 08:49:20 +00:00
Dawn Autoroller b108fb391e Roll ANGLE from 61e01483252d to a2f64b81dc2b (4 revisions)
61e0148325..a2f64b81dc

2022-07-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c119749eff1f to 4d09ee266d3c (17 revisions)
2022-07-12 ianelliott@google.com Extra buffer logging/checking on Android Cuttlefish
2022-07-12 syoussefi@chromium.org Vulkan: SPIR-V Gen: Apply Flat to gl_ViewID_OVR in FS
2022-07-12 cnorthrop@google.com D3D: Fix compile after CreateTemporaryFile changes

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: Id5bb6871f99e8360532377d34f8bed4179500856
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96060
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-13 01:53:00 +00:00
dawn-autoroll 746b307ed8 Roll vulkan-deps from c119749eff1f to 136497f1126c (18 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c119749eff1f..136497f1126c

Changed dependencies:
* glslang: b2d2c9dd3d..68c1880c09
* spirv-tools: 05de650371..faa8d6a653
* vulkan-headers: 2c823b7f27..9f73b931f4
* vulkan-loader: 26921924d6..4de4f256ab
* vulkan-tools: 1987cb2331..ffc961dbd7
* vulkan-validation-layers: c9ceaf94e8..5f61452b9c

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: I944de7924399f63ead4dae54c19c71621ebe97f8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96041
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-12 21:01:00 +00:00
Ben Clayton 51719ccc01 tint: Fix SPIR-V validation around interpolation decorations
SPIRV-Val has tightended up validation around input / output interpolation decorations.
This change ensures that the parser and writer do the right thing.

Change-Id: I29c97fdcc48c62aa77b106c42e64fbc54204d607
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96020
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-12 19:10:39 +00:00
Dawn Autoroller c2eee95827 Roll ANGLE from 056c6c7c2ba5 to 61e01483252d (4 revisions)
056c6c7c2b..61e0148325

2022-07-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from eb8af3adeed3 to 2b7014d6e622 (496 revisions)
2022-07-12 syoussefi@chromium.org Vulkan: SPIR-V Gen: Apply Flat to int inputs in FS
2022-07-11 gman@chromium.org Add Metal to the perf tests
2022-07-11 lexa.knyazev@gmail.com Caps: Check if ANGLE_texture_multisample is enabled

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: I2376f690e89d8da5bdfabffa02c6ab9b3d648c75
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95902
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-12 12:58:34 +00:00
Ben Clayton 7fe690b555 dawn/node: Fail tests where the process aborted abnormally.
If the process exits with a non-zero status (like crashing), then don't pretend the test passed.
This would only occur if the test result had already been printed.

Change-Id: I29e81362b6e09f1fca48c55b1798ba409e9a703e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95942
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-07-12 12:53:09 +00:00
Zhaoming Jiang 66d4f6e6fb tint/writer/spirv: Support for F16 type, constructor, and convertor
This patch make SPIRV writer support emitting f16 types, f16 literals,
f16 constructor and convertor. Unittests are also implemented.

Currently SPIRV writer will require 4 capabilities in generated SPIRV:
`Float16`, `UniformAndStorageBuffer16BitAccess`,
`StorageBuffer16BitAccess`, and `storageInputOutput16`.

Bug: tint:1473, tint:1502
Change-Id: Ia1af04f1f4a02bf1b1c2599a5d89791854eabc16
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95920
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2022-07-12 12:35:09 +00:00
Corentin Wallez edf650caad Roll third_party/abseil-cpp/ e44b3e77a..bc3ab2935 (1 commit)
e44b3e77a9..bc3ab29356

$ git log e44b3e77a..bc3ab2935 --date=short --no-merges --format='%ad %ae %s'
2022-07-11 cwallez absl: Also remove unprefixed annotations from CMake files

Created with:
  roll-dep third_party/abseil-cpp

Fixed: dawn:1483
Change-Id: Id70855824017a56b419c30765c8b21dc0f87a1fb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95945
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-12 09:55:29 +00:00
Austin Eng d4e3fcb4a1 Add Tint public/common configs to dawn_unittests
Fixes a breakage compiling dawn_unittests in a Chromium checkout.
These tests have started testing passing public Tint structs like
tint::sem::BindingPoint to Dawn internals.

Bug: dawn:1480
Change-Id: I41a30abbf73384c86b966223f5f689bd3339ce06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95986
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
2022-07-12 09:08:29 +00:00
Austin Eng f9518dfca2 Actually pass the instance descriptor in APICreateInstance
This argument was getting dropped, so the default descriptor was
always used.

Bug: chromium:1343047
Change-Id: I521e00a3c390ff193fcc18072a037c069e98c680
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95982
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-12 01:00:19 +00:00
Dawn Autoroller 9a480af593 Roll ANGLE from 659fb3c50e7c to 056c6c7c2ba5 (1 revision)
659fb3c50e..056c6c7c2b

2022-07-11 lexa.knyazev@gmail.com Metal: Skip invalidation of emulated formats

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: bclayton@google.com
Change-Id: I882394d9c5eb525f864dfcc679c9305e02538291
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95901
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-11 23:47:15 +00:00
Stephen Gutekanst 9514098b31 dawn/native/d3d12: improve constexpr compatability with clang
In Mach engine we compile Dawn's d3d12 backend using Zig as a C/C++
compiler, effectively clang with MinGW windows headers. Unfortunately,
this `static constexpr` fails to compile:

```
error: constexpr variable 'kD3D12PromotableReadOnlyStates' must be initialized by a constant expression
```

As kangz previously noted, the reason appears to be because `D3D12_RESOURCE_STATE_COPY_SOURCE`
is not `constexpr` [in MinGW headers](1de9cc347d/mingw-w64-headers/include/winnt.h (L682)).
The thought process is that making this just `const` is fine because
constant propagation would make it a constant anyway.

If we're comfortable merging this, it'd be one less change we have to
maintain on our side - and probably no impact otherwise. On the other
hand, I understand the most-correct fix would be in MinGW headers
themselves. I'd love to land this change, but it's no big deal if you
prefer not.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Change-Id: I772f1cb7e2b4f1b200820cd50f6b7df45850abbb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87381
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-11 20:12:48 +00:00
shrekshao a3f4a32022 Add clear alpha to one step to copy texture for browser
Bug: chromium:1331139
Change-Id: I69c31aea0320f302be686adf0167649a98db3414
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95682
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-07-11 18:11:14 +00:00
shrekshao c6cbcdb05b Add internal usage for copyTextureForBrowser
Add an internal usage option for copyTextureForBrowserOption
allowing internal calls from call to use canvas context
texture as source/destination.

Bug: chromium:1331139
Change-Id: Ida8421b3962a6434e8ef57c581c7a2e1d607954c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/94985
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Loko Kung <lokokung@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-07-11 18:11:14 +00:00
Corentin Wallez e629aee91a dawn::native: Check that ExternalTexture bindings are ExternalTextures
The code was checking the equivalence in one direction but not the
other, leading to a case where passing a TextureView instead of an
ExternalTexture passed validation and lead to crashes in the backends.

Bug: chromium:1343099
Change-Id: I428252796df375e7cf3a6df1a03192d65364e370
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95944
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-11 17:21:17 +00:00
Ben Clayton 8ce7183e68 tint: Remove public include of ast include
ast::PipelineStage is private API. Duplicate the enum for the inspector.
Change-Id: Ib79600d2ef86cc13f409c7c800f98ea42bb3ace4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95943
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2022-07-11 17:17:23 +00:00
Zhaoming Jiang a5988a3058 tint/writer/hlsl: Support for F16 type, constructor, and convertor
This patch make HLSL writer support emitting f16 types, f16 literals,
f16 constructor and convertor. Unittests are also implemented.

The HLSL writer will emit f16 literal as `float16_t(1.23h)`, making the
type explicit, and map f16 types as follow. The generated code require
DXC with SM6.0 or higher, and `-enable-16bit-types`.
WGSL type   -> HLSL type
f16         -> float16_t
vec2<f16>   -> vector<float16_t, 2>
vec3<f16>   -> vector<float16_t, 3>
vec4<f16>   -> vector<float16_t, 4>
mat2x2<f16> -> matrix<float16_t, 2, 2>
mat2x3<f16> -> matrix<float16_t, 2, 3>
mat2x4<f16> -> matrix<float16_t, 2, 4>
mat3x2<f16> -> matrix<float16_t, 3, 2>
mat3x3<f16> -> matrix<float16_t, 3, 3>
mat3x4<f16> -> matrix<float16_t, 3, 4>
mat4x2<f16> -> matrix<float16_t, 4, 2>
mat4x3<f16> -> matrix<float16_t, 4, 3>
mat4x4<f16> -> matrix<float16_t, 4, 4>

Bug: tint:1473, tint:1502
Change-Id: Iaf564f3ce29ace2984cef19d7df5a7dfb0fab2ef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95685
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-07-11 15:43:38 +00:00
Ben Clayton 94c6495ad2 dawn/node: Don't abort if the GPUDevice is not destroyed
Before being destructed.
If the Destroy() method is not called, then the lost_promise_ is not resolved or rejected, triggering an assertion.

Change-Id: I0a7c06674bc58d2e7c4df4229452bd2de27ca2b5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95941
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-07-11 13:33:48 +00:00
Ben Clayton 1604ae5b97 dawn/node: Work around NodeJS brokenness with printing long strings.
Attempting to print a long string can cause output to go missing.
Split long strings up into 4k chunks.

Change-Id: Ibcb07459bd8fb4a1a11b6f8db41c8378274a6d09
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95940
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-11 11:45:08 +00:00
Dawn Autoroller af13cc714b Roll ANGLE from adcc645392e2 to 659fb3c50e7c (1 revision)
adcc645392..659fb3c50e

2022-07-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 14abb4e33fdf to eb8af3adeed3 (542 revisions)

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: dsinclair@google.com
Change-Id: Iac5c5d8f72fe0aed829c000bc2470b5ef3246aac
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95900
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-11 09:33:58 +00:00
Zhaoming Jiang e9c5070348 tint/writer/msl: Support for F16 type, constructor, and convertor
This patch make MSL writer support emitting f16 types, f16 literals,
f16 constructor and convertor. Unittests are also implemented.

The MSL writer will emit f16 literal as `1.23h`, and map f16 types as
follow:
WGSL type   -> MSL type
f16         -> half
vec2<f16>   -> half2
vec3<f16>   -> half3
vec4<f16>   -> half4
mat2x2<f16> -> half2x2
mat2x3<f16> -> half2x3
mat2x4<f16> -> half2x4
mat3x2<f16> -> half3x2
mat3x3<f16> -> half3x3
mat3x4<f16> -> half3x4
mat4x2<f16> -> half4x2
mat4x3<f16> -> half4x3
mat4x4<f16> -> half4x4

Bug: tint:1473, tint:1502
Change-Id: Id91821e1a32d48c80bad9a0753faa5247835b0f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95686
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-07-11 03:03:11 +00:00
Zhaoming Jiang 0d3d3210d4 tint/writer/glsl: Support for F16 type, constructor, and convertor
This patch make GLSL writer support emitting f16 types, f16 literals,
f16 constructor and convertor. Unittests are also implemented, and
end-to-end testcases are updated for GLSL extension requirement.

The GLSL writer will require `GL_AMD_gpu_shader_half_float` extension if
f16 WGSL extension is enabled, emit f16 literal as `1.23hf`, and map f16
types as follow:
WGSL type   -> GLSL type
f16         -> float16_t
vec2<f16>   -> f16vec2
vec3<f16>   -> f16vec3
vec4<f16>   -> f16vec4
mat2x2<f16> -> f16mat2
mat2x3<f16> -> f16mat2x3
mat2x4<f16> -> f16mat2x4
mat3x2<f16> -> f16mat3x2
mat3x3<f16> -> f16mat3
mat3x4<f16> -> f16mat3x4
mat4x2<f16> -> f16mat4x2
mat4x3<f16> -> f16mat4x3
mat4x4<f16> -> f16mat4

Bug: tint:1473, tint:1502
Change-Id: I7e788f82be2873911961c891a644200c1cbb74db
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95684
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-07-11 03:02:28 +00:00
Yunchao He f580be6960 Add a test to detect texture corruption on D3D12
Textures with particular dimensions may corrupt on some devices for
copy and rendering. This change add a test to detect it.

Bug: dawn:949
Change-Id: Idcb346191c1c7beac4c5ff91464bd14d8eeba6f3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95680
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-08 22:35:05 +00:00
Austin Eng 1b4da5d28f Vulkan: Implement WGSL->SPIRV caching
Bug: dawn:1480
Change-Id: I77facc854ce9d5fe41c2332236113f266178470a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/94660
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2022-07-08 21:30:25 +00:00
Dawn Autoroller 6d41e60a77 Roll ANGLE from 94bbb40a42cd to adcc645392e2 (3 revisions)
94bbb40a42..adcc645392

2022-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 867b77cee987 to ef9a6635208b (14 revisions)
2022-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 1d6a1036bdb3 to 16e026a959f1 (1 revision)
2022-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 84d7af71045d to 14abb4e33fdf (505 revisions)

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: dsinclair@google.com
Change-Id: If2f9f0bc1f93deb557794efcdf90fbbeca8f2ad5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95880
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-08 21:22:55 +00:00
Zhaoming Jiang 9c71174f38 tint/resolver: Temporally ban f16 in buffer, pipeline IO and override
This patch make resolver reject using f16 types in uniform or storage
buffer, pipeline IO or overridable variable, since these are not
implemented yet. This can help prevent hitting invalid path in writers.

Bug: tint:1473, tint:1502
Change-Id: I5ea753e4254276a6d141d7012a6d0987423a61cf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95827
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Zhaoming Jiang <zhaoming.jiang@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2022-07-08 19:35:05 +00:00
Corentin Wallez 03d9835d14 Roll third_party/abseil-cpp/ 789af048b..e44b3e77a (88 commits; 1 trivial rolls)
789af048b3..e44b3e77a9

$ git log 789af048b..e44b3e77a --date=short --no-merges --format='%ad %ae %s'
2022-07-06 danilchap Roll abseil_revision 736458b555..4bbdb02689
2022-06-29 mbonadei Roll abseil_revision d2c5297a3c..736458b555
2022-06-23 ynovikov Update absl DEF files
2022-06-20 danilchap Roll abseil_revision 2e36d96669..d2c5297a3c
2022-06-16 wutao Revert "Reland "Roll src/buildtools/third_party/libc++/trunk/ b1269813e..1a637088a (287 commits)""
2022-06-16 zafzal Reland "Roll src/buildtools/third_party/libc++/trunk/ b1269813e..1a637088a (287 commits)"
2022-06-16 ayzhao Revert "Roll src/buildtools/third_party/libc++/trunk/ b1269813e..1a637088a (287 commits)"
2022-06-15 mbonadei Roll abseil_revision 2617970857..2e36d96669
2022-06-10 mbonadei Roll abseil_revision 1963f10ae5..2617970857
2022-05-26 ayzhao Reland "Roll src/buildtools/third_party/libc++/trunk/ 79a2e924d..b1269813e (1399 commits)"
2022-05-25 danilchap Roll abseil_revision 9df63a8bea..1963f10ae5
2022-05-18 mbonadei Roll abseil_revision 5073947530..9df63a8bea
2022-05-16 ayzhao Update gRPC version to 2022-05-12
2022-05-16 aeubanks Re-add "-Xclang -no-opaque-pointers"
2022-05-16 ynovikov Fix abseil .def files after turning on opaque pointers in clang
2022-05-11 danilchap Roll abseil_revision 8d9cef25c7..5073947530
2022-05-05 danilchap Rerun .def generation for abseil roll
2022-05-04 mbonadei Roll abseil_revision 731689ffc2..8d9cef25c7
2022-05-03 avi Remove base::in_place and base::in_place_type_t
2022-04-26 danilchap Roll abseil_revision 6f43f5bb39..731689ffc2
2022-04-22 aeubanks Reland Roll clang llvmorg-15-init-7570-gba4537b2-1 : llvmorg-15-init-7980-g4ffd0b6f-2
2022-04-14 thakis Reland "Roll clang llvmorg-15-init-7040-g50de659a-3 : llvmorg-15-init-7570-gba4537b2-1"
2022-04-14 ortuno Revert "Roll clang llvmorg-15-init-7040-g50de659a-3 : llvmorg-15-init-7570-gba4537b2-1"
2022-04-14 findit-for-me Revert "Roll abseil_revision 6f43f5bb39..ac1398a629"
2022-04-14 thakis Roll clang llvmorg-15-init-7040-g50de659a-3 : llvmorg-15-init-7570-gba4537b2-1
2022-04-13 danilchap Roll abseil_revision 6f43f5bb39..ac1398a629
2022-04-06 mbonadei Roll abseil_revision 3204cc0625..6f43f5bb39
2022-03-30 danilchap Roll abseil_revision f3489c9ca6..3204cc0625
2022-03-23 mbonadei Roll abseil_revision 231c393a17..f3489c9ca6
2022-03-16 danilchap Roll abseil_revision c5a424a2a2..231c393a17
2022-03-09 mbonadei Roll abseil_revision 5e4ea1ce09..c5a424a2a2
2022-03-07 hans Roll clang llvmorg-15-init-1995-g5bec1ea7-4 : llvmorg-15-init-3540-g85c53c70-1
2022-03-02 danilchap Roll abseil_revision 7f850b3167..5e4ea1ce09
2022-02-23 mbonadei Roll abseil_revision c2ef703338..7f850b3167
2022-02-21 mbonadei Re-enable hash_test.
2022-02-16 danilchap Roll abseil_revision 73316fc3c5..c2ef703338
2022-02-16 danilchap Add absl::Cleanup to absl component
2022-02-09 mbonadei Roll abseil_revision 5202173ca7..73316fc3c5
2022-02-02 danilchap Roll abseil_revision e3fdd9b16a..5202173ca7
2022-01-31 sdefresne Convert use of deprecated macro
2022-01-27 mbonadei Reland "Roll abseil_revision c59e7e59f5..e3fdd9b16a"
2022-01-26 findit-for-me Revert "Roll abseil_revision c59e7e59f5..e3fdd9b16a"
2022-01-26 hans Roll clang llvmorg-14-init-12719-gc4b45eeb-5 : llvmorg-14-init-17086-g38e16e1c-2
2022-01-26 mbonadei Roll abseil_revision c59e7e59f5..e3fdd9b16a
2022-01-19 danilchap Roll abseil_revision 2a042b082c..c59e7e59f5
2022-01-18 avi Rename c++11.md
2022-01-17 leszeks Revert "Roll clang llvmorg-14-init-12719-gc4b45eeb-3 : llvmorg-14-init-14241-ged3a4a49-1"
2022-01-12 mbonadei Roll abseil_revision c498947f8c..2a042b082c
2022-01-11 thakis Roll clang llvmorg-14-init-12719-gc4b45eeb-3 : llvmorg-14-init-14241-ged3a4a49-1
2022-01-05 danilchap Roll abseil_revision 04610889a9..c498947f8c
2022-01-04 mbonadei Roll abseil_revision f523d0dd69..04610889a9
2021-12-21 danilchap Roll abseil_revision 1065514ef3..f523d0dd69
2021-12-21 mingcl Update gRPC, its gn template, plugin registry and absl_component_deps
2021-12-18 thakis Roll clang llvmorg-14-init-12246-g7787a8f1-2 : llvmorg-14-init-12719-gc4b45eeb-1
2021-12-15 mbonadei Roll abseil_revision 9336be04a2..1065514ef3
2021-12-11 mbonadei Add missing dependency
2021-12-08 danilchap Roll abseil_revision 3e1983c5c0..9336be04a2
2021-12-02 ynovikov Update abseil-cpp DEF files after clang roll
2021-12-01 mbonadei Roll abseil_revision ec0d76f1d0..3e1983c5c0
2021-11-26 thakis Build with -std=c++17 on Windows.
2021-11-25 johannkoenig Revert "Build with -std=c++17 on some platforms"
2021-11-25 thakis Build with -std=c++17 on some platforms
2021-11-24 danilchap Roll abseil_revision 9b924cedb6..ec0d76f1d0
2021-11-17 mbonadei Roll abseil_revision 39f46faa69..9b924cedb6
2021-11-13 pbos Rename "base/macros.h" => "base/ignore_result.h"
2021-11-10 danilchap Roll abseil_revision 3b22e57740..39f46faa69
2021-11-09 sdefresne [ios] Remove support for building with Xcode clang
2021-11-04 mbonadei Reland "Roll abseil_revision f70eadadd7..3b22e57740"
2021-11-03 avi Revert "Roll abseil_revision f70eadadd7..3b22e57740"
2021-11-03 mbonadei Roll abseil_revision f70eadadd7..3b22e57740
2021-11-03 thakis win: Remove a few /wd flags
2021-11-03 mingcl Add absl/strings:cord to absl_component_deps
2021-10-27 danilchap Roll abseil_revision a2f52e1177..f70eadadd7
2021-10-20 mbonadei Roll abseil_revision d6f40f4e1f..a2f52e1177
2021-10-14 danilchap Remove Karl from abseil-in-chromium owners
2021-10-13 danilchap Roll abseil_revision b9b925341f..d6f40f4e1f
2021-10-08 dcheng [absl] Explicitly use hardened versions of various absl classes.
2021-10-06 mbonadei Roll abseil_revision 7143e49e74..b9b925341f
2021-09-29 danilchap Roll abseil_revision 1ce4ceca2b..7143e49e74
2021-09-27 mbonadei Revert "absl: Suppress -Wunused-value for files including internal/flag.h"
2021-09-24 mbonadei Roll abseil_revision de71511109..1ce4ceca2b
2021-09-23 thakis absl: Suppress -Wunused-value for files including internal/flag.h
2021-09-22 mbonadei Roll abseil_revision b2dc72c17a..de71511109
2021-09-20 danilchap Patch BUILD.bazel file to exclude legacy annotations headers
2021-09-15 joenotcharles Replace c++11.html with c++11.md.
2021-09-15 danilchap Roll abseil_revision 8c800bb08d..b2dc72c17a
2021-09-08 mbonadei Roll abseil_revision 637722af3a..8c800bb08d

Created with:
  roll-dep third_party/abseil-cpp

Bug: dawn:1484

Change-Id: I35253ac55d0dd6a3d87406a92637f7feb7dd1e6b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95843
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-08 17:04:15 +00:00
Shrek Shao e1d0aa9f92 Inline memory transfer service offset bound update
Offset > 0 is already implicitly included in this if statement
(when `offset == 0` then `size > mDataLength` could safely assert it's invalid).
So we could remove it and use `offset > mDataLength` instead of `>=`.

Bug: chromium:1340654
Change-Id: Ieafe1ea6bef5aae29bc6ef2bd9702d6f7a92d8b5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95820
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2022-07-08 14:42:24 +00:00
Ben Clayton 2777cbc441 tools/cts: Fix go unit tests
Got broken with https://dawn-review.googlesource.com/c/dawn/+/95841.

Change-Id: I75e0996dfb453ffa66dd580252a7f6fbcf8e46a7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95845
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
2022-07-08 14:23:15 +00:00
Ben Clayton be88e62c0f tools/cts: Treat 'Skip' results as 'Pass'
Change-Id: I2548c2449e535cff1f6907a9f2e892037038aa02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95841
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-07-08 12:33:46 +00:00
Ben Clayton d31838aff1 tint: Fix x86 build
Change-Id: Idb2002dd59cf12e49f75af6174e08258b4331137
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95840
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-08 12:17:34 +00:00
Dawn Autoroller 2468978f0b Roll ANGLE from 929a3752077e to 94bbb40a42cd (5 revisions)
929a375207..94bbb40a42

2022-07-08 lexa.knyazev@gmail.com GL: Enable pack skip emulation on all Apple drivers
2022-07-07 cclao@google.com Vulkan: Remove VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
2022-07-07 lexa.knyazev@gmail.com D3D9: Implement float sources for Image9::copyFromRTInternal
2022-07-07 lexa.knyazev@gmail.com Clamp viewport dimensions on store
2022-07-07 mark@lunarg.com Extend labelObject functionality

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: dsinclair@google.com
Change-Id: Ifeef973ad4684cacab02dd747d7414d49c4ec73e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95801
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-08 08:26:34 +00:00
Dawn Autoroller 342931ae08 Roll ANGLE from afcca86c6da3 to 929a3752077e (4 revisions)
afcca86c6d..929a375207

2022-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 7987bda077c8 to 1d6a1036bdb3 (2 revisions)
2022-07-07 lexa.knyazev@gmail.com Expose EXT_compressed_ETC1_RGB8_sub_texture on Metal and GL
2022-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 34e0281e9664 to c119749eff1f (5 revisions)
2022-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 0820cef93768 to 84d7af71045d (436 revisions)

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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: dsinclair@google.com
Change-Id: If1ffff157e37e7775e5dbda017240292017e0d3c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95800
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-07 18:53:21 +00:00
Ben Clayton 63e6f820d8 tint/resolver: Evaluate const-expr swizzles
Bug: chromium:1341475
Change-Id: I2ac44824b08c460df759a96d0ba96f6045b60f74
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95765
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-07 17:49:02 +00:00
Ben Clayton d5f53ab580 tint/resolver: Optimize constant evaluation methods
Materialize() was re-evaluating the constant values for the incoming
semantic expression, despite this already being evaluated. Just use the
sem::Expression::ConstantValue().

resolver.cc already has all the semantic pointers, so pass them in
instead of pointlessly hitting the ast -> sem map.

Change-Id: If2bc7cd10f79079fb811e9d83c5150dd3c0c244c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95764
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-07 17:30:11 +00:00
Ben Clayton 51265542e9 tint/sem: Remove TypeMappings for derived expressions
Any AST expression may map to a sem::Materialize, so the inferred
mapping is bug-prone (the implicit sem type may mismatch and Get() may
return nullptr).

Change-Id: I34485a4a067635df930a407316fae8b2e9628c3d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95763
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-07 17:15:01 +00:00
Ben Clayton b6c8ea9624 tint/resolver: Fix calling of builtins at module-scope
No builtins are implemented as `@const` yet, but validation handles this already.

Bug: chromium:1341472
Change-Id: Id85893345299ba3414e2d15b85dd071c326f481d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95762
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-07 17:04:21 +00:00
Ben Clayton 89bdea0f77 tint/resolver: Fix null-deref
Materialize() can return nullptr, if there's an error.
Check the returned pointer for nullptr, before continuing on to using the pointer.

Bug: chromium:1341313
Change-Id: Ib7c9e593fbf2bb4374305c341c2b04e34e7487e9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95761
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-07 16:56:21 +00:00
Ben Clayton 808f616762 gn: Add empty ubsan ignore list
Required to build Dawn with GN flag `is_ubsan = true`

Change-Id: I80b49b81377f0a9c8bd2c1310e12786427947c38
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/95760
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-07-07 16:34:01 +00:00