Commit Graph

9565 Commits

Author SHA1 Message Date
Jiawei Shao 9ebba367e8 D3D12: Support feature chromium_experimental_dp4a
Bug: tint:1497
Test: dawn_end2end_tests
Change-Id: I57d5c06c15c0c366c7cc239426e5eee3a7237101
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90028
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-05-20 08:21:00 +00:00
Austin Eng 0c5aaf4833 Update expectations.txt for passing tests
Bug: chromium:1322180, dawn:1410
Change-Id: Iee9baa1a68961217664862c6e8bd31394ae6bf0b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91061
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-20 08:19:40 +00:00
Dawn Autoroller 132a8f48fe Roll SwiftShader from f43948c7ac0e to 73679602bc0b (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f43948c7ac0e..73679602bc0b

2022-05-19 swiftshader.regress@gmail.com Regres: Update test lists @ 2933d312
2022-05-19 capn@google.com Revert workaround for MemorySanitizer scalar SSE false positives
2022-05-19 sugoi@google.com Revert "Stop skipping VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT"

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 cwallez@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: cwallez@google.com
Change-Id: Ia2dcbc1f9c48c0fc3ba6e75c0920011ac8e0ddd8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91120
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-05-20 03:56:30 +00:00
Dawn Autoroller 0d57a2ecfd Roll ANGLE from 06fa297b6b31 to f674e501f243 (7 revisions)
06fa297b6b..f674e501f2

2022-05-20 cnorthrop@google.com Tests: Add Bridge Constructor Portal trace
2022-05-19 yuxinhu@google.com Suppress Vulkan Validation Error
2022-05-19 ynovikov@chromium.org Fix trigger.py to run mb.py with python3
2022-05-19 syoussefi@chromium.org Vulkan: Reserve varying for xfb if pre-rotation is enabled
2022-05-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from dbb1f3a2b2f7 to 170d12460fd5 (586 revisions)
2022-05-19 pkasting@chromium.org Roll third_party/rapidjson/src/ 7484e06c5..781a4e667 (156 commits)
2022-05-19 ynovikov@chromium.org Fetch gn binary for the correct architecture on linux.

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 cwallez@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: cwallez@google.com
Change-Id: I951d9a4a3f65efab6f84a0816629b6aa03c2c598
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91100
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-05-20 03:23:21 +00:00
Antonio Maiorano ab4c035762 tint: fix HLSL countOneBits and reverseBits for i32 args
These two functions in HLSL only accept and return uint. Thus, if the
result of these calls is passed to a function that wants int, it will
fail, or call the uint overload if one exists. Fixed by casting the
result to int if the arg is int.

Bug: tint:1550
Change-Id: Id4c0970a29ac4c83ee5b78be8d2762e05e4a3f03
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91001
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-20 01:58:40 +00:00
dawn-autoroll 782577accf Roll vulkan-deps from f1a5c8f12c26 to 880c9e0050c6 (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f1a5c8f12c26..880c9e0050c6

Changed dependencies:
* vulkan-tools: a9bee4cbb2..689140c204
* vulkan-validation-layers: c9d29f7da2..0ce518899c

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 cwallez@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: cwallez@google.com
Change-Id: Ic75f271d79d4e9fc7ab0430288483f1223548380
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91080
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-05-20 01:10:09 +00:00
Ben Clayton e9ce8326b7 tint: Minor, miscellaneous cleanups
• Rename the 'friendly names' for the abstract numeric types so they match
  the style in the intrinsic table.
• Fix a comment so the literal type is correct.

Change-Id: Ie8d7363743c8c359340de3bc6db9a3456d299d34
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91021
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-19 23:05:40 +00:00
Ben Clayton eee9f88ba2 tint: Extract intrinsic-table common type to helper
• Add sem::Type::Common() which returns the 'common' type for the list of
  types.
• Migrate intrisnic table to use this.
• Add a whole-lotta-tests.
• Deduplicate and improve the EXPECT_TEST() macro. Move it to a common home.

Bug: tint:1504
Change-Id: I1564f67ecf87fc594f3f54274da906ff0d822795
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91020
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
2022-05-19 22:54:00 +00:00
Ben Clayton 1b35e3f9a8 tint: Add new sem::Type helpers
Add:
• sem::Type::is_abstract_or_scalar()
• sem::Type::ElementOf()

Use these to clean up some code in src/tint/sem/constant.cc.

Bug: tint:1504
Change-Id: I78e06b580a750c97ac654af4b0b364ddd3de6596
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90534
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-05-19 21:55:29 +00:00
Ben Clayton e5a67ac891 tint: Remove ast::CallExpression -> sem::Call implicit mapping
With abstract materialization, any ast::Expression may map to the new
sem::Materialize node. Because of this, we can't assume that an
ast::CallExpression maps to a sem::Call, as it might be wrapped by a
sem::Materialize.

Remove the mapping, and fix up all the code that was relying on this.

Fixes are done by either:
• Calling `UnwrapMaterialize()->As<sem::Call>()` on the semantic
  expression. This is done when the logic may assume it's possible for
  the expression to be a Materialize node.
• Using the explicit sem::Info::Get<sem::Call>() template argument to
  cast the semantic type to sem::Call. This is done when the logic
  either knows it is impossible for the expression to be a Materialize.

The backends have been stubbed, as we'll want to emit the constant value
for these nodes. It's likely that we'll just use the FoldConstants
transform to strip all Materialize nodes from the tree. For now, be
defensive.

Bug: tint:1504
Change-Id: If9231b300fc30c7fe886c17a804ead8ee2988285
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90533
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
2022-05-19 21:50:59 +00:00
Ben Clayton 7b921fb4c7 tint: No-op Resolver refactoring
• Split type_ctors_ into array_ctors_ and struct_ctors_. These are the
  only two type constructors that we need to cache in the Resovler. All
  other types are cached in the IntrinsicTable. By making these two
  separate fields, there's no way we can accidentally put other types in
  there. This is slightly more optimized too, as each map is smaller,
  and the keys hold less data.
• Drop the 'const' on vectors that are std::move()'d. A const object
  cannot be moved, and this results in a silent copy. Fix the logic of
  BuiltinCall() and FunctionCall(), as these were happily using the
  vectors that had been moved.
• Extract the messy Texture-Sampling collection logic out into two
  functions.

The rest of the changes are tweaks required to handle abstract numerics
and materialization, which will be put up for review shortly. Landing
the no-op refactoring now reduces review noise later.

Bug: tint:1504
Change-Id: Iffc8039360d6138c3ac9b456be6ca7b8451ede9f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90532
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-05-19 20:19:49 +00:00
Austin Eng 86a617f110 Add InsertBraces: true to .clang-format
Bug: none
Change-Id: I4b4f2a4abfea7adcea406f458bc4e4a13b0e8c43
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91000
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: dan sinclair <dsinclair@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-05-19 20:08:19 +00:00
Ben Clayton 2081ee43bf tint: Add sem::Materialize
A new semantic expression node that wraps another semantic node. Used to
indicate the point at which compile-time, abstract numeric typed
expressions are implicitly converted to a concrete type.

Bug: tint:1504
Change-Id: I52e256bbbdeaa9d9eff4cb93b6f937dd00bdc5cb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90531
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-05-19 19:32:29 +00:00
Ben Clayton 6ac00ed0c0 tint: IntrinsicTable: Add abstract numeric types
These aren't used by anything (yet). Baby steps.

Bug: tint:1504
Change-Id: Icf0261ec9c6802f004d9f1bc4780a6376ebb8dfb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90530
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-05-19 18:30:39 +00:00
Ben Clayton b1fa457ab3 tint: IntrinsicTable: Use [[display]] name for type matchers
TypeMatcher::String() was not respecting the [[display]] decoration of
the matcher's sub-types. By calling TypeMatcher::String() on the sub-types,
we can display the custom type names in diagnostics.

Bug: tint:1504
Change-Id: I0856fee31231f9c048d2e3028d25c4d261fbb008
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90529
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-05-19 18:26:09 +00:00
Ben Clayton 0a63c6d2fb tint: intrinsic-gen: Fix parsing of multiple decorations
Change-Id: I61365dea17ab9174cfcb2d513cf1f7ee28ce0647
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90528
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-05-19 18:05:09 +00:00
Ben Clayton b0664684cd tint: Support tuples in utils::Hash().
Change-Id: I6c4da42dae52d7e02de8f59756949d476935e6b4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90527
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-05-19 17:59:19 +00:00
Brandon Jones e61a390b31 Make External Texture ColorSpace Conversion Configurable
Changes external texture creation to use constants provided by Chromium
instead of hardcoded values.

Bug: dawn:1082
Change-Id: Icfe58f5585732b1e66d2faa50d3aee4a8c53bf84
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/89703
Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-19 17:44:29 +00:00
Corentin Wallez 92244ec9d4 Roll third_party/webgpu-cts/ e518bfe8a..8f2742e4a (15 commits)
Update expectations and ts_sources

e518bfe8a4..8f2742e4a4
 - 8f2742 Raise maxComputeWorkgroupStorageSize from 16352 to 16384 (#1390)
 - 706082 wgsl: Add stubs for the pack and unpack methods. (#1425)
 - 33d851 wgsl: Stub tests for the textureStore builtin. (#1423)
 - 8610c8 wgsl: Add stub tests for textureSampleLevel. (#1422)
 - 5d6c16 wgsl: Stub synchronization builtin functions. (#1426)
 - c57922 Duplicate params: catch in ParamsBuilder, improve error in loadTreeForQuery (#1424)
 - f923e0 Update pipeline output targets validation with different writeMask (#1174)
 - 17582e wgsl: Add stub tests for textureSampleGrad. (#1421)
 - dc8142 wgsl: Add stub tests for textureSampleCompareLevel. (#1420)
 - fe9154 wgsl: Stub tests for textureSampleCompare (#1418)
 - a0c703 wgsl: Add stubs for the read-write-modify atomic operations. (#1417)
 - 2b89c0 wgsl: Add stubs for the atomicStore builtin. (#1416)
 - 776015 wgsl: Stub tests for the atomicLoad builtin. (#1415)
 - 544877 wgsl: Add stub tests for the textureSample builtin. (#1414)
 - d6dc47 wgsl: Fixup coord parameters in texture tests. (#1410)

Created with './tools/run cts roll'

Change-Id: Ibe57ebc6643921cae7bc3fae6f82459673106dd9
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/+/90860
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-19 16:57:40 +00:00
Yunchao He 26934d9503 D3D12: set correct data layout of dst texture for B2T copy
When we initialize the dst texture before T2T copy, we clear a
buffer with zeros and do a B2T copy in order to initialize the
texture. The T2T copy may only copy a subrect of the texture's
subresource, so does the initialization via B2T copy. As a result,
the buffer can store compact zeros for that exact subrect and then
do an exact B2T copy to initialize that area.

However, the current B2T copy uses incorrect data layout for the
buffer, making some part of the dst texture uninitialized, and
even leading to D3D12 runtime validation errors sometimes if it
goes beyond the boundary of staging buffer pool (4MB).

This change fixes this bug via using the exact height of copy area
to replace dataLayout.rowsPerImage (unnecessary padding rows included)
for the height of each depth image for 3D textures.

Bug: dawn:1288
Change-Id: I303e0d363039a6a87e352a8445898031e673cf4e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90780
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2022-05-19 16:35:09 +00:00
Dawn Autoroller a98d774cd6 Roll SwiftShader from 2933d3126969 to f43948c7ac0e (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2933d3126969..f43948c7ac0e

2022-05-19 sugoi@google.com Fix using uninitialized blend constants

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 cwallez@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: cwallez@google.com
Change-Id: I581ecd986454f3474e3cef47781aae3ab637e62d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90981
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-19 14:35:19 +00:00
Dawn Autoroller 40164bd326 Roll ANGLE from d3eb61d4a054 to 06fa297b6b31 (2 revisions)
d3eb61d4a0..06fa297b6b

2022-05-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cb4fc6d02fe4 to 2933d3126969 (1 revision)
2022-05-19 steven@valvesoftware.com Vulkan: clamp dynamic line width to supported values

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 cwallez@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: cwallez@google.com
Change-Id: I37679eebc6095b40cf04d0d87ea1119f020d3090
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90980
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-05-19 13:35:19 +00:00
Antonio Maiorano 352804c3cb Remove third_party/gpuweb-cts
We already have third_party/webgpu-cts. This came in during the tint ->
Dawn merge, and is not necessary (and confusing).

Change-Id: I1a4ce4463e55624b5f720573c54f45d1d1dc57e7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90900
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-05-19 13:07:49 +00:00
dawn-autoroll db44f0e247 Roll vulkan-deps from b0e4ff85c2aa to f1a5c8f12c26 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/b0e4ff85c2aa..f1a5c8f12c26

Changed dependencies:
* vulkan-validation-layers: 03b7bbc02b..c9d29f7da2

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 cwallez@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: cwallez@google.com
Change-Id: I8d779ac73c5da234021818ebe06ac35a4f859839
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90960
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-05-19 12:01:20 +00:00
Zhaoming Jiang 4bdded68d5 Dawn: vertex buffer never OOB with zero stride count draw/Indexed
According to the spec, when call draw or drawIndexed, vertex step mode
vertex buffer never OOB if (vertexCount + firstVertex) = 0, and instance
step mode vertex buffer never OOB if (instanceCount + firstInstance) = 0.
Modify the validation implementation to be aligned with the spec, and
add corresponding unit tests.
This patch also add unit test case for (strideCount - 1) * arrayStride +
lastStride <= bound buffer size < strideCount * arrayStride.

Bug: dawn:1287
Change-Id: If444e400f5ac24f86ca12ff59fb886d8ef70e8c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90584
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2022-05-19 01:32:48 +00:00
Dawn Autoroller edbd5a467b Roll ANGLE from 4dc9c79e0cf7 to d3eb61d4a054 (15 revisions)
4dc9c79e0c..d3eb61d4a0

2022-05-18 senorblanco@chromium.org D3D11: fix SSBO load in a return statement.
2022-05-18 romanl@google.com Spawn via vpython when old module detected.
2022-05-18 hailinzhang@google.com D3D11: Add GL_EXT_texture_buffer support
2022-05-18 syoussefi@chromium.org Vulkan: SPIR-V Gen: Apply Flat to gl_Layer in FS
2022-05-18 abdolrashidi@google.com Vulkan: Fix clear value for incomplete MS textures
2022-05-18 gman@chromium.org Reland "CGL, MTL: pbuffer for IOSurface fails for some formats"
2022-05-18 senorblanco@chromium.org D3D11: implement image load/store for non-compute shaders.
2022-05-18 m.maiya@samsung.com Vulkan: Support binding 2D slice of a 3D texture to an image unit
2022-05-18 geofflang@google.com Metal: Remove the long type from program preludes
2022-05-18 cclao@google.com Vulkan: Let texture buffer handle BufferVk's storage change
2022-05-18 cclao@google.com Vulkan: Add test for texture buffer and buffer data interaction
2022-05-18 m.maiya@samsung.com Vulkan: Bug fix in YUV descriptor pool allocation
2022-05-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 89eb09307fbc to cb4fc6d02fe4 (1 revision)
2022-05-18 cnorthrop@google.com Tests: Add Stardew Valley trace
2022-05-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4011ab35f3d8 to 89eb09307fbc (3 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 cwallez@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: cwallez@google.com
Change-Id: I346f4d31792c6d045e6200389037822425f59224
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90843
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-05-19 00:41:22 +00:00
Dawn Autoroller 2ff32df467 Roll SwiftShader from 89eb09307fbc to 2933d3126969 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/89eb09307fbc..2933d3126969

2022-05-18 capn@google.com Revert "Temporarily fix failing dEQP tests"
2022-05-18 sugoi@google.com Fix handling of dynamic vertex stride

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 cwallez@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: cwallez@google.com
Change-Id: Ib66fb47a28dad50597506c41c4f57147d8e7fcd4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90842
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-05-18 23:43:18 +00:00
dawn-autoroll 8ec0ce315f Roll vulkan-deps from b190c10e0804 to b0e4ff85c2aa (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/b190c10e0804..b0e4ff85c2aa

Changed dependencies:
* glslang: 2f5bc0b741..2439e6d56d
* spirv-cross: d0c8dc3045..b3ff97d0fe
* vulkan-validation-layers: 0f5044267a..03b7bbc02b

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 cwallez@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: cwallez@google.com
Change-Id: I28151bc92e18ea240e88e44ee04ee28886cdc205
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90841
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-05-18 23:07:18 +00:00
Ben Clayton 7f2b8cd8fc tint: Refactor Extensions / Enables.
* Extract ast::Enable::ExtensionKind to ast::Extension.
* Move the parsing out of ast::Enable and next to ast/extension.h
* Change the ast::Enable constructor to take the Extension, instead of
  a std::string. It's the WGSL parser's responsibility to parse, not the
  AST nodes.
* Add ProgramBuilder::Enable() helper.
* Keep ast::Module simple - keep track of the declared AST Enable nodes,
  don't do any deduplicating of the enabled extensions.
* Add the de-duplicated ast::Extensions to the sem::Module.
* Remove the kInternalExtensionForTesting enum value - we have kF16
  now, which can be used instead for testing.
* Rename kNoExtension to kNone.

Bug: tint:1472
Change-Id: I9af635e95d36991ea468e6e0bf6798bb50937edc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90523
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-18 22:41:48 +00:00
Ben Clayton 23696b1ba3 tint: Implement abstract-numeric overload resolution
Support overload resolution of abstract-numeric argument types,
allowing them to implicitly convert down to concrete parameter
types (and in the near future, abstract parameter types).

Major kudos to cwallez for the suggested algorithm which is a
minor adaption of what we had already.

Bug: tint:1504
Change-Id: I85fa8e70ab0b6aa643caec4c51433f15784af55f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90522
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-05-18 21:56:28 +00:00
Antonio Maiorano 2e681052b3 tint: Fix use-after-free
Bug: chromium:1324533
Bug: chromium:1326749
Bug: oss-fuzz:47516
Change-Id: I0fd2db8997beaeaedc867bd27ee8866ace4e7cf0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90820
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-05-18 19:55:18 +00:00
Ben Clayton c670018aea tint: intrinsics.def Support [[precedence]] decoration
Add support for a [[precedence(N)]] decoration on intrinsic table type
declarations. This will be used to ensure the type with the lowest
conversion rank is matched when a matcher could match multiple types
for a given abstract numeric argument type.

Bug: tint:1504
Change-Id: I96475b000c0917bbfa4e2873b1731ce048b96a7d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90664
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-18 18:56:58 +00:00
Corentin Wallez aed7eb4b4c Temporarily mark requestDevice_limits as failing.
It will be reverted to RetryOnFailure.

Bug: dawn:1410
Change-Id: I0e66e0a622d4fcd568692255325545f5531762f3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90525
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
2022-05-18 18:38:08 +00:00
Corentin Wallez 420b1fd94e Directly enable -Wglobal-constructors
Relying on the config inside //build breaks in projects that use their
own version of //build instead of Chromium's.

Bug: dawn:1405
Change-Id: I18bbf5c6ddce18e6900f5f4b937d91a152bb2b32
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90524
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2022-05-18 17:11:17 +00:00
Antonio Maiorano 5ff7d67bf3 tint: Validate that sampled texture type must be f32, i32, or u32
Bug: chromium:1322954
Change-Id: Ibc1eab3de8fad78a08c8588492c1bdb04bfe256e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90720
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-05-18 15:22:49 +00:00
Austin Eng ba2b7fc9b1 Fix multiple device leaks in dawn_end2end_tests and dawn_unittests
Adds ForTesting APIs to the instance to track the number of devices.

Bug: dawn:1164
Change-Id: Ib743afb1e86ef16740d49613f43f9e2f009232bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90583
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2022-05-18 13:28:21 +00:00
Dawn Autoroller b5d73ccbea Roll ANGLE from 93c0c90db873 to 4dc9c79e0cf7 (4 revisions)
93c0c90db8..4dc9c79e0c

2022-05-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 73ffbbeac851 to dbb1f3a2b2f7 (503 revisions)
2022-05-18 penghuang@chromium.org Create EGLImage from VkImage correctly with non sized format
2022-05-17 romanl@google.com Add more tips about recovering the qpa file.
2022-05-17 romanl@google.com Clarify that angle_debug_package is necessary to load the apk

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 cwallez@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: cwallez@google.com
Change-Id: Ic3399bc3279866aafd8ffef3772fae622e2003aa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90761
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-18 11:20:32 +00:00
Corentin Wallez 3676701f84 Remove expectations for passing WebGPU CTS tests
Bug: dawn:1398
Fixed: dawn:1325
Change-Id: I0ed77f202525460a991461155f9dce52690c5412
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90661
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-05-18 10:15:51 +00:00
Ben Clayton ff192cee35 expectations.txt: Remove rules for passing tests
The following are now all passing:
• webgpu:shader,execution,expression,call,builtin,ceil:*
• webgpu:shader,execution,expression,call,builtin,floor:*
• webgpu:shader,execution,expression,call,builtin,fract:*

Remove the `KEEP` for the bulk of the shader execution failures.
This will enable the chunk to remove rules for tests when they start passing.

Bug: dawn:1546
Change-Id: I927804b81192efaed00b95aeebd268ec15f358c9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90521
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-05-18 09:26:51 +00:00
dawn-autoroll 7097437e21 Roll vulkan-deps from 5d184f5765ff to b190c10e0804 (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5d184f5765ff..b190c10e0804

Changed dependencies:
* vulkan-validation-layers: 7ed2cbe27f..0f5044267a

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 cwallez@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: cwallez@google.com
Change-Id: I9b555b55713093fe8f1d407bcd04d6e56e976ad6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90781
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-05-18 09:19:51 +00:00
Ben Clayton e0ff664a7f tint: Add sem::Type::ConversionRank()
Returns the implicit conversion rank as defined by:
https://www.w3.org/TR/WGSL/#conversion-rank

Bug: tint:1504
Change-Id: I17b17a1d3b4f0e5816a92ec0b86d364c288b59d8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90663
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2022-05-18 08:20:31 +00:00
Dawn Autoroller 5fbe4b65e6 Roll SwiftShader from 80de201a2a13 to 89eb09307fbc (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/80de201a2a13..89eb09307fbc

2022-05-17 swiftshader.regress@gmail.com Regres: Update test lists @ 7654b866
2022-05-17 swiftshader.regress@gmail.com Regres: Update test lists @ 4011ab35

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 cwallez@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: cwallez@google.com
Change-Id: I52ba01d7399b1fe45478695c545101cbc2f1f76e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90760
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-18 05:52:31 +00:00
Ben Clayton 4c9ed74b5e tint: IntrinsicTable: Rename open/closed -> template
The concept of 'closing' an open type or number made sense when these
were immutable once the first type/number had been matched during
overload resolution.
In order to support abstract numerics, these template parameters need to
be constrained as the arguments are evaluated, so there's no longer a
binary open / closed state.

Give up on this concept, and rename everything to 'template type' and
'template number'. This is likely easier for people to understand
anyway.

Also fix a small typo in the ICE message printed when there's an
ambiguous overload resolution (should never happen with the current
entries in the table).

Bug: tint:1504
Change-Id: I2bf043c71e5afa757259968eae4af830c50f38e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90662
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
2022-05-17 22:42:32 +00:00
Dawn Autoroller d968e28a9a Roll ANGLE from 807c94ea85e0 to 93c0c90db873 (7 revisions)
807c94ea85..93c0c90db8

2022-05-17 yuxinhu@google.com Suppress the failing egl test to unblock roller
2022-05-17 antonio.caggiano@collabora.com Vulkan: Fix Wayland surface size queries
2022-05-17 senorblanco@chromium.org D3D: minor cleanup of gl::RangeUI usage.
2022-05-17 antonio.caggiano@collabora.com Vulkan: Multiple DRM formats
2022-05-17 gert.wollny@collabora.com Capture/Replay: Also limit the number of per shader SSBOs
2022-05-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 131de3fd9ec7 to c37d1e2ab98c (2 revisions)
2022-05-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 11b60f867851 to 73ffbbeac851 (445 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 cwallez@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: cwallez@google.com
Change-Id: I6a64115545c75de38d37e96b72df667042897353
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90681
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-05-17 22:00:03 +00:00
Ben Clayton aaa9ba3043 tint: Simplify sem::Constant::Scalar
Migrate from a hand-rolled tagged-union of [i32, u32, f32, f16, bool]
types. Instead use a std::variant of [AInt, AFloat, bool]. The Constant
holds the actual type, so no information is lost with the reduced types.

Note: Currently integer constants are still limited to 32-bits in size.
This is enforced by the frontend.

Bug: tint:1504
Change-Id: I316957787649c454fffb532334159d726cd1fb2d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90643
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-05-17 20:51:04 +00:00
dawn-autoroll c590373cfb Roll vulkan-deps from c37d1e2ab98c to 5d184f5765ff (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c37d1e2ab98c..5d184f5765ff

Changed dependencies:
* vulkan-headers: 33d4dd987f..1b4f46a3cc
* vulkan-loader: 5aa2ee48c9..ad05e878ee
* vulkan-tools: c5d859fbe3..a9bee4cbb2
* vulkan-validation-layers: c08c0860bd..7ed2cbe27f

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 cwallez@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: cwallez@google.com
Change-Id: I2ea37bf48d513dec992ec0e8bbeead577d13a3c6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90603
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-05-17 20:30:04 +00:00
Ben Clayton 661e33ca18 tint: Cleanup of IntrinsicTable
Remove the ProgramBuilder from ClosedState and use a pointer for the
'overload' field instead of a reference. Let's the Candidate be
copy-assignable, which in turn, allows the Candidates vector to be
sorted directly, instead of jumping through hoops to use moves.

Replace random mix of 'int', 'uint8_t' with 'size_t' (externally to the
constant table data). Reduces fragile weak binding between distant code.

Swap the overload scoring order (high-best -> low-best). Remove the
'matched' field - we can now just check whether the 'score' is 0.
Further simplifies sorting.

Change-Id: I4a4b7934be337306202647d096c546eab5c8498f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90641
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-05-17 17:54:32 +00:00
Dawn Autoroller 5211b0b0fd Roll SwiftShader from 4011ab35f3d8 to 80de201a2a13 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4011ab35f3d8..80de201a2a13

2022-05-17 capn@google.com Eliminate conditional MemorySanitizer instrumentation 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/swiftshader-dawn-autoroll
Please CC cwallez@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: cwallez@google.com
Change-Id: Ic0844da0cbefd72dcee3924e746e918f2a3429ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90680
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-05-17 16:01:02 +00:00
Antonio Maiorano 7c92ebe9ea gitignore /build-*
I like to create multiple build folders at the root for different types
of CMake builds:

build-clang
build_asan
etc.

Don't want these showing up in git status.

Change-Id: I03fe5a812f7090e6d6481a5b07bc8c95a33ac106
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90601
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-17 15:44:52 +00:00
Antonio Maiorano 8ba6e1d6ec tint: limit expression depth to avoid stack overflow in backends
Bug: chromium:1324533
Change-Id: I2a334eaee59b2235830057b78c92b919ff0ea940
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90302
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-05-17 15:01:42 +00:00