Commit Graph

9723 Commits

Author SHA1 Message Date
Dawn Autoroller be6e28140b Roll ANGLE from 7d6f3d94e3a8 to c2aaeadb9deb (6 revisions)
7d6f3d94e3..c2aaeadb9d

2022-07-22 lfy@google.com Vulkan: Skip nonexistent attachments when calculating samples
2022-07-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9d88fd8904e8 to d2f8d8516036 (510 revisions)
2022-07-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 692df061716d to cb1dc55bc044 (1 revision)
2022-07-22 chris@rive.app Suppress the early_fragment_tests PLS test on Pixel 6
2022-07-22 romanl@google.com Validate that skipped tests are skipped by suite.
2022-07-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 5cb0a31b27bf to f00ffae9c319 (7 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 kainino@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: kainino@google.com
Change-Id: I0e266a30b224cd4f3a00c3c6fe107b2b270b19d5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/97040
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-22 21:31:46 +00:00
Ben Clayton 98f18d2789 tools/cts: Generate test list as part of roll
Also parallelize some of the more lengthy file generation steps

Bug: dawn:1479
Change-Id: I7674fca4958e4d9948e287008916c4b0d33e1ca1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/97022
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-22 19:52:36 +00:00
Ben Clayton 7d34de88f1 tint/test-runner: Split expectations for FXC and DXC
Change tint's `--fxc` flag to take the path of the FXC compiler DLL.
Have tint attempt to validate with both FXC and DXC if `--validate` is
passed.

Fix the 'dirsWithNoPassExpectations' logic which looks like it got
broken with the tint -> dawn merge. It also incorrectly applied
filepath.FromSlash() on windows.

Change-Id: I0f46aa5c21bc48a2abc48402c41f846aff4a8633
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96800
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-07-22 17:43:27 +00:00
dawn-autoroll 0778d9a48f Roll vulkan-deps from f00ffae9c319 to e005480ea611 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f00ffae9c319..e005480ea611

Changed dependencies:
* spirv-cross: d8d051381f..c24d5a7b90

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 kainino@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: kainino@google.com
Change-Id: I103a3a3adb732b1329a2dd47ed1ae811bac3f6d2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96981
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-22 16:50:06 +00:00
dan sinclair a089376daf Context aware address space parsing.
This Cl remoevs the address space names from the keyword list and
makes their parsing context dependant. The mechanism in the parser
is the same, we just change to looking for an `ident` in
`expect_address_space`.

`storage_buffer` is kept for now, this keeps the functionality the same.

Bug: tint:1621
Change-Id: I928a5472d8ac194b2bef2da56a224e9f4abb65a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96905
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-07-22 16:09:55 +00:00
dan sinclair 87254ff58e Update error messages to say initializer
The spec talks about initializers for `var`, `const` and `let`
constructs. The parser was emitting `constructor`. This CL updates
the terminology to match the spec in order to make searching for
answers easier.

Bug: tint:1600
Change-Id: Ic135856ba9afbfd2580b648d8f2e402059bac8be
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96906
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
2022-07-22 16:08:35 +00:00
dan sinclair 05288f6cff Rename paren_rhs_stmt to paren_expression.
This CL renames paren_rhs_stmt to match the new spec name of
paren_expression.

Bug: tint:891
Change-Id: I040137d8264916ce2fecce90edad97f622be354d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96940
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-22 16:07:36 +00:00
dan sinclair 256f1116b8 Add transform to substitute overrides with const expressions.
This CL adds a SubstituteOverride transform which will convert
an `override` into a `const`. The transform is provided a map of
(string, double) which matches what the WebGPU API accepts as
data for overrides.

Bug: tint:1582
Change-Id: I6e6bf51b98ce4d4746f8de55128666c36735e585
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96760
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-22 16:05:06 +00:00
Yuly Novikov 9ec7893ad4 Follow up on Roll third_party/webgpu-cts/ a41bc407a..72e3a2249
1. Restore Optiplex 7080 Linux in the suppressions removed in
   https://dawn-review.googlesource.com/c/dawn/+/96880
2. Generalize depth_clip_clamp suppressions, since other combinations
   fail on Intel UHD 630 bot, see:
https://luci-milo.appspot.com/ui/p/chromium/builders/ci/Dawn%20Linux%20x64%20Release%20(Intel%20UHD%20630)/764/overview

Change-Id: Ia88d2c9903180db7c5ce7d6b366cfc6e6b2135d0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/97000
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2022-07-22 15:55:56 +00:00
Dawn Autoroller d5030ad463 Roll ANGLE from 115d83618e1a to 7d6f3d94e3a8 (8 revisions)
115d83618e..7d6f3d94e3

2022-07-22 lfy@google.com glValidateProgramPipelines: Skip draw state error check
2022-07-22 romanl@google.com Remove a few cases that are skipped by end2end.
2022-07-21 chris@rive.app Use "readwrite" PLS images when possible
2022-07-21 chris@rive.app Automatically enable early_fragment_tests when PLS is declared
2022-07-21 chris@rive.app Add support for PLS as function arguments
2022-07-21 romanl@google.com Ignore tests skipped by the suite.
2022-07-21 yuxinhu@google.com Vulkan: Disable Multisample Framebuffer Fetch
2022-07-21 penghuang@chromium.org Add angle_enable_share_context_lock build flag

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 kainino@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: kainino@google.com
Change-Id: Ic3185e95199d2bd4af2576c80db3b6b9d116c8ec
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96960
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-22 08:11:55 +00:00
dawn-autoroll 541603da05 Roll vulkan-deps from 5cb0a31b27bf to f00ffae9c319 (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5cb0a31b27bf..f00ffae9c319

Changed dependencies:
* vulkan-loader: a13608020f..fe3ea8d5f7
* vulkan-tools: 8b603f8d06..cd379e6992
* vulkan-validation-layers: 52aadfabb5..bbff1dc594

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 kainino@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: kainino@google.com
Change-Id: Ie1dee4afcb8542abbd2dff46ac7030b684249602
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96941
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-22 02:52:15 +00:00
Kai Ninomiya 5f5bd214f7 Roll third_party/webgpu-cts/ a41bc407a..72e3a2249 (15 commits)
Update:
 - expectations.txt
 - ts_sources.txt
 - resource_files.txt
 - webtest .html files


a41bc407a8..72e3a22491
 - 72e3a2 Expand map_detach test for buffer should detach on device.destroy (#1699)
 - d5e662 Enhance val:render_pass_descriptor:depth_stencil_attachment_depth_clear_value (#1674)
 - 12b775 Implement val:CopyExternalImageToTexture,destination_texture,dimension (#1695)
 - 2834ce Add an out-of-range check to the ranges test in writeBuffer.spec.ts (#1663)
 - bee493 Implement val:queue:writeTexture:usage (#1675)
 - ea0057 Add GPURenderPassDescriptor.maxDrawCount test plan (#1614)
 - d30940 Generate full range of `atan2` cases (#1679)
 - 5b9641 Correct the order of params in atan2 message (#1677)
 - 228c28 Implement f32 `degrees` tests (#1668)
 - 4786c2 Remove obsolete f32 testing infrastructure (#1665)
 - 8e1167 Add f32 tests for `pow` (#1658)
 - aa0719 Make `render_pass_descriptor:resolveTarget,usage` test a valid case together (#1660)
 - 6dfee4 Submit all shader batches before checking for results
 - bbd744 Convert `ldexp` tests to use interval framework (#1659)
 - 9d3043 Update f32 tests to handle returning undefined for infinity (#1655)

Created with './tools/run cts roll'

Change-Id: Ibdf6a28ea84e2115103c9c9637b3e648a62b8364
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96880
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-22 01:13:15 +00:00
Ben Clayton af47388345 tint/resolver: Optimize node marking
Use the new utils::Bitset to replace the much slower unordered_map.

Bug: tint:1613
Change-Id: I80503d2b897f754408c4ce14a221210d6abc18f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96403
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: dan sinclair <dsinclair@google.com>
2022-07-21 23:46:15 +00:00
Ben Clayton e43034bef2 tint/utils: Add Bitset.
A compact, dynamically sized, vector of bits.

Bug: tint:1613
Change-Id: Ida10d1bdedad48dd4c2ab7908732f328b4b96055
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96544
Reviewed-by: dan sinclair <dsinclair@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2022-07-21 23:32:24 +00:00
Antonio Maiorano 6863be0487 tint: Fix TINT_SYMBOL_STORE_DEBUG_NAME
Change-Id: Id585354c5e3630d6921d74b58a6d602689be48ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96901
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-21 22:06:05 +00:00
Zhaoming Jiang 1e98a9ba4a tint: Normalizing type matcher's name in intrinsics.def
This patch normalize the abstract interger and abstract float type name
to `ia` and `fa` and the type matcher name to `fia_fiu32_f16` format in
intrinsics.def, and also rename `aiu32Dispatch` and `afi32f16Dispatch`
in resolver/const_eval.cc to `Dispatch_ia_iu32` and
`Dispatch_fia_fi32_f16`.

Bug: tint:1581
Change-Id: Ia48e150d6028e4a7b999f72e57508df369b3e2d7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96721
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2022-07-21 19:55:35 +00:00
Ben Clayton 3bc20e3786 tint/utils: Add utils::Vector
A small-object-optimized vector container.

Bug: tint:1613
Change-Id: I1c482027db4624d4a2fd00ddeec02cfd0bb9b27f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96281
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-21 19:34:05 +00:00
Dawn Autoroller 3fce08f298 Roll ANGLE from 992018c7bd18 to 115d83618e1a (4 revisions)
992018c7bd..115d83618e

2022-07-21 ynovikov@chromium.org Switch Linux Intel testing to UHD 630 GPU
2022-07-21 chris@rive.app Implement GLSL additions for ANGLE_shader_pixel_local_storage
2022-07-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c42337d9ef75 to 5cb0a31b27bf (10 revisions)
2022-07-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 16ae342caefb to 9d88fd8904e8 (515 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 kainino@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: kainino@google.com
Change-Id: Idbcdbb7a00f9cc83199a560bbf6f1f350ba81414
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96881
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-21 18:52:17 +00:00
Corentin Wallez a84b9119eb tint: Make the error message on `enable(f16)` more clear
Explicitly call out that enable directives don't take parenthesis
instead of saying "invalid extension name".

Bug: tint:1620
Change-Id: I124568fdee2fa5bddf1426bed52762a329bd5d9f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96686
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-21 15:53:55 +00:00
Ben Clayton 5716611bf0 tint/resolver: Materialize objects when indexed with non-const index
If an abstract-vector or abstract-matrix is indexed with a non-constant index expression, then the resulting value is non-constant, and so cannot be abstract.

In this situation the materialization cannot be done post-index, so materialization must happen on the object before indexing.

Bug: chromium:1345468
Change-Id: I9f29dc40301779a7ff8f173724374bd845a3a5b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96684
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-07-21 15:25:35 +00:00
dawn-autoroll fef38d3b47 Roll vulkan-deps from 0aecd4794a03 to 5cb0a31b27bf (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/0aecd4794a03..5cb0a31b27bf

Changed dependencies:
* vulkan-headers: 16847a6100..87d2aa9d77
* vulkan-validation-layers: 081e14d462..52aadfabb5

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 kainino@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: kainino@google.com
Change-Id: Ia48d7a5d6ccfb19dd22fa4b174c7577ed2cf26f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96840
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-21 13:55:14 +00:00
Dawn Autoroller e57e0897c4 Roll ANGLE from 84bfb6cef4d3 to 992018c7bd18 (2 revisions)
84bfb6cef4..992018c7bd

2022-07-20 romanl@google.com Suppress VUID-VkGraphicsPipelineCreateInfo-pStages-06896.
2022-07-20 ynovikov@chromium.org Skip TracePerfTest vulkan_car_chase on Linux 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 kainino@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: kainino@google.com
Change-Id: I320d12475d4f54398f3d79f35de46dc2c745563a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96740
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-21 05:55:54 +00:00
dawn-autoroll 8ec9f19658 Roll vulkan-deps from 9b27c067cd6f to 0aecd4794a03 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/9b27c067cd6f..0aecd4794a03

Changed dependencies:
* spirv-tools: 60615b8ec6..e4cfa190df
* vulkan-validation-layers: 9c37a01524..081e14d462

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 kainino@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: kainino@google.com
Change-Id: I887b6d900a282c501499c867123b40b1e48a12f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96720
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-21 00:15:44 +00:00
Antonio Maiorano 3b8b9699d6 tint: Implement const eval of unary minus
Bug: tint:1581
Change-Id: I228e8d083229fabfe8a4c0876160d673502e10a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96422
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-20 18:00:35 +00:00
Dawn Autoroller f0a52d8f20 Roll ANGLE from fc97b2da2c29 to 84bfb6cef4d3 (1 revision)
fc97b2da2c..84bfb6cef4

2022-07-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 806fa2d991d9 to 16ae342caefb (283 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 kainino@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: kainino@google.com
Change-Id: I176d9c10c6ac0c571569cbe5df42e85934bd2193
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96700
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-20 16:53:55 +00:00
Corentin Wallez 256e026f64 dawn: Add Device::CreateErrorTexture(desc)
This will be used by Blink to create error textures with correct
reflection information exposed to JavaScript.

Bug: chromium:1345736
Change-Id: I0bc3a72d602c1bb57dc76e90f4883951f86ef428
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96681
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
2022-07-20 16:07:44 +00:00
Alastair F. Donaldson eb02cd3301 Regex fuzzer: replace function calls with builtins
Replaces random identifiers used as function names in calls with the
names of builtin functions.

Fixes: tint:1617.
Change-Id: I4e70276c9023bcb35b860c98fca6a95dc284f60a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96580
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2022-07-20 16:05:14 +00:00
Alastair F. Donaldson ca21fa019f Update dictionary for fuzzing
Updates the dictionary that will be used by libFuzzer fuzzer targets
to reflect the latest developments in WGSL.

Bug: None
Change-Id: I9f9915f14289b15fcc04829d463e90bb96948880
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96685
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
2022-07-20 16:04:44 +00:00
dan sinclair 46c32d882d Early out Is checks.
This CL adds a check to the `Is` castable methods to determine if the
target type is `final`. If the type being compared too is `final` we
bail out early in the walk up the hierarchy as it won't be a parent
class.

Change-Id: Ieba4dd686e47207a3db0cf3a8ea46fbc1a8d1c91
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96600
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2022-07-20 15:53:14 +00:00
Corentin Wallez 633cdf41cc tint/resolver: Make the F16 ban error message show a single SC.
The error message mentioned "'uniform' or 'storage'" and will need to be
updated to also mention 'push_constant' in follow-up commits. Instead
make the error messages show only the storage class of the variable.

Bug: tint:1620
Change-Id: I266a948f8a8fb70d57031d15306a5e82400e4c75
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96683
Reviewed-by: dan sinclair <dsinclair@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-07-20 14:15:54 +00:00
dawn-autoroll dbf3f4c8c2 Roll vulkan-deps from 80e1128410d5 to 9b27c067cd6f (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/80e1128410d5..9b27c067cd6f

Changed dependencies:
* vulkan-validation-layers: cb13f0fd8e..9c37a01524

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 kainino@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: kainino@google.com
Change-Id: I40fac6695eda521d387902373879aebfcb77fb9c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96641
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-20 11:13:45 +00:00
Brandon Jones 81768c131f Validate that depth clear values are between 0, 1
Fixes missing validation exposed by the addition of
https://github.com/gpuweb/cts/pull/1640 to the CTS.

Change-Id: Ib51124603a6fcec973eeab9ac1ed989add209c9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96481
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-20 04:18:35 +00:00
Dawn Autoroller 6bb4e1aeff Roll ANGLE from 45e5cf014778 to fc97b2da2c29 (9 revisions)
45e5cf0147..fc97b2da2c

2022-07-20 lfy@google.com Vulkan: Always use depth<=256 AHB image siblings
2022-07-19 lfy@google.com Vulkan: account for yuvCscStandard in switch validation
2022-07-19 lfy@google.com Vulkan: Support GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
2022-07-19 lfy@google.com Vulkan: __samplerExternal2DY2YEXT-aware ProgramExecutableVk
2022-07-19 lfy@google.com Vulkan: __samplerExternal2DY2YEXT-aware TextureVk
2022-07-19 cclao@google.com Vulkan: Destroy descriptorSet cache when BufferHelper destroyed
2022-07-19 cclao@google.com Vulkan: Destroy descriptorSet cache when BufferBlock destroyed
2022-07-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a1cfdbdf4c3b to 806fa2d991d9 (256 revisions)
2022-07-19 cclao@google.com Vulkan: Split suballocation out into it's own file

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 kainino@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: kainino@google.com
Change-Id: I0ecbcf3f92f53272a4cfdb34ea51ade8dc62f04f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96561
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-20 04:01:34 +00:00
Jiawei Shao 44b0a5e9a3 D3D12: Don't set D3D12_CLEAR_VALUE on depth textures on Gen12 GPUs
This patch adds a workaround for Intel Gen12 GPUs that we don't set
D3D12_CLEAR_VALUE when creating a texture with any DXGI depth formats
(DXGI_FORMAT_D16_UNORM, DXGI_FORMAT_D32_FLOAT,
DXGI_FORMAT_D24_UNORM_S8_UINT, DXGI_FORMAT_D32_FLOAT_S8X24_UINT)
because on these GPUs the texture data may be corrupted after several
call of ClearDepthStencilView() if D3D12_CLEAR_VALUE is set in the
call of CreatePlacedResource() or CreateCommittedResource().

Bug: dawn:1487
Test: dawn_end2end_tests
Change-Id: Id44af0f6fe31773820f5e20d05edd275dd921e53
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96482
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2022-07-20 02:28:34 +00:00
Yan,Shaobo aea3154e46 CopyTextureForBrowser supports RGBA16Float as source texture format
Source canvas format could be RGBA16Float so expand CopyTextureForBrowser
source texture format to support it.

Bug: dawn:856
Change-Id: I35d072ef3b7f58b96ae50a24e135b344ef7eb9b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96483
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-07-20 00:06:13 +00:00
dawn-autoroll 26cdbe3bda Roll vulkan-deps from c42337d9ef75 to 80e1128410d5 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c42337d9ef75..80e1128410d5

Changed dependencies:
* spirv-tools: 93ebf698a0..60615b8ec6
* vulkan-validation-layers: eb67f9bbef..cb13f0fd8e

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 kainino@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: kainino@google.com
Change-Id: I610a79ca587ce97d88c8d2faad4426996b8df92f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96620
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-19 21:27:23 +00:00
Alastair F. Donaldson e4df87fd01 Regex fuzzer: Add break and continue statements
Adds a break and continue statements to randomly-chosen loops. Also
overhauls support for adding return statements to functions.

Fixes: tint:1125.
Change-Id: Ib1a82b49e3fbb0b5520c725c8b8459d68383bed2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96543
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-19 16:59:33 +00:00
Alastair F. Donaldson 84f7830874 Regex fuzzer: replace operators
A mutation that replaces operators in a WGSL-like string at random.

Fixes: tint:1092.

Change-Id: I912825365f338266d34a1bffb5c8a96cecaba179
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96404
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2022-07-19 15:55:43 +00:00
Dawn Autoroller 7bcf410d0b Roll ANGLE from 062788fa6be1 to 45e5cf014778 (46 revisions)
062788fa6b..45e5cf0147

2022-07-19 lubosz.sarnecki@collabora.com Vulkan: Implement ASTC emulation.
2022-07-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b22fee44bf09 to c42337d9ef75 (4 revisions)
2022-07-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 14dcb8bf5432 to a1cfdbdf4c3b (455 revisions)
2022-07-19 gert.wollny@collabora.com Capture/Replay: drop context capture call in EGL capture templ
2022-07-19 syoussefi@chromium.org Vulkan: Only modify input attachment images for FF MSAA fix up
2022-07-19 syoussefi@chromium.org Vulkan: Clean up garbage of last completed submission too
2022-07-18 syoussefi@chromium.org Translator: Remove early fragment tests transformation
2022-07-18 eddiehatfield@google.com Remove platform skips for cookie_run and real_cricket
2022-07-18 syoussefi@chromium.org Vulkan: Fix image arguments passed to functions in GLSL
2022-07-18 romanl@google.com Roll VK-GL-CTS from ef9a6635208b to 692df061716d (12 revisions)
2022-07-18 eddiehatfield@google.com Add new prerequisite type for GL_ENUM integers
2022-07-18 ynovikov@chromium.org Suppress SYNC-HAZARD-WRITE_AFTER_READ in vulkan_car_chase
2022-07-18 eddiehatfield@google.com Remove python version check in presubmit
2022-07-18 romanl@google.com Minor fixes: typos, links.
2022-07-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3204c0c798d3 to b22fee44bf09 (5 revisions)
2022-07-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d19b3e76906e to 14dcb8bf5432 (534 revisions)
2022-07-18 kpiddington@apple.com Metal: texture allocation failures handled incorrectly
2022-07-16 abdolrashidi@google.com Skip mutable texture upload tests through feature
2022-07-15 chris@rive.app Add a GL_ANGLE_shader_pixel_local_storage extension
2022-07-15 syoussefi@chromium.org Vulkan: Fix double clear of AHBs
2022-07-15 penghuang@chromium.org Inline all metal command buffer decoder methods
2022-07-15 ynovikov@chromium.org Return EXIT_FAILURE from run_perf_tests.py if any test failed
2022-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 07a6dec37162 to 3204c0c798d3 (8 revisions)
2022-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3840fb1fefb2 to d19b3e76906e (447 revisions)
2022-07-15 syoussefi@chromium.org Remove suppression for passing dEQP tests
2022-07-15 abdolrashidi@google.com Disable mutable texture upload on Win/Intel devs
2022-07-15 b.schade@samsung.com Fix linkValidateTransformFeedback for glLinkProgram
2022-07-15 qyearsley@chromium.org Update version of lucicfg for angle repo and regen config
2022-07-14 cclao@google.com Vulkan: Destroy descriptorSet cache when shader image is destroyed
2022-07-14 cclao@google.com Vulkan: Move DescriptorSet cache to DynamicDescriptorPool
2022-07-14 syoussefi@chromium.org Vulkan: Only apply MSAA FF fix up if executable has FF
2022-07-14 kpiddington@apple.com Metal fails to compile uniform blocks in ternary statements
2022-07-14 ynovikov@chromium.org Skip EGLBufferAgeTest.QueryBufferAge on Linux Intel Vulkan
2022-07-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f224faaabcd0 to 3840fb1fefb2 (566 revisions)
2022-07-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 50b3fdf7ad7d to 07a6dec37162 (2 revisions)
2022-07-14 gert.wollny@collabora.com Capture/Replay: Handle the case when there is no context
2022-07-14 romanl@google.com Propagate device type in ReuseUnterminatedDisplay.
2022-07-14 romanl@google.com Fix test dependency on EGL initialization elsewhere.
2022-07-14 abdolrashidi@google.com Reland "Vulkan: Flush texture updates more often"
2022-07-13 ynovikov@chromium.org Add MB config for linux-exp-test
2022-07-13 yuxinhu@google.com Vulkan: Multisample Framebuffer Fetch
2022-07-13 m.maiya@samsung.com Cleanup invalid EGL handles only if app called eglTermiate
2022-07-13 lexa.knyazev@gmail.com GL: Add emulateCopyTexImage2D workaround
2022-07-13 ynovikov@chromium.org Add Linux Intel experimental standalone bot
2022-07-13 constantine.shablya@collabora.com Implement GL_NV_read_depth_stencil
2022-07-13 romanl@google.com Revert "Spawn via vpython when old module detected."

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 kainino@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: kainino@google.com
Change-Id: Ia58c55034f52a261ce2ed36930c8b44120fbefef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96560
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-19 15:06:33 +00:00
Ben Clayton 056f97a9e5 tint: Add a benchmark for atan2 const eval
And increase the test runner timeout from 30s to 2min.
FXC really doesn't like this shader, however I expect this to be
made much faster once constant evaluation for atan2 is implemented.

Change-Id: Id8a8ba97b5a99a2f94633a0732300a35ba6dc1c3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96401
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-19 14:50:33 +00:00
Corentin Wallez 73a5a716b5 Clarify that dawn/common:internal_config doesn't leak out of Dawn.
Fixed: dawn:1491
Change-Id: I6b1560d9918762b935800eb13c7bccae970724cd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96542
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-19 12:49:03 +00:00
Alastair F. Donaldson 853cbadc8f Clean regex fuzzer API
Introduces a class to clearly identify the interface of the mutation
functions used during regex-based fuzzing.

Bug: None

Change-Id: Ia6d125227cffc1c0b8944764c4e21825fd31d5cd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96360
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Alastair Donaldson <allydonaldson@googlemail.com>
2022-07-19 09:31:33 +00:00
dawn-autoroll 1cfe319290 Roll vulkan-deps from 85028786f204 to c42337d9ef75 (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/85028786f204..c42337d9ef75

Changed dependencies:
* vulkan-validation-layers: ee10f70120..eb67f9bbef

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 kainino@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: kainino@google.com
Change-Id: I4cb2f30f01339fafe6afe6642ec976ee9cfef4ef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96484
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-07-19 08:21:22 +00:00
Kai Ninomiya 574f61e892 Skip some tests on ANGLE
SwANGLE implemented GL_NV_read_depth_stencil but it isn't working for us
for some reason.

Bug: dawn:1497
Change-Id: I8c48ec4142169c89c33c6ea1dfc81d978c8962dd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96500
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2022-07-19 00:28:52 +00:00
Sunny Sachanandani 6cbe015429 d3d12: Fix fence signal race when no command lists are submitted
Signaling a fence in Dawn without waiting can cause a race between Dawn
and Chromium over who signals the fence. Since D3D12 fences are allowed
to be rewound this can cause future waits to hang indefinitely if Dawn
loses the race and signals a lower value than what Chromium expects.

The signal without wait case happens when Dawn submits no command lists
e.g. when CopyExternalImageToTexture uses a zero-sized dimension. This
is the reason for the test failures in https://crrev.com/c/3700811 e.g.
https://ci.chromium.org/ui/p/chromium/builders/try/dawn-win10-x64-deps-rel/24617/overview

To fix the race, it's sufficient to wait before signaling if not already
waited which is what this CL does. This CL also makes the fence stay
alive until pending signals are done - this wasn't the root cause of the
hang described above, but it's still a good idea for robustness, and
also recommended based on discussion around past Chromium XR fence use.

Bug: dawn:576
Change-Id: I8c1d1a19fdb022ae28d26f6723c2f2bfc9c1c3c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96321
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
2022-07-18 22:04:52 +00:00
Ben Clayton 4a92a3c904 tint: Optimize sem node lookup
Add a 'NodeID' to each ast::Node which is the sequentially allocated
index of the node. Use this in sem::Info to map the AST node to the
semantic node, instead of using a std::unordered_map.

Optimised very hot code by entirely eliminating map lookups, and
dramatically reducing cache misses (lookups are usually sequentually
ordered).

Timings running
'webgpu:shader,execution,expression,call,builtin,atan2:f32:inputSource="const";vectorize="_undef_"'
with dawn/node, using SwiftShader:

    Without change: 3.22647107s
    With change:    3.10578879s

Bug: tint:1613
Change-Id: I22ec48d933b2e5f9da04494bff4e979e6f7b1982
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96140
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-18 20:50:02 +00:00
Austin Eng 8d73198aca Remove depth-clamping and add depth-clip-control feature
Fixed: dawn:1178
Change-Id: I251a7e05fec9ecef44300d4f948b2d0611888109
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96320
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-07-18 20:38:05 +00:00
dawn-autoroll f6f3d496a8 Roll vulkan-deps from b22fee44bf09 to 85028786f204 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/b22fee44bf09..85028786f204

Changed dependencies:
* vulkan-validation-layers: e81f04ef6b..ee10f70120

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 kainino@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: kainino@google.com
Change-Id: Ia02209677ad34e3c14d8f981d25c97d7a6e763ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96420
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-18 18:34:53 +00:00
Ben Clayton 70f7a1ee51 tint: Optimization: Avoid dynamic cast in TINT_ASSERT
We don't need / want to consider whether the node in the map is of
the SemanticNodeTypeFor type.

Change-Id: Ia0deb3f4e4624bf47e2155fea05f91547d747310
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96144
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-07-18 17:03:32 +00:00
Ben Clayton b71bcdd45e tint: Optimization: Pre-allocate the ast -> sem map.
Change-Id: I674fe31786b08153509b470d14844d50cb7c3d9c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96143
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-18 16:47:32 +00:00