Without this other Tint transforms may end up calling user code instead
of builtins (for example for the min() used in robustness).
This commit does the following changes:
- Changes ShaderModuleVk to return a CompiledSpirv object instead of
just a Spirv Blob so that a remappedEntryPoint can be stored in the
cache alongside the SPIR-V.
- Inlines the logic and simplifies TransformedConcurrentShaderModuleCache
slightly (by introducing a struct instead of std::pair, and adding a
conversion method to ModuleAndSpirv).
- Adds the Renamer transform to ShaderModuleVk and adapt the code to
use the remappedEntryPoint where needed (pipeline creation and
post-compilation reflection).
- Adds a test where the min() used by the robustness transform is
overriden to return a constant 0.
- Moves the Renamer transform to be just after the SingleEntryPoint
transform in D3D12 and Metal as well so as to make the test pass.
Fixed: dawn:1583
Bug: dawn:1585 dawn:1587
Change-Id: Ia9de38d391a7901ed04b097f4a8d439759f7556e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/107020
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This patch adds a validation that the effective buffer size must be a multiple
of 4 when the binding type is storage or read-only storage to match the latest
WebGPU SPEC.
This patch also fixes some typos in BindGroupValidationTests.
Bug: dawn:1542
Test: dawn_unittest
Change-Id: I30234bcf718be0d82d4a09b9980127a98ebe8172
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105101
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Update:
- expectations.txt
- ts_sources.txt
- resource_files.txt
- webtest .html files
d8a28755b2..74b1f15354
- 74b1f1 op: Implement 'multiple_pairs_of_draws_in_one_render_bundle' test in multiple_buffers.spec.ts (#1901)
- 777f1c Implement 'index_range,auto_layout' test in getBindGroupLayout.spec.ts (#1899)
- f0dacb Implement `pack2x16float` tests (#1890)
- dbbbc8 op: Implement 'two_dispatches_in_the_same_compute_pass' test in multiple_buffers.spec.ts (#1896)
- 2abd75 Implement 'index_range' test in getBindGroupLayout.spec.ts (#1892)
- cbdd47 Roll types to 0.1.22 and test rg11b10ufloat-renderable requestDevice (#1888)
- 723878 op: Implement 'ww' test in multiple_buffers.spec.ts (#1879)
- b411f7 Remove a fallback value in the use of maxBindGroups value (#1895)
- 68e6e0 Update `atan2` F32 tests to account for atan based implementations (#1837)
- 07936b Implement `cross` f32 tests (#1878)
- 5efbf7 compilation_info: Check offset when there is a carriage-return. (#1880)
- 2f74c8 Implement 'timestampWrites,invalid_query_set' test in beginComputePass.spec.ts (#1877)
- a0b0ba op: Implement 'wr' test in multiple_buffers.spec.ts (#1872)
- 427b99 Implement boolean logical equality tests (#1876)
- 115248 Style and bug fixes in device_mismatch tests (#1871)
- 2c53b5 Add a 'sampler,device_mismatch' test to createBindGroup.spec.ts (#1867)
- 291ce4 Implement 'sampler,compare_function_with_binding_type' test in createBindGroup.spec.ts (#1865)
- 497c85 op: Implement test in multiple_buffers.spec.ts (#1857)
- 3eaf0e Add execution tests for logical binary operations (#1870)
- 6f50ab Add execution tests for logical negation (#1869)
Created with './tools/run cts roll'
Change-Id: Ie417426b3e60863637a2faa3904a4f828d8af0d4
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Include-Ci-Only-Tests: true
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/105200
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Update:
- expectations.txt
- ts_sources.txt
- resource_files.txt
- webtest .html files
0fee76f32e..deb4ba9f33
- deb4ba wgsl: Remove gradients_in_varying_loop tests
- e84b11 Add 'render_pass_and_bundle,device_mismatch' test to attachment_compatibility.spec.ts (#1858)
- cca406 webgpu/shader/execution: More tightly scope validation to batches
- 2e8bb0 webgpu/shader/execution: Reduce `const` case batch size
- 042ae7 wgsl: Fix emission of f32 and f16 infinities. (#1862)
- 050429 Update canvas_composite_alpha to test opaque alpha mode canvas composite (#1856)
- 2a4dfd Update 'multisampled_validation' test in createBindGroupLayout.spec.ts (#1777)
- b09c17 Update texture_must_have_correct_dimension test to handle storageTexture as well (#1851)
- 09db86 Add a doc about Floating Point math as background on numeric testing (#1847)
- 0860ad Update align tests for const expressions. (#1854)
- e77a9f Implement test in operation/rendering/blending.spec.ts (#1845)
- 46e737 Update multisampled_validation test to check the sampleType as well (#1850)
Created with './tools/run cts roll'
Change-Id: Ic58d621db0aab0c847cf30deddb07b5108c466b6
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/+/103600
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
This CL organizes the expectation of new added built-in constant
evaluation and timestampWrties test cases.
Bug: dawn:1250, tint:1613
Change-Id: I380129098873a543aeb72b1d4b8973ae92465c19
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/102108
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
The new heartbeat logic can now detect that these are just slow, and no longer trigger the timeout failures.
Fixed: tint:1613
Change-Id: I2e29b0e2b7002f29984841ed4f421ec6e47be83f
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/+/102960
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
• Add `cts validate` command used to check for expectation collisions.
Can be used as a presubmit check.
This is more tightly checked than the previous logic, as this works on just
the expectations, instead of results.
• Fix an issue where the test result reduction could introduce collisions with
'Skip' expectations.
To fix this, the update process first adds 'consumed' results for the skipped
tests, preventing test tree reduction for that part of the tree.
• Fix a bug in the generation of 'New failures' and 'New flakes' which produced
more expectations than was necessary.
The issue here was that the tree roots could contain overlaps, and roots could
be processed before sub-trees, resulting in inefficient expectations.
• Fix collisions in the expectations file, and update with results from
the most recent roll.
Change-Id: I7b64553408998fb4416458ce564fc49c8f6d4d07
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/101860
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
This patch updates the validations on the inter-stage shader variables to
match the latest WebGPU SPEC (in chapter "validating-inter-stage-interfaces").
With this patch the below validation tests in WebGPU CTS will pass:
- render_pipeline,inter_stage:max_shader_variable_location:*
- render_pipeline,inter_stage:max_components_count,*
Fixed: dawn:1448
Test: dawn_unittests
Change-Id: I3e4d98f03ec18e5d1642a4d7ecd3eed1b7ae04d0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/102104
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Update with additional argument docs, and docs on uploading builds
to Swarming. I've found this particularly useful lately.
Bug: none
Change-Id: Iee04043b7260c505d4d63025c4038e3eb50db338
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/102106
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Following https://github.com/gpuweb/cts/pull/1836, this will let Chrome's
CTS runner bypass the builtin CTS timeouts in favor of our own harness
timeouts.
Bug: chromium:1340602
Change-Id: I09f25de26f28f4595c6d277050f2a71969566fdb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/102200
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Ensure that all actually known flaky tests are marked RetryOnFailure.
Generated with some manual changes, then `./tools/run cts update`
pointing at the Chromium CL to disable retries.
Bug: chromium:1343969, chromium:1344876, chromium:1359106, dawn:1500
Change-Id: Ia92a83e55bd64f39ecd8ff1be194dca95febd9bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/101801
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Change-Id: I4ce31d6cadd4506385d39b4754347fa4838ea757
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/100501
Auto-Submit: Loko Kung <lokokung@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
c0c5cce305..27dc745ca1
$ git log c0c5cce30..27dc745ca --date=short --no-merges --format='%ad %ae %s'
2022-08-26 gyuyoung Add sample_count test to buffer_texture_copies.spec.ts (#1800)
2022-08-26 gyuyoung Implement 'texture,device_mismatch' test in writeTexture.spec.ts (#1793)
2022-08-26 gyuyoung Add 'maximum_binding_limit' test to createBindGroupLayout.spec.ts (#1790)
2022-08-25 enga Add global test config (#1801)
2022-08-25 enga Mark root .eslintrc.json as "root: true" (#1802)
2022-08-25 bajones Address Kai's feedback
2022-08-24 tojiro Style fixes
2022-08-24 tojiro Refactor image_copy and unified data generator between the two test files.
2022-08-23 bajones Optimizing GetInitialData function
2022-08-25 kainino fix merge error
2022-08-25 rharrison Clarify comments in ULP code (#1795)
2022-08-23 kainino tweak to make safer against accidental awaits
2022-08-23 bclayton webgpu/shader/execution: Check validation before testing results
2022-08-24 rharrison Linearly spread `f32FullRange` values over possible f32 values (#1786)
2022-08-24 rharrison Implement `remainder (%)` f32 test (#1765)
2022-08-24 rharrison Rename `make*F32IntervalCase` to `make*ToF32IntervalCase` (#1775)
2022-08-24 zhaoming.jiang Revert "Use let declarations for literal input in shader,execution,expression tests (#1788)" (#1789)
2022-08-24 zhaoming.jiang Use let declarations for literal input in shader,execution,expression tests (#1788)
2022-08-24 gyuyoung Add storage_texture,formats test to createBindGroupLayout.spec.ts (#1776)
2022-08-23 rharrison Refactor binary arithmetic tests to use common test values (#1783)
Change-Id: I75a810698616f74d02480ccee369564030aa4a32
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/100462
Auto-Submit: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
These tests used to be flaky, and now fail consistently after jobs
is set to 1 instead of 4. Suppressing so parallelization can be
disabled to make test results more consistent.
Bug: chromium:1353938
Change-Id: Ia99445ddd43d55d7ac3f67dd8e177b0fd34d51f3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/99762
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Heartbeats are rate-limited to 1 every 500ms.
They are sent at the following checkpoints:
- Before a log is recorded in TestCaseRecorder
- Just before an async WebGPU operation
- Immediately following completion of a async WebGPU op
- After a then/catch handler waiting on an async WebGPU op
Bug: chromium:1340602
Change-Id: I4d5c864dabd3f4215dac2e78d7658df0f6a7b0b7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/99360
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Adds the generated CTS test list to the existing gn/webgpu-cts group
so that Chromium tests properly include the generated file.
Also updates some existing BUILD.gn file paths to be consistent with
Chromium styling: relative paths without the leading ./ for files
under the current directory and directories before and separate from
individual files.
Bug: dawn:1479
Change-Id: Icce70e7fcee874b6b33c21230c8a4429a1f7ab6c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/98801
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Switches the WebGPU CTS test runner JavaScript code to use the defined
message protocol instead of the ad-hoc solution we were using before.
Bug: chromium:1340602
Change-Id: Ieaf26b5b2409f69d7859d3db4ce7757780de6712
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/98684
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@google.com>
- Run format on the current expectations file to make it up to date.
- It's a lot easier to read the failures when they are grouped by the bug.
Change-Id: I333a0b237ccd405d204e47809eb7ab723824fddd
No-Try: True
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/98241
Auto-Submit: Loko Kung <lokokung@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>