@flighthq/render-wgpu 0.5.1-next.1350.8ce488b → 0.5.1-next.1404.457d1da
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/wgpuHost.d.ts +3 -7
- package/dist/wgpuHost.d.ts.map +1 -1
- package/dist/wgpuHost.js +0 -22
- package/dist/wgpuHost.js.map +1 -1
- package/dist/wgpuRenderState.d.ts +4 -4
- package/dist/wgpuRenderState.d.ts.map +1 -1
- package/dist/wgpuRenderState.js +8 -9
- package/dist/wgpuRenderState.js.map +1 -1
- package/dist/wgpuScreenRenderTarget.d.ts +3 -3
- package/dist/wgpuScreenRenderTarget.d.ts.map +1 -1
- package/dist/wgpuScreenRenderTarget.js +4 -5
- package/dist/wgpuScreenRenderTarget.js.map +1 -1
- package/dist/wgpuTestHelper.d.ts.map +1 -1
- package/dist/wgpuTestHelper.js +7 -2
- package/dist/wgpuTestHelper.js.map +1 -1
- package/package.json +11 -11
- package/src/wgpuHost.test.ts +18 -105
- package/src/wgpuRenderState.test.ts +27 -31
- package/src/wgpuScreenRenderTarget.test.ts +7 -4
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/render-wgpu`. The `@
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/render-wgpu@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/render-wgpu@0.5.1-next.1404.457d1da](https://github.com/flighthq/flight/tree/457d1da918a60be5853b84eb6c25530a66662cef/packages/render-wgpu)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/457d1da918a60be5853b84eb6c25530a66662cef/LICENSE.md)
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
|
|
1
|
+
export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWebWgpuHostBackend, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
|
|
1
|
+
export { acquireWgpuRenderTexture, beginWgpuFrame, beginWgpuRenderPass, bindWgpuRenderTexture, createBitmapFromWgpuScreenRenderTarget, createExternalWgpuTexture, createWgpuOffscreenRenderState, createWgpuPipeline, createWebWgpuHostBackend, createWgpuAcquisition, createWgpuDeviceState, createWgpuRenderState, disposeWgpuDeviceSignals, enableWgpuDeviceSignals, getWgpuDeviceLoss, isWgpuDeviceLost, releaseWgpuAcquisition, createWgpuRenderTexturePool, createWgpuScreenRenderTarget, createWgpuTextureRenderTarget, destroyWgpuRenderTexture, destroyWgpuRenderTexturePool, destroyWgpuRenderState, disposeExternalWgpuTexture, enableWgpuBlendModeSupport, enableWgpuScreenRenderTargetAntialias, enableWgpuScreenRenderTargetCapture, enableWgpuTextureResolverGuards, endWgpuRenderPass, destroyWgpuScreenRenderTarget, destroyWgpuTextureRenderTarget, explainWgpuRenderTexture, explainWgpuTextureResolution, isWgpuRenderTextureReady, registerWgpuBitmapTextureResolver, registerWgpuCompressedImageTextureResolver, registerWgpuImageTextureResolver, registerWgpuRenderTextureResolver, registerStandardWgpuTextureResolvers, registerWgpuTextureResolver, registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload, registerWgpuMipmapGeneration, releaseWgpuRenderTexture, renderIntoWgpuRenderTexture, resolveWgpuApplyBlendMode, resolveWgpuTexture, resolveWgpuSmoothingBindGroup, standardWgpuTextureResolvers, setWgpuRenderTransform2D, submitWgpuFrame, withWgpuRenderTextures, withWgpuFrameBorrow, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,iCAAiC,EACjC,0CAA0C,EAC1C,gCAAgC,EAChC,iCAAiC,EACjC,oCAAoC,EACpC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/wgpuHost.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import type { EntityConstruction,
|
|
2
|
-
export declare function createWebWgpuHostBackend():
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function initializeWebWgpuHostBackend(out: EntityConstruction<HostWgpuProvider>): void;
|
|
5
|
-
export declare function installWgpuHostBackend(backend: HostWgpuProvider): void;
|
|
6
|
-
export declare function resetWgpuHostBackendForTest(): void;
|
|
7
|
-
export declare function setWgpuHostBackend(backend: HostWgpuProvider | null): void;
|
|
1
|
+
import type { EntityConstruction, HostWgpuCapability } from '@flighthq/types/contract';
|
|
2
|
+
export declare function createWebWgpuHostBackend(): HostWgpuCapability;
|
|
3
|
+
export declare function initializeWebWgpuHostBackend(out: EntityConstruction<HostWgpuCapability>): void;
|
|
8
4
|
//# sourceMappingURL=wgpuHost.d.ts.map
|
package/dist/wgpuHost.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuHost.d.ts","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAuB,
|
|
1
|
+
{"version":3,"file":"wgpuHost.d.ts","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAuB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE5G,wBAAgB,wBAAwB,IAAI,kBAAkB,CAI7D;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CA4D9F"}
|
package/dist/wgpuHost.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
|
-
// The explicit browser adapter. All WebGPU discovery and host-handle acquisition stays in this
|
|
3
|
-
// function's call graph so render-state creation can also consume native caller-provided handles.
|
|
4
2
|
export function createWebWgpuHostBackend() {
|
|
5
3
|
const out = allocateEntity();
|
|
6
4
|
initializeWebWgpuHostBackend(out);
|
|
7
5
|
return finishEntity(out);
|
|
8
6
|
}
|
|
9
|
-
export function getWgpuHostBackend() {
|
|
10
|
-
return _custom ?? _host ?? _web;
|
|
11
|
-
}
|
|
12
7
|
export function initializeWebWgpuHostBackend(out) {
|
|
13
8
|
out.acquire = async (surface, options) => {
|
|
14
9
|
const gpu = getWebWgpu();
|
|
@@ -71,20 +66,6 @@ export function initializeWebWgpuHostBackend(out) {
|
|
|
71
66
|
acquisition.device.destroy();
|
|
72
67
|
};
|
|
73
68
|
}
|
|
74
|
-
// First host wins and a custom backend installed through setWgpuHostBackend always takes precedence.
|
|
75
|
-
export function installWgpuHostBackend(backend) {
|
|
76
|
-
if (_host === null)
|
|
77
|
-
_host = backend;
|
|
78
|
-
}
|
|
79
|
-
export function resetWgpuHostBackendForTest() {
|
|
80
|
-
_custom = null;
|
|
81
|
-
_host = null;
|
|
82
|
-
}
|
|
83
|
-
// Installs a process-wide custom backend. Clearing it reveals the first installed host, or the
|
|
84
|
-
// built-in explicit web adapter when no host has been installed.
|
|
85
|
-
export function setWgpuHostBackend(backend) {
|
|
86
|
-
_custom = backend;
|
|
87
|
-
}
|
|
88
69
|
function getWebWgpu() {
|
|
89
70
|
if (typeof navigator === 'undefined')
|
|
90
71
|
return null;
|
|
@@ -95,7 +76,4 @@ function getWebWgpu() {
|
|
|
95
76
|
return null;
|
|
96
77
|
}
|
|
97
78
|
}
|
|
98
|
-
const _web = createWebWgpuHostBackend();
|
|
99
|
-
let _custom = null;
|
|
100
|
-
let _host = null;
|
|
101
79
|
//# sourceMappingURL=wgpuHost.js.map
|
package/dist/wgpuHost.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuHost.js","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzE
|
|
1
|
+
{"version":3,"file":"wgpuHost.js","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { EntityConstruction, TextureWrap, WgpuColorAdjustmentMaterialFeature, WgpuColorAdjustmentMaterialFeatureGuard, WgpuDeviceRuntime, WgpuDeviceRuntimeResources, WgpuDeviceState, WgpuHostAcquisition, WgpuHostAcquisitionOptions, WgpuOffscreenRenderStateResult, WgpuPipeline, WgpuRenderOptions, WgpuRenderState, WgpuRenderStateRuntime, WgpuScreenSurface } from '@flighthq/types/contract';
|
|
2
|
-
export declare function createWgpuAcquisition(surface: WgpuScreenSurface, options?: Readonly<WgpuHostAcquisitionOptions>): Promise<WgpuHostAcquisition | null>;
|
|
1
|
+
import type { EntityConstruction, HostWgpuCapability, TextureWrap, WgpuColorAdjustmentMaterialFeature, WgpuColorAdjustmentMaterialFeatureGuard, WgpuDeviceRuntime, WgpuDeviceRuntimeResources, WgpuDeviceState, WgpuHostAcquisition, WgpuHostAcquisitionOptions, WgpuOffscreenRenderStateResult, WgpuPipeline, WgpuRenderOptions, WgpuRenderState, WgpuRenderStateRuntime, WgpuScreenSurface } from '@flighthq/types/contract';
|
|
2
|
+
export declare function createWgpuAcquisition(wgpuHost: Readonly<HostWgpuCapability>, surface: WgpuScreenSurface, options?: Readonly<WgpuHostAcquisitionOptions>): Promise<WgpuHostAcquisition | null>;
|
|
3
3
|
export declare function createWgpuDeviceState(device: GPUDevice): WgpuDeviceState;
|
|
4
4
|
/**
|
|
5
5
|
* Creates a device-only render state with its own frame-local resources.
|
|
@@ -27,9 +27,9 @@ export declare function initializeWgpuOffscreenRenderStateDeviceLostResult(out:
|
|
|
27
27
|
export declare function initializeWgpuOffscreenRenderStateOkResult(out: EntityConstruction<Extract<WgpuOffscreenRenderStateResult, {
|
|
28
28
|
reason: 'ok';
|
|
29
29
|
}>>, state: WgpuRenderState): void;
|
|
30
|
-
export declare function isWgpuSupported(): boolean;
|
|
30
|
+
export declare function isWgpuSupported(wgpuHost: Readonly<HostWgpuCapability>): boolean;
|
|
31
31
|
export declare function registerWgpuDeviceTeardown(state: WgpuRenderState, teardown: (device: GPUDevice) => void): void;
|
|
32
32
|
export declare function registerWgpuRenderStateTeardown(state: WgpuRenderState, teardown: (state: WgpuRenderState) => void): void;
|
|
33
|
-
export declare function releaseWgpuAcquisition(acquisition: Readonly<WgpuHostAcquisition>): void;
|
|
33
|
+
export declare function releaseWgpuAcquisition(wgpuHost: Readonly<HostWgpuCapability>, acquisition: Readonly<WgpuHostAcquisition>): void;
|
|
34
34
|
export declare function resolveWgpuApplyBlendMode(state: WgpuRenderState): WgpuRenderState['applyBlendMode'];
|
|
35
35
|
//# sourceMappingURL=wgpuRenderState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,kCAAkC,EAClC,uCAAuC,EACvC,iBAAiB,EACjB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,8BAA8B,EAC9B,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuRenderState.d.ts","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuRenderState.js
CHANGED
|
@@ -4,7 +4,6 @@ import { createRenderState as _createRenderState, createRenderStateRuntime, dest
|
|
|
4
4
|
import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
|
|
5
5
|
import { observeWgpuDeviceLoss } from './wgpuDeviceLoss';
|
|
6
6
|
import { warmWgpuPipelines } from './wgpuDraw';
|
|
7
|
-
import { getWgpuHostBackend } from './wgpuHost';
|
|
8
7
|
import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
|
|
9
8
|
import { createWgpuBindGroupLayouts, UNIFORM_BYTE_SIZE } from './wgpuShader';
|
|
10
9
|
// Ring buffer: 4096 draw slots per frame. Stride is clamped to at least 256 by the spec.
|
|
@@ -13,9 +12,9 @@ const RING_SLOT_COUNT = 4096;
|
|
|
13
12
|
// ends their life with `releaseWgpuAcquisition`, and a state built on them leaves them intact when it is
|
|
14
13
|
// destroyed. Returns `null` rather than throwing, because "this environment has no WebGPU" is an expected
|
|
15
14
|
// outcome and not a programmer error.
|
|
16
|
-
export async function createWgpuAcquisition(surface, options = {}) {
|
|
15
|
+
export async function createWgpuAcquisition(wgpuHost, surface, options = {}) {
|
|
17
16
|
try {
|
|
18
|
-
const acquired = await
|
|
17
|
+
const acquired = await wgpuHost.acquire(surface, options);
|
|
19
18
|
const out = allocateEntity();
|
|
20
19
|
initializeWgpuHostAcquisition(out, acquired, 'caller');
|
|
21
20
|
return finishEntity(out);
|
|
@@ -67,8 +66,8 @@ export function createWgpuOffscreenRenderState(sourceOrDeviceState, pipeline, op
|
|
|
67
66
|
// is a per-pass decision, so the screen target is created separately and flows in at beginWgpuRenderPass.
|
|
68
67
|
//
|
|
69
68
|
// Synchronous, because everything asynchronous (adapter and device discovery) happens before this call:
|
|
70
|
-
// const acquisition = await createWgpuAcquisition(canvas);
|
|
71
|
-
// const screen = createWgpuScreenRenderTarget(acquisition.device, canvas, { format: acquisition.format });
|
|
69
|
+
// const acquisition = await createWgpuAcquisition(webWgpuHost, canvas);
|
|
70
|
+
// const screen = createWgpuScreenRenderTarget(webWgpuHost, acquisition.device, canvas, { format: acquisition.format });
|
|
72
71
|
// const state = createWgpuRenderState(acquisition.device, pipeline, { format: acquisition.format });
|
|
73
72
|
export function createWgpuRenderState(device, pipeline, options = {}) {
|
|
74
73
|
return initializeWgpuDeviceRenderState(createWgpuDeviceState(device), pipeline, options);
|
|
@@ -281,8 +280,8 @@ export function initializeWgpuOffscreenRenderStateOkResult(out, state) {
|
|
|
281
280
|
out.reason = 'ok';
|
|
282
281
|
out.state = state;
|
|
283
282
|
}
|
|
284
|
-
export function isWgpuSupported() {
|
|
285
|
-
return
|
|
283
|
+
export function isWgpuSupported(wgpuHost) {
|
|
284
|
+
return wgpuHost.isSupported();
|
|
286
285
|
}
|
|
287
286
|
export function registerWgpuDeviceTeardown(state, teardown) {
|
|
288
287
|
getWgpuRenderStateRuntime(state).context.teardowns.push(teardown);
|
|
@@ -320,8 +319,8 @@ function ensureWgpuDeviceRuntimeResources(runtime) {
|
|
|
320
319
|
});
|
|
321
320
|
}
|
|
322
321
|
// The caller's own teardown for an acquisition they own. Unconditional by design: the caller is asking.
|
|
323
|
-
export function releaseWgpuAcquisition(acquisition) {
|
|
324
|
-
|
|
322
|
+
export function releaseWgpuAcquisition(wgpuHost, acquisition) {
|
|
323
|
+
wgpuHost.release(acquisition);
|
|
325
324
|
}
|
|
326
325
|
function createMinimalDeviceRuntime(device) {
|
|
327
326
|
const runtime = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuRenderState.js","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wgpuRenderState.js","sourceRoot":"","sources":["../src/wgpuRenderState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { EntityConstruction, WgpuRenderState, WgpuRenderTarget, WgpuScreenRenderTarget, WgpuScreenRenderTargetOptions, WgpuScreenSurface } from '@flighthq/types/contract';
|
|
1
|
+
import type { EntityConstruction, HostWgpuCapability, WgpuRenderState, WgpuRenderTarget, WgpuScreenRenderTarget, WgpuScreenRenderTargetOptions, WgpuScreenSurface } from '@flighthq/types/contract';
|
|
2
2
|
export declare function bindWgpuScreenRenderTarget(state: WgpuRenderState, target: WgpuScreenRenderTarget): GPUTextureView;
|
|
3
|
-
export declare function createWgpuScreenRenderTarget(device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): WgpuScreenRenderTarget;
|
|
3
|
+
export declare function createWgpuScreenRenderTarget(wgpuHost: Readonly<HostWgpuCapability>, device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): WgpuScreenRenderTarget;
|
|
4
4
|
export declare function destroyWgpuScreenRenderTarget(target: WgpuScreenRenderTarget): void;
|
|
5
5
|
export declare function endWgpuScreenRenderTargetFrame(target: WgpuScreenRenderTarget): void;
|
|
6
|
-
export declare function initializeWgpuScreenRenderTarget(out: EntityConstruction<WgpuScreenRenderTarget>, device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): void;
|
|
6
|
+
export declare function initializeWgpuScreenRenderTarget(out: EntityConstruction<WgpuScreenRenderTarget>, wgpuHost: Readonly<HostWgpuCapability>, device: GPUDevice, surface: WgpuScreenSurface, options?: Readonly<WgpuScreenRenderTargetOptions>): void;
|
|
7
7
|
export declare function isWgpuScreenRenderTarget(target: Readonly<WgpuRenderTarget>): target is WgpuScreenRenderTarget;
|
|
8
8
|
export declare function syncWgpuScreenRenderTargetExtent(target: WgpuScreenRenderTarget): void;
|
|
9
9
|
//# sourceMappingURL=wgpuScreenRenderTarget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuScreenRenderTarget.d.ts","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuScreenRenderTarget.d.ts","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,GAAG,cAAc,CAYjH;AAID,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,QAAQ,CAAC,6BAA6B,CAAM,GACpD,sBAAsB,CAIxB;AAKD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAYlF;AAID,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAEnF;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,EAC/C,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,QAAQ,CAAC,6BAA6B,CAAM,GACpD,IAAI,CA0CN;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,MAAM,IAAI,sBAAsB,CAE7G;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAIrF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
|
-
import { getWgpuHostBackend } from './wgpuHost';
|
|
3
2
|
// Acquires the color view a screen pass attaches to, sizing the target's storage to the surface first.
|
|
4
3
|
// The returned view is the supersample texture when antialiasing is enabled and the presentation view
|
|
5
4
|
// otherwise; either way `presentationView` names where the frame ultimately lands, so the submit can
|
|
@@ -18,9 +17,9 @@ export function bindWgpuScreenRenderTarget(state, target) {
|
|
|
18
17
|
}
|
|
19
18
|
// A screen target's whole point is that it presents; a texture target's is that it can be sampled. Both
|
|
20
19
|
// creations are Entity allocations, so a factory is the only place either capability is decided.
|
|
21
|
-
export function createWgpuScreenRenderTarget(device, surface, options = {}) {
|
|
20
|
+
export function createWgpuScreenRenderTarget(wgpuHost, device, surface, options = {}) {
|
|
22
21
|
const out = allocateEntity();
|
|
23
|
-
initializeWgpuScreenRenderTarget(out, device, surface, options);
|
|
22
|
+
initializeWgpuScreenRenderTarget(out, wgpuHost, device, surface, options);
|
|
24
23
|
return finishEntity(out);
|
|
25
24
|
}
|
|
26
25
|
// Frees the GPU storage this target owns — depth-stencil, supersample, and capture — and unconfigures
|
|
@@ -44,12 +43,12 @@ export function destroyWgpuScreenRenderTarget(target) {
|
|
|
44
43
|
export function endWgpuScreenRenderTargetFrame(target) {
|
|
45
44
|
target.presentationView = null;
|
|
46
45
|
}
|
|
47
|
-
export function initializeWgpuScreenRenderTarget(out, device, surface, options = {}) {
|
|
46
|
+
export function initializeWgpuScreenRenderTarget(out, wgpuHost, device, surface, options = {}) {
|
|
48
47
|
// The host owns how a surface yields a presentation context — the web adapter reaches for
|
|
49
48
|
// getContext('webgpu'), a native host for its own swap chain — so the binding goes through the backend
|
|
50
49
|
// rather than through a DOM call in the renderer.
|
|
51
50
|
const format = options.format ?? 'bgra8unorm';
|
|
52
|
-
const context =
|
|
51
|
+
const context = wgpuHost.attachSurface(surface, {
|
|
53
52
|
alphaMode: options.alphaMode ?? 'premultiplied',
|
|
54
53
|
device,
|
|
55
54
|
format,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuScreenRenderTarget.js","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuScreenRenderTarget.js","sourceRoot":"","sources":["../src/wgpuScreenRenderTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"wgpuTestHelper.d.ts","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAoRlC,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,KAAK,GAAE,QAAQ,CAAC,iBAAiB,CAAuC,EACxE,OAAO,GAAE,QAAQ,CAAC,6BAA6B,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAM,GAC9E,cAAc,CAIhB;AAKD,wBAAgB,8BAA8B,CAAC,KAAK,SAAI,EAAE,MAAM,SAAI,GAAG,gBAAgB,CAUtF;AAED,wBAAsB,4BAA4B,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAO5G;AAID,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,QAAQ,CAAC,6BAA6B,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAM,EAC/E,KAAK,SAAM,EACX,MAAM,SAAM,GACX,sBAAsB,CAUxB;AAKD,wBAAgB,eAAe,IAAI,IAAI,CAwCtC"}
|
package/dist/wgpuTestHelper.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createWebWgpuHostBackend } from './wgpuHost';
|
|
1
2
|
import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
|
|
2
3
|
import { beginWgpuRenderPass } from './wgpuRenderPass';
|
|
3
4
|
import { createWgpuAcquisition, createWgpuRenderState } from './wgpuRenderState';
|
|
@@ -243,7 +244,7 @@ export async function createWgpuRenderStateForTest(options = {}) {
|
|
|
243
244
|
const canvas = document.createElement('canvas');
|
|
244
245
|
canvas.width = 800;
|
|
245
246
|
canvas.height = 600;
|
|
246
|
-
const acquisition = await createWgpuAcquisition(canvas);
|
|
247
|
+
const acquisition = await createWgpuAcquisition(_testWgpuBackend, canvas);
|
|
247
248
|
if (acquisition === null)
|
|
248
249
|
throw new Error('createWgpuRenderStateForTest: the mock adapter refused a device');
|
|
249
250
|
return createWgpuRenderState(acquisition.device, _testWgpuPipeline, { format: acquisition.format, ...options });
|
|
@@ -254,11 +255,15 @@ export function createWgpuScreenRenderTargetForTest(state, options = {}, width =
|
|
|
254
255
|
const canvas = document.createElement('canvas');
|
|
255
256
|
canvas.width = width;
|
|
256
257
|
canvas.height = height;
|
|
257
|
-
const screen = createWgpuScreenRenderTarget(state.device, canvas, {
|
|
258
|
+
const screen = createWgpuScreenRenderTarget(_testWgpuBackend, state.device, canvas, {
|
|
259
|
+
format: state.format,
|
|
260
|
+
...options,
|
|
261
|
+
});
|
|
258
262
|
if (options.antialias === true)
|
|
259
263
|
enableWgpuScreenRenderTargetAntialias(screen);
|
|
260
264
|
return screen;
|
|
261
265
|
}
|
|
266
|
+
const _testWgpuBackend = createWebWgpuHostBackend();
|
|
262
267
|
const _testWgpuPipeline = createWgpuPipeline(createEmptyWgpuRegistries());
|
|
263
268
|
export function installWgpuMock() {
|
|
264
269
|
installWgpuConstants();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuTestHelper.js","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wgpuTestHelper.js","sourceRoot":"","sources":["../src/wgpuTestHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/render-wgpu",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.1404.457d1da",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/color": "0.5.1-next.
|
|
42
|
-
"@flighthq/entity": "0.5.1-next.
|
|
43
|
-
"@flighthq/geometry": "0.5.1-next.
|
|
44
|
-
"@flighthq/log": "0.5.1-next.
|
|
45
|
-
"@flighthq/render": "0.5.1-next.
|
|
46
|
-
"@flighthq/registry": "0.5.1-next.
|
|
47
|
-
"@flighthq/signals": "0.5.1-next.
|
|
48
|
-
"@flighthq/bitmap": "0.5.1-next.
|
|
49
|
-
"@flighthq/texture": "0.5.1-next.
|
|
50
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/color": "0.5.1-next.1404.457d1da",
|
|
42
|
+
"@flighthq/entity": "0.5.1-next.1404.457d1da",
|
|
43
|
+
"@flighthq/geometry": "0.5.1-next.1404.457d1da",
|
|
44
|
+
"@flighthq/log": "0.5.1-next.1404.457d1da",
|
|
45
|
+
"@flighthq/render": "0.5.1-next.1404.457d1da",
|
|
46
|
+
"@flighthq/registry": "0.5.1-next.1404.457d1da",
|
|
47
|
+
"@flighthq/signals": "0.5.1-next.1404.457d1da",
|
|
48
|
+
"@flighthq/bitmap": "0.5.1-next.1404.457d1da",
|
|
49
|
+
"@flighthq/texture": "0.5.1-next.1404.457d1da",
|
|
50
|
+
"@flighthq/types": "0.5.1-next.1404.457d1da"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"@webgpu/types": "^0.1.70"
|
package/src/wgpuHost.test.ts
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
2
|
+
import type { WgpuHostAcquisition } from '@flighthq/types/contract';
|
|
3
|
+
import { beforeAll, describe, expect, it, vi } from 'vitest';
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
createWebWgpuHostBackend,
|
|
7
|
-
getWgpuHostBackend,
|
|
8
|
-
initializeWebWgpuHostBackend,
|
|
9
|
-
installWgpuHostBackend,
|
|
10
|
-
resetWgpuHostBackendForTest,
|
|
11
|
-
setWgpuHostBackend,
|
|
12
|
-
} from './wgpuHost';
|
|
5
|
+
import { createWebWgpuHostBackend, initializeWebWgpuHostBackend } from './wgpuHost';
|
|
13
6
|
import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
|
|
14
7
|
import {
|
|
15
8
|
createWgpuAcquisition,
|
|
@@ -19,25 +12,7 @@ import {
|
|
|
19
12
|
} from './wgpuRenderState';
|
|
20
13
|
import { installWgpuMock } from './wgpuTestHelper';
|
|
21
14
|
|
|
22
|
-
function fakeBackend(): HostWgpuProvider {
|
|
23
|
-
return entityBackend({
|
|
24
|
-
acquire: vi.fn(),
|
|
25
|
-
attachSurface: vi.fn(() => null),
|
|
26
|
-
isSupported: vi.fn(() => true),
|
|
27
|
-
release: vi.fn(),
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function entityBackend(fields: Omit<HostWgpuProvider, keyof Entity>): HostWgpuProvider {
|
|
32
|
-
return (() => {
|
|
33
|
-
const out = allocateEntity<HostWgpuProvider>();
|
|
34
|
-
Object.assign(out, fields);
|
|
35
|
-
return finishEntity(out);
|
|
36
|
-
})();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
15
|
beforeAll(installWgpuMock);
|
|
40
|
-
afterEach(resetWgpuHostBackendForTest);
|
|
41
16
|
|
|
42
17
|
const _pipeline = createWgpuPipeline(createEmptyWgpuRegistries());
|
|
43
18
|
|
|
@@ -55,11 +30,6 @@ describe('createWebWgpuHostBackend', () => {
|
|
|
55
30
|
expect(destroy).toHaveBeenCalledOnce();
|
|
56
31
|
});
|
|
57
32
|
|
|
58
|
-
// ★ THE BACKEND NO LONGER DECIDES OWNERSHIP. It used to return early for `caller`, which meant the whole
|
|
59
|
-
// contract lived in one implementation and any other backend could violate it unseen — and it also made
|
|
60
|
-
// the caller's own release verb a no-op. `release` now tears down whatever it is handed; Flight simply
|
|
61
|
-
// never hands it a caller-owned acquisition (see O1/O2), and `releaseWgpuAcquisition` hands it one only
|
|
62
|
-
// because the caller asked.
|
|
63
33
|
it('tears down whatever it is handed, leaving the ownership decision to the caller', async () => {
|
|
64
34
|
const backend = createWebWgpuHostBackend();
|
|
65
35
|
const acquired = await backend.acquire(document.createElement('canvas'), {});
|
|
@@ -87,112 +57,55 @@ describe('createWebWgpuHostBackend', () => {
|
|
|
87
57
|
installWgpuMock();
|
|
88
58
|
}
|
|
89
59
|
});
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
describe('getWgpuHostBackend', () => {
|
|
93
|
-
it('returns one stable explicit web fallback', () => {
|
|
94
|
-
const first = getWgpuHostBackend();
|
|
95
|
-
const second = getWgpuHostBackend();
|
|
96
|
-
expect(first).toBe(second);
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
describe('initializeWebWgpuHostBackend', () => {
|
|
101
|
-
it('is the construction initializer of createWebWgpuHostBackend', () => {
|
|
102
|
-
expect(typeof initializeWebWgpuHostBackend).toBe('function');
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
describe('installWgpuHostBackend', () => {
|
|
107
|
-
it('preserves the first installed host identity', () => {
|
|
108
|
-
const first = fakeBackend();
|
|
109
|
-
installWgpuHostBackend(first);
|
|
110
|
-
installWgpuHostBackend(fakeBackend());
|
|
111
|
-
expect(getWgpuHostBackend()).toBe(first);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
60
|
|
|
115
|
-
|
|
116
|
-
it('clears custom and host slots back to the web fallback', () => {
|
|
117
|
-
const fallback = getWgpuHostBackend();
|
|
118
|
-
const host = fakeBackend();
|
|
119
|
-
const custom = fakeBackend();
|
|
120
|
-
installWgpuHostBackend(host);
|
|
121
|
-
setWgpuHostBackend(custom);
|
|
122
|
-
|
|
123
|
-
resetWgpuHostBackendForTest();
|
|
124
|
-
expect(getWgpuHostBackend()).toBe(fallback);
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
describe('setWgpuHostBackend', () => {
|
|
128
|
-
it('routes acquisition and release through the same selected backend', async () => {
|
|
61
|
+
it('routes acquisition and release through a caller-provided backend', async () => {
|
|
129
62
|
const web = createWebWgpuHostBackend();
|
|
130
63
|
const acquired = await web.acquire(document.createElement('canvas'), {});
|
|
131
64
|
const acquisition = allocateEntity<WgpuHostAcquisition>();
|
|
132
65
|
Object.assign(acquisition, acquired);
|
|
133
66
|
acquisition.ownership = 'caller' as const;
|
|
134
|
-
const backend =
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
67
|
+
const backend = (() => {
|
|
68
|
+
const out = allocateEntity<typeof web>();
|
|
69
|
+
out.acquire = vi.fn(async () => acquisition);
|
|
70
|
+
out.attachSurface = vi.fn(() => null);
|
|
71
|
+
out.isSupported = vi.fn(() => true);
|
|
72
|
+
out.release = vi.fn();
|
|
73
|
+
return finishEntity(out);
|
|
74
|
+
})();
|
|
140
75
|
const canvas = document.createElement('canvas');
|
|
141
|
-
setWgpuHostBackend(backend);
|
|
142
76
|
|
|
143
|
-
const routed = await createWgpuAcquisition(canvas);
|
|
77
|
+
const routed = await createWgpuAcquisition(backend, canvas);
|
|
144
78
|
expect(backend.acquire).toHaveBeenCalledWith(canvas, {});
|
|
145
79
|
expect(routed?.device).toBe(acquisition.device);
|
|
146
80
|
expect(routed?.format).toBe(acquisition.format);
|
|
147
81
|
|
|
148
|
-
releaseWgpuAcquisition(acquisition);
|
|
82
|
+
releaseWgpuAcquisition(backend, acquisition);
|
|
149
83
|
expect(backend.release).toHaveBeenCalledOnce();
|
|
150
84
|
expect(backend.release).toHaveBeenCalledWith(acquisition);
|
|
151
85
|
|
|
152
86
|
web.release(acquired);
|
|
153
87
|
});
|
|
154
88
|
|
|
155
|
-
// ★ A RENDER STATE OWNS NO HOST HANDLES AT ALL. It used to be built from an acquisition and had to
|
|
156
|
-
// decide, on every path including a failed construction, whether to release handles the caller might
|
|
157
|
-
// still be using — a decision no state is in a position to make correctly. It now takes the device
|
|
158
|
-
// alone, so there is nothing to get wrong: destroying a state cannot reach a context or a device, and
|
|
159
|
-
// the caller's handles outlive it by construction rather than by policy.
|
|
160
89
|
it('never releases host handles when a state built on the device is destroyed', async () => {
|
|
161
90
|
const web = createWebWgpuHostBackend();
|
|
162
91
|
const acquired = await web.acquire(document.createElement('canvas'), {});
|
|
163
92
|
const destroy = vi.spyOn(acquired.device, 'destroy');
|
|
164
93
|
const unconfigure = vi.spyOn(acquired.context, 'unconfigure');
|
|
165
|
-
const backend = entityBackend({
|
|
166
|
-
acquire: vi.fn(async () => acquired),
|
|
167
|
-
attachSurface: vi.fn(() => null),
|
|
168
|
-
isSupported: vi.fn(() => true),
|
|
169
|
-
release: vi.fn((held) => {
|
|
170
|
-
held.context.unconfigure();
|
|
171
|
-
held.device.destroy();
|
|
172
|
-
}),
|
|
173
|
-
});
|
|
174
|
-
setWgpuHostBackend(backend);
|
|
175
94
|
|
|
176
95
|
destroyWgpuRenderState(createWgpuRenderState(acquired.device, _pipeline));
|
|
177
96
|
|
|
178
|
-
expect(backend.release).not.toHaveBeenCalled();
|
|
179
97
|
expect(destroy).not.toHaveBeenCalled();
|
|
180
98
|
expect(unconfigure).not.toHaveBeenCalled();
|
|
181
|
-
// The handles are still usable, which is the property the caller actually cares about.
|
|
182
99
|
expect(acquired.device.createBuffer({ size: 4, usage: GPUBufferUsage.COPY_DST }).size).toBe(4);
|
|
183
100
|
|
|
184
101
|
destroy.mockRestore();
|
|
185
102
|
unconfigure.mockRestore();
|
|
186
103
|
web.release(acquired);
|
|
187
104
|
});
|
|
105
|
+
});
|
|
188
106
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
installWgpuHostBackend(host);
|
|
193
|
-
setWgpuHostBackend(custom);
|
|
194
|
-
expect(getWgpuHostBackend()).toBe(custom);
|
|
195
|
-
setWgpuHostBackend(null);
|
|
196
|
-
expect(getWgpuHostBackend()).toBe(host);
|
|
107
|
+
describe('initializeWebWgpuHostBackend', () => {
|
|
108
|
+
it('is the construction initializer of createWebWgpuHostBackend', () => {
|
|
109
|
+
expect(typeof initializeWebWgpuHostBackend).toBe('function');
|
|
197
110
|
});
|
|
198
111
|
});
|
|
@@ -22,7 +22,7 @@ import type {
|
|
|
22
22
|
WgpuColorAdjustmentMaterialFeature,
|
|
23
23
|
WgpuColorAdjustmentMaterialFeatureGuard,
|
|
24
24
|
WgpuHostAcquisition,
|
|
25
|
-
|
|
25
|
+
HostWgpuCapability,
|
|
26
26
|
WgpuPipeline,
|
|
27
27
|
WgpuRenderOptions,
|
|
28
28
|
WgpuRenderState,
|
|
@@ -31,7 +31,7 @@ import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
|
|
|
31
31
|
|
|
32
32
|
import { registerWgpuCompressedTextureDecoder, registerWgpuCompressedTextureUpload } from './wgpuCompressedTexture';
|
|
33
33
|
import { beginWgpuFrame, withWgpuFrameBorrow } from './wgpuFrame';
|
|
34
|
-
import {
|
|
34
|
+
import { createWebWgpuHostBackend } from './wgpuHost';
|
|
35
35
|
import { registerWgpuMaterialRenderer } from './wgpuMaterialRegistry';
|
|
36
36
|
import { createEmptyWgpuRegistries, createWgpuPipeline } from './wgpuPipeline';
|
|
37
37
|
import {
|
|
@@ -72,6 +72,7 @@ beforeAll(() => {
|
|
|
72
72
|
});
|
|
73
73
|
|
|
74
74
|
const _testPipeline = createWgpuPipeline(createEmptyWgpuRegistries());
|
|
75
|
+
const _webBackend = createWebWgpuHostBackend();
|
|
75
76
|
|
|
76
77
|
function createWgpuRenderState(device: GPUDevice, options: Readonly<WgpuRenderOptions> = {}) {
|
|
77
78
|
return createWgpuRenderStateWithPipeline(device, _testPipeline, options);
|
|
@@ -81,7 +82,7 @@ function createWgpuRenderStateRuntime(deviceState: ReturnType<typeof createWgpuD
|
|
|
81
82
|
return createWgpuRenderStateRuntimeWithPipeline(deviceState, _testPipeline);
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
function entityHostBackend(fields: Omit<
|
|
85
|
+
function entityHostBackend(fields: Omit<HostWgpuCapability, keyof Entity>): HostWgpuCapability {
|
|
85
86
|
return (() => {
|
|
86
87
|
const out = allocateEntity<any>();
|
|
87
88
|
Object.assign(out, fields);
|
|
@@ -126,30 +127,27 @@ function registerPaddingResolver(state: RenderState, kind: string, resolver: Ren
|
|
|
126
127
|
|
|
127
128
|
describe('createWgpuAcquisition', () => {
|
|
128
129
|
it('hands back handles the CALLER owns, so no state teardown can release them', async () => {
|
|
129
|
-
const acquisition = await createWgpuAcquisition(document.createElement('canvas'));
|
|
130
|
+
const acquisition = await createWgpuAcquisition(_webBackend, document.createElement('canvas'));
|
|
130
131
|
|
|
131
132
|
expect(acquisition).not.toBeNull();
|
|
132
133
|
expect(acquisition!.ownership).toBe('caller');
|
|
133
134
|
expect(acquisition!.surface).toBeDefined();
|
|
134
|
-
releaseWgpuAcquisition(acquisition!);
|
|
135
|
+
releaseWgpuAcquisition(_webBackend, acquisition!);
|
|
135
136
|
});
|
|
136
137
|
|
|
137
138
|
// ★ NULL, NOT THROW. "This environment cannot give me WebGPU" is an expected outcome, not API misuse, so
|
|
138
139
|
// it reports through the return value like every other expected failure in this SDK.
|
|
139
140
|
it('returns null when the host cannot acquire, rather than rejecting', async () => {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
throw new Error('no adapter');
|
|
144
|
-
}),
|
|
145
|
-
attachSurface: vi.fn(() => null),
|
|
146
|
-
isSupported: vi.fn(() => false),
|
|
147
|
-
release: vi.fn(),
|
|
141
|
+
const failingBackend = entityHostBackend({
|
|
142
|
+
acquire: vi.fn(async () => {
|
|
143
|
+
throw new Error('no adapter');
|
|
148
144
|
}),
|
|
149
|
-
|
|
145
|
+
attachSurface: vi.fn(() => null),
|
|
146
|
+
isSupported: vi.fn(() => false),
|
|
147
|
+
release: vi.fn(),
|
|
148
|
+
});
|
|
150
149
|
|
|
151
|
-
await expect(createWgpuAcquisition(document.createElement('canvas'))).resolves.toBeNull();
|
|
152
|
-
setWgpuHostBackend(null);
|
|
150
|
+
await expect(createWgpuAcquisition(failingBackend, document.createElement('canvas'))).resolves.toBeNull();
|
|
153
151
|
});
|
|
154
152
|
});
|
|
155
153
|
|
|
@@ -456,7 +454,7 @@ describe('createWgpuRenderState', () => {
|
|
|
456
454
|
// The state is "how to talk to the GPU" and the screen target is "which surface a frame lands on".
|
|
457
455
|
// Keeping them apart is what lets one state render to several windows, and lets an offscreen state
|
|
458
456
|
// exist without inventing a canvas for it.
|
|
459
|
-
const acquisition = await createWgpuAcquisition(document.createElement('canvas'));
|
|
457
|
+
const acquisition = await createWgpuAcquisition(_webBackend, document.createElement('canvas'));
|
|
460
458
|
const state = createWgpuRenderState(acquisition!.device, { format: acquisition!.format });
|
|
461
459
|
|
|
462
460
|
expect(state.device).toBe(acquisition!.device);
|
|
@@ -465,7 +463,7 @@ describe('createWgpuRenderState', () => {
|
|
|
465
463
|
expect('surface' in state).toBe(false);
|
|
466
464
|
|
|
467
465
|
destroyWgpuRenderState(state);
|
|
468
|
-
releaseWgpuAcquisition(acquisition!);
|
|
466
|
+
releaseWgpuAcquisition(_webBackend, acquisition!);
|
|
469
467
|
});
|
|
470
468
|
|
|
471
469
|
it('sets allowSmoothing to true by default', async () => {
|
|
@@ -838,7 +836,7 @@ describe('initializeWgpuOffscreenRenderStateOkResult', () => {
|
|
|
838
836
|
|
|
839
837
|
describe('isWgpuSupported', () => {
|
|
840
838
|
it('returns true when navigator.gpu is present', () => {
|
|
841
|
-
expect(isWgpuSupported()).toBe(true);
|
|
839
|
+
expect(isWgpuSupported(_webBackend)).toBe(true);
|
|
842
840
|
});
|
|
843
841
|
|
|
844
842
|
it('returns false when navigator.gpu throws', () => {
|
|
@@ -849,7 +847,8 @@ describe('isWgpuSupported', () => {
|
|
|
849
847
|
},
|
|
850
848
|
});
|
|
851
849
|
try {
|
|
852
|
-
|
|
850
|
+
const unsupportedBackend = createWebWgpuHostBackend();
|
|
851
|
+
expect(isWgpuSupported(unsupportedBackend)).toBe(false);
|
|
853
852
|
} finally {
|
|
854
853
|
installWgpuMock();
|
|
855
854
|
}
|
|
@@ -885,22 +884,19 @@ describe('releaseWgpuAcquisition', () => {
|
|
|
885
884
|
// Unconditional on purpose: this is the CALLER asking. Flight's own paths refuse to release caller-owned
|
|
886
885
|
// handles, so if this verb deferred to the same policy the caller would have no way to end their life.
|
|
887
886
|
it('releases caller-owned handles, which Flight itself never does', async () => {
|
|
888
|
-
const acquired = await createWgpuAcquisition(document.createElement('canvas'));
|
|
887
|
+
const acquired = await createWgpuAcquisition(_webBackend, document.createElement('canvas'));
|
|
889
888
|
const acquisition = acquired!;
|
|
890
889
|
const released: Readonly<WgpuHostAcquisition>[] = [];
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
}),
|
|
898
|
-
);
|
|
890
|
+
const recordingBackend = entityHostBackend({
|
|
891
|
+
acquire: vi.fn(async () => acquisition),
|
|
892
|
+
attachSurface: vi.fn(() => null),
|
|
893
|
+
isSupported: vi.fn(() => true),
|
|
894
|
+
release: vi.fn((held: Readonly<WgpuHostAcquisition>) => released.push(held)),
|
|
895
|
+
});
|
|
899
896
|
|
|
900
|
-
releaseWgpuAcquisition(acquisition);
|
|
897
|
+
releaseWgpuAcquisition(recordingBackend, acquisition);
|
|
901
898
|
|
|
902
899
|
expect(released).toEqual([acquisition]);
|
|
903
|
-
setWgpuHostBackend(null);
|
|
904
900
|
});
|
|
905
901
|
});
|
|
906
902
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createWebWgpuHostBackend } from './wgpuHost';
|
|
1
2
|
import { beginWgpuRenderPass, endWgpuRenderPass } from './wgpuRenderPass';
|
|
2
3
|
import { getWgpuRenderStateRuntime } from './wgpuRenderState';
|
|
3
4
|
import {
|
|
@@ -16,6 +17,8 @@ beforeAll(() => {
|
|
|
16
17
|
installWgpuMock();
|
|
17
18
|
});
|
|
18
19
|
|
|
20
|
+
const _webBackend = createWebWgpuHostBackend();
|
|
21
|
+
|
|
19
22
|
describe('bindWgpuScreenRenderTarget', () => {
|
|
20
23
|
it('acquires one swap-chain view per frame and releases it at the end of the frame', async () => {
|
|
21
24
|
// Nothing may hold a swap-chain view across frames — that is the property that makes a screen target
|
|
@@ -36,7 +39,7 @@ describe('bindWgpuScreenRenderTarget', () => {
|
|
|
36
39
|
const canvas = document.createElement('canvas');
|
|
37
40
|
canvas.width = 320;
|
|
38
41
|
canvas.height = 240;
|
|
39
|
-
const screen = createWgpuScreenRenderTarget(state.device, canvas, { format: state.format });
|
|
42
|
+
const screen = createWgpuScreenRenderTarget(_webBackend, state.device, canvas, { format: state.format });
|
|
40
43
|
|
|
41
44
|
canvas.width = 640;
|
|
42
45
|
canvas.height = 480;
|
|
@@ -69,7 +72,7 @@ describe('createWgpuScreenRenderTarget', () => {
|
|
|
69
72
|
const context = canvas.getContext('webgpu')!;
|
|
70
73
|
const configure = vi.spyOn(context, 'configure');
|
|
71
74
|
|
|
72
|
-
const screen = createWgpuScreenRenderTarget(state.device, canvas, { format: 'rgba8unorm' });
|
|
75
|
+
const screen = createWgpuScreenRenderTarget(_webBackend, state.device, canvas, { format: 'rgba8unorm' });
|
|
73
76
|
|
|
74
77
|
expect(configure).toHaveBeenCalledOnce();
|
|
75
78
|
expect(configure.mock.calls[0]![0].format).toBe('rgba8unorm');
|
|
@@ -84,7 +87,7 @@ describe('createWgpuScreenRenderTarget', () => {
|
|
|
84
87
|
const state = await createWgpuRenderStateForTest();
|
|
85
88
|
const surface = { getContext: () => null, height: 100, width: 100 };
|
|
86
89
|
|
|
87
|
-
expect(() => createWgpuScreenRenderTarget(state.device, surface)).toThrow(/cannot present WebGPU/);
|
|
90
|
+
expect(() => createWgpuScreenRenderTarget(_webBackend, state.device, surface)).toThrow(/cannot present WebGPU/);
|
|
88
91
|
});
|
|
89
92
|
});
|
|
90
93
|
|
|
@@ -140,7 +143,7 @@ describe('syncWgpuScreenRenderTargetExtent', () => {
|
|
|
140
143
|
const canvas = document.createElement('canvas');
|
|
141
144
|
canvas.width = 320;
|
|
142
145
|
canvas.height = 240;
|
|
143
|
-
const screen = createWgpuScreenRenderTarget(state.device, canvas, { format: state.format });
|
|
146
|
+
const screen = createWgpuScreenRenderTarget(_webBackend, state.device, canvas, { format: state.format });
|
|
144
147
|
|
|
145
148
|
canvas.width = 500;
|
|
146
149
|
canvas.height = 400;
|