Commit Graph

246 Commits

Author SHA1 Message Date
Antonio Maiorano 1fa68bc200 CTS expectations: triage the remaining shader execution failures
Change-Id: I1c53ec4b38755c7634f911755d958574d06d8e3c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124620
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-17 22:51:00 +00:00
Kai Ninomiya ad116481bd Suppress outdated GPUDeviceLostTest CTS test
Needed to land Chromium change:
https://chromium-review.googlesource.com/c/chromium/src/+/4342174

Bug: chromium:1424883
Change-Id: Ic81e824c277deac3fe734d53e3ce41140ce69969
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124542
Kokoro: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
2023-03-17 04:47:40 +00:00
Antonio Maiorano 55b4c9f369 CTS expectations: triage min,max,clamp (AMD/MacOS)
Change-Id: I5e6b0c16810b182b484baa09684cca06b253d604
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124521
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-16 21:31:15 +00:00
Antonio Maiorano 52cd8caa07 tint/hlsl: fix frexp always returning positive values for fractional part
Bug: tint:1876
Change-Id: Ic56b37918fd1a2a42442b517985a49f10d85159d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124501
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-16 21:31:15 +00:00
Antonio Maiorano ae7a2a94c0 CTS expectations: triage frexp failures
Change-Id: I8cfc3b061f832f95466a0c226a5c7ac628bed78e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124500
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2023-03-16 19:07:00 +00:00
dan sinclair abe6db26d2 Update expectation issue for `increment_decrement`
The OSX failures of `increment_decrement` are updated to include the
filed bug number.

Bug: tint:1875
Change-Id: Iac8d0e0e8cb8346cc8ed1b972951c423f4f393cb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124480
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-16 17:38:18 +00:00
Ben Clayton 76795db7ce Roll third_party/webgpu-cts/ 3030a7bb2..99d11d886 (12 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


3030a7bb2c..99d11d8864
 - 99d11d Add test case about copying HTMLVideoElement to texture (#2018)
 - ef9763 Add bitwise shift validation tests (#2399)
 - a7dda2 Add tests for unary~ i32, u32, and vectors of them (#2395)
 - c054fc Add bitwise shift tests (#2397)
 - 174648 consolidate more createPipeline/Async tests
 - 12e6c2 Make the test names less descriptive
 - a483c0 limit # of storage textures & storage buffers to device limit
 - ba16f0 Change bytesPerSample calculation to be similar to spec
 - ce7f52 merge createPipeline and createPipelineAsync tests
 - d64c03 Validate maxFragmentCombindOutputResources and related changes
 - 5a89d4 roll to types@4e0beeeb3ddd5327aaffd1f3fa7943c314eeaceb
 - 25aef0 [wgsl] Add increment and decrement execution tests. (#2394)

Created with './tools/run cts roll'

Change-Id: I9080d8128450937d3c94c3e40e95c5521d6c1320
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/+/124000
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-14 22:24:40 +00:00
Takahiro 7adad519ba Update webgpu-cts/expectations.txt
This commit reverts the change in webgpu-cts/expectations.txt
needed until the CTS is rolled because it has been rolled.

See
https://chromium-review.googlesource.com/c/chromium/src/+/4270352

Change-Id: I75f6cb9d8b28f59c3f893987277e7a5d83ab97ce
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123920
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Takahiro <hogehoge@gachapin.jp>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-03-14 17:52:22 +00:00
Loko Kung ebf8b7fd91 Flips the default deprecated code path to error instead of logging.
Bug: dawn:1677
Change-Id: I833b024fa89ee2eeed1dda80ad6e39f52bbcf8ba
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117535
Commit-Queue: Loko Kung <lokokung@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-14 07:12:53 +00:00
Austin Eng 868efb9739 Roll third_party/webgpu-cts/ 0557875f3..3030a7bb2 (30 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files

https: //chromium.googlesource.com/external/github.com/gpuweb/cts/+log/0557875f3982..3030a7bb2c69
 - 3030a7 Implement `frexp` f32 tests (#2336)
 - 5be43e Implement `determinant` f32 tests (#2321)
 - 1c53bf Adds stale adapter tests (#2387)
 - 176741 Test destroyed buffers and textures on submit
 - 4bd39d Implement absolute error for `acos` intervals (#2372)
 - d56144 Implement absolute error for `asin` intervals (#2346)
 - 7e411f shader/execution: Flip eval order of assignment
 - e6edef shader/execution: Port evaluation order tests to flow_control
 - e45de6 Add isZeroCopy cases for ExternalTexture (#2338)
 - 6c2b83 shader/execution:  Add more complex flow control tests
 - 8c8d89 Implement `bool` builtin tests (#2327)
 - d18b3a Implement `i32` builtin tests (#2379)
 - dfac60 Implement `u32` builtin tests (#2344)
 - 9179cd Test import GPUExternalTexture from destroyed device (#2351)
 - fb969c Sync keyword/reserved word list. (#2383)
 - 685049 Implement `f32` builtin tests (#2382)
 - 0e3229 shader/execution: Add 'preventValueOptimizations' case parameterization
 - ec5ad7 Start adding queue validation tests for buffers and textures
 - a1efad Put the same URL in all "Open" links (#2316)
 - f99f92 Updates max*BufferBindingSize limit tests to adhere to maxBufferSize (#2339)
 - d88504 Add validation tests on BGRA8Unorm canvas with StorageBinding usage (#2348)
 - 8d827d Add validation test for maxComputeXXX
 - e613a8 Rename maximumLimit to adapterLimit and related changes
 - 7b1df1 Update src/webgpu/api/validation/capability_checks/limits/maxBindingsPerBindGroup.spec.ts
 - 188203 Check maxBindingsPerBindGroup limit matches spec limits
 - a28619 Fix writable binding aliasing in webgpu:api,validation,resource_usages,texture,in_pass_encoder (#2341)
 - c54778 Fix wrong conditions and missing formats for maxAttachmentState tests. (#2343)
 - 6b01d8 Changes for depthWriteEnabled/depthCompare/depthClearValue being required (#2342)
 - b61662 Require npm >=8.5.2 (#2340)
 - 785335 Generate OOM error using createTexture (#2337)
Change-Id: Iebefb8ee703437252e44040fd74310a52d079dc4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123660
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-13 20:22:02 +00:00
Stephen White 905b63b90f Remove expectations for now-passing tests.
Change-Id: I3be575e64eb2ff7c3e1058e6858be4497e6f7bd2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123500
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-09 20:30:40 +00:00
Ben Clayton da353b4b39 tint: Flip evaluation order of assignment statements
Evaluate the LHS before the RHS.

Fixed: tint:1867
Change-Id: Ib63903ed4b1425007197a6da37f3bf54a495d88a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123120
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-08 21:48:45 +00:00
Yuly Novikov 9eff4810c6 Add MacBook Pro 2019 AMD macOS 13.2.1 failure expectations
Found in https://ci.chromium.org/ui/p/chromium/builders/try/dawn-try-mac-amd-exp/47/overview

Use on CTS rolls to maintain these expectations during the migration.

Bug: chromium:1382149
Change-Id: I32c27965a1178338bde7b4af211337754a381f73
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122720
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-03-08 18:55:50 +00:00
Yuly Novikov 273f517a23 Copy known Mac WebGPU CTS expectations to Ventura
These Monterey failures were confirmed to also fail on Ventura in
https://ci.chromium.org/ui/p/chromium/builders/try/dawn-try-mac-amd-exp/45/overview

Also update TAG HEADERS from Chromium, including Ventura and new AMD GPU

Bug: chromium:1382149, dawn:1125, chromium:1410936
Change-Id: Ib385e0624d076002d53edf32df30c849a1ead0ce
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122380
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-03-08 18:49:41 +00:00
Loko Kung 4f98dd4706 Add maxFragmentCombinedOutputResources and validation for it.
- Suppresses maxStorageTexturesPerShaderStage CTS test because it needs
  to be modified to adhere to the new limit as well.

Bug: dawn:1665
Change-Id: I66c62bd94b613059633888210ec7e7b42dc3a1dc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122461
Commit-Queue: Loko Kung <lokokung@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-08 02:45:50 +00:00
Takahiro aab78efc56 Add suppressions to webpu-cts/expectations.txt
Temporary suppressions for some depth-stencil CTS tests that the
dawn implementations goes ahead of. The supporessions should be
removed when the CTS will be updated and rolled.

These suppressions are needed for
https://chromium-review.googlesource.com/c/chromium/src/+/4270352

Change-Id: If3ee5ee9adc112c9dc5815dacc0adf967a9f5451
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122561
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Takahiro <hogehoge@gachapin.jp>
2023-03-07 06:01:30 +00:00
Dan Sinclair dd2f36205d Roll third_party/webgpu-cts/ 6e39b5d2f..0557875f3 (15 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


6e39b5d2f2..0557875f39
 - 055787 Update external_texture,expire test case (#2283)
 - dcfa5b Removes OOM errors in error scope tests since we can't cause OOM. (#2331)
 - 534e6b Rename to GPUShaderModule.getCompilationInfo() (#2291)
 - 9d8e1a Depend on github.com/gpuweb/types instead of npm @webgpu/types (#2332)
 - 4505a1 Updates BGL sampleType when using multisampling for validation errors. (#2329)
 - 716bd3 Prompt for reload only if this is the full CTS (#2318)
 - 267cb4 Test minStorageBufferOffsetAlignment and minUniformBufferOffsetAlignment
 - 6b70b1 Refactor limit_utils.ts so we can test more limits
 - 1713e6 OperationError -> GPUPipelineError
 - bf1b1e Fix WGSL warning for maxStorageTexturesPerShaderStage.spec.ts
 - 07c420 Validate maxColorAttachments and maxColorAttachmentsBytesPerSample
 - 5bd2ce Refactor limit_utils.ts so we can test more limits
 - 6b9071 Test maxInterStageShaderComponents and maxInterStageShaderVariables
 - 539f8f Test maxDynamic(Uniform|Storage)BuffersPerPipelineLayout
 - 762133 Convert more OperationError to GPUPipelineError. (#2314)

Created with './tools/run cts roll'

Change-Id: Ic8c9d2ad9391bbb2fa0bed667f2e4167bf45c86b
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/+/122420
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2023-03-03 11:39:10 +00:00
Corentin Wallez 4138c10e20 Suppress more tests for the GPUPipelineError rename
Bug: chromium:1417269
Change-Id: Icf5b41b306e3fe0ffedd6307751714afe664ab70
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122240
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2023-03-02 01:47:39 +00:00
shrekshao 84532462f6 Validate writable storage texture bindings don't alias
Followup of storage buffer bindings aliasing validation.

Bug: dawn:1642
Change-Id: I84bf33895320053630ed80d3503ff53d1eaa83b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/121420
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2023-03-01 21:04:28 +00:00
Corentin Wallez 633f41589f Suppress some expectations for the GPUPipelineError rename
Most suppressions where ok, but some needed to be expanded to cover all
configurations. Which this CL does.

Bug: chromium:1417269
Change-Id: Iad223e5cff31f8691c9131bec763f281df46bded
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122041
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-03-01 19:13:39 +00:00
Zhaoming Jiang 04529be9b7 Dawn/Tint: Polyfill reflect vec2<f32> for D3D12 FXC on Intel
This CL add a toggle-controlled Tint polyfill for reflect on vec2<f32>,
and enable this toggle by default on D3D12 Intel device when using FXC.
This CL works around issue tint:1798.

Bug: tint:1798
Change-Id: If2f4de836eaf5e7374bc2c1ae3fbe06b91a5bbd5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/121160
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2023-02-27 02:59:50 +00:00
Ben Clayton 111be84975 Roll third_party/webgpu-cts/ 13410d18b..6e39b5d2f (14 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


13410d18b4..6e39b5d2f2
 - 6e39b5 Updates tests to adhere to only pass depth-stencil load/store values when needed. (#2311)
 - 08abe0 shader/execution: Begin flow control tests
 - eaf9af Updates error type for create oom buffers. (#2217)
 - 728f52 add maxXXXPerShaderStage limit tests
 - 72f15f add maxXXXBufferBindingSize limit tests
 - 34c738 Add f32 matrix-vector and vector-matrix multiplication tests (#2304)
 - 738697 GPUPipelineError.name is GPUPipelineError and not OperationError. (#2298)
 - 51f415 Add f32 matrix-matrix multiplication tests (#2301)
 - ff7ad7 Fix normalization checks
 - 0c4a36 Test rg11b10ufloat-renderable makes the format resolvable and MSAAable (#2289)
 - e6f317 Add ExternalTexture Rotatation Tests (#2299)
 - 10422e Use new test video files for ExternalTexture (#2242)
 - 6b9150 Emit `f32` values for F32Interval.toString() (#2296)
 - ab1336 Validate that case input types parameter types provided to test runner (#2288)

Created with './tools/run cts roll'

Change-Id: Ice1a8cfa190360512fc6266f2bc58f1be754abae
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/+/121580
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2023-02-25 18:13:43 +00:00
Corentin Wallez cce5f48f0e Triage CTS failures
Bug: dawn:1677 dawn:1676 chromium:1410936
Change-Id: I3cc0e84b45dee7c97785c497e36cce8cbc169f74
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120984
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-02-22 20:02:55 +00:00
Corentin Wallez b4d2bbb24f Make Texture/QuerySet destroy always valid.
This follows the recent semantic from the WebGPU spec and fixes a couple
failing CTS tests.

Bug: None
Change-Id: I9197ea3fda6c15bd9302f8d60e70ee00f1d37708
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120980
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-22 18:12:57 +00:00
Shrek Shao 053fca884a Run SubstituteOverride transform before Robustness
Fixed: dawn:1673
Change-Id: I57f3daf16c417713a850894d1c6fcbc31ef03da1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120822
Commit-Queue: Shrek Shao <shrekshao@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-02-21 23:12:33 +00:00
Ben Clayton db9d4453f8 Roll third_party/webgpu-cts/ 87f8f3d61..13410d18b (2 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


87f8f3d615..13410d18b4
 - 13410d Move `static_assert` and `type` to reserved words.
 - 2184a5 Update tests to use `alias`.

Created with './tools/run cts roll'

Change-Id: Ic00993d9fb940602af9f644faf785d3cb98e1bc1
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/+/120760
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
2023-02-21 15:21:50 +00:00
Ben Clayton e58f89bf54 Roll third_party/webgpu-cts/ 631d877e7..87f8f3d61 (2 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files

631d877e75..87f8f3d615
 - 87f8f3 Add f32 matrix-scalar multiplication tests (#2286)
 - c87f10 webgpu/shader/validation: Remove types as keywords

Created with './tools/run cts roll'

Change-Id: I2638bd4fdadefb0c0dd52cc48c45d771870e79c5
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/+/120480
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-02-20 10:12:46 +00:00
Jiawei Shao e4f947637a D3D12: Replace dst-alpha with one for formats without alpha
This patch replaces D3D12_BLEND_DEST_ALPHA with D3D12_BLEND_ONE
when the color target formats have no alpha-channel.

Using D3D12_BLEND_ONE is an optimization over
D3D12_BLEND_DEST_ALPHA as it means the GPU hardware doesn't
need to get destination pixel at all. As D3D SPED requires the
default value for missing components in an element format is
"0" for any component except A, which gets "1", using
D3D12_BLEND_DEST_ALPHA takes same effect with
D3D12_BLEND_ONE when the color target formats have no alpha
channel.

In addition, replacing D3D12_BLEND_DEST_ALPHA with
D3D12_BLEND_ONE also serves as a workaround against an Intel
driver issue about alpha blending.

Bug: dawn:1579
Change-Id: If79e4c8007b68dd35e142ba9cf8a4921e611890a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120120
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-02-20 03:10:32 +00:00
Ben Clayton 643f2aad43 tint/reader/wgsl: Remove type keywords
Fixes: tint:1810
Change-Id: Iff296a3923947801b9559fd0f5354b72f4b171d2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120081
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-18 08:36:01 +00:00
Ben Clayton d0746d75e6 Roll third_party/webgpu-cts/ ad8abf400..631d877e7 (52 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


ad8abf400d..631d877e75
 - 631d87 Add `f32` matrix subtraction tests (#2279)
 - 07f15b Add f32 matrix addition tests (#2278)
 - 16f862 Add validation tests about feature 'bgra8unorm-storage' (#2275)
 - 5dc0ec Add max vertex / max attribute limit / max stride tests
 - 763d0b Upgrade gpuweb/types to 0.1.27 (#2273)
 - 0dff1a Cleanup Validate maxBindGroups
 - d0b77a Add test for maxBindGroups and maxBindingsPerBindGroup
 - 2be5a7 Add getGPUBindingCommandsMixin to limits_utils
 - 8c190e Split GPUTest into GPUTest and GPUTestBase
 - b365b1 Implement `transpose` f32 tests (#2249)
 - 977a54 Add more tests for end twice (#2251)
 - feb07c Update to use `keysOf` helper. (#2243)
 - 1dee49 [wgsl] Tests `@const` is not allowed to be used as an attribute. (#2246)
 - 432aad [wgsl] Add placement tests for @builtin. (#2248)
 - 363837 Add validation tests for unary not and binary and/or (#2247)
 - 61b6ad Update builtin parse test to not use code as URL. (#2245)
 - 6e62ce Update `align` parsing tests. (#2244)
 - 534fb6 [wgsl] Add validation tests for `break` placement (#2240)
 - 991a57 add maxTextureArrayLayers limit test (#2234)
 - c7293f add maxBufferSize limit test (#2236)
 - 07216f [wgsl] Add validation of `discard` placement. (#2239)
 - cb7d76 [wgsl] Update `static_assert` to `const_assert`. (#2237)
 - d02b86 [wgsl] Add validation tests for pipeline stage attributes. (#2233)
 - 17eafe Add limit tests for maxTextureDimension1/2/3D (#2227)
 - d9199d Avoid writable storage buffer binding aliasing (#2230)
 - 6c7083 [wgsl] Validate expressions passed to attributes. (#2229)
 - 748ec9 Add a few more constant/override tests
 - 9300ec [wgsl] Alignment attribute tests. (#2180)
 - b2f9c2 Remove tests of end pass twice in encoder_state.spec.ts (#2226)
 - 1bf9c3 Test destroying an invalid queryset and an invalid texture (#2223)
 - efcb12 Fix a few spelling errors
 - 221d30 CSS, make button colors match (#2221)
 - 992b58 Culling: Test triangle-strips, depth, and stencil results
 - ae3c5e Add tests for i32 binary scalar-vector ops (#2219)
 - 6afbd0 Implement Matrix type for numeric testing (#2204)
 - e2248b Texture utility refactoring. (#2184)
 - b62579 op,render_pipeline,alpha_to_coverage (#2202)
 - 5a17b9 Add test for u32 scalar-vector remainder (#2216)
 - bd8450 Allow bgra8unorm as storage textures (#2212)
 - 11e6fb Added sourcmaps to webgpu:api,operation,shader_module,compilation_info
 - cf980a Fix package-lock.json (#2214)
 - 19fc83 Add tests for u32 scalar-vector division (#2215)
 - 7fa1d7 Add transferControlToOffscreen cases to colorSpace ref test
 - 458788 Make labels pass new eslint rules
 - 6c8361 Add tests for u32 scalar-vector addition and subtraction (#2208)
 - 7324ba Test labels in descriptors appear on objects created.
 - a0822b Add a few more debug markers (#2197)
 - 2db4fd Adds typescript-eslint/require-await and fixes existing warnings. (#2207)
 - 73a99f Adds val,buffer,create,limit tests (#2192)
 - 454253 Add a `--coverage` flag to cmdline.ts
 - 2cff62 Add tests for binary multiplication of scalars with vectors of type u32 (#2181)
 - a7e54e Implements and updates maxColorAttachmentBytesPerSample tests (#2200)

Created with './tools/run cts roll'

Change-Id: I05e331e2c7f5e2db42f573f14c208ee13fa2fa94
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/+/120201
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-02-18 01:15:46 +00:00
Yan,Shaobo 1aad71bebb Enable copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:*
Chromium side implementation has landed and these tests should work.

Bug: chromium:1399391

Change-Id: Ief891803f2bc6c77c2ddf39bae765b75ea96fc3f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/120000
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Austin Eng <enga@chromium.org>
2023-02-15 15:05:13 +00:00
Kai Ninomiya e30e4a2983 Update expectations with clang-coverage tag
Bug: chromium:1413845
Change-Id: Id2d34f1c7830239f55fb03e1341db8b3e215fc57
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119580
Commit-Queue: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
2023-02-13 23:24:51 +00:00
Jiawei Shao f5cee3fadf Enable the optional feature bgra8unorm-storage on Metal
This patch adds the support of the optional feature "bgra8unorm-storage"
and enable it on  Metal.

Bug: dawn:1641
Test: dawn_end2end_tests
Change-Id: Id58cefd8735f46b8d1807376ebcfada10df2890e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/111380
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-02-11 02:53:53 +00:00
Antonio Maiorano ec20758675 tint: polyfill remainder to handle negative operands
Bug: tint:1802
Change-Id: Ie9baa045feda08523e5ca4f5ce94b6db7d4477e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119100
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-02-10 15:01:02 +00:00
Yunchao He 2d41a015d7 Report error immediately if pass ends twice
The previous code reports error till command encoder finish.

This change also updates webgpu-cts expectations.txt accordingly.

Bug: dawn:1578

Change-Id: I1fe758a02d9cfdb1440e3cabf10aea0bd60b9c59
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116842
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2023-02-08 22:04:10 +00:00
Kai Ninomiya 08fd42f08a Mark f32_arithmetic tests as slow for code-coverage builders
Bug: chromium:1399354
No-Try: True
Change-Id: I2641ab4dce8579a05dd873d6d37b1f5caece4cf0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119002
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Kai Ninomiya <kainino@chromium.org>
Kokoro: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2023-02-07 21:19:46 +00:00
Jiawei Shao c272282e97 D3D12: Allocate renderable 2D textures as committed resources on Intel GPUs
This patch adds a workaround on Intel Gen9.5 and Gen11 GPUs to always
allocate renderable 2D textures as committed resources instead of
placed resources to mitigate a driver bug about CreatePlacedResource().

Bug: dawn:1628
Change-Id: I38062115d94933bd58e571c812ff6888e9781df6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/100640
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-02-07 15:09:58 +00:00
Austin Eng e60a579c19 Add workaround to blit depth to depth
Fixes T2T depth copies on Mac Intel where the destination
subresource is a non-zero mip/layer.

Fixed: dawn:1083
Change-Id: If344b46c3fd436d857906850fc0ac5ccb4b93e1d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117592
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-02-01 22:49:39 +00:00
Antonio Maiorano 635c5d0f04 tint/spir-v backend: emit OpSRem instead of OpSMod for remainder
operation

Bug: tint:1802
Change-Id: I690ef658874ba8d0d9cd8efa2a91324db175650b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118100
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-01-31 19:09:05 +00:00
Austin Eng 00dbf0bf67 Add workarounds to blit a buffer to a depth/stencil texture
Works around issues on Metal Intel where CopyB2T and WriteTexture
with depth/stencil textures do not work correctly.
Fixes test failures with depth16unorm in the CTS.

Deletes UseTempTextureInStencilTextureToBufferCopy in favor of
the stencil blit. The former supposedly fixes a problem where
the stencil data is not flushed into the real stencil texture
by performing another T2T copy. This only works because the Metal
Intel backend also happens to allocate s8 as d32s8. Copying
the depth aspect as well seems to make the driver remember to
flush the data.
The stencil blit is a better fix for the problem since entirely
avoids getting the driver into a bad state where the stencil data
is not in sync.

Fixed: dawn:1389
Change-Id: If34b1d58996157036c164a5bc329e38b5e53f67a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117910
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-01-30 17:13:12 +00:00
Austin Eng f7f2d4ae82 Roll third_party/webgpu-cts/ 3f9b09b36..ad8abf400 (2 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


3f9b09b36b..ad8abf400d
 - ad8abf Make fuzzy test match wpt fuzzy specs (#2194)
 - b38a15 Use screenshot library (#2193)

Created with './tools/run cts roll'

Change-Id: Id8767584c8ff808d50cf02eb7eb7ab647853cd84
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/+/117782
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Kokoro: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
2023-01-25 22:00:12 +00:00
Austin Eng 97f56bd0b8 Clamp the stencil reference to 255
Fixed: dawn:1645
Change-Id: I908fe0a2cb029c7cc6cf94b066f0f842e0f1e224
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117532
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-25 20:57:49 +00:00
Ben Clayton 5a2b5d9cc9 Roll third_party/webgpu-cts/ 9fbed0099..3f9b09b36 (8 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


9fbed0099e..3f9b09b36b
 - 3f9b09 Adjust fuzzy value on canvas_colorspace_rgba16float ref test (#2188)
 - 63e279 Make canvas_colorspace_rgba16float ref test more fuzzy
 - ace40f op,render_pipeline,sample_mask depth stencil multisampled tests (#2179)
 - f26ab8 Implement the division param restrictions in atan2 (#2183)
 - 381672 math: Remove pointless lerp() in biasedRange
 - 381f3d Test GPUCanvasContext.configure colorSpace
 - 3436e5 Clear pages between pages. (#2182)
 - 7e5c20 Test colorSpace in readback tests

Created with './tools/run cts roll'

Change-Id: I0b755e9de472b1091d0719a781e1de41474dcc13
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/+/117660
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-24 20:32:05 +00:00
Austin Eng 387d57c805 Metal: set both depth/stencil attachments for combined formats
Adds a toggle to workaround another issue where Metal fails to set
the depth/stencil attachment correctly for a combined depth stencil
format if just one of the attachments is used. The workaround forces
both attachments to be set, giving the unused one LoadOp::Load and
StoreOp::Store so its contents are preserved.

Bug: dawn:1389
Change-Id: Iacbefcc57b33bf11ca8fcacb03506301646fe59d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117175
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-01-21 02:42:15 +00:00
dan sinclair b36e09c71a Add bug numbers to shader expectations.
This CL updates a few shader expectations with the relevant issue
number.

Change-Id: I8c38857a51276f4cc3206ee8617f3edda747a301
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117480
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-19 18:39:06 +00:00
Antonio Maiorano 73735fde95 Roll third_party/webgpu-cts/ 65fcd99b7..9fbed0099 (13 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


65fcd99b74..9fbed0099e
 - 9fbed0 Apply error to final result of `atan2` calculation, not intermediates (#2143)
 - 02a770 [wgsl] Add align size requirement test. (#2174)
 - ebe427 Fix name of binary/u32_arithmetic cache (#2177)
 - 1fdd20 Transfer to image bitmap npe (#2131)
 - 55a0dc Fix u32 and i32 non-const divide by 0 expecting lhs (not 0) (#2175)
 - 8c8367 Add test for u32 binary arithmetic operations (#2173)
 - 556dbb Replace map+filter with reduce in case generators (#2172)
 - 8a0bef Add additional unit testing for builtins that depend on dot (#2171)
 - 44f038 Add tests for i32 binary arithmetic operations (#2170)
 - d3684a Remove the canvas_size_different_with_back_buffer_size reftest (#2165)
 - 13fc69 Convert remaining dispatch() to dispatchWorkgroups() (#2169)
 - 4f3e80 Remove io-shareable test, move more types into locations test. (#2159)
 - 2d4661 Add unary i32 execution tests (#2162)

Created with './tools/run cts roll'

Change-Id: I5d7a3a1786049527fef00c5e5e331e94cafddedf
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/+/117381
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2023-01-19 15:10:33 +00:00
Austin Eng e2be18a7fd Workaround stencil to buffer copies on Metal Intel
Stencil to buffer copies don't capture contents
written in a rendering stage. Copying through an
intermediate texture fixes this problem on Metal Intel.

Add test for the code path that found the issue:
Nonzero-mip stencil copy, discard, then read

Bug: dawn:1389
Change-Id: I63d982df6bace4b5053d3c643b8abda1682490d1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116851
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-18 17:55:14 +00:00
Austin Eng 36c37906f3 Mark ...map_ArrayBuffer:postMessage:transfer=true;* passing
Fixed: chromium:1392843
Change-Id: Ifc9d9aba61962d9a8739a0c93c050588185f9f20
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117166
Auto-Submit: Austin Eng <enga@chromium.org>
Kokoro: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2023-01-17 20:56:15 +00:00
Austin Eng 1177c970d6 Add Metal workaround to allocate stencil8 as combined depth-stencil
Stencil8 textures don't work correctly on some drivers. Workaround
by allocating a combined depth-stencil texture instead.

Suppress newly added test on Windows ANGLE

Bug: dawn:1389, dawn:1637
Change-Id: Iea03e8f3e5e7f663ffc7b344ab007a73836557cc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116846
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-01-17 19:06:12 +00:00
Ben Clayton 6bbd8b4e77 Roll third_party/webgpu-cts/ c0d64c238..65fcd99b7 (8 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


c0d64c2382..65fcd99b74
 - 65fcd9 webgpu/shader/validation: Add static_assert tests
 - 0ec986 runtime: Add server '/load' RPC
 - b5a8a3 webgpu/shader: Validate semicolons
 - 921148 webgpu/shader/validation: Add resource binding tests
 - 408f94 Fix resize-observer test.
 - f32e8c Fix local ref-test runner
 - bb8f11 val,render_pipeline,depth_stencil_state,depth_write,frag_depth (#2163)
 - 77e0a9 Add subrect copy tests for copyToTexture (#2150)

Created with './tools/run cts roll'

Change-Id: I6534e8c067a897d65fe3002cd587672570d553f4
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/+/117221
Kokoro: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-01-17 12:45:58 +00:00