Commit Graph

12547 Commits

Author SHA1 Message Date
Luke Street f10e70a26d Vulkan: Allow non-opaque alpha 2023-05-27 14:55:57 -04:00
Luke Street cc359d7bbb OpenGL: Restore ContextExternal support 2023-05-27 14:55:14 -04:00
Luke Street 0bd776df12 Merge upstream & update dependencies 2023-05-27 11:38:11 -04:00
Dawn Autoroller 90afb11c4a Roll ANGLE from 4dcfd08c0784 to ff110417bb04 (6 revisions)
4dcfd08c07..ff110417bb

2023-05-26 romanl@google.com Vulkan: Emulate RGB32 uniform texel buffers when unsupported
2023-05-26 tao.wang.2261@gmail.com [riscv64][android] skip 2nd abi support for pure 64-bit android
2023-05-26 romanl@google.com Add supports_legacy_dithering feature
2023-05-26 penghuang@chromium.org Disable global share context lock for non-Android build
2023-05-26 syoussefi@chromium.org Translator: Remove the "variables" option
2023-05-26 geofflang@chromium.org D3D11: Also unbind DSVs when unbinding conflicting resources

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 angle-team+autoroll@google.com,shrekshao@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: dawn:1291
Tbr: shrekshao@google.com
Change-Id: I81130fb790039d3306ca68711987cf9b1ec04154
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134780
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>
2023-05-27 11:03:35 +00:00
Ben Clayton f75e5c07b0 [tint][utils] Abstract absl dependency
Move the use of absl::from_chars() in the WGSL parser into utils, behind
a new abstraction.

If we decide one day to drop the absl dependency, we can reimplement
this function. It also consolodates tint source_set dependencies on absl
to the common utils module.

No new tests as this is a thin wrapper around an existing
implementation, and the single use is already heavily tested for parsing.

Change-Id: I1ce5d68857e81299d1c97322b0ec28f0a83a31b7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134581
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-05-27 00:50:46 +00:00
Dawn Autoroller 8ba1ff7789 Roll ANGLE from 388a184dd781 to 4dcfd08c0784 (2 revisions)
388a184dd7..4dcfd08c07

2023-05-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from f7a3350256a6 to 356e6d2f8796 (9 revisions)
2023-05-26 jojwang@google.com Add third_party/clang-format/script to .gitignore.

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 angle-team+autoroll@google.com,shrekshao@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: shrekshao@google.com
Change-Id: I9832adecdf01a7d61abf6a37ec82ba90134c8aad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134720
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>
2023-05-26 21:35:24 +00:00
Ben Clayton ca0b9ef49e [tint][utils] Add more string helpers
Add utils::Split(), utils::Join() for splitting and joining strings with
delimiters.

Add options to SuggestAlternatives().

Add Quote() for surrounding a string with '.

Requires some include shuffling and minor tweaks to other utilities.

Change-Id: If75058e68cd986450fecc0b27bcc9a94c765a665
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134580
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
2023-05-26 21:20:36 +00:00
James Price 0b82a3ba15 [ir][spirv-writer] Implement loop instructions
We have to invent a header block and use that as the target for the
back-edge, and also make sure we always emit the continuing block with
a back-edge even when it is unreachable.

Bug: tint:1906
Change-Id: I1e66f5e7a54a01fbd7ac74865fa25d179a7ef5f5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134561
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 18:01:45 +00:00
Peng Huang a7207e9dcc d3d11: ignore backend debug layer warning from SetPrivateData()
User can create texture for external ID3D11Texture which may
already be set debug label with SetPrivateData() call. It will cause
debug layer warnings, so ignore it.

Bug: dawn:1705
Change-Id: I8090a64eb54275f338e5c0423941705a568560d1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134700
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-26 16:00:50 +00:00
Corentin Wallez 1b48cc0d6f Add more supported swapchain texture usages.
Adds the CopySrc and CopyDst usages to swapchain textures when
available in backends so that the wgpu::Texture returned from
GetCurrentTexture can be used in copies.

Also adds a swapchain tests to check that these usages indeed
work.

Bug: dawn:1551
Change-Id: I8495075b0bfb5b8dd953a7811a9d75a76096b143
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133464
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 15:48:12 +00:00
James Price bcf4174c06 [ir][spirv-writer] Emit builtin function calls
Add support for `abs()`, `max()`, and `min()`. Import the GLSL
extended instruction set the first time it is needed.

Move testing utilities from the binary tests into the base test helper
class, as they are more widely useful.

Bug: tint:1906
Change-Id: I5faa928b98c621afcca770cb14a8f9c06f36bcfe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134521
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-26 15:10:30 +00:00
James Price 2ee63ffc0c [ir] Emit initializer before var declaration
Otherwise for non-constant initializers the var instruction will
reference the result of an instruction that comes after it.

Bug: tint:1718
Change-Id: Ie8c6c900768277c344f1e1304b0812a546c889a6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134560
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-26 13:45:10 +00:00
dan sinclair 0202531159 [ir] Add a NextIteration instruction.
This CL adds a `NextIteration` instruction in order to branch from a
continue block back to the start of a loop. The `next_iteration` is
clearer then the `break-if false` pattern that was there previously.

BreakIf is retained and used when an `ast::BreakIf` is encountered as
it's clearer then the replaced `if` structure.

Bug: tint:1718
Change-Id: Ie6ce0db51c244866e2e99118bc00e4cfd2b3dc74
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134600
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-05-26 13:14:44 +00:00
dan sinclair bdbbffbdfb [ir] Add the Exit instructions.
This CL adds the ExitIf, ExitLoop and ExitSwitch instructions. The dump
to Dot has been removed as the graph is substantially different and it
needs a full re-write if we want to draw the graph.

Bug: tint:1718
Change-Id: I5ff4282abaa7542575d4f8b4b8640a3ed4d5c68f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134464
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-26 11:42:22 +00:00
dan sinclair e982520e70 [ir] Add BreakIf instruction.
This CL adds a BreakIf instruction to the IR to instruct a loop to
go break based on a condition or to iterate the loop.

Bug: tint:1718
Change-Id: I70e65736e59ae189ddb2ea9b05c4b084291314f0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134463
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 11:33:38 +00:00
Corentin Wallez 943a1a2d7a Add SwapChain::GetCurrentTexture
This is to eventually allow more using swapchain textures as CopySrc and
CopyDst. Note that this commit doesn't add any additional usages.

Because textures can reflect their creation parameters, swapchains now
need to pass in the correct texture descriptor in all code paths. This
requires additional handling in dawn::native error swapchains, and
dawn::wire::client's SwapChain reservation and Device::CreateSwapChain
code.

Tests are added for all of these code paths except
dawn::wire::client::Device::CreateSwapChain because there is no way to
create a Surface in wire tests at the moment (they don't have an
instance).

Bug: dawn:1551
Change-Id: I22d5e909e1e94d48eb52cae57aabff8a7f0c04c1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133463
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
2023-05-26 10:32:17 +00:00
Zhaoming Jiang 2ef42221d4 Dawn: Rename remaining DiscoverAdapters to DiscoverPhysicalDevices
This CL rename the remaining DiscoverAdapter names to
DiscoverPhysicalDevices.

Bug: dawn:1774
Change-Id: I417ef2d1e02c98a61bb48c3c7251a031380c9233
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134420
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2023-05-26 09:27:20 +00:00
Dawn Autoroller 52586334c2 Roll ANGLE from c121b0137b6a to 388a184dd781 (10 revisions)
c121b0137b..388a184dd7

2023-05-25 jojwang@google.com Fix clang_format -> clang-format path in DEPS.
2023-05-25 abdolrashidi@google.com Suppress AllocateVMAImageWhenDeviceOOM for AsyncCQ
2023-05-25 mark@lunarg.com Tests: Add Infinity Ops Trace
2023-05-25 syoussefi@chromium.org Translator: Fix SPIR-V translation without "variables" flag
2023-05-25 romanl@google.com android_helper sets return code to 1 when test json is missing
2023-05-25 kbr@chromium.org Reland "Metal: Optimized BufferSubData per device"
2023-05-25 yuxinhu@google.com Disable stencil write mask workaround on latest ARM
2023-05-25 lexa.knyazev@gmail.com Metal: Adjust iOS and macCatalyst caps
2023-05-25 romanl@google.com Skip honkai_star_rail on Intel/windows
2023-05-25 syoussefi@chromium.org Vulkan: Add the Sample decoration when sample shading

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 angle-team+autoroll@google.com,shrekshao@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: shrekshao@google.com
Change-Id: I4af0335fc6b7826df2e054b697560909240e9dc3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134544
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-26 07:36:50 +00:00
Austin Eng 478fa32358 Update expectations.txt with Android results
Bug: chromium:1363409
Change-Id: I6518bc7ced96f82b8130489d87c0bd8069972b92
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134342
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Kokoro: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 06:11:47 +00:00
Stephen White 0c7a99f894 Tint/GLSL: rename identifiers containing double-underscores.
This is prohibited by the GLSL ES spec:

"In addition, all identifiers containing two consecutive underscores (__) are reserved for use by underlying
software layers. Defining such a name in a shader does not itself result in an error, but may result in
unintended behaviors that stem from having multiple definitions of the same name."

(https://registry.khronos.org/OpenGL/specs/es/3.1/GLSL_ES_Specification_3.10.withchanges.pdf, section 3.7).

However, while glslang validation will not give an error on this, NVidia
ES drivers will. So I've added a Dawn end2end test instead of a WGSL test.

Bug: tint:1944
Change-Id: I4b965af00039ca7a232bc11be884483f8e02ccf6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134140
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 04:53:17 +00:00
dan sinclair 4957327cc9 [ir] Add explicit continue branches.
This CL adds a `Continue` instruction into the IR and uses it when
branching into the continue block.

Bug: tint:1718
Change-Id: If54afe6f53b587f1d8a99afd920b94ebdcb608e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134462
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-26 04:33:30 +00:00
dan sinclair 68a8b094d2 [ir] Add explicit Return instructions.
This Cl adds a `ret` instruction into the IR. The `FunctionTerminator`
block has been removed.

Bug: tint:1718
Change-Id: Ie5fcdbfa8983b4c960773494b0c58793bd9ef503
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134461
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-05-26 04:31:50 +00:00
Austin Eng ab6a9b9906 Skip dawn_end2end_tests on d3d11 NVIDIA
Suspect causing undefined behavior seen in crbug.com/1448982

The D3D11 backend is producing validation layers errors, so
that could be the root cause.

Bug: chromium:1448982, dawn:1847
Change-Id: I3fa943f6f9fb48f6cf05da0e571041e6d0c48bed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134542
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 03:18:14 +00:00
jchen10 7d6abb70b2 d3d11: enable NonzeroBufferCreationTests
Bug: dawn:1705
Change-Id: I5c6f77a9728fd47593716a1ce2ea69a8960178ef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133964
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-26 00:23:47 +00:00
Loko Kung 2d988ce095 Fixes incorrect path for clang-format.
Change-Id: I83aef1bdbff0ee8c36968295fdb8d7fa4654b3ff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134466
Kokoro: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Loko Kung <lokokung@google.com>
2023-05-25 23:28:34 +00:00
Loko Kung 6f5515a21e Adds missing includes for google3 roll.
Change-Id: Id99d168d3f127558179c7097af6575f07a260ed6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134465
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
2023-05-25 23:19:48 +00:00
Dawn Autoroller fd61f6244f Roll ANGLE from c18972fdef08 to c121b0137b6a (4 revisions)
c18972fdef..c121b0137b

2023-05-25 jojwang@google.com Change clang_format path in angle.
2023-05-25 geofflang@chromium.org GL: Check for VAO support before syncing from external ctxs
2023-05-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 25c584aa4cec to 354eac3ca8c8 (9 revisions)
2023-05-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 74f8527011e4 to c0f2c5cab1b4 (544 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 angle-team+autoroll@google.com,shrekshao@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: shrekshao@google.com
Change-Id: Ia7fb553dbb6adb625c717725410c7c93d29a8a7a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134540
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-25 18:18:50 +00:00
Corentin Wallez 06294ba012 Add wgpu::RenderBundle::SetLabel
It was missing on just this object (and adapter/instance but that's
expected).

Bug: None
Change-Id: I865609b8194c872c16ad5590eaf0461751a56eab
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134502
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-25 17:02:50 +00:00
Ben Clayton 986e7ccbe4 [tools] Consider today for gerrit-stats and snippets
When you do not specify the --before and --after flags, the tools should consider the window of [N-days-ago .. now].

'Before' is not inclusive, so push it forward 24 hours to include today.

Change-Id: I4c04bcb3c318a83091aeebacddd67e47170508ae
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134500
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-05-25 16:31:30 +00:00
Ben Clayton 409483d2f0 [tint][bench] Trim core benchmarks
perfmon is struggling with the number of benchmarks x CLs in flight.

Remove some of the less useful benchmarks.

Change-Id: Ib01432e990c437dbc5ef2445da23d4beaf087f68
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134501
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-05-25 16:26:37 +00:00
Austin Eng 6c5f683802 CTS expectations: support multiple test prefixes
For some reason Android uses a different test prefix

Bug: chromium:1363409
Change-Id: I6f43b2f35e440f26842779fff58e2e9e3d36bd87
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134346
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-05-25 16:04:51 +00:00
dan sinclair 32b6746cd9 [ir] Rename %fn to %b.
The FlowNode concept is gone, rename the symbol in the disassembly.

Bug: tint:1718
Change-Id: I8a7b5d8113a033592de5ca013cf8839330a7686c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134460
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-25 14:12:52 +00:00
dan sinclair 686d2e2d4d [ir] Restore losts tests.
When the `BuilderImpl` tests were split apart in 131581 these two files
accidentally got created in the wrong spot. This removed them from being
tested.

Add them back and update format to match current disassembly.

Bug: tint:1718
Change-Id: I9b248121a9f45862060d44f50a290344e1222874
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134440
Kokoro: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-25 14:00:55 +00:00
dan sinclair a2b489b900 [ir] Update UserCall to hold Function Values.
This CL updates the `UserCall` to hold a `Function` value instead of the
functions name symbol. The name symbol is also removed from the function
itself and stored into the module like all other values.

Bug: tint:1718
Change-Id: I6c94ce435a6a260f9fe953a04278129b35b3bd39
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134303
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-25 13:39:47 +00:00
Zhao Jiazhong 79fe4ab42f [loongarch] Cleanup deprecated built-in macro.
"_LOONGARCH_SIM" is a deprecated built-in macro, and should not be
used anymore.

Bug: chromium:1448745
Change-Id: Ie62efd55ea5ffb8b90fca6f04feb785e5d2c1794
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134401
Auto-Submit: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-25 10:37:04 +00:00
Ben Clayton ad22d567e5 [tint][bench]: Fix MSL benchmarks
These required binding point remapping so that the @group is always zero.

Also: Use a unique_ptr for the file in ProgramAndFile. Previously the diagnostics were referring to the std::moved file, causing segfaults if the benchmark program errors and printed diagnostics.
Change-Id: Id0e41665b97b3fc73a6cdd5848c5f505cd77e805
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134280
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-05-25 09:56:04 +00:00
dan sinclair 4b35f52f9b [ir] Remove IsConnected
This CL removes IsConnected as it isn't useful anymore.

Bug: tint:1718
Change-Id: I12b32879e87925e8a2faf0e48e9d23114a2aa484
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134304
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-25 04:57:51 +00:00
dan sinclair a00fe39f3e [ir] Remove FlowNode.
The `Block` is now the basis, there is no need for `FlowNode` anymore.

Bug: tint:1718
Change-Id: I4834c442e2b1dd24a708822fc04e68e88f13d7a5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134302
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-25 04:56:11 +00:00
Dawn Autoroller 9083f431b8 Roll ANGLE from 7e2336b1e85a to c18972fdef08 (9 revisions)
7e2336b1e8..c18972fdef

2023-05-24 mikes@lunarg.com Tests: Add Gangstar Vegas trace
2023-05-24 cclao@google.com Vulkan: Reduce CPU overhead for uniform buffer change
2023-05-24 cclao@google.com Vulkan: Move mWriteDescriptors out of DescriptorSetDescBuilder
2023-05-24 cclao@google.com Vulkan: Remove buffer/image tracking from DescriptorSetDescBuilder
2023-05-24 lexa.knyazev@gmail.com Compile ClampFragDepth on all backends
2023-05-24 geofflang@chromium.org Don't use system info collection in the GL backend on Android
2023-05-24 mark@lunarg.com Tests: Add Empires and Puzzles trace
2023-05-24 cnorthrop@google.com Tests: Add Kentucky Route Zero trace
2023-05-24 lexa.knyazev@gmail.com Vulkan: Limit clampFragDepth workaround to affected drivers

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 angle-team+autoroll@google.com,shrekshao@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: shrekshao@google.com
Change-Id: I1406587ac0e258e3b8de7eccfc1b1f0e85bdd6d9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134345
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-25 04:41:34 +00:00
Gregg Tavares 110358f2e6 Compat: Reject non-matching blend state / write mask
Bug: dawn:1839
Change-Id: I1284fb0c5b6a0d21603d9a9806d31e931b17b615
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134061
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
2023-05-25 04:37:12 +00:00
Jiawei Shao daffe42b6a Implement device.CreateErrorShaderModule()
This patch implements device.CreateErrorShaderModule() for Blink to
directly create an error shader module and insert validation and
compilation errors when anything wrong is detected.

Bug: dawn:1345
Test: dawn_unittests
Change-Id: I1415aaf0609febaff49c40ebbfedbbcefa2e5504
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134104
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-05-25 03:32:41 +00:00
James Price 0eb4d04d83 [ir][spirv-writer] Expand binary arithmetic tests
Use the parameterized test helper for binary expressions to more
comprehensively test scalar and vector values across different types.

Bug: tint:1906
Change-Id: I2be087d7889d0993125eb0e3f897acbdf56575b2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134323
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-25 03:24:19 +00:00
Zhaoming Jiang 6663a97b74 Dawn: Deprecate DiscoverAdapters with DiscoverPhysicalDevices
This CL deprecate Discover[Default]Adapters and replace them with
Discover[Default]PhysicalDevices. This help clearify the behavior of
discovering physical devices and requesting / getting adapters, and
prepare for adding adapter toggles in GetAdapters.

Related end-to-end tests AdapterDiscoveryTests are split into
PhysicalDeviceDiscoveryTests and AdapterCreationTests as well.

Bug: dawn:1774, dawn:1495
Change-Id: Iac3d9da3022e5eb3c6dd6b3e3b2224f523792289
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133968
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-25 02:42:27 +00:00
James Price dd7b314105 [ir][spirv-writer] Emit binary bitwise operators
Bug: tint:1906
Change-Id: Ica8436cd59aabe521df0445edc5a9f03c45cd1bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134322
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-25 01:29:41 +00:00
James Price 59339216a1 [ir][spirv-writer] Emit comparison instructions
Bug: tint:1906
Change-Id: I82a9e70c3b20999e991865e2ef00113c63db84c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134321
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-25 01:28:04 +00:00
Austin Eng 010d149e33 Add Dawn Android bots to CTS roller config
Bug: chromium:1363409
Change-Id: I1830c5fe7ea7e413962508524ffe2e1551445c28
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134341
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Kokoro: Austin Eng <enga@chromium.org>
2023-05-25 00:23:17 +00:00
Ben Clayton 1e67e5368d [tint][constant] Use the new constant::Manager
In the ProgramBuilder and the ir::Builder.

All constant::Value pointers are now guaranteed to be de-duplicated for the entire Program / ir::Module.

Fixed: tint:1935
Change-Id: I7afa769972351f62725d6ce8e3937d49b06ed715
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134362
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
2023-05-24 23:07:36 +00:00
Ben Clayton a71bd22de1 [tint][constant] Make Value::Clone() return a const pointer
Once constants are de-duplicated, they must be fully immutable.

Bug: tint:1935
Change-Id: Iba1f85079f2ada1f44ba44d1da9b8a65d1abf2ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134361
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-05-24 23:07:36 +00:00
Ben Clayton 9aa8012d91 [tint][constant] Add constant::Manager
Constructs deduplicated constants, similarly to type::Manager

The constant::Manager owns the type::Manager so they can be
std::move()'d together without having to risk having the
constant::Manager hold a stale pointer to a moved type::Manager.

Not currently used. That comes next.

Also un-inline type::Manager scalar helpers. Reduces transitive
includes.

Bug: tint:1935
Change-Id: I28fc74a712f19a171850df5e84433e2d60cba256
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134360
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-05-24 23:07:36 +00:00
dan sinclair 56e5fb57ef [ir] Convert function to Value.
This CL moves the `Function` node to be a `Value` instead of a `Block`.

Bug: tint:1718
Change-Id: I7e67f87fc0a442e0b390fc59f761287382a4b682
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134301
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
2023-05-24 22:50:03 +00:00