Commit Graph

10870 Commits

Author SHA1 Message Date
Corentin Wallez c17b4f9b69 node: Throw a TypeError for unsupported GPUQueryTypes
The WebGPU spec requires this so that an extension not being enabled or
not implemented by the browser both behave the same.

Bug: None
Change-Id: I52d991ba63438068d4adaf1391771336186a402a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112422
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-12-05 13:54:44 +00:00
Corentin Wallez 0d6b1fc45f node: Implement support for depth-clip-control
Bug: None
Change-Id: If62e2963917b1f2a94e415ce2c4c22b14317779a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112601
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-05 12:04:16 +00:00
Corentin Wallez e2cdafbf8a node: Throw a TypeError for unsupported GPUTextureFormats
The WebGPU spec requires this so that an extension not being enabled or
not implemented by the browser both behave the same.

Bug: None
Change-Id: Iba449c1f67d266aa53b924501577d646cd944f55
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112421
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-12-05 11:50:49 +00:00
Dawn Autoroller 027bf02278 Roll ANGLE from b36e337e8d94 to 3269998c712e (1 revision)
b36e337e8d..3269998c71

2022-12-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 5d807d6fc7dd to bdfdd7d2b008 (315 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: Ida2d4a1b10d5ecc5655028fe12db4c8a7ad059ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112780
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-12-05 09:48:27 +00:00
Dawn Autoroller 1e1834a4ce Roll SwiftShader from 33b63f98a30d to e6a3153888f0 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/33b63f98a30d..e6a3153888f0

2022-12-02 capn@google.com Use helper function for SPIR-V explicit layout storage classes

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-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 SwiftShader: https://bugs.chromium.org/p/swiftshader/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: I301f90c198a578a74ebad38d46555fa1d4ce6981
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112761
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-12-03 12:17:33 +00:00
Dawn Autoroller d26656292b Roll ANGLE from b432c84c2b8c to b36e337e8d94 (12 revisions)
b432c84c2b..b36e337e8d

2022-12-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 366b354bb4e3 to 5d807d6fc7dd (318 revisions)
2022-12-02 jmadill@chromium.org Fixes for Vulkan secondaries build.
2022-12-02 syoussefi@chromium.org Vulkan: Remove fixed VVL errors
2022-12-02 cnorthrop@google.com Capture/Replay: Add ResourcesToDelete
2022-12-02 cclao@google.com Vulkan: Add two tests for per context queue serial work
2022-12-02 abdolrashidi@google.com Vulkan: Add memory allocation log support in debug
2022-12-02 syoussefi@chromium.org GLES1: Use less precision for color and tex coords
2022-12-02 cclao@google.com Vulkan: Let each current context has its own QueueSerial.
2022-12-02 syoussefi@chromium.org Vulkan: Fix -Wbitfield-enum-conversion
2022-12-02 cnorthrop@google.com Android: Remove smhasher license
2022-12-02 ianelliott@google.com Android: set android:allowBackup="false" in manifset
2022-12-02 jmadill@chromium.org Build and test ANGLE with Vulkan secondary CBs.

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: I7bc60700362ac46329c7deca2c7794856fea5fbe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112740
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-03 05:17:49 +00:00
dawn-autoroll 6f70e3f096 Roll vulkan-deps from d800a9330101 to 63dc6101459e (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/d800a9330101..63dc6101459e

Changed dependencies:
* vulkan-loader: 5035e37bf6..82d4232f0f
* vulkan-validation-layers: d50f0ee365..d5824670d4

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 dsinclair@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: dsinclair@google.com
Change-Id: I31e04ef908d216f852becfed9c6b3a01c9047f30
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112702
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-03 04:50:53 +00:00
Dawn Autoroller bf80d24eb9 Roll SwiftShader from 72c25a855bb3 to 33b63f98a30d (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/72c25a855bb3..33b63f98a30d

2022-12-02 sugoi@google.com Add memory allocation checks

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-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 SwiftShader: https://bugs.chromium.org/p/swiftshader/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: Ie4bf88c7e032fbe6e06dd498f0feb2e397f49f51
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112681
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-12-02 23:10:24 +00:00
Zhaoming Jiang f42d92a1d5 Tint: Refactor transform VertexPulling and its unit tests
This CL prepare transform VertexPulling and its unit tests for
implementing f16 pipeline io. This CL distinguishes vertex format type
and WGSL variable type of a vertex shader attribute (location input) in
VertexPuilling transform as both `f32` and `f16` WGSL types would be
mapepd to float vertex format. This CL splits VertexPulling unit tests
by base veretx format (SInt, UInt and Float), make it easier to add
`f16` tests.

Bugs: tint:1473, tint:1502
Change-Id: I649deb61e8eb8dac6ebd653bf77ef96475334a56
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112520
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-02 18:11:57 +00:00
Dawn Autoroller 3c33cf15e3 Roll ANGLE from 4eed6b9b7827 to b432c84c2b8c (5 revisions)
4eed6b9b78..b432c84c2b

2022-12-02 gert.wollny@collabora.com Capture/Replay: Fix collecting the initialized contexts
2022-12-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 076a539c2991 to 366b354bb4e3 (53 revisions)
2022-12-02 solti@google.com Revert "Vulkan: Enable async pipeline cache sync by default"
2022-12-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 42032d061a0a to 076a539c2991 (1718 revisions)
2022-12-02 m.maiya@samsung.com Reset thread context during threadCleanup

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: I28aa5be0b25487d12b02350b7057e2876fc22b32
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112680
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-12-02 16:18:47 +00:00
dawn-autoroll da3f1e395c Roll vulkan-deps from e05101aa3095 to d800a9330101 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/e05101aa3095..d800a9330101

Changed dependencies:
* vulkan-validation-layers: 0855e59b13..d50f0ee365

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 dsinclair@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: dsinclair@google.com
Change-Id: Iabd075964c7aa2aaf0e31dd2c09c93e38b468398
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112700
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-12-02 15:44:56 +00:00
Corentin Wallez 06749f92b2 node: add support for GPUErrorFilter.Internal
Bug: None
Change-Id: Icb36b8a3d207d068185494580358f438f8332c65
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112420
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-12-02 15:36:17 +00:00
Corentin Wallez 63a67a7218 node: Support sparse vertex buffer layouts
Bug: dawn:1000
Change-Id: I616369acdf5c9d883da8d0da292aa1b3f4a77250
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112021
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-12-02 15:35:14 +00:00
Corentin Wallez 89b2e10eac node: Implement Compute/RenderPassTimestampWrites
Bug: dawn:1250
Change-Id: Iccd9123b3af7347d7586b998df5b11ab15608bb1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112424
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2022-12-02 15:33:51 +00:00
Antonio Maiorano 42ada5f248 tint: const eval of binary right shift
Bug: tint:1581
Change-Id: I3f40454559c4fc36565de1a11a6e6c8c394fd0cc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112620
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-12-02 15:25:20 +00:00
Ben Clayton 7423496da6 tint/transform: Fix NPE in ZeroInitWorkgroupMemory.
If an array uses an override expression, then we'd raise an error, but then attempt to dereference a nullptr.

Bug: chromium:1392853
Change-Id: Ib1d538bc491923b628b32f2398f8b2ace24c3bc3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112561
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-12-02 13:49:57 +00:00
Corentin Wallez 25c0bdf2a9 node: Add support for GPURenderPassDescriptor.maxDrawCount
Bug: None
Change-Id: I5e2ff510ceaa09becf0f5f760d0d0f7bc1d0cb49
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112423
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-02 12:06:35 +00:00
dan sinclair 15e7f94b76 Remove ArrayCount helpers.
This CL removes the helpers in sem::Array to determine the type of
ArrayCount. Instead the `Is` and `As` functions from Castable are used
at the call sites.

Bug: tint:1718
Change-Id: Ie666bfbfca6bb1be8ead613266a7221d88f7a76d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112442
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-12-02 02:59:44 +00:00
dawn-autoroll a5d3d16b1d Roll vulkan-deps from 3d89f6ee5534 to e05101aa3095 (8 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/3d89f6ee5534..e05101aa3095

Changed dependencies:
* spirv-headers: 1ebdaf0858..1d31a10040
* vulkan-headers: b092b2fccc..2826791bed
* vulkan-loader: 3c25bbc5fa..5035e37bf6
* vulkan-tools: 6361ae332c..b17374498f
* vulkan-validation-layers: e6dd47ed9e..0855e59b13

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 dsinclair@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: dsinclair@google.com
Change-Id: I7a475c46bc5e2fb3b8324ee18048e31597172b86
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112621
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-02 02:40:51 +00:00
Dawn Autoroller f5e7df5b63 Roll ANGLE from 8ee1b89fc5c5 to 4eed6b9b7827 (11 revisions)
8ee1b89fc5..4eed6b9b78

2022-12-02 cnorthrop@google.com ubsan: Ignore errors from SwiftShader
2022-12-01 chris@rive.app Workaround for AMD [[raster_order_group()]] bug
2022-12-01 pasko@chromium.org android: Remove uncompress_shared_libraries
2022-12-01 capn@google.com Include volk.h from a relative location
2022-12-01 capn@google.com Move trace_event into anglebase
2022-12-01 capn@google.com Move the anglebase folder up a level
2022-12-01 ynovikov@chromium.org Add ANGLE experimental bots for Win Intel
2022-12-01 cnorthrop@google.com ubsan: Ignore alignment errors
2022-12-01 capn@google.com Use string_view to compute custom string hash
2022-12-01 capn@google.com Include xxhash.h from a relative location
2022-12-01 jmadill@chromium.org Remove trace tests from win-intel.

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: I4c9cb96bcb93c3082430427a1af2c7c75526a1ec
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112660
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-12-02 02:28:52 +00:00
dan sinclair 4b1d79e292 Moved sem::ArrayCount to an inherited structure
This CL moves the ArrayCount from a variant to use inheritance. This
will allow the sem to have different array count classes from the IR.
The ArrayCounts, similar to types, are unique across the code base and
are provided by the TypeManager.

Bug: tint:1718
Change-Id: Ib9c7c9df881e7a34cc3def2ff29571f536d66244
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112441
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-01 23:45:18 +00:00
shrekshao 71e6bcf1af Update validation for pass encoding beginRenderPass/beginComputePass
Make validation for pass encoding aligned to spec, where
descriptor validation failure will make pass invalid and stop
immediately instead of defer to CommandEncoder::Finish()

Bug: dawn:1602
Change-Id: I7892009e31f7565e4da43c38d365b056c9ecc22f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112448
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2022-12-01 22:23:47 +00:00
dan sinclair 847cfa07c5 Move allocator into TypeManager
Currently the TypeManger is a UniqueAllocator. This works as long as the
TypeManager only manages one specific thing. In order to support
ArrayCount, which is type related, but not a type, the TypeManager will
need to be able to store two types of things.

This CL changes the TypeManager to contain a UniqueAllocator and proxies
the needed Get, Find and iteration methods to that allocator. This will
allow another allocator to be added for ArrayCount later.

Bug: tint:1718
Change-Id: I0f952eb5c3ef90a7c85dead14d11b657dceba951
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112640
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-01 21:42:47 +00:00
dan sinclair 2939c4531e Fix stack-overflow in `lhs_expression`.
Currently when parsing `*` and `&` we recursively call into ourselves to
process the tokens. This can cause stack issues if there are an
excessive number of `*`s and `&`s.

This Cl changes `lhs_expression` to generate a list of UnaryOps to be
applied and does not recursively call `lhs_expression`.

Bug: chromium:1394972
Change-Id: I40caee05c9b7f71abb776d375cbf995c6a1fd36f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112580
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-01 20:39:33 +00:00
Ben Clayton 6992f51ebd tint: Add DirectVariableAccess transform
Enables the 'chromium_experimental_full_ptr_parameters' extension to
allow passing of uniform, storage and workgroup  address-spaced
pointers as parameters, as well as pointers into sub-objects.

Bug: tint:1758
Change-Id: I8c85e6104ef4f2b9a177dec2857b1bf7f5148212
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/103860
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2022-12-01 18:49:09 +00:00
Ben Clayton d257e28792 tint: Don't override alignment with @offset
Overriding the alignment to 1 would cause nested structures to be
incorrectly laid out. The fix: Don't override the alignment.

All struct layout validation works on the sem offsets, so none of this
has to change.

Bug: tint:1776
Change-Id: Ic01d45fb2790cd823ed9a55e336860ebdc351aea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112603
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-12-01 18:41:57 +00:00
Ben Clayton efb17b0254 tint/writer/wgsl: Print @offset attributes as comment
We use WGSL to visualize the AST. Make sure we don't hide anything.

Bug: tint:1776
Change-Id: Iedd7ca797fb745d9db7d0aba8a5718039241afbb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112602
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
2022-12-01 17:37:56 +00:00
dan sinclair f745e4e2bf Add Source to sem::Struct
This CL adds a Source to the sem::Struct. The uses of
struct->Declaration()->source now use the source stored directly on the
struct.

Bug: tint:1718
Change-Id: I860c67764f85d98b3f655247e18f93fa0fef9436
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112447
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-12-01 16:25:25 +00:00
Ben Clayton 8954189545 tint_common_fuzzer: Don't attempt to use an invalid program
validate_program was not returning 0 for invalid programs that did not contain diagnostics with a severity greater than error.
This lead to broken behavior in logic that used the program.

Bug: chromium:1392853
Change-Id: Id860e266cfe24ade955edf4f2f2a9c26c2e117fa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112560
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-12-01 15:34:55 +00:00
dan sinclair 527e38b68b [sem] Move TransitivelyReferencedOverrides to sem::Info.
This CL pulls the TransitivelyReferencedOverrides from sem::Array and
sem::GlobalVariable up to the sem::Info.

Moving this data outside of sem::Array removes one of the references to
non-Type sem content.

Bug: tint:1718
Change-Id: I40c1c8b2d5ec60dc2723b56cc30cd436e9b7e997
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112324
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-12-01 15:33:43 +00:00
dan sinclair 331a3b7980 Add Source to sem::StructMember
This CL adds a Source to the sem::StructMember. The uses of
member->Declaration()->source now use the source stored directly on the
struct member.

Bug: tint:1718
Change-Id: Ic97053dd3e0080f128ee411857512920d3940858
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112446
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-01 15:08:21 +00:00
dan sinclair c5b1b5c77a Access struct member name through sem.
This CL changes the uses of Declaration()->symbol for struct members in
the sem to access the `Name` directly.

Bug: tint:1718
Change-Id: I3050147b97bea66d6c283e176a7152f36eb2b25f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112444
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-12-01 14:52:33 +00:00
Ben Clayton d5d207ba9f tint: Add builtin type aliases (vec3f, etc)
Fixed: tint:1772
Change-Id: I4bed36ded91ca5288875ed6ea819ff4bbb432186
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112340
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2022-12-01 13:41:56 +00:00
dawn-autoroll 5798f2d021 Roll vulkan-deps from af77d06fcb68 to 3d89f6ee5534 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/af77d06fcb68..3d89f6ee5534

Changed dependencies:
* vulkan-tools: 0a122e62b8..6361ae332c
* vulkan-validation-layers: 73c5cbe4d2..e6dd47ed9e

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 dsinclair@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: dsinclair@google.com
Change-Id: I0dc4ac85e298d10b17a384263666548d556e3534
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112522
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-01 13:41:50 +00:00
Dawn Autoroller 54860f4432 Roll ANGLE from db67df60f8c8 to 8ee1b89fc5c5 (3 revisions)
db67df60f8..8ee1b89fc5

2022-12-01 chris@rive.app Refactor pixel local storage options
2022-12-01 chris@rive.app Implement pixel local storage with metal::read_write textures
2022-12-01 syoussefi@chromium.org Translator: Support SSO's built-in redeclaration

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: I34d4c60425fe51c6df4979f50bed25e36902acdd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112521
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-12-01 13:26:19 +00:00
Corentin Wallez cf8513d4e5 Roll third_party/gpuweb/ 3c4734b09..0f5fc665a (381 commits)
And update dawn/node accordingly.

3c4734b09c...0f5fc665a0

$ git log 3c4734b09..0f5fc665a --date=short --no-merges --format='%ad %ae %s'
2022-11-25 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@6b7d8f4947 🚀
2022-11-24 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7eea224a85 🚀
2022-11-23 dneto Deploying to gh-pages from @ gpuweb/gpuweb@c11820e695 🚀
2022-11-23 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@162e04d0c0 🚀
2022-11-22 dneto Deploying to gh-pages from @ gpuweb/gpuweb@58a9410e38 🚀
2022-11-22 dneto Deploying to gh-pages from @ gpuweb/gpuweb@9fa1932d13 🚀
2022-11-22 dneto Deploying to gh-pages from @ gpuweb/gpuweb@39f2321f54 🚀
2022-11-21 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@cc0fc37636 🚀
2022-11-18 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@684c5104ce 🚀
2022-11-18 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@6049e8fc99 🚀
2022-11-17 dneto Deploying to gh-pages from @ gpuweb/gpuweb@0812694055 🚀
2022-11-17 dneto Deploying to gh-pages from @ gpuweb/gpuweb@9b65623938 🚀
2022-11-17 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@30e78fb154 🚀
2022-11-16 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@8b9da345bd 🚀
2022-11-16 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@113555271f 🚀
2022-11-13 dneto Deploying to gh-pages from @ gpuweb/gpuweb@9c39cc1f0e 🚀
2022-11-11 dneto Deploying to gh-pages from @ gpuweb/gpuweb@a3d767aff4 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@576b7c97c7 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@f2fadab356 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@a291e74d7e 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@0f69fcba15 🚀
2022-11-09 jdashg Deploying to gh-pages from @ gpuweb/gpuweb@f02d667d59 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@0fdebc2886 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@44164a2c63 🚀
2022-11-07 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@a5cebd5772 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@c322a6fed4 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7ef39cfc0e 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@572fc32a83 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@4bb872ac55 🚀
2022-11-02 dneto Deploying to gh-pages from @ gpuweb/gpuweb@98f851baa4 🚀
2022-11-02 dneto Deploying to gh-pages from @ gpuweb/gpuweb@5c6f648919 🚀
2022-11-02 dneto Deploying to gh-pages from @ gpuweb/gpuweb@bf1d73a036 🚀
2022-11-01 dneto Deploying to gh-pages from @ gpuweb/gpuweb@2371712042 🚀
2022-11-01 dneto Deploying to gh-pages from @ gpuweb/gpuweb@acdc5b3e83 🚀
2022-11-01 dneto Deploying to gh-pages from @ gpuweb/gpuweb@8304c57556 🚀
2022-10-27 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@27c5c15c84 🚀
2022-10-26 corentin Deploying to gh-pages from @ gpuweb/gpuweb@4048adbfb3 🚀
2022-10-26 shaobo.yan Deploying to gh-pages from @ gpuweb/gpuweb@b85a821e2f 🚀
2022-10-18 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@63a7a24e4d 🚀
2022-10-18 dneto Deploying to gh-pages from @ gpuweb/gpuweb@6678c9478d 🚀
2022-10-18 dneto Deploying to gh-pages from @ gpuweb/gpuweb@b56d95976d 🚀
2022-10-18 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@44cf3bf01c 🚀
2022-10-17 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@1e332763cd 🚀
2022-10-14 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@49eae687bf 🚀
2022-10-14 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@d7402a1367 🚀
2022-10-13 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@d2ef870027 🚀
2022-10-12 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@db76cc3158 🚀
2022-10-11 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@823a357986 🚀
2022-10-11 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7857eee214 🚀
2022-10-11 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@6f93d67391 🚀
(...)
2022-06-14 jimb Correct '/' to '.' in 'derive render targets layout from pipeline'. (#3041)
2022-06-14 corentin Deploying to gh-pages from @ gpuweb/gpuweb@d47a377c38 🚀
2022-06-14 dsinclair Combine section headers which define the same function (#3020)
2022-06-14 dsinclair Combine section headers which define the same function (#3020)
2022-06-14 dsinclair Combine section headers which define the same function (#3020)
2022-06-14 dneto Deploying to gh-pages from @ gpuweb/gpuweb@e37fc8f57a 🚀
2022-06-13 mehmetoguzderin Shorthand
2022-06-13 mehmetoguzderin Shorthand
2022-06-13 mehmetoguzderin Shorthand
2022-06-13 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@170f891c4b 🚀
2022-06-13 dneto Add WGSL strict LALR(1) check to CI (#3037)
2022-06-13 dneto Add WGSL strict LALR(1) check to CI (#3037)
2022-06-13 dneto Add WGSL strict LALR(1) check to CI (#3037)
2022-06-13 dneto Deploying to gh-pages from @ gpuweb/gpuweb@edca8002ab 🚀
2022-06-11 kainino editorial nit: specify units for limits where relevant
2022-06-11 kainino editorial nit: specify units for limits where relevant
2022-06-11 kainino editorial nit: specify units for limits where relevant
2022-06-11 tojiro Deploying to gh-pages from @ gpuweb/gpuweb@02dac6eb8a 🚀
2022-06-10 dneto Add WGSL grammar analyzer (#2754)
2022-06-10 dneto Add WGSL grammar analyzer (#2754)
2022-06-10 dneto Add WGSL grammar analyzer (#2754)
2022-06-10 dneto Deploying to gh-pages from @ gpuweb/gpuweb@5fec9c7776 🚀
2022-06-10 kainino fix typo comparison_sampler -> sampler_comparison
2022-06-10 kainino fix typo comparison_sampler -> sampler_comparison
2022-06-10 kainino fix typo comparison_sampler -> sampler_comparison
2022-06-10 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@d3faddafb9 🚀
2022-06-09 jiawei.shao Ensure the formats supporting multisampling must support rendering (#3018)
2022-06-09 jiawei.shao Ensure the formats supporting multisampling must support rendering (#3018)
2022-06-09 jiawei.shao Ensure the formats supporting multisampling must support rendering (#3018)
2022-06-09 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@6ab558611a 🚀
2022-06-08 dom Align phrasing of Firing an event with DOM (#3019)
2022-06-08 dom Align phrasing of Firing an event with DOM (#3019)
2022-06-08 dom Align phrasing of Firing an event with DOM (#3019)
2022-06-08 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@72ce3910cf 🚀
2022-06-08 dsinclair Move builtin names to section headers. (#3016)
2022-06-08 dsinclair Move builtin names to section headers. (#3016)
2022-06-08 dsinclair Move builtin names to section headers. (#3016)
2022-06-08 bclayton wgsl: Allow phony assignment of abstract numeric type
2022-06-08 bclayton wgsl: Allow phony assignment of abstract numeric type
2022-06-08 bclayton wgsl: Allow phony assignment of abstract numeric type
2022-06-08 bclayton Deploying to gh-pages from @ gpuweb/gpuweb@1cfd17eed1 🚀
2022-06-07 kainino Add maxColorAttachments missing from GPUSupportedLimits (#2985)
2022-06-07 kainino Add maxColorAttachments missing from GPUSupportedLimits (#2985)
2022-06-07 kainino Add maxColorAttachments missing from GPUSupportedLimits (#2985)
2022-06-07 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@356791fbc0 🚀
2022-06-07 kainino Support building multi-file specs with the Bikeshed API (#2856)
2022-06-07 kainino Support building multi-file specs with the Bikeshed API (#2856)
2022-06-07 kainino Support building multi-file specs with the Bikeshed API (#2856)
2022-06-07 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@22eae85031 🚀
2022-06-07 kainino Format internal slots consistently with IDL attributes (#3011)

Created with:
  roll-dep third_party/gpuweb

Change-Id: Iebc959cfe54e64c17e7d6175379dbd2cfe840986
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/111801
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-12-01 13:03:06 +00:00
Corentin Wallez 145643a542 Improve the error message of missing vertex buffers
It now shows at least one vertex buffer that wasn't set, which helped
debug another issue.

Bug: dawn:563
Change-Id: Ifd40611bc10b049780cb1239aeee3186a26bc0c9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112020
Reviewed-by: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-12-01 12:23:07 +00:00
Ben Clayton f62aec2dc8 tint: Add missing tests / benchmarks
For enums generated by intrinsic.def.

Change-Id: I1072248b31e2a365a558736f903d25f6e6184962
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112381
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-12-01 11:40:24 +00:00
Antonio Maiorano f1f6e6fbea tint: merge const eval shift left definitions
No need to define separate entries for concrete and abstract input.

Bug: tint:1581
Change-Id: I7a855d789b87b3856d5433684afec4e8bb59baf6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112440
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-12-01 10:38:51 +00:00
Li Hao 5f8b9d28bc Disable Vulkan backend on old Intel Windows driver version
Skip enabling Vulkan backend on Intel Windows driver version < 30.0.101.2111 due to many flaky issue.

Bug: chromium:1338622, dawn:1392
Change-Id: I6975783bdc18d8a94d6c35e134756e3713833a29
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105741
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2022-12-01 10:15:35 +00:00
Yan,Shaobo b663db0584 Skip external_texture,video:* tests due to incorrect expectation values
Current expectation values in external_texture,video:* is not correct.
CTS issue 2042 (https://github.com/gpuweb/cts/issues/2042) has been filed to fix it.
Skip these tests temporarily.

Bug: dawn:1082
Change-Id: Idaebe4f7e628a355adf6dd3db8f0ba2b35549e91
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112500
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-12-01 07:56:42 +00:00
dawn-autoroll 5f38d22aa2 Roll vulkan-deps from 3498758dacaa to af77d06fcb68 (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/3498758dacaa..af77d06fcb68

Changed dependencies:
* glslang: 728c689574..a7603c132d
* spirv-headers: c214f6f2d1..1ebdaf0858
* vulkan-validation-layers: af45e1ee44..73c5cbe4d2

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 dsinclair@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: dsinclair@google.com
Change-Id: I770d4ed067f78fcfd61f6463c9ad7593c5c1b48e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112480
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-01 00:42:52 +00:00
Zhaoming Jiang a54df5eca5 Tint: Fix extractBits polyfill
This CL fix the extractBits polyfill, used for D3D12 backend on windows.
With this patch the related CTS would get pass.

Fixed: tint:1775
Change-Id: I15636bb55af502fff773c19f03b4c3c9e99b63fd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112207
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-11-30 23:55:28 +00:00
Dawn Autoroller 2e30a374d7 Roll ANGLE from 90b4541cf7a5 to db67df60f8c8 (3 revisions)
90b4541cf7..db67df60f8

2022-11-30 chris@rive.app Metal texture cleanups
2022-11-30 syoussefi@chromium.org Vulkan: Turn CPU throttling into fail safe
2022-11-30 syoussefi@chromium.org Vulkan: Rework present semaphore recycling

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: If390c69e884d056b3dc2e6a47e0cc539090a12d4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112460
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-11-30 23:44:03 +00:00
Loko Kung b8dcd6b985 Fix condition for memory allocation to check for nullopt.
Bug: chromium:1394660
Change-Id: I54b395728c5a857fdcbff6a0f1c05c8db6051e5a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112443
Commit-Queue: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2022-11-30 22:35:09 +00:00
James Price ff70da9157 Include padding bytes in minBindingSize validation
The "minimum buffer binding size" for a buffer binding variable with
type `T` is `SizeOf(T)`, which includes trailing padding bytes for
structures.

Update several tests that were not creating large enough buffers. Add
a new test for validating the size of a buffer with a non-struct vec3
type, which should still be 12 bytes.

Fixed: tint:1377
Change-Id: Iddbc22c561a67b6aa6659d7ddf78b1b12b230930
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/111582
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2022-11-30 21:56:01 +00:00
Rafael Cintron 0d20b2b2b7 Destroy ResourceAllocationManager in d3d12::Device::DestroyImpl
Since the ZeroBuffer (4MB) is released in DestroyImpl, it sticks
around in the resource allocation manager, along with a large amount
of unneeded tracking data structures.

To further reduce memory consumption after developers Destroy, we now
delete the ResourceAllocationManager in DestroyImpl and ensure any
remaining objects go through the same shutdown path as normal usage.

Placed resources must be released before any heaps they reside in.

Bug: chromium:1377789
Change-Id: I7a0f6ad2fdcc60bfe5a51586c8a620f4862c38a5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/111601
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-11-30 21:40:59 +00:00
Brandon Jones 85ceb08d5c Add ExternalTexture Rotate and FlipY Functionality
Adds functionality to Dawn and Tint to rotate and flip-Y external
textures through the shader transform. Tests are included.

Bug: chromium:1316671
Change-Id: I40a6b67eaeb2a348f469e4879eeb585bc40537b2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/110181
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-11-30 21:32:26 +00:00
Ben Clayton 94706ecba7 tint: Add 'chromium_experimental_full_ptr_parameters' extension
Removes validation around pointer parameters.

Bug: tint:1758
Change-Id: I3adc48f780fc8c6f5525f9ecc280e2a406069b49
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112286
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-11-30 19:13:29 +00:00
dan sinclair 53f646c55c [ir] Split Binary from Instruction
This CL pulls a Binary instruction out of the Instruction class and
changes Instruction to just be the base class.

Bug: tint:1718
Change-Id: Iab234bd8c3eeebedb56dffff7ec7244cda51d4d5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/112320
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-11-30 16:36:46 +00:00