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`.
* Rollin Immediates
This PR update gpuweb/types version to include immediate related changes.
And update affected cases.
* Update maxImmediateSize in capability mode
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.
* 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
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.
* 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>
* 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
* 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).
* 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
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
* Add VideoFrame tests for copyExternalImageToTexture
* Check VideoFrame support
* tweak to remove `as` casts
* roll types
---------
Co-authored-by: Kai Ninomiya <kainino@chromium.org>
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.
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
* 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
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.
* 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>