Commit Graph

12501 Commits

Author SHA1 Message Date
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
dan sinclair a518707db4 [ir] Update disassembly output.
This CL switches the disassembler back to being recursive and fixes up
the indenting of blocks to better highlight if branches and switch
cases.

Bug: tint:1718
Change-Id: I14e8d7c68a083bf3afd9ff7241d49b2aa76be4ba
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134300
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 22:43:18 +00:00
Joanna Wang b3e680bb88 Use new clang_format/scripts/ path in dawn.
Bug: 1447924
Change-Id: I336576c770a6f7004538be3419b3efef4f945e44
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134320
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Auto-Submit: Joanna Wang <jojwang@google.com>
2023-05-24 22:13:52 +00:00
Austin Eng 1fbf40857c Validate that [ Slow ] is not used in expectations.txt
Bug: dawn:1832
Change-Id: Ic4b5f752aab7e4c26808703ffeb89545200204e6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134102
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-05-24 21:58:50 +00:00
Austin Eng 817c076eb8 Enable testing of compat in dawn_end2end_tests only on GLES
Change-Id: I049bc6499f22ddb359b9d4701eaa5df31f5a652a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134340
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 21:31:36 +00:00
Shrek Shao 13f8bf205e Compat GL/GLES: blit a stencil texture to a buffer using compute
Add compute blit emulation path for Stencil8 textures for
OpenGLES backend.

Bug: dawn:1782, dawn:1835
Change-Id: I4719d339ee78fd5fc524d809417504125d2c0aee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133364
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-24 20:59:21 +00:00
dan sinclair f55ef5e48b [ir] Convert FlowNode to Block where possible.
This CL updates a bunch of uses of FlowNode to use Block instead. The
InboundBranches are moved from FlowNode to Block.

Bug: tint:1718
Change-Id: Ic1c07dae103e25364a3a6b3333cfcb57d10b30c2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134260
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-05-24 20:14:14 +00:00
dan sinclair 0089d5e6e2 [ir] Change base class for terminators.
This CL moves the FunctionTerminator and RootTerminator nodes to be
blocks instead of FlowNodes.

Bug: tint:1718
Change-Id: Iee7830bccd99e4587b95b22b53268d1d2921e82f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134222
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 18:47:12 +00:00
dan sinclair e9a4adeff9 [ir] Remove Jump.
This CL removes the Jump instruction. This didn't add much value over
the branch instruction and was confusing as to which to use when.

Bug: tint:1718
Change-Id: I69253aa7baf39b00f698e4e8f9608465f6019dcd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134221
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
2023-05-24 18:45:04 +00:00
James Price 24c5ed6b0a [ir][spirv-writer] Emit matrix constants
Bug: tint:1906
Change-Id: Ia4c8a02a4b64e216de3913fff377007e0287bd11
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134205
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 17:59:27 +00:00
James Price a8c528052d [ir][spirv-writer] Emit matrix types
Bug: tint:1906
Change-Id: Ief75da483f89595d56094611ecb037da73a396e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134204
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-24 17:43:56 +00:00
James Price b54b58d57d [ir][spirv-writer] Implement user function calls
Bug: tint:1906
Change-Id: Icf9a0a00409b61d3c8baa844b66865c1a4dd9b69
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134202
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 17:42:35 +00:00
James Price c1fd6316de [fuzzers] Substitute all override variables
The transform was only being run if there was at least one override
without an initializer. We actually need to run the transform if there
are any overrides at all, even if they all have initializers.

Bug: chromium:1447418
Change-Id: Ia300ea4326b675c1fd84dd7709112fb69128963d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134203
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-24 16:55:30 +00:00
Dawn Autoroller c9c19c49f9 Roll ANGLE from 9e47cbd300ca to 7e2336b1e85a (7 revisions)
9e47cbd300..7e2336b1e8

2023-05-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8a3971e5e9c5 to 25c584aa4cec (6 revisions)
2023-05-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 33c4f6d48650 to 74f8527011e4 (681 revisions)
2023-05-24 lexa.knyazev@gmail.com Vulkan: Implement EXT_depth_clamp
2023-05-24 cnorthrop@google.com Tests: Add Galaxy S23 deqp expectations
2023-05-24 hailinzhang@google.com Vulkan: patch vertex attrib and shader input mismatch.
2023-05-24 romanl@google.com Restore sync_restricted_traces_to_cipd upload progress bar
2023-05-24 b.schade@samsung.com Validate non-precision qualifiers in GLSL shaders

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: If7897de9d5a3ba95e5dc7a00e5f1c98d80b9983a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134106
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>
2023-05-24 15:24:20 +00:00
James Price 1ea7f0f351 [ir][spirv-writer] Add support for parameters
Change the instruction->id map to a generic non-constant value->id map
so that it can be used for other types of values.

Bug: tint:1906
Change-Id: I79a0a7f671214167fa17ca903f9e94a54507d17c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134201
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-05-24 14:03:16 +00:00
James Price f5a62539f4 [ir][spirv-writer] Add support for return values
Bug: tint:1906
Change-Id: I73eb7ed2479c0f8051939163416c660c2f4faf05
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134200
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 13:58:34 +00:00
dawn-autoroll 62bea2cf43 Roll vulkan-deps from 86f4f667c327 to 25c584aa4cec (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/86f4f667c327..25c584aa4cec

Changed dependencies:
* vulkan-tools: 80b010b1e1..f31c10971f
* vulkan-validation-layers: 658e97b6ed..05fc0fd4fb

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 shrekshao@google.com,webgpu-developers@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: shrekshao@google.com
Change-Id: I56e4c9ddc79f4797c7c7831a3107e68c7b505350
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134105
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-24 12:40:54 +00:00
Gregg Tavares 0bdf2da9b8 Compat: Reject CubeArrays via Validation
Bug: dawn:1825
Change-Id: I32917a479c3eea457c8f315cfc089351b64292b6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133320
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 12:39:46 +00:00
James Price 23c0451377 [ir] Add scalar type helpers to type::Manager
Creating scalar types is extremely common when using builders.

Bug: tint:1718
Change-Id: I2c2f0f521af1384bd8dee344ddfa525583535911
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132284
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-05-24 11:53:06 +00:00
jchen10 028726497a d3d11: enable MaxLimitTests
Bug: dawn:1705

Change-Id: I3f977913ed808db7a949a64fdb360a3c84e48d50
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133282
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-24 02:30:30 +00:00
Dawn Autoroller 6343f298fd Roll ANGLE from 98d6dd38ecb2 to 9e47cbd300ca (6 revisions)
98d6dd38ec..9e47cbd300

2023-05-23 mark@lunarg.com Capture/Replay: Rework trace EGLDisplay handling
2023-05-23 geofflang@chromium.org Metal: Disable Metal support on NVIDIA GPUs
2023-05-23 abdolrashidi@google.com Vulkan: Update last CRC check for pipeline cache
2023-05-23 geofflang@chromium.org Remove assertion in SyncEGL::onDestroy that the sync is valid
2023-05-23 lexa.knyazev@gmail.com Vulkan: Enable VK_EXT_depth_clamp_zero_one
2023-05-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from dc49e5c6de1e to 8a3971e5e9c5 (8 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: I6b18ef352559193289a00982501df911c57217f0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134160
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-24 01:33:45 +00:00
dan sinclair 07a1d65fbc [ir] Cleanup composite creation in tests
This CL adds some helpers to make composites easier to use in tests.

Bug: tint:1718
Change-Id: I16a0e94978c43efa619b31b6815089c8fff6983f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133920
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2023-05-24 00:27:17 +00:00
Shrek Shao 4e2be2d083 Suppress Mac AMD sample_mask CTS tests
Bug: dawn:1843
Change-Id: Id67f4d276143d625ae0ecf72b4b50a6bbdcf5af6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134121
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Shrek Shao <shrekshao@google.com>
2023-05-23 23:58:38 +00:00
Peng Huang 6197fd1468 d3d11: support FeatureLevel::Core if D3D11 FL 11.1 is supported
Bug: dawn:1820
Change-Id: Iba76d9aa519b555d10c6a9d6ffdf529268ac6737
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134080
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-23 23:53:03 +00:00
dawn-autoroll 89172687c1 Roll vulkan-deps from 8a3971e5e9c5 to 86f4f667c327 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/8a3971e5e9c5..86f4f667c327

Changed dependencies:
* glslang: a5bf69936d..9fbc561947
* vulkan-validation-layers: 8f4fc4c98a..658e97b6ed

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 shrekshao@google.com,webgpu-developers@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: shrekshao@google.com
Change-Id: I2f71a0f4be28b30b341a4d8a28a4ebb31e6aec5d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134101
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-23 23:20:04 +00:00
dan sinclair c4722c2f0b [ir] Test cleanup
Add a builder helper function to create a `Function` with a
`string_view` name instead of requiring the creation of a symbol.

Bug: tint:1718
Change-Id: I5d85736b49719246cb31825c3f4ad7a25131cb77
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133900
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-05-23 22:28:33 +00:00
dan sinclair 68b4e6460f [ir] Dissolve the flow graph
The ir::Value objects each have a list of instructions in which their
used. These lists allow us to determine all the places the value is
used. Currently this is unable to track the usage of a value in an
`if` or `switch` condition. It is also unable to track the usage of a
value as a branch argument.

In order to facilitate this tracking, the flow graph has been resolved.
Branches are moved to branch instructions (and jump instructions). A
jump is walk continue branch. A branch is a walk terminating branch. The
`if`, `switch` and `loop` flow nodes are moved to instructions as well.

Bug: tint:1718
Change-Id: I8e4cc4688bb1bdd5c7eecc72d366e6531ec685b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133840
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
2023-05-23 22:26:24 +00:00
Min Lee e9ee094d28 [dawn-test] On D3D12, limit the texels in a buffer to 1<<27
On D3D12, there is a limit of the number of texels in a buffer which is 1<<27. See D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP and the spec. This patch limits it according to the spec in case of D3D12 in MaxLimitTests.cpp. This fixes MaxLimitTests failure on Arm device.

Bug: dawn:884
Change-Id: Ia14ebca92855ec7b7e8d81b7bd547108948da567
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133961
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Min Lee <lemi@microsoft.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-23 20:57:17 +00:00
James Price 506b4f05d0 [spirv-reader] Use type inference for var and let
When an initializer is present, use type inference instead of
explicitly typing `var` and `let` declarations. This reduces the size
of the generated WGSL and improves readability.

Change-Id: I241ee2108279b550735945940f2b62bbbd493708
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132142
Commit-Queue: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: David Neto <dneto@google.com>
2023-05-23 18:28:44 +00:00