Commit Graph

235 Commits

Author SHA1 Message Date
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
Ben Clayton 48a49f3730 Roll third_party/webgpu-cts/ 941695197..c0d64c238 (2 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


941695197d..c0d64c2382
 - c0d64c Convert `dot` to calculating permutations for vec3 and vec4 (#2158)
 - 69ea85 operation,render_pipeline,sample_mask (#2147)

Created with './tools/run cts roll'

Change-Id: I60439098bfec8acada616b0a3447a4ad670816bb
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/+/117060
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
2023-01-13 15:37:41 +00:00
Austin Eng e11278f1c7 Remove some KEEP blocks from expectations.txt
Bug: none
Change-Id: I84c8c49af48a494cf2d0cb7bde1a58eba2412755
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116852
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-12 18:42:04 +00:00
Ben Clayton 0df2ea62ea Roll third_party/webgpu-cts/ 0d52602a4..941695197 (12 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


0d52602a41..941695197d
 - 941695 Make objectEquals(NaN, NaN) return true (#2153)
 - 23b860 Make it possible to simply run the wpt ref tests
 - 1b9cc1 Fix Buffer.mapState op tests (#2145)
 - 0cb55f Use takeScreenshotDelayed in canvas_image_rendering-ref.html
 - 9adf83 Remove phantom dependency on reftest-wait.js, copy code into CTS
 - ce6e91 Maximize the acceptance interval size for `dot` (#2151)
 - d1093e If subcase can't be added to .message, use .stack (#2144)
 - f44818 Add more states to canvas composite ref tests. (#2133)
 - f7fcc6 Cache pipelines between batches for expression tests
 - 142289 Optimize expression shaders for `inputSource="uniform"`
 - f3764e Unclutter the URL
 - 6a7b90 Add Buffer.mapState test (#2130)

Created with './tools/run cts roll'

Change-Id: I8cfc04e78f1bfc387d49926344a1792c6d319760
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/+/117000
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
2023-01-12 16:44:49 +00:00
Jiawei Shao c9e507341c Enable the WebGPU CTS about compilation info with unicode
This patch enables the WebGPU CTS test on the compilation info with
unicode after all the related patches landed in Chromium and Dawn.

Bug: dawn:1357
Change-Id: Ifebc42b36697bb6d757254c313e1832e9966fefa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116923
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-12 06:06:40 +00:00
dan sinclair 16da0738f2 Add issue number for compute_builtin expectations.
This CL adds an issue number for the compute_builtin expectations.

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
Bug: tint:1801
Change-Id: Id8c5a5985fe36a941fa293dbe98821f043da6cd3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116689
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-12 04:01:00 +00:00
dan sinclair c231e180d7 Add issues to the F32 builtin expectations
This CL adds issue numbers the f32 builtin expectations.

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
Bug: tint:1796, tint:1797, tint:1798
Change-Id: Ic57cee5154e24f0e4cae8b0fbb65a39907331932
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116688
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-01-11 22:09:32 +00:00
dan sinclair d1f3d69818 Add issue for the `dot` expectations.
This CL adds an issue number for the `dot` expectations.

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
Bug: tint:1790
Change-Id: I424f7ffcadbb58334f29061f31a9a7edd242738a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116685
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-01-11 22:09:23 +00:00
dan sinclair 7092786f31 Fixup return of HLSL sign to match WGSL.
The HLSL `sign` method returns an `int` result (scalar or vector). The
WGSL `sign` expects the result to be the same type as the argument. This
CL injects a cast to the correct type after the `sign` call in the HLSL
generated source.

Bug: tint:1795
Change-Id: I51fed24b5b8b752b6b27fdfb5dd47eb803902793
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116692
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-01-11 13:18:29 +00:00
Ben Clayton 4f9b944c99 Roll third_party/webgpu-cts/ fdf9e7c12..0d52602a4 (6 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


fdf9e7c129..0d52602a41
 - 0d5260 [wgs] Sync keyword and reserved word list to spec. (#2141)
 - 690ad7 Add a ResizeObserve test
 - 2515d1 Test you can not create 1d, 2d-array, and 3d multisampled textures (#2111)
 - b30685 Remove class=reftest-wait from a -ref.html (#2140)
 - cfdfa0 remove <link rel=match> from -ref.html (#2137)
 - 23ff9b Test texture descriptor validation in GPUCanvasContext (#2126)

Created with './tools/run cts roll'

Change-Id: I2c834baf6aea6ae9c8811a418c9dab96f53624ef
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/+/116780
Kokoro: 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>
Auto-Submit: Ben Clayton <bclayton@google.com>
2023-01-11 02:00:12 +00:00
dan sinclair ce42cf1b4c Add issue number to the f32 remainder expectations.
This CL adds an issue number the F32 remainder expectations. The other arithmetic tests are passing and are removed from the expectation file.

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
Bug: tint:1799
Change-Id: I170d8631c952eb99e40afa039d604072af6a3f34
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116687
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-01-10 15:36:09 +00:00
dan sinclair c5e9ece52b Add tracking issue to `sign` expectations.
This CL adds a tracking issue to the `sign` expectations

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
Bug: tint:1795
Change-Id: Ibfb90b62db6006a237247b97a82c976d4f96aab2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116686
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-01-10 15:35:42 +00:00