Commit graph

128 commits

Author SHA1 Message Date
Jiawei Shao
e8389d86fc
Bump @webgpu/types to 0.1.71 (#4674)
This patch bumps @webgpu/types to 0.1.71 with below changes:
- `setImmediates` is a required method.
- `maxImmediateSize` is a required property.
- `subgroup-size-control` is a valid `GPUFeatureName`.
2026-06-25 03:26:21 +00:00
Greggman
e0c2ca97cd
Bump @webgpu/types to 0.1.68 (#4534) 2025-12-18 10:50:38 -08:00
Greggman
d3d675e0bd
Revert "Rollin Immediates (#4517)" (#4522)
This reverts commit eca60d92d4.
2025-12-09 14:46:11 -08:00
shaoboyan091
eca60d92d4
Rollin Immediates (#4517)
* Rollin Immediates

This PR update gpuweb/types version to include immediate related changes.
And update affected cases.

* Update maxImmediateSize in capability mode
2025-12-05 10:26:46 +08:00
François Beaufort
e34f99a996
Clean unnecessary swizzle related casts (#4473) 2025-10-16 08:43:11 +02:00
François Beaufort
7d143a92dd
Allow GPUTexture where GPUTextureView is used (#4407)
* Allow GPUTexture where GPUTextureView is used

* Fix nit

* Update webgpu types
2025-07-09 14:28:10 +02:00
Greggman
05e22ac107
bump @webgpu/types to v0.1.63 (#4413) 2025-06-27 08:11:10 +00:00
Greggman
75289e0846
Roll @webgpu/types (#4400)
This pulls in new formats for feature 'texture-formats-tier1'
which required updates to format_info.ts, capability_info.ts
and several tests.

Note: Since no implementation actually supports 'texture-formats-tier1'
yet it's very possible some tests will need fixes when the feature
is implemented.
2025-06-03 05:05:07 +00:00
François Beaufort
5aba8ba55e
Add tests for copyBufferToBuffer overloads (#4310) 2025-04-02 11:39:58 -07:00
Kai Ninomiya
54bcb312f7
Roll types 0.1.52 -> 0.1.59 (#4302) 2025-03-24 22:03:31 +00:00
Jiawei Shao
7eedd5adf7
Add validation test about creating pipeline layout with null bind group layout (#4076)
* Add validation tests on the creation of pipeline layout with null bind group layout

* Update webgpu/types

* Test 'undefined' in `bindGroupLayouts`

* Address reviewer's comments
2024-12-18 15:41:45 +08:00
François Beaufort
0d22c005fa
Add tests for GPUDevice.adapterInfo (#4023)
Co-authored-by: Kai Ninomiya <kainino@chromium.org>
2024-11-06 00:21:50 +00:00
Corentin Wallez
d2bd876e5b
Update webgpu/types to 0.1.50 (#4029)
This makes toneMapping optional which required updating a few tests to
use the nullish coalescing operator when accessing it.

New vertex formats are added that require updating capability_info.ts
(and tests for unorm8x4-bgra is added at the same time).

Finally dictionary types for copies are renamed throughout the CTS even
if deprecated aliases are available.
2024-11-04 22:58:13 +01:00
François Beaufort
85bd850bbb
Add float32-blendable feature validation tests (#4003)
* Add float32-blendable feature validation tests

* apply suggestion

* roll types

---------

Co-authored-by: Kai Ninomiya <kainino@chromium.org>
2024-10-16 04:22:30 +00:00
François Beaufort
3cc9878acc
Update types; switch to GPUCanvasConfiguration viewFormats array (#3977) 2024-10-04 01:15:04 +00:00
François Beaufort
c42a89c461
Add some tests for GPUCanvasContext getConfiguration (#3973) 2024-10-01 21:37:29 +00:00
Kai Ninomiya
e46cff207f
Roll types to 0.1.46 (#3966) 2024-09-26 03:42:48 +09:00
Yan, Shaobo
4cb7a885ee
Cover GPUExternalTexture with WebCam Cases (#3874)
* Cover GPUExternalTexture with WebCam Cases

Add utils to capture frame from camera if env supported.
And compared the rendering result with 2d context draw image to cover
uploading webcam frames.

* Update src/webgpu/web_platform/external_texture/video.spec.ts

Co-authored-by: Corentin Wallez <corentin@wallez.net>

* Remove extra type declaration.

---------

Co-authored-by: Corentin Wallez <corentin@wallez.net>
2024-07-30 09:49:07 +08:00
Jiawei Shao
2dcbc8164e
Add shader validation tests about using blend_src and enabling extension (#3812)
* Add shader validation tests about using `blend_src` and enabling extension

This patch adds shader validation tests to verify that using `blend_src` the
extension `dual_source_blending` must be enabled in the shader.

This patch also rolls @webgpu/types to introduce the newly added
`dual-source-blending` feature name.

* Also test againstt the WebGPU extension dual-source-blending
2024-06-25 08:59:22 +08:00
Kai Ninomiya
dcbef9c306
Roll @webgpu/types to 0.1.42 (#3770) 2024-05-30 19:10:23 +00:00
Kai Ninomiya
e18bcdbb80
Add eslint n/no-restricted-import, n/no-restricted-require (#3706)
Disallows Node-style imports like 'console', and paths missing the .js
extension. Fixed resulting warnings.
2024-04-24 18:31:05 +00:00
Kai Ninomiya
8bb1c0a59c
Don't automatically include all types from dependencies (#3704)
* Add npm run lint

* Don't automatically include all types from dependencies

This produces an error if you try to use something from a global scope
accidentally. It's only needed for "ambient" definitions; if the thing
is included directly (like for all of the Node libraries like `fs`) then
its types come along with it automatically.

Also:
- Replace `/// <reference />` usage because it does the same thing.
- Remove unused `@types/node` dependency (TypeScript has that built in).
2024-04-24 17:56:53 +00:00
Greggman
1cc4ab0669
Remove grunt-ts (#3249)
* Remove grunt-ts

IIUC, grunt-ts is only used to run typescript to do typechecking
which can be done more simply by just spawning typescript.

This removes 146 packages and most of the npm warnings

* make it work on windows
2024-01-08 12:01:39 -08:00
François Beaufort
4f3cbf4546
default entry points to shader modules (#3190)
Co-authored-by: Kai Ninomiya <kainino@chromium.org>
2023-11-28 13:05:18 -08:00
Jiawei Shao
6e75f19212
Add tests on createBindGroupLayout() with new storage texture accesses (#3186)
* Add tests about creating bind group layouts with new storage texture accesses

* Run generate-cache

* Address reviewer's comments

* Revert "Run generate-cache"

This reverts commit 51de69c4d19699df9e7ac1f9ef2879469eeeb26f.

* generate cache

* Revert "generate cache"

This reverts commit a4de0911f2c7c71bbf40e7ea73fc8a1c37bd8835.

* generate caches

* Revert "generate caches"

This reverts commit f0dff6e11198b0dac8eb90f8f00c1aecd7f6e73b.

* Generate caches

* Update src/webgpu/api/validation/createBindGroupLayout.spec.ts

Co-authored-by: jzm-intel <zhaoming.jiang@intel.com>

* Update src/webgpu/api/validation/createBindGroupLayout.spec.ts

Co-authored-by: jzm-intel <zhaoming.jiang@intel.com>

* Run `npx grunt fix`

---------

Co-authored-by: jzm-intel <zhaoming.jiang@intel.com>
2023-11-25 13:32:04 +08:00
Kai Ninomiya
d3e4c5300e
Switch from grunt-parallel to grunt-concurrent (#3168)
grunt-parallel has a problem where if there is any stderr, it won't
print the stdout. grunt-concurrent isn't perfect either because it
prints stderr after stdout but this isn't too much of a problem as most
of our steps don't do this.

Fixes 3164
2023-11-14 13:20:33 -08:00
Kai Ninomiya
1c407e0944 Parallelize Grunt build using grunt-parallel 2023-11-03 19:27:57 -07:00
Kai Ninomiya
400d7620d1
Make grunt print how long each step takes (#3134) 2023-11-03 00:44:54 +00:00
Kai Ninomiya
2b507141f8 Upgrade all dependencies to latest 2023-11-02 09:27:19 -07:00
François Beaufort
b3cefa6ed0
Require depthWriteEnabled and depthCompare only for formats with depth (#3066)
* Require depthWriteEnabled and depthCompare only for formats with depth

* Addressed feedback

* Added timing metadata

* Address @Kangz feedback

* Add subcases
2023-10-16 18:48:15 -07:00
François Beaufort
1889b53634
Add unorm10-10-10-2 vertex format (#2941)
* Add unorm10-10-10-2 vertex format

* Rename rgb10a2 to unorm10-10-10-2

* Update webgpu/types to 0.1.37
2023-10-02 12:22:06 +02:00
Corentin Wallez
8ac24113ef
Add rgb10a2uint GPUTextureFormat testing. (#2956) 2023-09-27 19:26:54 +02:00
François Beaufort
cbc75034eb
Add HTMLImageElement and ImageData to copyExternalImageToTexture (#2886) 2023-08-11 19:49:41 +00:00
François Beaufort
9a981a010f
Add VideoFrame tests for copyExternalImageToTexture (#2760)
* Add VideoFrame tests for copyExternalImageToTexture

* Check VideoFrame support

* tweak to remove `as` casts

* roll types

---------

Co-authored-by: Kai Ninomiya <kainino@chromium.org>
2023-06-14 22:24:17 +00:00
Kai Ninomiya
0be3bde33c
Add eslint custom rules for tabs and trailing spaces (#2667)
`wpt lint` doesn't like tabs or trailing spaces, even inside multiline
strings (which eslint normally ignores). Add custom rules to catch
these.

Issue: 2628
2023-05-24 21:08:56 -07:00
Kai Ninomiya
db412d7f76
Factor out and dedup 'validate' step of presubmit (#2608)
Prior to this, the gen_listings script actually did a lot of bonus work
on top of generating listings: it validated a bunch of things about test
files and tests. However this is (1) misleading and (2) called twice
during the build process, once for standalone and once for wpt.

This change splits validation out into a separate script, and also runs
both gen_listings and validate only once instead of twice.

On my machine, gen_listings takes 0.75 seconds without validation, but
validation adds about 16s. So now, even though crawling happens twice
(2 originally, minus 1 by deduplicating, plus 1 in the validate tool)
this shaves that off the presubmit time: before: 143s, after: 129s.
OK, so it's still really slow, but it's better.

Also, removes the quiet-grunt setup that made this really hard to see
due to quieting all of the build steps. It was added because development
required constant command-line builds, but now that we have the dev
server I don't think anyone is doing this anymore.

Also also, fixes a bug in gen_version which was preventing it from
running without an existing standalone build.
2023-05-12 22:44:52 -07:00
Brandon Jones
a3359a3e70 Bump WebGPU types to v0.1.32 2023-05-05 14:39:28 -07:00
Kai Ninomiya
147f559d72
Update for GPUDeviceLostReason spec change (#2434)
Fixes 2431
2023-03-21 09:04:39 -07:00
Gregg Tavares
5a89d4160a roll to types@4e0beeeb3ddd5327aaffd1f3fa7943c314eeaceb 2023-03-10 23:56:07 -08:00
Kai Ninomiya
b61662933e
Require npm >=8.5.2 (#2340)
Prior to this version, the @webgpu/types dependency-by-revision won't
work because the integrity hash is system-dependent. Starting with
8.5.2, integrity checks are skipped for git dependencies (though
integrity hashes are still generated, despite the comment in the
thread). See:
https://github.com/npm/cli/issues/2846#issuecomment-1055916073
2023-03-02 11:29:56 -08:00
Takahiro
534e6bb95e
Rename to GPUShaderModule.getCompilationInfo() (#2291)
* Roll @webgpu/types 48dafa2 -> d1b649b

* Rename to GPUShaderModule.getCompilationInfo()

To follow the upcoming WebGPU spec change

https://github.com/gpuweb/gpuweb/pull/3805#issuecomment-1433931903
2023-03-01 14:06:28 -08:00
Kai Ninomiya
9d8e1a9e2c
Depend on github.com/gpuweb/types instead of npm @webgpu/types (#2332)
This pattern unblocks CTS changes on needing to wait for someone to do a
new package release.
2023-03-01 11:16:36 -08:00
Yan, Shaobo
763d0b7bd1
Upgrade gpuweb/types to 0.1.27 (#2273)
* Upgrade gpuweb/types to 0.1.27

This PR upgrade gpuweb/types to 0.1.27 and fix issues:
- GPUExternalTexture.expired has been removed. Modify related cts
- Adding new feature name 'bgra8unorm-storage'

* Recover test cases
2023-02-14 20:41:25 -08:00
Greggman
cf980a9e1a
Fix package-lock.json (#2214)
After editing package.json you need to run `npm i` and check in the changes
to package-lock.json otherwise `npm ci` complains the 2 are not in sync
2023-01-30 11:45:13 -08:00
Greggman
b38a15b448
Use screenshot library (#2193) 2023-01-24 14:46:50 -08:00
Gregg Tavares
f32e8ce6fa Fix local ref-test runner
Turns out playwright (or maybe Chrome) re-renders the page when it
takes a screenshot. This meant several bugs were not being repoed.

Maybe we can patch playwright but a quick-ish hacky solution was
to use an OS level window screenshot. ATM MacOS only though I think
Windows would be pretty easy

Also emit an HTML file with the screenshots. Surprised about half
are failing but they do appear to be different when I examined them
up close (I used Krita). You can set a layer to XOR so drag in
actual then drag ref on top and set to XOR.
2023-01-16 09:36:53 +09:00
Gregg Tavares
23b8609494 Make it possible to simply run the wpt ref tests
See included docs
2023-01-12 12:49:05 +09:00
Greggman
8041cad52a
update deps for various packages (#2041)
This updates deps for all packages that only have minor revisions
2022-12-02 11:22:19 -08:00
Takahiro
cbdd47a1e0
Roll types to 0.1.22 and test rg11b10ufloat-renderable requestDevice (#1888)
* Add rg11b10ufloat-renderable feature requestDevice test

* Roll types to 0.1.22

* Add "internal" error to tables

Co-authored-by: Kai Ninomiya <kainino@chromium.org>
2022-10-05 22:44:19 +00:00
Kai Ninomiya
40e52d1e33
upgrade typescript to 4.7.4 (#1713)
Not entirely clear why upgrading caused type narrowing to fail in these
cases, but it's easy to fix.
2022-08-09 10:31:48 +08:00