Alastair Donaldson
86dc88725a
Add gn build support for spirv-tools + AST fuzzers
...
Allows the new transformation-based fuzzers to be built using gn, so
that they can be deployed on ClusterFuzz.
Fixes: tint:1002
Fixes: tint:1006
Change-Id: Ib9624e507e40836541eb424e710705345a198db1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58387
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Vasyl Teliman <vasniktel@gmail.com >
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
Commit-Queue: Ryan Harrison <rharrison@chromium.org >
2021-07-16 20:56:55 +00:00
Alastair Donaldson
5d71531abe
Fix SPIR-V emptiness condition in fuzzer
...
Fixes a problem where the fuzzer was ignoring non-empty SPIR-V
binaries.
Fixes: tint:1004
Change-Id: I9fa98764b7408dbd53d5b56424805e2fa331a118
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58385
Auto-Submit: Alastair Donaldson <afdx@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
Commit-Queue: Ryan Harrison <rharrison@chromium.org >
Kokoro: Kokoro <noreply+kokoro@google.com >
2021-07-16 20:34:55 +00:00
Yunchao He
cfbc4225a5
Texture::GetTextureViewDescriptorWithDefaults: fix incorrect UNREACHABLE()
...
Bug: chromium:1230062
Change-Id: I3ff2638724d09079106ed048464d2640e206512e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58500
Commit-Queue: Yunchao He <yunchao.he@intel.com >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Reviewed-by: Austin Eng <enga@chromium.org >
2021-07-16 20:12:27 +00:00
Ben Clayton
883fb63e01
transform: Don't unroll arrays in DecomposeMemoryAccess
...
Arrays can be extremely large, and having the load and store functions unroll the elements can make the complier explode.
Fixed: chromium:1229233
Change-Id: Ieb5654254e16f5ce724a205d21d954ef9a0cd053
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58382
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Ben Clayton <bclayton@chromium.org >
Reviewed-by: David Neto <dneto@google.com >
Auto-Submit: Ben Clayton <bclayton@google.com >
2021-07-16 19:47:44 +00:00
Sarah
c33503069c
validation: location decoration is not valid for compute shaders
...
Bug: tint:981
Change-Id: I15024e0cf836af4f3ad7a14b8cd51c24fc3cd536
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58067
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
Commit-Queue: James Price <jrprice@google.com >
Auto-Submit: Sarah Mashayekhi <sarahmashay@google.com >
2021-07-16 19:11:54 +00:00
David Neto
5f994247a2
reader: fix ordering of select operands
...
Updates:
spirv-reader
hlsl-writer
spirv-writer
Bug: tint:1001
Change-Id: I7359d35c3384e164d149a6af03cbdc959a2eea76
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58400
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
Auto-Submit: David Neto <dneto@google.com >
2021-07-16 18:17:05 +00:00
Ben Clayton
29c70796d3
parser/wgsl: Fix stack overflow in postfix_expression()
...
Have postfix_expression() use a loop instead of recursively calling itself.
Fixed chromium:1229669
Change-Id: Ied7684d00ba453a8b89ab0251d42e2a72169421f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58381
Auto-Submit: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-16 17:55:14 +00:00
Vasyl Teliman
fa4d4341f4
Fix AST fuzzer message serialization
...
Currently, AST fuzzer requires that all fuzzed binaries are serialized protobuf messages.
In principle, we don't need this when we don't record mutations (which is the case right
now). Hence, this CL removes that requirement.
Change-Id: Ibe677d1ac7d34d640d6e3a368af50df5b4fe474a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58225
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Vasyl Teliman <vasniktel@gmail.com >
Reviewed-by: Alastair Donaldson <afdx@google.com >
2021-07-16 17:50:04 +00:00
Austin Eng
83241616ae
Validate a subresource can't be an attachment multiple times in a pass
...
Bug: dawn:998, dawn:1001
Change-Id: Id7cd4964ebf9589c599059cc0f853c0125fa725a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58361
Commit-Queue: Austin Eng <enga@chromium.org >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
2021-07-16 17:44:59 +00:00
Antonio Maiorano
70324d89e0
Remove TINT_EXPECTS_UBOS_TO_BE_MULTIPLE_OF_16 macro usage
...
This was a temporary measure to be able to roll Tint into Dawn with this
change. The macro will be removed in Tint once this lands.
Bug: tint:984
Change-Id: If599e92b16b5edd96b357ce5ee57143a2c00e22d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58365
Reviewed-by: Austin Eng <enga@chromium.org >
Reviewed-by: Ben Clayton <bclayton@google.com >
Reviewed-by: Corentin Wallez <cwallez@chromium.org >
Commit-Queue: Antonio Maiorano <amaiorano@google.com >
2021-07-16 17:30:50 +00:00
David Neto
e087a95706
spirv-reader: support remaining interpolation decorations
...
NoPerspective interpolation maps to 'linear'
Centroid maps to 'centroid'
Sample maps to 'sample'
Otherwise, allow 'center' to be defaulted.
Fixed: tint:935
Change-Id: I0b040da0c57d2a363f9dc9474c1ac889e0fe2278
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56840
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
Commit-Queue: James Price <jrprice@google.com >
Auto-Submit: David Neto <dneto@google.com >
2021-07-16 16:20:25 +00:00
Dawn Autoroller
ffc0a1f6fc
Roll Tint from 4c9b440515 to 71198438ac (3 revisions)
...
https://dawn.googlesource.com/tint.git/+log/4c9b4405153b..71198438ace0
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: I6cf9e14e238d41b979029df10787d2f81624ad4d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58366
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-16 16:04:48 +00:00
Sarah
71198438ac
validation: textureSample*() offset argument must be literal or const_expr
...
Bug: tint:939
Change-Id: I4ba44902948e38aa9ce3e9ecae9b3b4b593bd93d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57660
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com >
2021-07-16 13:38:05 +00:00
Vasyl Teliman
979a0b4446
Fix CLI parameters in fuzzers
...
This CL changes the prefix of CLI parameters in AST and SPIRV-Tools
fuzzers from `--` to `-` to make these fuzzers compatible with ClusterFuzz.
Additionally, a `tint_` prefix was added to all CLI arguments to prevent their
name collisions with LibFuzzer arguments.
Change-Id: Id2e087e59f04b495d5a7edb3b62d55de652c1acd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58226
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Alastair Donaldson <afdx@google.com >
Commit-Queue: Alastair Donaldson <afdx@google.com >
2021-07-16 10:26:34 +00:00
Dawn Autoroller
d3ed71b286
Roll Tint from 1da4073870 to 4c9b440515 (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/1da4073870c3..4c9b4405153b
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: I419fb48059110055a61e8186b14143c713811bf6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58364
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-16 10:04:28 +00:00
Vasyl Teliman
365af046ca
Fix SPIRV-Tools fuzzer
...
This CL fixes a regression in SPIRV-Tools fuzzer after the changes in https://dawn-review.googlesource.com/c/tint/+/57101 . Additionally, a bunch of sanity fixes are added to the CommonFuzzer.
Change-Id: Ie6512ddca20572d23634c4b5265b39540a42b4bd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58224
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Vasyl Teliman <vasniktel@gmail.com >
2021-07-16 09:25:14 +00:00
Antonio Maiorano
4c9b440515
Fix FloatToString printing with not enough precision when using fixed floatfield format
...
Setting precision to `std::numeric_limits<float>::max_digits10` is valid
when using the `scientific` floatfield format when printing values.
However, we used `fixed` to make our floats more human-readable. This
change keeps the output in `fixed`, except if doing so loses precision,
in which case we fall back to `scientific`.
This fixes the rendering differences seen in the Babylon.js examples
(https://crbug.com/tint/944 ) between Dawn using Tint vs SPIRV-Cross, as
Tint's output was emitting values that had lost too much precision
(e.g. very small numbers being output as 0).
Bug: tint:944
Change-Id: I8deea23ad876825bbe390fc26907d4bbbd4b966e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58321
Commit-Queue: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
2021-07-16 08:55:14 +00:00
Dawn Autoroller
bd45a20140
Roll Tint from b478f97975 to 1da4073870 (4 revisions)
...
https://dawn.googlesource.com/tint.git/+log/b478f9797550..1da4073870c3
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: I2bd0ed43f81b6b022b0c8a2119baabd048d75ab4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58362
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-16 04:49:48 +00:00
Zhaoming Jiang
d8b3d99038
Add OOB validation in RenderPassEncoder for Draw and DrawIndexed
...
1. Validate the buffer range for both vertex step mode and instance step mode vertex buffers in Draw,
2. Validate the buffer range for instance step mode vertex buffers and the range of index buffer in DrawIndexed, and
3. Add related validation unit tests DrawVertexAndIndexBufferOOBValidationTests, and remove out-of-date vertex buffer robustness tests.
Bug: dawn:808
Change-Id: Ic27a95138cb1e21b72a1da392b7828368bfe2010
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/56361
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com >
Reviewed-by: Austin Eng <enga@chromium.org >
2021-07-16 03:22:58 +00:00
Dawn Autoroller
8d05400b40
Roll Tint from 9e0b3cceaf to b478f97975 (11 revisions)
...
https://dawn.googlesource.com/tint.git/+log/9e0b3cceaf5f..b478f9797550
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: I7ea0785b680b106ce1ac13ad7d3de2a4283fa0ce
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58360
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-15 23:36:58 +00:00
Ben Clayton
1da4073870
test: Add case for tint:977
...
Bug: tint:977
Change-Id: I50778c6e1778717c0ad9b02b2ea25b13c4a3da97
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58065
Auto-Submit: Ben Clayton <bclayton@google.com >
Reviewed-by: Antonio Maiorano <amaiorano@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
2021-07-15 22:36:44 +00:00
Ben Clayton
0bff3fb3b7
writer/wgsl: Fix printing of for-loops
...
Fix various issue with formatting for loop. Add tests.
Bug: tint:952
Change-Id: I704341a15f0050ebf82df219d0c7d068a3a63c26
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58064
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
2021-07-15 22:20:29 +00:00
Ben Clayton
8e38fad091
transform/InlinePtrLets: Fix ICE for lets in for-loops
...
For loop initializers and continuing statements do not have a BlockStatement as their parent.
Handle removal of these statements with a new Transform::RemoveStatement() helper
Fixed: tint:990
Change-Id: I24e7b18dcf71d3ef0a4d3ee68b9f68518e0eb5e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58063
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
2021-07-15 22:20:29 +00:00
Ben Clayton
96a6e7e95d
transform: Pass CloneContext by reference
...
Some methods passed by pointer, others by reference. Standarize to pass-by-reference.
Also remove CloneWithStatementsAtStart().
CloneContext::InsertFront() is a better replacement.
Change-Id: Ibbf7caaa7a1b42c2d0a0cddaa3d6e76ca0e12a17
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58062
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
2021-07-15 22:20:29 +00:00
Ben Clayton
b478f97975
IntrinsicTable: De-duplicate returned Intrinsics
...
Much like sem::Type, it greatly simplifies downstream logic if we can compare sem::Intrinsic pointers to know if they refer to the same intrinsic overload.
Change-Id: If236247cd3979bbde821d9294f304ab85ba4938e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58061
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: David Neto <dneto@google.com >
2021-07-15 20:34:21 +00:00
Ben Clayton
e54e26d7e8
writer/hlsl: Emit more helpers for intrinsic calls
...
And call these helpers instead of inlining complex statements.
Cleans up output, and helps prevent for-loops decaying to while loops.
Change-Id: I6ac31b18ce6c5fac0e54e982f7db3bb298f7edb2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58060
Auto-Submit: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Ben Clayton <bclayton@chromium.org >
Reviewed-by: David Neto <dneto@google.com >
2021-07-15 20:34:21 +00:00
Ben Clayton
f242fb9f7e
test: Add test case for tint:998
...
Bug: tint:998
Change-Id: I6c8b8f7ec9a9b6d5a721fa01bab647641e33b3b2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58281
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: David Neto <dneto@google.com >
2021-07-15 20:29:09 +00:00
Ben Clayton
8a96c78931
transform: Fixes for DecomposeMemoryAccess
...
CloneContext::Replace(T* what, T* with) is bug-prone, as complex transforms may want to clone `what` multiple times, or not at all. In both cases, this will likely result in an ICE as either the replacement will be reachable multiple times, or not at all.
The CTS test: webgpu:shader,execution,robust_access:linear_memory:storageClass="storage";storageMode="read_write";access="read";atomic=true;baseType="i32"
Was triggering this brokenness with DecomposeMemoryAccess's use of CloneContext::Replace(T*, T*).
Switch the usage of CloneContext::Replace(T*, T*) to the new function form.
As std::function is copyable, it cannot hold a captured std::unique_ptr.
This prevented the Replace() lambdas from capturing the necessary `BufferAccess` data, as this held a `std::unique_ptr<Offset>`.
To fix this, use a `BlockAllocator` for Offsets, and use raw pointers instead.
Because the function passed to Replace() is called just before the node is cloned, insertion of new functions will occur just before the currently evaluated module-scope entity.
This allows us to remove the "insert_after" arguments to LoadFunc(), StoreFunc(), and AtomicFunc().
We can also kill the icky InsertGlobal() and TypeDeclOf() helpers.
Bug: tint:993
Change-Id: I60972bc13a2fa819a163ee2671f61e82d0e68d2a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58222
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-15 20:29:09 +00:00
Ben Clayton
4511a2ebb6
transform: Add a debug flag to dump WGSL
...
Before and after each transform of a transform::Manager.
This change makes the transforms use the Castable system so we can get the transform name.
Change-Id: I2cf9335960f1aca56f1d32c5ba0d104db4cc46c1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54581
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ryan Harrison <rharrison@chromium.org >
Reviewed-by: James Price <jrprice@google.com >
Reviewed-by: Antonio Maiorano <amaiorano@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-15 20:24:38 +00:00
David Neto
aa5686acc3
Roll spirv-tools and spirv-headers
...
Roll third_party/spirv-tools/ ecdd9a3e6..640b17b5f (31 commits)
ecdd9a3e6b..640b17b5fb
$ git log ecdd9a3e6..640b17b5f --date=short --no-merges --format='%ad %ae %s'
2021-07-14 pkasting Fix -Wunreachable-code-aggressive. (#4358 )
2021-07-14 jaebaek spirv-opt: support SPV_EXT_shader_image_int64 (#4379 )
2021-07-14 afdx Fix BUILD.gn (#4378 )
2021-07-13 afdx spirv-fuzz: support building using gn (#4365 )
2021-07-13 greg Fix vendor table build in BUILD.gn for nonsemantic.vulkan.debuginfo.100 (#4375 )
2021-07-12 greg Add non-semantic vulkan extended instruction set (#4362 )
2021-07-07 ynovikov Update SPIRV-Headers deps (#4369 )
2021-07-06 alastair.donaldson spirv-reduce: Eliminate skeletal structured control flow construct (#4360 )
2021-07-05 alastair.donaldson spirv-fuzz: Check updated analyses in transformation tests (#4266 )
2021-07-04 alastair.donaldson spirv-fuzz: Added tests for signedness analysis (#4361 )
2021-07-02 stevenperron Add remove_unused_interface_variable_pass.* to BUILD.gn (#4363 )
2021-07-02 ben.ashbaugh add tests for SPV_KHR_bit_instructions (#4350 )
2021-07-01 alastair.donaldson spirv-fuzz: Avoid out of bounds access (#4355 )
2021-06-29 61806567+TheMostDiligent Enabled tvOS platform (#4329 )
2021-06-29 3.1416f spirv-opt: A pass to removed unused input on OpEntryPoint instructions. (#4275 )
2021-06-29 stevenperron Bump glob-parent from 5.0.0 to 5.1.2. (#4353 )
2021-06-29 johnzupin fix strncpy bound error (#4331 )
2021-06-28 alastair.donaldson spirv-reduce: Allow merging unreachable blocks (#4303 )
2021-06-28 alastair.donaldson Add IsReachable function to IRContext (#4323 )
2021-06-28 alastair.donaldson spirv-reduce: Cleanup a few things (#4352 )
2021-06-24 alastair.donaldson spirv-fuzz: Add illustrative tests for new issues (#4347 )
2021-06-24 jason.ekstrand Add validation for SPV_EXT_shader_atomic_float16_add (#4325 )
2021-06-23 kpet Initial support for SPV_KHR_integer_dot_product (#4327 )
2021-06-23 dneto fix symbol exports check, for Android build cases (#4342 )
2021-06-22 dnovillo Start SPIRV-Tools v2021.3
2021-06-22 dnovillo Finalize SPIRV-Tools v2021.2
2021-06-21 46493288+sfricke-samsung spirv-val: Label VUID 04780 (#4334 )
2021-06-21 46493288+sfricke-samsung spirv-val: Add GLCompute to VUID 04644 message (#4333 )
2021-06-18 dnovillo Update CHANGES file for upcoming release.
2021-06-17 alanbaker Update SPIRV-Headers deps (#4328 )
2021-06-15 alanbaker Support SPV_KHR_subgroup_uniform_control_flow (#4318 )
Created with:
roll-dep third_party/spirv-tools
Change-Id: I5e6534f9118ff2f633552c1149c03f2e06cb721c
Roll third_party/spirv-headers/ f5417a4b6..1d4e3a7e3 (9 commits)
f5417a4b66..1d4e3a7e3a
$ git log f5417a4b6..1d4e3a7e3 --date=short --no-merges --format='%ad %ae %s'
2021-07-09 mariusz.merecki Add missing capabilities and '"version" : "None"' to QuantizationModes and OverflowModes enumerants
2021-07-07 kevin.petit Fix grammar for PackedVectorFormat
2021-06-25 mariya.podchishchaeva Upstream SPV_INTEL_debug_module
2021-06-24 13504385+WyvernWang reserve value range
2021-06-23 ben.ashbaugh add support for SPV_KHR_bit_instructions
2021-06-23 kevin.petit Add CI using Github actions and update README
2020-05-22 dneto Support SPV_KHR_integer_dot_product
2021-01-12 jason.ekstrand Add header changes for SPV_EXT_shader_atomic_float16_add
2021-06-16 john Fix two ordering problems.
Created with:
roll-dep third_party/spirv-headers
Change-Id: Icfe131fd8bdf3b9fd8fa400ba804d2ea57d27562
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58301
Auto-Submit: David Neto <dneto@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: David Neto <dneto@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
2021-07-15 20:03:06 +00:00
Ben Clayton
f4e213cf2d
CloneContext: Add an overload of Replace() that takes a function
...
Replace(T* what, T* with) is bug-prone, as more complex transforms may want to clone `what` multiple times, or not at all. In both cases, this will likely result in an ICE as either the replacement will be reachable multiple times, or not at all.
This is the cause of some of the CTS failures reported in crbug.com/tint/993.
Bug: tint:993
Change-Id: I880ece45faab0e7f07230a1b4436f4e9846edc84
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58221
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
Commit-Queue: Ben Clayton <bclayton@chromium.org >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-15 19:10:15 +00:00
Antonio Maiorano
60dae2490d
Reland "Validate storage class constraints"
...
This is a reland of fd5829e5ea
Original change's description:
> Validate storage class constraints
>
> As defined by https://gpuweb.github.io/gpuweb/wgsl/#storage-class-layout-constraints
>
> Bug: tint:643
> Change-Id: I9c78ba69a792a80c263a17b0a6e9b4810fdb7f30
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56780
> Kokoro: Kokoro <noreply+kokoro@google.com >
> Commit-Queue: Antonio Maiorano <amaiorano@google.com >
> Reviewed-by: Ben Clayton <bclayton@google.com >
Bug: tint:643
Change-Id: I62036d615a062597339a9d130b7ccf49b5be26c7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58120
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
Commit-Queue: Antonio Maiorano <amaiorano@google.com >
2021-07-15 19:09:25 +00:00
Yunchao He
37140e7c62
Fix bugs about TextureViewDesc's default values
...
TextureViewDescriptor's default values for dimension and
arrayLayerCount in Dawn are not correct according to WebGPU spec.
This change fixes these bugs.
Bug: dawn:760
Change-Id: Ic1d069838d6c0f7bb1afa1dceaf73e91bdfdb20a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58020
Commit-Queue: Yunchao He <yunchao.he@intel.com >
Reviewed-by: Kai Ninomiya <kainino@chromium.org >
2021-07-15 18:33:48 +00:00
Dawn Autoroller
5cbb168bbc
Roll Tint from 58bbe32cf4 to 9e0b3cceaf (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/58bbe32cf428..9e0b3cceaf5f
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: Ieafbd80f29d48f66fb9f4fe5b1aadec0decc2e02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58320
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-15 18:09:38 +00:00
Ben Clayton
1d10086d28
transform: More robustness for texture ops
...
Clamp the `level` and `array_index` arguments to `textureLoad()` and `textureStore()`.
Also fix the off-by-one error for the coordinates.
See: https://github.com/gpuweb/gpuweb/pull/1906
Fixed: tint:748
Change-Id: Id7505578b632dcaf75b2a3a020fc0190c612972c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57700
Kokoro: Kokoro <noreply+kokoro@google.com >
Auto-Submit: Ben Clayton <bclayton@google.com >
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-15 16:41:05 +00:00
Ben Clayton
487a913e31
CloneContext: Remove remnants of clone pointer de-duping
...
It appears that I didn't do a great job cleaning up the removal of ShareableCloneable in https://dawn-review.googlesource.com/c/tint/+/51484 .
Cloning nodes shouldn't return the same pointer. Remove bad comments.
Clean up leftover logic from CloneWithoutTransform().
Change-Id: Ibbc5f625c5978e9c11da59e7aa6197f39b6f0363
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58220
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
Commit-Queue: James Price <jrprice@google.com >
Auto-Submit: Ben Clayton <bclayton@google.com >
2021-07-15 16:37:24 +00:00
Ben Clayton
ff3dbc361b
tools: Add gerrit-stats
...
Gives you juicy stats for contributions to the project.
Change-Id: I4f3e7f03cc43947675e916a8036317af4a894d12
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57883
Auto-Submit: Ben Clayton <bclayton@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: David Neto <dneto@google.com >
Reviewed-by: David Neto <dneto@google.com >
2021-07-15 16:29:16 +00:00
Ben Clayton
9e0b3cceaf
[intrinsics]: Add texture_1d level overloads
...
Spec changes:
https://github.com/gpuweb/gpuweb/pull/1938
https://github.com/gpuweb/gpuweb/pull/1923
Change-Id: Ib738e15a146d73a75213a17a53e89f98c16b80a4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58040
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: David Neto <dneto@google.com >
Commit-Queue: David Neto <dneto@google.com >
Auto-Submit: Ben Clayton <bclayton@google.com >
2021-07-15 16:14:34 +00:00
Ben Clayton
93a75930b1
[tests]: Register Device::SetLoggingCallback()
...
And print this to the Dawn logger.
Tests will now print any diagnostic logging calls from Dawn.
Change-Id: Idd4bf816303c182809924f9a432570def808e1b6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/57381
Reviewed-by: Austin Eng <enga@chromium.org >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-15 09:09:38 +00:00
Dawn Autoroller
5e3e3a020a
Roll Tint from 3242d3e8c9 to 58bbe32cf4 (1 revision)
...
https://dawn.googlesource.com/tint.git/+log/3242d3e8c991..58bbe32cf428
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: If68d3df5338d2f5ae2eadfcd4f6a2cf4661fd4b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58160
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-15 02:22:04 +00:00
shrekshao
813a855b54
Remove deprecated WireClient/Server handlers functions
...
Remove deprecated functions and change new functions to pure
virtual since they are implemented both on dawn and chromium
side.
Bug: dawn:773
Change-Id: I5adfe42ad1155276f533660b938b869c775025bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58100
Reviewed-by: Austin Eng <enga@chromium.org >
Commit-Queue: Shrek Shao <shrekshao@google.com >
2021-07-15 01:13:04 +00:00
Sarah
58bbe32cf4
validation: Allow unsigned workgroup_size component
...
Bug: tint:923
Change-Id: I7bd7d22279d9c6ce4c3225bdfd8693261b9084f9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58121
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com >
Auto-Submit: Sarah Mashayekhi <sarahmashay@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: James Price <jrprice@google.com >
2021-07-14 23:33:24 +00:00
Dawn Autoroller
427a5eb9c5
Roll Tint from 4d22c1dc2f to 3242d3e8c9 (4 revisions)
...
https://dawn.googlesource.com/tint.git/+log/4d22c1dc2f9d..3242d3e8c991
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: I85a876502c7b7e131b9f5c2a330b9c8e7ed919f0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58101
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-14 21:12:05 +00:00
Ben Clayton
d9d6e7fc40
ShaderModule: Deprecate dump_translated_shaders for dump_shaders
...
And print the WGSL program even when !force_wgsl_step
Shaders are often built through string concatenation.
Being able to always dump this is useful.
Change-Id: I5da3866b333e8a80931c7c2837f0247e8f38213d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/57380
Reviewed-by: Austin Eng <enga@chromium.org >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-14 20:59:54 +00:00
Ben Clayton
3242d3e8c9
writer/hlsl: Use vector write helper for dynamic indices
...
This uses FXC compilation failure mitigation for _any_ vector index assignment that has a non-constant index. FXC can still fall over if the loop calls a function that performs the dynamic index.
Use some vector swizzle logic to avoid branches in the helper.
Fixed: tint:980
Change-Id: I2a759d88a7d884bc61b4631cf57feb4acc8178de
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57882
Auto-Submit: Ben Clayton <bclayton@google.com >
Commit-Queue: Antonio Maiorano <amaiorano@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Antonio Maiorano <amaiorano@google.com >
2021-07-14 18:43:51 +00:00
Ben Clayton
8a8ddcfbed
debug: Include system in assert string
...
Change-Id: Id709cef0bfdb7cc1f849a5fb43e9d4f43c28272b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57706
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Antonio Maiorano <amaiorano@google.com >
Commit-Queue: Ben Clayton <bclayton@google.com >
2021-07-14 18:42:02 +00:00
Ben Clayton
d35975adf6
Add test case for tint:978
...
Bug: tint:978
Change-Id: I2b203e1eec53e70ab34d2063c3b49848bdacb780
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57708
Auto-Submit: Ben Clayton <bclayton@google.com >
Commit-Queue: Antonio Maiorano <amaiorano@google.com >
Kokoro: Kokoro <noreply+kokoro@google.com >
Reviewed-by: Antonio Maiorano <amaiorano@google.com >
2021-07-14 18:01:36 +00:00
Antonio Maiorano
de2b7db244
Make ArrayLengthFromUniform transform emit a valid UBO
...
The UBO must have a stride that is a multiple of 16 bytes.
Note that this change was part of https://dawn-review.googlesource.com/c/tint/+/56780
but the CL was reverted because it broke Dawn. This CL relands part of
the change, and adds the macro TINT_EXPECTS_UBOS_TO_BE_MULTIPLE_OF_16 so
that Dawn can conditionally compile against it.
Bug: tint:984
Bug: tint:643
Change-Id: I303b3fe81ff97c4933c489736d5d5432a59ce9b7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57921
Kokoro: Kokoro <noreply+kokoro@google.com >
Commit-Queue: Antonio Maiorano <amaiorano@google.com >
Reviewed-by: Ben Clayton <bclayton@google.com >
2021-07-14 17:28:01 +00:00
Dawn Autoroller
b81021dc82
Roll Tint from 6e459fecb7 to 4d22c1dc2f (6 revisions)
...
https://dawn.googlesource.com/tint.git/+log/6e459fecb794..4d22c1dc2f9d
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC kainino@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: None
Tbr: kainino@google.com
Change-Id: I8c0fac6db0714a7190acf38a5040823b728648be
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58022
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com >
2021-07-14 16:11:54 +00:00
Antonio Maiorano
58016bfb31
Make storage buffer length UBO size a multiple of 16 bytes
...
Conditional on whether TINT_EXPECTS_UBOS_TO_BE_MULTIPLE_OF_16 is
defined, which it will be in a future Tint CL.
Bug: tint:984
Change-Id: I191cd59fe6947c9113a8fad7dbfbf79903969b27
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/57960
Commit-Queue: Antonio Maiorano <amaiorano@google.com >
Reviewed-by: Austin Eng <enga@chromium.org >
2021-07-14 15:33:31 +00:00