@flighthq/render-wgpu 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.638.d4dbd4e
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/contract.d.ts +3 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +3 -0
- package/dist/contract.js.map +1 -1
- 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/wgpuAntialias.d.ts +8 -4
- package/dist/wgpuAntialias.d.ts.map +1 -1
- package/dist/wgpuAntialias.js +23 -4
- package/dist/wgpuAntialias.js.map +1 -1
- package/dist/wgpuBackground.d.ts +10 -4
- package/dist/wgpuBackground.d.ts.map +1 -1
- package/dist/wgpuBackground.js +87 -3
- package/dist/wgpuBackground.js.map +1 -1
- package/dist/wgpuCompressedTexture.js +9 -9
- package/dist/wgpuCompressedTexture.js.map +1 -1
- package/dist/wgpuDeviceLoss.d.ts +21 -0
- package/dist/wgpuDeviceLoss.d.ts.map +1 -0
- package/dist/wgpuDeviceLoss.js +62 -0
- package/dist/wgpuDeviceLoss.js.map +1 -0
- package/dist/wgpuDraw.d.ts +0 -1
- package/dist/wgpuDraw.d.ts.map +1 -1
- package/dist/wgpuDraw.js +73 -96
- package/dist/wgpuDraw.js.map +1 -1
- package/dist/wgpuElement.d.ts +5 -0
- package/dist/wgpuElement.d.ts.map +1 -1
- package/dist/wgpuElement.js +17 -6
- package/dist/wgpuElement.js.map +1 -1
- package/dist/wgpuExternalTexture.d.ts.map +1 -1
- package/dist/wgpuExternalTexture.js +12 -11
- package/dist/wgpuExternalTexture.js.map +1 -1
- package/dist/wgpuFullscreenPass.js +1 -1
- package/dist/wgpuFullscreenPass.js.map +1 -1
- package/dist/wgpuHost.d.ts +7 -0
- package/dist/wgpuHost.d.ts.map +1 -0
- package/dist/wgpuHost.js +80 -0
- package/dist/wgpuHost.js.map +1 -0
- package/dist/wgpuMipmap.js +3 -3
- package/dist/wgpuMipmap.js.map +1 -1
- package/dist/wgpuPipeline.d.ts +5 -0
- package/dist/wgpuPipeline.d.ts.map +1 -0
- package/dist/wgpuPipeline.js +29 -0
- package/dist/wgpuPipeline.js.map +1 -0
- package/dist/wgpuRenderState.d.ts +13 -6
- package/dist/wgpuRenderState.d.ts.map +1 -1
- package/dist/wgpuRenderState.js +220 -271
- package/dist/wgpuRenderState.js.map +1 -1
- package/dist/wgpuRenderTarget.d.ts.map +1 -1
- package/dist/wgpuRenderTarget.js +6 -5
- package/dist/wgpuRenderTarget.js.map +1 -1
- package/dist/wgpuRenderTexture.js +4 -4
- package/dist/wgpuRenderTexture.js.map +1 -1
- package/dist/wgpuShader.d.ts.map +1 -1
- package/dist/wgpuShader.js +6 -4
- package/dist/wgpuShader.js.map +1 -1
- package/dist/wgpuSurface.d.ts +5 -5
- package/dist/wgpuSurface.d.ts.map +1 -1
- package/dist/wgpuSurface.js +2 -2
- package/dist/wgpuSurface.js.map +1 -1
- package/dist/wgpuTestHelper.d.ts +2 -2
- package/dist/wgpuTestHelper.d.ts.map +1 -1
- package/dist/wgpuTestHelper.js +6 -2
- package/dist/wgpuTestHelper.js.map +1 -1
- package/package.json +11 -11
- package/src/wgpuAntialias.test.ts +26 -4
- package/src/wgpuBackground.test.ts +43 -73
- package/src/wgpuDeviceLoss.test.ts +240 -0
- package/src/wgpuDraw.test.ts +99 -24
- package/src/wgpuElement.test.ts +127 -13
- package/src/wgpuHost.test.ts +227 -0
- package/src/wgpuMaterialRegistry.test.ts +6 -3
- package/src/wgpuMipmap.test.ts +3 -3
- package/src/wgpuPipeline.test.ts +52 -0
- package/src/wgpuRenderState.test.ts +679 -88
- package/src/wgpuRenderTarget.test.ts +12 -8
- package/src/wgpuRenderTexture.test.ts +1 -1
- package/src/wgpuShader.test.ts +2 -2
package/dist/wgpuDraw.js
CHANGED
|
@@ -24,14 +24,20 @@ function bindWgpuTextureSourceTexture(state, image, generateMips, premultiply, c
|
|
|
24
24
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
25
25
|
const cache = premultiply
|
|
26
26
|
? colorSpace === 'srgb'
|
|
27
|
-
? runtime.textureSourcePremultipliedSrgbTextureCache
|
|
28
|
-
: runtime.textureSourcePremultipliedTextureCache
|
|
27
|
+
? runtime.context.textureSourcePremultipliedSrgbTextureCache
|
|
28
|
+
: runtime.context.textureSourcePremultipliedTextureCache
|
|
29
29
|
: colorSpace === 'srgb'
|
|
30
|
-
? runtime.textureSourceStraightSrgbTextureCache
|
|
31
|
-
: runtime.textureSourceStraightTextureCache;
|
|
30
|
+
? runtime.context.textureSourceStraightSrgbTextureCache
|
|
31
|
+
: runtime.context.textureSourceStraightTextureCache;
|
|
32
32
|
const cached = cache.get(image);
|
|
33
|
-
|
|
33
|
+
// Mip allocation is part of the identity, not a sampling preference. WebGPU fixes mipLevelCount at
|
|
34
|
+
// creation, so a cached level-0-only realization cannot serve a request that needs a chain however it
|
|
35
|
+
// is sampled — without this arm the FIRST caller's `generateMips` silently decided for every later
|
|
36
|
+
// sharer of the source, and a minified draw sampled a texture that has no lower levels.
|
|
37
|
+
const wantsMips = generateMips && getWgpuRenderStateRuntime(state).mipmapGenerator != null;
|
|
38
|
+
if (cached !== undefined && cached.version === image.version && cached.mipLevelCount > 1 === wantsMips) {
|
|
34
39
|
return cached;
|
|
40
|
+
}
|
|
35
41
|
const built = upload(state, image, generateMips, premultiply, colorSpace);
|
|
36
42
|
if (built === null)
|
|
37
43
|
return cached ?? null;
|
|
@@ -43,10 +49,9 @@ function bindWgpuTextureSourceTexture(state, image, generateMips, premultiply, c
|
|
|
43
49
|
retireWgpuTexture(state, cached.texture);
|
|
44
50
|
cached.texture = built.texture;
|
|
45
51
|
cached.view = built.view;
|
|
46
|
-
cached.
|
|
47
|
-
//
|
|
48
|
-
cached.
|
|
49
|
-
cached.bindGroupNearest = undefined;
|
|
52
|
+
cached.mipLevelCount = built.mipLevelCount;
|
|
53
|
+
// Every cached bind group referenced the old view; drop them all so they rebuild against the new one.
|
|
54
|
+
cached.bindings.clear();
|
|
50
55
|
cached.straightAlpha = built.straightAlpha;
|
|
51
56
|
cached.version = image.version;
|
|
52
57
|
return cached;
|
|
@@ -55,21 +60,23 @@ function bindWgpuTextureSourceTexture(state, image, generateMips, premultiply, c
|
|
|
55
60
|
cache.set(image, entry);
|
|
56
61
|
return entry;
|
|
57
62
|
}
|
|
58
|
-
// Uploads (and caches per
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
// creation and the cache is keyed by source, the first caller decides whether a shared image gets a chain.
|
|
63
|
+
// Uploads (and caches per raw element) the GPU texture for an image source, returning the allocated
|
|
64
|
+
// resource. With generateMips the texture is allocated with a full mip chain whose lower levels are
|
|
65
|
+
// rendered via runtime.mipmapGenerator (installed by registerWgpuMipmapGeneration); left false it is a
|
|
66
|
+
// single-level texture. Passing true without registering leaves the extra levels uninitialized, which
|
|
67
|
+
// runtime.mipmapDegradedGuard reports.
|
|
64
68
|
//
|
|
65
|
-
//
|
|
69
|
+
// Mip allocation is part of this cache's identity too, for the same reason as the TextureSource caches:
|
|
70
|
+
// WebGPU fixes mipLevelCount at creation, so a cached level-0-only realization cannot serve a request
|
|
71
|
+
// that needs a chain. Nothing in-tree passes generateMips through here today (resolveWgpuTexture does not
|
|
72
|
+
// expose it), but a cache that is only correct while a parameter goes unused is a trap, not an invariant.
|
|
66
73
|
export function bindWgpuTexture(state, imageSource, generateMips = false) {
|
|
67
74
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
68
|
-
const cached = runtime.textureCache.get(imageSource);
|
|
69
|
-
|
|
75
|
+
const cached = runtime.context.textureCache.get(imageSource);
|
|
76
|
+
const wantsMips = generateMips && runtime.mipmapGenerator != null;
|
|
77
|
+
if (cached !== undefined && cached.mipLevelCount > 1 === wantsMips)
|
|
70
78
|
return cached;
|
|
71
79
|
const { device } = state;
|
|
72
|
-
const { textureBindGroupLayout } = runtime;
|
|
73
80
|
// Determine pixel dimensions from the image source type
|
|
74
81
|
let width = 1;
|
|
75
82
|
let height = 1;
|
|
@@ -126,26 +133,28 @@ export function bindWgpuTexture(state, imageSource, generateMips = false) {
|
|
|
126
133
|
if (mipLevelCount > 1)
|
|
127
134
|
runtime.mipmapGenerator?.(state, texture, width, height, 'rgba8unorm');
|
|
128
135
|
const view = texture.createView();
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
{ binding: 1, resource: sampler },
|
|
135
|
-
],
|
|
136
|
-
});
|
|
137
|
-
const entry = { texture, view, bindGroup };
|
|
138
|
-
runtime.textureCache.set(imageSource, entry);
|
|
136
|
+
// No bind group is built here on purpose. Binding a sampler at upload time would capture whatever
|
|
137
|
+
// `state.allowSmoothing` happened to be for the FIRST caller into an entry every later sharer reuses;
|
|
138
|
+
// the sampler is chosen per draw instead, in resolveWgpuSmoothingBindGroup.
|
|
139
|
+
const entry = { bindings: new Map(), mipLevelCount, texture, view };
|
|
140
|
+
runtime.context.textureCache.set(imageSource, entry);
|
|
139
141
|
return entry;
|
|
140
142
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
143
|
+
// The sampler the state's CURRENT draw policy selects. Read per draw and never stored on a resource:
|
|
144
|
+
// `allowSmoothing` is mutable and shared, so a value captured at upload time goes stale silently.
|
|
145
|
+
function getWgpuDrawPolicySampler(state, runtime) {
|
|
146
|
+
return state.allowSmoothing ? runtime.context.linearSampler : runtime.context.nearestSampler;
|
|
147
|
+
}
|
|
148
|
+
// The group(1) bind group for this entry's view sampled with `sampler`, built once per sampler and
|
|
149
|
+
// memoized on the entry. Every bind group over a cached texture goes through here, so no draw policy
|
|
150
|
+
// can reach a resource's identity.
|
|
151
|
+
function resolveWgpuTextureBinding(state, entry, sampler) {
|
|
152
|
+
const cached = entry.bindings.get(sampler);
|
|
153
|
+
if (cached !== undefined)
|
|
154
|
+
return cached;
|
|
155
|
+
const bindGroup = buildWgpuTextureBindGroup(state, entry.view, sampler);
|
|
156
|
+
entry.bindings.set(sampler, bindGroup);
|
|
157
|
+
return bindGroup;
|
|
149
158
|
}
|
|
150
159
|
// Dynamic host-video upload. The texture is cached by Image source and copied only when its
|
|
151
160
|
// version advances; a resolution change recreates the allocation/view, and a sampler mutation rebuilds
|
|
@@ -157,8 +166,8 @@ export function bindWgpuVideoTexture(state, videoTexture) {
|
|
|
157
166
|
return null;
|
|
158
167
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
159
168
|
const cache = videoTexture.colorSpace === 'srgb'
|
|
160
|
-
? (runtime.videoSrgbTextureCache ??= new WeakMap())
|
|
161
|
-
: (runtime.videoTextureCache ??= new WeakMap());
|
|
169
|
+
? (runtime.context.videoSrgbTextureCache ??= new WeakMap())
|
|
170
|
+
: (runtime.context.videoTextureCache ??= new WeakMap());
|
|
162
171
|
const width = element.videoWidth;
|
|
163
172
|
const height = element.videoHeight;
|
|
164
173
|
const sampler = getWgpuVideoSampler(state, videoTexture);
|
|
@@ -172,8 +181,9 @@ export function bindWgpuVideoTexture(state, videoTexture) {
|
|
|
172
181
|
});
|
|
173
182
|
const view = texture.createView();
|
|
174
183
|
entry = {
|
|
175
|
-
|
|
184
|
+
bindings: new Map(),
|
|
176
185
|
height,
|
|
186
|
+
mipLevelCount: 1,
|
|
177
187
|
sampler,
|
|
178
188
|
texture,
|
|
179
189
|
uploadedVersion: -1,
|
|
@@ -183,8 +193,9 @@ export function bindWgpuVideoTexture(state, videoTexture) {
|
|
|
183
193
|
cache.set(image, entry);
|
|
184
194
|
}
|
|
185
195
|
else if (entry.sampler !== sampler) {
|
|
196
|
+
// Video carries its own resolved sampler rather than following the global policy, so record the
|
|
197
|
+
// change; the bind group for it is resolved on demand from the shared per-sampler cache.
|
|
186
198
|
entry.sampler = sampler;
|
|
187
|
-
entry.bindGroup = buildWgpuTextureBindGroup(state, entry.view, sampler);
|
|
188
199
|
}
|
|
189
200
|
if (entry.uploadedVersion !== image.version) {
|
|
190
201
|
const copied = tryCopyWgpuExternalImageToTexture(state.device.queue, { source: element, flipY: false }, { texture: entry.texture, premultipliedAlpha: true }, width, height);
|
|
@@ -194,21 +205,8 @@ export function bindWgpuVideoTexture(state, videoTexture) {
|
|
|
194
205
|
}
|
|
195
206
|
return entry;
|
|
196
207
|
}
|
|
197
|
-
export function buildWgpuRenderTargetBindGroup(state, view) {
|
|
198
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
199
|
-
const sampler = state.allowSmoothing ? runtime.linearSampler : runtime.nearestSampler;
|
|
200
|
-
return state.device.createBindGroup({
|
|
201
|
-
layout: runtime.textureBindGroupLayout,
|
|
202
|
-
entries: [
|
|
203
|
-
{ binding: 0, resource: view },
|
|
204
|
-
{ binding: 1, resource: sampler },
|
|
205
|
-
],
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
208
|
export function createWgpuTextureEntry(state, width, height, canvas) {
|
|
209
|
-
const runtime = getWgpuRenderStateRuntime(state);
|
|
210
209
|
const { device } = state;
|
|
211
|
-
const { textureBindGroupLayout } = runtime;
|
|
212
210
|
const w = Math.max(1, width);
|
|
213
211
|
const h = Math.max(1, height);
|
|
214
212
|
if (!isWgpuExternalImageSourceReady(canvas, w, h))
|
|
@@ -224,15 +222,7 @@ export function createWgpuTextureEntry(state, width, height, canvas) {
|
|
|
224
222
|
return null;
|
|
225
223
|
}
|
|
226
224
|
const view = texture.createView();
|
|
227
|
-
|
|
228
|
-
const bindGroup = device.createBindGroup({
|
|
229
|
-
layout: textureBindGroupLayout,
|
|
230
|
-
entries: [
|
|
231
|
-
{ binding: 0, resource: view },
|
|
232
|
-
{ binding: 1, resource: sampler },
|
|
233
|
-
],
|
|
234
|
-
});
|
|
235
|
-
return { texture, view, bindGroup };
|
|
225
|
+
return { bindings: new Map(), mipLevelCount: 1, texture, view };
|
|
236
226
|
}
|
|
237
227
|
export function destroyWgpuVideoTexture(state, videoTexture) {
|
|
238
228
|
const image = getTextureSource(videoTexture);
|
|
@@ -240,7 +230,7 @@ export function destroyWgpuVideoTexture(state, videoTexture) {
|
|
|
240
230
|
return false;
|
|
241
231
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
242
232
|
let destroyed = false;
|
|
243
|
-
for (const cache of [runtime.videoTextureCache, runtime.videoSrgbTextureCache]) {
|
|
233
|
+
for (const cache of [runtime.context.videoTextureCache, runtime.context.videoSrgbTextureCache]) {
|
|
244
234
|
const entry = cache?.get(image);
|
|
245
235
|
if (entry === undefined)
|
|
246
236
|
continue;
|
|
@@ -252,7 +242,7 @@ export function destroyWgpuVideoTexture(state, videoTexture) {
|
|
|
252
242
|
}
|
|
253
243
|
function buildWgpuTextureBindGroup(state, view, sampler) {
|
|
254
244
|
return state.device.createBindGroup({
|
|
255
|
-
layout: getWgpuRenderStateRuntime(state).textureBindGroupLayout,
|
|
245
|
+
layout: getWgpuRenderStateRuntime(state).context.textureBindGroupLayout,
|
|
256
246
|
entries: [
|
|
257
247
|
{ binding: 0, resource: view },
|
|
258
248
|
{ binding: 1, resource: sampler },
|
|
@@ -274,14 +264,14 @@ export function drawWgpuQuad(state, renderProxy, textureEntry, x0, y0, x1, y1, u
|
|
|
274
264
|
if (pass === null)
|
|
275
265
|
return;
|
|
276
266
|
const uniformOffset = writeWgpuQuadUniforms(state, renderProxy, getWgpuRenderProxyColorScaleBias(renderProxy), x0, y0, x1, y1, u0, v0, u1, v1, textureEntry.straightAlpha === true);
|
|
277
|
-
submitWgpuQuadDraw(state, uniformOffset, textureEntry
|
|
267
|
+
submitWgpuQuadDraw(state, uniformOffset, resolveWgpuSmoothingBindGroup(state, textureEntry, null));
|
|
278
268
|
}
|
|
279
269
|
export function drawWgpuQuadWithTransform(state, renderProxy, transform, textureEntry, x0, y0, x1, y1, u0, v0, u1, v1) {
|
|
280
270
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
281
271
|
if (runtime.renderPass === null)
|
|
282
272
|
return;
|
|
283
273
|
const uniformOffset = writeWgpuQuadUniforms(state, { alpha: renderProxy.alpha, transform2D: transform }, getWgpuRenderProxyColorScaleBias(renderProxy), x0, y0, x1, y1, u0, v0, u1, v1, textureEntry.straightAlpha === true);
|
|
284
|
-
submitWgpuQuadDraw(state, uniformOffset, textureEntry
|
|
274
|
+
submitWgpuQuadDraw(state, uniformOffset, resolveWgpuSmoothingBindGroup(state, textureEntry, null));
|
|
285
275
|
}
|
|
286
276
|
export function enableWgpuBlendModeSupport(state) {
|
|
287
277
|
state.applyBlendMode = applyWgpuBlendMode;
|
|
@@ -292,19 +282,22 @@ export function getWgpuRenderProxyColorScaleBias(renderProxy) {
|
|
|
292
282
|
return renderProxy.colorScaleBias ?? null;
|
|
293
283
|
}
|
|
294
284
|
// The group(1) bind group a 2D bitmap should sample through for a per-bitmap `smoothing` preference:
|
|
295
|
-
// `null`
|
|
296
|
-
//
|
|
297
|
-
//
|
|
298
|
-
//
|
|
299
|
-
//
|
|
285
|
+
// `null` follows the state's current `allowSmoothing` policy (sprites/text/shapes), `true`/`false`
|
|
286
|
+
// overrides it with the LINEAR/NEAREST sampler, so a smoothed and an unsmoothed bitmap sharing one
|
|
287
|
+
// texture each sample with their own filter. All three arms resolve through the same per-sampler
|
|
288
|
+
// binding cache. Mirrors the gl `smoothingOverride` on `bindGlImageResourceTexture`.
|
|
289
|
+
//
|
|
290
|
+
// The `null` arm re-reads the policy on every call rather than returning a group captured at upload:
|
|
291
|
+
// `allowSmoothing` is mutable and the entry is shared, so a captured group let whichever caller
|
|
292
|
+
// realized the texture first decide how everyone else sampled it.
|
|
300
293
|
export function resolveWgpuSmoothingBindGroup(state, entry, smoothing) {
|
|
301
|
-
if (smoothing === null)
|
|
302
|
-
return entry.bindGroup;
|
|
303
294
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
295
|
+
const sampler = smoothing === null
|
|
296
|
+
? (entry.sampler ?? getWgpuDrawPolicySampler(state, runtime))
|
|
297
|
+
: smoothing
|
|
298
|
+
? runtime.context.linearSampler
|
|
299
|
+
: runtime.context.nearestSampler;
|
|
300
|
+
return resolveWgpuTextureBinding(state, entry, sampler);
|
|
308
301
|
}
|
|
309
302
|
export function submitWgpuQuadDraw(state, uniformOffset, textureBindGroup) {
|
|
310
303
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
@@ -380,15 +373,7 @@ function uploadWgpuBitmapEntry(state, image, generateMips, premultiply, colorSpa
|
|
|
380
373
|
if (mipLevelCount > 1)
|
|
381
374
|
runtime.mipmapGenerator?.(state, texture, width, height, format);
|
|
382
375
|
const view = texture.createView();
|
|
383
|
-
|
|
384
|
-
const bindGroup = device.createBindGroup({
|
|
385
|
-
layout: runtime.textureBindGroupLayout,
|
|
386
|
-
entries: [
|
|
387
|
-
{ binding: 0, resource: view },
|
|
388
|
-
{ binding: 1, resource: sampler },
|
|
389
|
-
],
|
|
390
|
-
});
|
|
391
|
-
return { texture, view, bindGroup };
|
|
376
|
+
return { bindings: new Map(), mipLevelCount, texture, view };
|
|
392
377
|
}
|
|
393
378
|
function uploadWgpuCompressedImageEntry(state, image, _generateMips, _premultiply, colorSpace) {
|
|
394
379
|
const runtime = getWgpuRenderStateRuntime(state);
|
|
@@ -424,15 +409,7 @@ function uploadWgpuImageResourceEntry(state, image, generateMips, premultiply, c
|
|
|
424
409
|
if (mipLevelCount > 1)
|
|
425
410
|
runtime.mipmapGenerator?.(state, texture, width, height, format);
|
|
426
411
|
const view = texture.createView();
|
|
427
|
-
|
|
428
|
-
const bindGroup = device.createBindGroup({
|
|
429
|
-
layout: runtime.textureBindGroupLayout,
|
|
430
|
-
entries: [
|
|
431
|
-
{ binding: 0, resource: view },
|
|
432
|
-
{ binding: 1, resource: sampler },
|
|
433
|
-
],
|
|
434
|
-
});
|
|
435
|
-
return { texture, view, bindGroup };
|
|
412
|
+
return { bindings: new Map(), mipLevelCount, texture, view };
|
|
436
413
|
}
|
|
437
414
|
function wgpuMipLevelCount(width, height) {
|
|
438
415
|
return 1 + Math.floor(Math.log2(Math.max(1, width, height)));
|
package/dist/wgpuDraw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuDraw.js","sourceRoot":"","sources":["../src/wgpuDraw.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wgpuDraw.js","sourceRoot":"","sources":["../src/wgpuDraw.ts"],"names":[],"mappings":"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"}
|
package/dist/wgpuElement.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import type { WgpuRenderSurfaceProvider } from '@flighthq/types/contract';
|
|
1
2
|
export declare function createWgpuCanvasElement(width: number, height: number, pixelRatio?: number): HTMLCanvasElement;
|
|
3
|
+
export declare function createWgpuRenderSurface(width: number, height: number, pixelRatio?: number): HTMLCanvasElement | null;
|
|
4
|
+
export declare function getWgpuRenderSurfaceProvider(): Readonly<WgpuRenderSurfaceProvider> | null;
|
|
5
|
+
export declare function resetWgpuRenderSurfaceProviderForTest(): void;
|
|
6
|
+
export declare function setWgpuRenderSurfaceProvider(provider: Readonly<WgpuRenderSurfaceProvider> | null): void;
|
|
2
7
|
//# sourceMappingURL=wgpuElement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuElement.d.ts","sourceRoot":"","sources":["../src/wgpuElement.ts"],"names":[],"mappings":"AAAA,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"wgpuElement.d.ts","sourceRoot":"","sources":["../src/wgpuElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAI1E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,iBAAiB,CAMhH;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,MAAU,GACrB,iBAAiB,GAAG,IAAI,CAE1B;AAED,wBAAgB,4BAA4B,IAAI,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAEzF;AAED,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,GAAG,IAAI,CAEvG"}
|
package/dist/wgpuElement.js
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
|
+
let _provider = null;
|
|
1
2
|
export function createWgpuCanvasElement(width, height, pixelRatio = 1) {
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const surface = createWgpuRenderSurface(width, height, pixelRatio);
|
|
4
|
+
if (surface !== null)
|
|
5
|
+
return surface;
|
|
6
|
+
throw new Error('No WGPU render surface is available. Web callers must run enableHostWebWgpuRenderSurface() before creating WGPU state; native callers must inject a WgpuRenderSurfaceProvider.');
|
|
7
|
+
}
|
|
8
|
+
export function createWgpuRenderSurface(width, height, pixelRatio = 1) {
|
|
9
|
+
return _provider?.createRenderSurface(width, height, pixelRatio) ?? null;
|
|
10
|
+
}
|
|
11
|
+
export function getWgpuRenderSurfaceProvider() {
|
|
12
|
+
return _provider;
|
|
13
|
+
}
|
|
14
|
+
export function resetWgpuRenderSurfaceProviderForTest() {
|
|
15
|
+
_provider = null;
|
|
16
|
+
}
|
|
17
|
+
export function setWgpuRenderSurfaceProvider(provider) {
|
|
18
|
+
_provider = provider;
|
|
8
19
|
}
|
|
9
20
|
//# sourceMappingURL=wgpuElement.js.map
|
package/dist/wgpuElement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuElement.js","sourceRoot":"","sources":["../src/wgpuElement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wgpuElement.js","sourceRoot":"","sources":["../src/wgpuElement.ts"],"names":[],"mappings":"AAEA,IAAI,SAAS,GAA+C,IAAI,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,MAAc,EAAE,aAAqB,CAAC;IAC3F,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACnE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,MAAM,IAAI,KAAK,CACb,gLAAgL,CACjL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,MAAc,EACd,aAAqB,CAAC;IAEtB,OAAO,SAAS,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAoD;IAC/F,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuExternalTexture.d.ts","sourceRoot":"","sources":["../src/wgpuExternalTexture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAE5B,OAAO,EAEP,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"wgpuExternalTexture.d.ts","sourceRoot":"","sources":["../src/wgpuExternalTexture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAE5B,OAAO,EAEP,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAC9C,OAAO,CA0BT;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAKtG"}
|
|
@@ -17,16 +17,13 @@ export function createExternalWgpuTexture(state, handle, options) {
|
|
|
17
17
|
source,
|
|
18
18
|
});
|
|
19
19
|
const view = handle.createView();
|
|
20
|
+
// The external source fixes its own filtering, so the entry carries the sampler and the draw policy
|
|
21
|
+
// does not override it. Bind groups are built per sampler on demand rather than captured here.
|
|
20
22
|
const sampler = getExternalWgpuSampler(state, texture);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
{ binding: 1, resource: sampler },
|
|
26
|
-
],
|
|
27
|
-
});
|
|
28
|
-
(getWgpuRenderStateRuntime(state).wgpuExternalTextureCache ??= new WeakMap()).set(source, {
|
|
29
|
-
bindGroup,
|
|
23
|
+
(getWgpuRenderStateRuntime(state).context.wgpuExternalTextureCache ??= new WeakMap()).set(source, {
|
|
24
|
+
bindings: new Map(),
|
|
25
|
+
mipLevelCount: 1,
|
|
26
|
+
sampler,
|
|
30
27
|
texture: handle,
|
|
31
28
|
view,
|
|
32
29
|
});
|
|
@@ -35,7 +32,9 @@ export function createExternalWgpuTexture(state, handle, options) {
|
|
|
35
32
|
}
|
|
36
33
|
export function disposeExternalWgpuTexture(state, texture) {
|
|
37
34
|
const source = getExternalTextureSource(texture);
|
|
38
|
-
return source === null
|
|
35
|
+
return source === null
|
|
36
|
+
? false
|
|
37
|
+
: (getWgpuRenderStateRuntime(state).context.wgpuExternalTextureCache?.delete(source) ?? false);
|
|
39
38
|
}
|
|
40
39
|
function getExternalWgpuSampler(state, texture) {
|
|
41
40
|
const sampler = texture.sampler;
|
|
@@ -52,7 +51,9 @@ function getExternalWgpuSampler(state, texture) {
|
|
|
52
51
|
}
|
|
53
52
|
function resolveExternalWgpuTexture(state, texture) {
|
|
54
53
|
const source = getExternalTextureSource(texture);
|
|
55
|
-
return source === null
|
|
54
|
+
return source === null
|
|
55
|
+
? null
|
|
56
|
+
: (getWgpuRenderStateRuntime(state).context.wgpuExternalTextureCache?.get(source) ?? null);
|
|
56
57
|
}
|
|
57
58
|
function getExternalTextureSource(texture) {
|
|
58
59
|
if (texture.dimension !== '2d' || texture.source?.kind !== ExternalTextureSourceKind)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuExternalTexture.js","sourceRoot":"","sources":["../src/wgpuExternalTexture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AASzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,UAAU,yBAAyB,CACvC,KAAsB,EACtB,MAAkB,EAClB,OAA+C;IAE/C,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAoB,CAAC;IACtB,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,SAAS,EAAE,IAAI;QACf,MAAM;KACP,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,
|
|
1
|
+
{"version":3,"file":"wgpuExternalTexture.js","sourceRoot":"","sources":["../src/wgpuExternalTexture.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ export function drawWgpuFullscreenPass(state, wgpuPipeline, inputs, dest, setUni
|
|
|
71
71
|
const layout = wgpuPipeline.textureBindGroupLayouts[i];
|
|
72
72
|
if (layout === undefined)
|
|
73
73
|
continue;
|
|
74
|
-
const sampler = state.allowSmoothing ? runtime2.linearSampler : runtime2.nearestSampler;
|
|
74
|
+
const sampler = state.allowSmoothing ? runtime2.context.linearSampler : runtime2.context.nearestSampler;
|
|
75
75
|
const bindGroup = state.device.createBindGroup({
|
|
76
76
|
layout,
|
|
77
77
|
entries: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wgpuFullscreenPass.js","sourceRoot":"","sources":["../src/wgpuFullscreenPass.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wgpuFullscreenPass.js","sourceRoot":"","sources":["../src/wgpuFullscreenPass.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WgpuHostBackend } from '@flighthq/types/contract';
|
|
2
|
+
export declare function createWebWgpuHostBackend(): WgpuHostBackend;
|
|
3
|
+
export declare function getWgpuHostBackend(): WgpuHostBackend;
|
|
4
|
+
export declare function installWgpuHostBackend(backend: WgpuHostBackend): void;
|
|
5
|
+
export declare function resetWgpuHostBackendForTest(): void;
|
|
6
|
+
export declare function setWgpuHostBackend(backend: WgpuHostBackend | null): void;
|
|
7
|
+
//# sourceMappingURL=wgpuHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wgpuHost.d.ts","sourceRoot":"","sources":["../src/wgpuHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIrF,wBAAgB,wBAAwB,IAAI,eAAe,CAgD1D;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAErE;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAExE"}
|
package/dist/wgpuHost.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// The explicit browser adapter. All WebGPU discovery and host-handle acquisition stays in this
|
|
2
|
+
// function's call graph so render-state creation can also consume native caller-provided handles.
|
|
3
|
+
export function createWebWgpuHostBackend() {
|
|
4
|
+
return {
|
|
5
|
+
async acquire(canvas, options) {
|
|
6
|
+
const gpu = getWebWgpu();
|
|
7
|
+
if (gpu === null)
|
|
8
|
+
throw new Error('WebGPU is not supported in this browser.');
|
|
9
|
+
const adapter = await gpu.requestAdapter(options.powerPreference !== undefined ? { powerPreference: options.powerPreference } : undefined);
|
|
10
|
+
if (adapter === null)
|
|
11
|
+
throw new Error('Failed to get WebGPU adapter.');
|
|
12
|
+
// The forward-lit 3D pipeline binds 5 groups (Frame, Draw, Material, Shadow, Ibl); request 5
|
|
13
|
+
// only when the adapter advertises it so baseline-4 adapters retain the portable paths.
|
|
14
|
+
const requiredLimits = {};
|
|
15
|
+
if (adapter.limits.maxBindGroups >= 5)
|
|
16
|
+
requiredLimits.maxBindGroups = 5;
|
|
17
|
+
// Compression features have to be enabled when the device is created. Unsupported families
|
|
18
|
+
// retain their CPU decode fallback.
|
|
19
|
+
const requiredFeatures = ['texture-compression-bc', 'texture-compression-etc2', 'texture-compression-astc'].filter((feature) => adapter.features.has(feature));
|
|
20
|
+
const descriptor = {};
|
|
21
|
+
if (Object.keys(requiredLimits).length > 0)
|
|
22
|
+
descriptor.requiredLimits = requiredLimits;
|
|
23
|
+
if (requiredFeatures.length > 0)
|
|
24
|
+
descriptor.requiredFeatures = requiredFeatures;
|
|
25
|
+
const device = await adapter.requestDevice(descriptor);
|
|
26
|
+
try {
|
|
27
|
+
const format = options.format ?? gpu.getPreferredCanvasFormat();
|
|
28
|
+
const context = canvas.getContext('webgpu');
|
|
29
|
+
if (context === null)
|
|
30
|
+
throw new Error('Failed to get WebGPU canvas context.');
|
|
31
|
+
return { context, device, format, ownership: 'flight', surface: canvas };
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
device.destroy();
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
isSupported() {
|
|
39
|
+
return getWebWgpu() !== null;
|
|
40
|
+
},
|
|
41
|
+
// Unconditional teardown. Ownership policy is NOT decided here: Flight never calls this for a
|
|
42
|
+
// caller-owned acquisition, and `releaseWgpuAcquisition` calls it because the caller asked. A backend
|
|
43
|
+
// that re-checked ownership would silently make the caller's own release verb a no-op.
|
|
44
|
+
release(acquisition) {
|
|
45
|
+
acquisition.context.unconfigure();
|
|
46
|
+
acquisition.device.destroy();
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function getWgpuHostBackend() {
|
|
51
|
+
return _custom ?? _host ?? _web;
|
|
52
|
+
}
|
|
53
|
+
// First host wins and a custom backend installed through setWgpuHostBackend always takes precedence.
|
|
54
|
+
export function installWgpuHostBackend(backend) {
|
|
55
|
+
if (_host === null)
|
|
56
|
+
_host = backend;
|
|
57
|
+
}
|
|
58
|
+
export function resetWgpuHostBackendForTest() {
|
|
59
|
+
_custom = null;
|
|
60
|
+
_host = null;
|
|
61
|
+
}
|
|
62
|
+
// Installs a process-wide custom backend. Clearing it reveals the first installed host, or the
|
|
63
|
+
// built-in explicit web adapter when no host has been installed.
|
|
64
|
+
export function setWgpuHostBackend(backend) {
|
|
65
|
+
_custom = backend;
|
|
66
|
+
}
|
|
67
|
+
function getWebWgpu() {
|
|
68
|
+
if (typeof navigator === 'undefined')
|
|
69
|
+
return null;
|
|
70
|
+
try {
|
|
71
|
+
return navigator.gpu ?? null;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const _web = createWebWgpuHostBackend();
|
|
78
|
+
let _custom = null;
|
|
79
|
+
let _host = null;
|
|
80
|
+
//# sourceMappingURL=wgpuHost.js.map
|