@ifc-lite/renderer 6.0.1 → 6.3.1
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 +23 -0
- package/dist/ao-pass.d.ts +0 -16
- package/dist/ao-pass.d.ts.map +1 -1
- package/dist/ao-pass.js +2 -0
- package/dist/ao-pass.js.map +1 -1
- package/dist/camera-animation.d.ts +1 -1
- package/dist/camera-animation.d.ts.map +1 -1
- package/dist/camera-animation.js +11 -11
- package/dist/camera-animation.js.map +1 -1
- package/dist/camera-controls.d.ts +0 -21
- package/dist/camera-controls.d.ts.map +1 -1
- package/dist/camera-controls.js +8 -90
- package/dist/camera-controls.js.map +1 -1
- package/dist/camera-inertia.d.ts +27 -0
- package/dist/camera-inertia.d.ts.map +1 -0
- package/dist/camera-inertia.js +33 -0
- package/dist/camera-inertia.js.map +1 -0
- package/dist/camera-surface-zoom.d.ts +1 -1
- package/dist/camera-zoom.d.ts +55 -0
- package/dist/camera-zoom.d.ts.map +1 -0
- package/dist/camera-zoom.js +138 -0
- package/dist/camera-zoom.js.map +1 -0
- package/dist/camera.d.ts.map +1 -1
- package/dist/camera.js +8 -0
- package/dist/camera.js.map +1 -1
- package/dist/deviation/deviation-computer.d.ts +5 -1
- package/dist/deviation/deviation-computer.d.ts.map +1 -1
- package/dist/deviation/deviation-computer.js +13 -6
- package/dist/deviation/deviation-computer.js.map +1 -1
- package/dist/deviation/deviation-readback.d.ts +16 -3
- package/dist/deviation/deviation-readback.d.ts.map +1 -1
- package/dist/deviation/deviation-readback.js +46 -36
- package/dist/deviation/deviation-readback.js.map +1 -1
- package/dist/deviation/deviation-statistics-kernel.d.ts +111 -0
- package/dist/deviation/deviation-statistics-kernel.d.ts.map +1 -0
- package/dist/deviation/deviation-statistics-kernel.js +303 -0
- package/dist/deviation/deviation-statistics-kernel.js.map +1 -0
- package/dist/deviation/deviation-statistics.d.ts +100 -0
- package/dist/deviation/deviation-statistics.d.ts.map +1 -0
- package/dist/deviation/deviation-statistics.js +100 -0
- package/dist/deviation/deviation-statistics.js.map +1 -0
- package/dist/device-recovery.d.ts.map +1 -1
- package/dist/device-recovery.js +5 -0
- package/dist/device-recovery.js.map +1 -1
- package/dist/device.d.ts +0 -3
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +5 -1
- package/dist/device.js.map +1 -1
- package/dist/edge-pass.d.ts +0 -12
- package/dist/edge-pass.d.ts.map +1 -1
- package/dist/edge-pass.js +3 -0
- package/dist/edge-pass.js.map +1 -1
- package/dist/edl-pass.d.ts +0 -21
- package/dist/edl-pass.d.ts.map +1 -1
- package/dist/edl-pass.js +23 -0
- package/dist/edl-pass.js.map +1 -1
- package/dist/frame-timing-gpu.d.ts +11 -15
- package/dist/frame-timing-gpu.d.ts.map +1 -1
- package/dist/frame-timing-gpu.js +57 -26
- package/dist/frame-timing-gpu.js.map +1 -1
- package/dist/gpu-counters.d.ts +30 -0
- package/dist/gpu-counters.d.ts.map +1 -0
- package/dist/gpu-counters.js +84 -0
- package/dist/gpu-counters.js.map +1 -0
- package/dist/gpu-static-upload.d.ts.map +1 -1
- package/dist/gpu-static-upload.js +2 -0
- package/dist/gpu-static-upload.js.map +1 -1
- package/dist/index.d.ts +33 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -60
- package/dist/index.js.map +1 -1
- package/dist/pick-rte-snapshot.d.ts +4 -0
- package/dist/pick-rte-snapshot.d.ts.map +1 -1
- package/dist/pick-rte-snapshot.js +10 -0
- package/dist/pick-rte-snapshot.js.map +1 -1
- package/dist/picker-depth-sample.d.ts +9 -0
- package/dist/picker-depth-sample.d.ts.map +1 -0
- package/dist/picker-depth-sample.js +63 -0
- package/dist/picker-depth-sample.js.map +1 -0
- package/dist/picker-readbacks.d.ts +10 -1
- package/dist/picker-readbacks.d.ts.map +1 -1
- package/dist/picker-readbacks.js +30 -1
- package/dist/picker-readbacks.js.map +1 -1
- package/dist/picker.d.ts +4 -4
- package/dist/picker.d.ts.map +1 -1
- package/dist/picker.js +77 -102
- package/dist/picker.js.map +1 -1
- package/dist/picking-manager.d.ts +5 -2
- package/dist/picking-manager.d.ts.map +1 -1
- package/dist/picking-manager.js +32 -11
- package/dist/picking-manager.js.map +1 -1
- package/dist/pipeline.d.ts +8 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +22 -0
- package/dist/pipeline.js.map +1 -1
- package/dist/pointcloud/point-cloud-keyed-chunks.d.ts +23 -0
- package/dist/pointcloud/point-cloud-keyed-chunks.d.ts.map +1 -0
- package/dist/pointcloud/point-cloud-keyed-chunks.js +44 -0
- package/dist/pointcloud/point-cloud-keyed-chunks.js.map +1 -0
- package/dist/pointcloud/point-cloud-node.d.ts +5 -1
- package/dist/pointcloud/point-cloud-node.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-node.js +8 -4
- package/dist/pointcloud/point-cloud-node.js.map +1 -1
- package/dist/pointcloud/point-cloud-placement.d.ts +6 -0
- package/dist/pointcloud/point-cloud-placement.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-placement.js +8 -0
- package/dist/pointcloud/point-cloud-placement.js.map +1 -1
- package/dist/pointcloud/point-cloud-ray-transform.d.ts +17 -8
- package/dist/pointcloud/point-cloud-ray-transform.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-ray-transform.js +17 -13
- package/dist/pointcloud/point-cloud-ray-transform.js.map +1 -1
- package/dist/pointcloud/point-cloud-renderer.d.ts +10 -8
- package/dist/pointcloud/point-cloud-renderer.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-renderer.js +20 -31
- package/dist/pointcloud/point-cloud-renderer.js.map +1 -1
- package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts +8 -1
- package/dist/pointcloud/point-cloud-stream-lifecycle.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-stream-lifecycle.js +17 -2
- package/dist/pointcloud/point-cloud-stream-lifecycle.js.map +1 -1
- package/dist/pointcloud/point-cloud-uniforms.d.ts +11 -0
- package/dist/pointcloud/point-cloud-uniforms.d.ts.map +1 -1
- package/dist/pointcloud/point-cloud-uniforms.js +8 -0
- package/dist/pointcloud/point-cloud-uniforms.js.map +1 -1
- package/dist/post-pass-chain.d.ts +2 -0
- package/dist/post-pass-chain.d.ts.map +1 -1
- package/dist/post-pass-chain.js +1 -1
- package/dist/post-pass-chain.js.map +1 -1
- package/dist/raycast-point-cloud-query.d.ts.map +1 -1
- package/dist/raycast-point-cloud-query.js +11 -1
- package/dist/raycast-point-cloud-query.js.map +1 -1
- package/dist/relative-to-eye.d.ts +3 -0
- package/dist/relative-to-eye.d.ts.map +1 -1
- package/dist/relative-to-eye.js +4 -1
- package/dist/relative-to-eye.js.map +1 -1
- package/dist/renderer-frame-timing.d.ts +21 -0
- package/dist/renderer-frame-timing.d.ts.map +1 -0
- package/dist/renderer-frame-timing.js +104 -0
- package/dist/renderer-frame-timing.js.map +1 -0
- package/dist/renderer-viewport.d.ts +13 -7
- package/dist/renderer-viewport.d.ts.map +1 -1
- package/dist/renderer-viewport.js +15 -7
- package/dist/renderer-viewport.js.map +1 -1
- package/dist/scene-batch-rebuild.d.ts +7 -0
- package/dist/scene-batch-rebuild.d.ts.map +1 -1
- package/dist/scene-batch-rebuild.js +12 -0
- package/dist/scene-batch-rebuild.js.map +1 -1
- package/dist/scene-contents.d.ts +3 -2
- package/dist/scene-contents.d.ts.map +1 -1
- package/dist/scene-flush.d.ts +43 -0
- package/dist/scene-flush.d.ts.map +1 -0
- package/dist/scene-flush.js +103 -0
- package/dist/scene-flush.js.map +1 -0
- package/dist/scene-geometry.d.ts.map +1 -1
- package/dist/scene-geometry.js +2 -0
- package/dist/scene-geometry.js.map +1 -1
- package/dist/scene.d.ts +26 -27
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +66 -109
- package/dist/scene.js.map +1 -1
- package/dist/selection-mask-pass.d.ts +2 -27
- package/dist/selection-mask-pass.d.ts.map +1 -1
- package/dist/selection-mask-pass.js +44 -39
- package/dist/selection-mask-pass.js.map +1 -1
- package/dist/selection-mask-pipelines.d.ts +3 -3
- package/dist/selection-mask-pipelines.d.ts.map +1 -1
- package/dist/selection-mask-pipelines.js +11 -8
- package/dist/selection-mask-pipelines.js.map +1 -1
- package/dist/shaders/depth-nudge.wgsl.d.ts +67 -0
- package/dist/shaders/depth-nudge.wgsl.d.ts.map +1 -0
- package/dist/shaders/depth-nudge.wgsl.js +130 -0
- package/dist/shaders/depth-nudge.wgsl.js.map +1 -0
- package/dist/shaders/ghost.wgsl.d.ts +2 -0
- package/dist/shaders/ghost.wgsl.d.ts.map +1 -0
- package/dist/shaders/ghost.wgsl.js +46 -0
- package/dist/shaders/ghost.wgsl.js.map +1 -0
- package/dist/shaders/main.wgsl.d.ts +1 -1
- package/dist/shaders/main.wgsl.d.ts.map +1 -1
- package/dist/shaders/main.wgsl.js +6 -4
- package/dist/shaders/main.wgsl.js.map +1 -1
- package/dist/shaders/section-2d-overlay.wgsl.d.ts +1 -16
- package/dist/shaders/section-2d-overlay.wgsl.d.ts.map +1 -1
- package/dist/shaders/section-2d-overlay.wgsl.js +6 -6
- package/dist/shaders/section-2d-overlay.wgsl.js.map +1 -1
- package/dist/shaders/selection-mask.wgsl.d.ts +2 -10
- package/dist/shaders/selection-mask.wgsl.d.ts.map +1 -1
- package/dist/shaders/selection-mask.wgsl.js +9 -42
- package/dist/shaders/selection-mask.wgsl.js.map +1 -1
- package/dist/shaders/symbolic-overlay.wgsl.d.ts +1 -1
- package/dist/shaders/symbolic-overlay.wgsl.d.ts.map +1 -1
- package/dist/shaders/symbolic-overlay.wgsl.js +5 -4
- package/dist/shaders/symbolic-overlay.wgsl.js.map +1 -1
- package/dist/shadow-pass.d.ts +0 -19
- package/dist/shadow-pass.d.ts.map +1 -1
- package/dist/shadow-pass.js +19 -0
- package/dist/shadow-pass.js.map +1 -1
- package/dist/test/frame-timing-device.d.ts +17 -0
- package/dist/test/frame-timing-device.d.ts.map +1 -0
- package/dist/test/frame-timing-device.js +70 -0
- package/dist/test/frame-timing-device.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/xray-alpha.d.ts +8 -0
- package/dist/xray-alpha.d.ts.map +1 -1
- package/dist/xray-alpha.js +23 -0
- package/dist/xray-alpha.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-recovery.d.ts","sourceRoot":"","sources":["../src/device-recovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device-recovery.d.ts","sourceRoot":"","sources":["../src/device-recovery.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAChH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,4EAA4E;AAC5E,MAAM,MAAM,2BAA2B,GACnC,UAAU,GACV,uBAAuB,GACvB,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,oBAAoB,GACpB,sBAAsB,GACtB,oBAAoB,CAAC;AAEzB,qDAAqD;AACrD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAA;CAAE,GAC1D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,2BAA2B,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAExE,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE;QAAE,iBAAiB,IAAI,sBAAsB,EAAE,CAAA;KAAE,CAAC;IAC5D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC;IAC/F,QAAQ,EAAE;QACR,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;QAC/C,mBAAmB,EAAE,OAAO,CAAC;QAC7B,yBAAyB,EAAE,OAAO,CAAC;QACnC,SAAS,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACvC,yFAAyF;QACzF,iBAAiB,EAAE,QAAQ,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC;KACrE,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3D,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,sBAAsB,IAAI,IAAI,CAAC;IAC/B,aAAa,IAAI,IAAI,CAAC;CACvB;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,IAAI,KAAK,CAI/C;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoB/F"}
|
package/dist/device-recovery.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
import { perfCount } from '@ifc-lite/load-trace';
|
|
4
5
|
import { WebGPUDevice } from './device.js';
|
|
5
6
|
/** Internal stable error used by readiness and recovery. */
|
|
6
7
|
export function rendererDeviceLostError() {
|
|
@@ -67,6 +68,10 @@ async function recoverRendererDeviceOnce(host, generation) {
|
|
|
67
68
|
host.scene.discardGpuResourcesForRecovery();
|
|
68
69
|
host.teardown(false);
|
|
69
70
|
host.device = new WebGPUDevice();
|
|
71
|
+
// #6993: the re-upload path, counted where it happens. Recovery builds a
|
|
72
|
+
// new WebGPUDevice wrapper, so no per-wrapper or session device count can
|
|
73
|
+
// tell it from a second live renderer. No-op unless ?perfTrace=1.
|
|
74
|
+
perfCount('gpu.deviceReplacements');
|
|
70
75
|
phase = 'device';
|
|
71
76
|
await host.initOnce(generation, { clearDeviceLost: false, publishReady: false });
|
|
72
77
|
if (pointCloudOptions)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-recovery.js","sourceRoot":"","sources":["../src/device-recovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"device-recovery.js","sourceRoot":"","sources":["../src/device-recovery.ts"],"names":[],"mappings":"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"}
|
package/dist/device.d.ts
CHANGED
package/dist/device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,UAAU,CAAa;IAC/B,4DAA4D;IAC5D,qBAAqB,EAAE,MAAM,CAAK;IAClC,oBAAoB,EAAE,MAAM,CAAM;IAElC;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB,CAAsE;IAC/F,4EAA4E;IAC5E,OAAO,CAAC,eAAe,CAAkB;IACzC,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAa;IACnC,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB,CAAoC;IAE/D;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4KpD;;;OAGG;IACH,gBAAgB,IAAI,IAAI;IAoBxB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAM3B;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;OAGG;IACH,aAAa,IAAI,OAAO;IAWxB;;;OAGG;IACH,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAgBtC,SAAS,IAAI,SAAS;IAOtB;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI;IAIhF;;;;OAIG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;;;;OAMG;IACH,cAAc,IAAI,mBAAmB,GAAG,IAAI;IAI5C;;;;;;;;;OASG;IACH,wBAAwB,IAAI,OAAO;IAInC,UAAU,IAAI,gBAAgB;IAO9B,SAAS,IAAI,gBAAgB;IAI7B,aAAa,IAAI,OAAO;IAIxB;;;;;;;;OAQG;IACH,OAAO,IAAI,IAAI;CAoBhB"}
|
package/dist/device.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* WebGPU device initialization
|
|
6
|
+
*/
|
|
7
|
+
import { meterGpuDevice } from './gpu-counters.js';
|
|
4
8
|
export class WebGPUDevice {
|
|
5
9
|
adapter = null;
|
|
6
10
|
device = null;
|
|
@@ -150,7 +154,7 @@ export class WebGPUDevice {
|
|
|
150
154
|
'a large model may exceed the default maxBufferSize and fail to render.');
|
|
151
155
|
device = await this.adapter.requestDevice();
|
|
152
156
|
}
|
|
153
|
-
this.device = device;
|
|
157
|
+
this.device = meterGpuDevice(device, this); // #6957/#6993 counters, per-wrapper loss lifetime (identity unless ?perfTrace=1)
|
|
154
158
|
this.format = navigator.gpu.getPreferredCanvasFormat();
|
|
155
159
|
this.canvas = canvas;
|
|
156
160
|
this.context = canvas.getContext('webgpu');
|
package/dist/device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
|
package/dist/edge-pass.d.ts
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Edge pass (#5385): the GPU side of `shaders/edges.wgsl.ts`. One fullscreen
|
|
3
|
-
* pass reads the scene depth and object-id attachments after the main pass
|
|
4
|
-
* and darkens the resolved colour along entity boundaries, normal creases
|
|
5
|
-
* and depth silhouettes, in the same darken-blend style as ambient
|
|
6
|
-
* occlusion and the eye-dome-lighting pass (`dst * (1 - srcAlpha)`).
|
|
7
|
-
*
|
|
8
|
-
* Replaces `post-processor.ts`'s separation-line pass (#5384 superseded its
|
|
9
|
-
* ambient-occlusion half already; this PR removes the rest). No offscreen
|
|
10
|
-
* targets: unlike AO it needs no resolution split or blur, so it draws
|
|
11
|
-
* straight onto the resolved canvas.
|
|
12
|
-
*/
|
|
13
1
|
import { type EdgeFrameParams } from './edge-params.js';
|
|
14
2
|
import { type OutlineFrameParams } from './outline-params.js';
|
|
15
3
|
import type { SelectionMaskViews } from './selection-mask-pass.js';
|
package/dist/edge-pass.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-pass.d.ts","sourceRoot":"","sources":["../src/edge-pass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edge-pass.d.ts","sourceRoot":"","sources":["../src/edge-pass.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAsB,KAAK,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAyB,KAAK,kBAAkB,EAAuB,MAAM,qBAAqB,CAAC;AAC1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,sDAAsD;IACtD,UAAU,EAAE,cAAc,CAAC;IAC3B,qDAAqD;IACrD,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,cAAc,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+C;IACrF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM;IAoFjF,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAkClC,wEAAwE;IACxE,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IA6B5C,8EAA8E;IAC9E,OAAO,IAAI,IAAI;CAWhB"}
|
package/dist/edge-pass.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* targets: unlike AO it needs no resolution split or blur, so it draws
|
|
14
14
|
* straight onto the resolved canvas.
|
|
15
15
|
*/
|
|
16
|
+
import { renderPassTimestampWrites } from './renderer-frame-timing.js';
|
|
16
17
|
import { EDGE_UNIFORM_BYTES, packEdgeUniforms } from './edge-params.js';
|
|
17
18
|
import { OUTLINE_UNIFORM_BYTES, packOutlineUniforms } from './outline-params.js';
|
|
18
19
|
import { edgeShaderSource, outlineFragmentSource } from './shaders/edges.wgsl.js';
|
|
@@ -133,6 +134,7 @@ export class EdgePass {
|
|
|
133
134
|
this.cachedObjectIdView = frame.objectIdView;
|
|
134
135
|
}
|
|
135
136
|
const pass = frame.encoder.beginRenderPass({
|
|
137
|
+
timestampWrites: renderPassTimestampWrites(frame.encoder, 'edges'),
|
|
136
138
|
label: 'edges',
|
|
137
139
|
colorAttachments: [{ view: frame.targetView, loadOp: 'load', storeOp: 'store' }],
|
|
138
140
|
});
|
|
@@ -160,6 +162,7 @@ export class EdgePass {
|
|
|
160
162
|
this.cachedMask = frame.mask;
|
|
161
163
|
}
|
|
162
164
|
const pass = frame.encoder.beginRenderPass({
|
|
165
|
+
timestampWrites: renderPassTimestampWrites(frame.encoder, 'selection-outline'),
|
|
163
166
|
label: 'selection-hover-outline',
|
|
164
167
|
colorAttachments: [{ view: frame.targetView, loadOp: 'load', storeOp: 'store' }],
|
|
165
168
|
});
|
package/dist/edge-pass.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-pass.js","sourceRoot":"","sources":["../src/edge-pass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"edge-pass.js","sourceRoot":"","sources":["../src/edge-pass.ts"],"names":[],"mappings":"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"}
|
package/dist/edl-pass.d.ts
CHANGED
|
@@ -1,24 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Eye-Dome Lighting (EDL) post-pass.
|
|
3
|
-
*
|
|
4
|
-
* Standard Potree-style screen-space depth shading: for each pixel, sample
|
|
5
|
-
* a few neighbouring depths at radius R, compute the mean log-depth-diff,
|
|
6
|
-
* and darken proportionally. The result is a soft black halo at silhouettes
|
|
7
|
-
* and gives un-normaled point clouds (and triangle meshes) a strong sense
|
|
8
|
-
* of depth without needing geometric normals.
|
|
9
|
-
*
|
|
10
|
-
* Costs ~9 texture taps per pixel (1 centre + 8 neighbours) at the high
|
|
11
|
-
* quality setting, ~5 at low. Cheap on any modern GPU.
|
|
12
|
-
*
|
|
13
|
-
* Render order: this should run AFTER the existing PostProcessor (which
|
|
14
|
-
* does contact / separation shading) so EDL also darkens those overlays.
|
|
15
|
-
*
|
|
16
|
-
* Reverse-Z note: the main pipeline uses depthCompare 'greater' with
|
|
17
|
-
* clearValue 0.0. So depth=1 → near plane, depth=0 → far plane. A bigger
|
|
18
|
-
* neighbour depth means the neighbour is closer; a smaller neighbour depth
|
|
19
|
-
* means it's further. We darken pixels whose neighbours are further away —
|
|
20
|
-
* i.e. silhouette edges — by clamping `max(0, log(centre) - log(neighbour))`.
|
|
21
|
-
*/
|
|
22
1
|
import { WebGPUDevice } from './device.js';
|
|
23
2
|
export interface EdlPassOptions {
|
|
24
3
|
/** Multiplier on the final darken alpha. 0..3, default 1. */
|
package/dist/edl-pass.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edl-pass.d.ts","sourceRoot":"","sources":["../src/edl-pass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edl-pass.d.ts","sourceRoot":"","sources":["../src/edl-pass.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,UAAU,EAAE,cAAc,CAAC;IAC3B,+EAA+E;IAC/E,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM;IA4JrD,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI;IAgCpG,OAAO,IAAI,IAAI;CAOhB"}
|
package/dist/edl-pass.js
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* Eye-Dome Lighting (EDL) post-pass.
|
|
6
|
+
*
|
|
7
|
+
* Standard Potree-style screen-space depth shading: for each pixel, sample
|
|
8
|
+
* a few neighbouring depths at radius R, compute the mean log-depth-diff,
|
|
9
|
+
* and darken proportionally. The result is a soft black halo at silhouettes
|
|
10
|
+
* and gives un-normaled point clouds (and triangle meshes) a strong sense
|
|
11
|
+
* of depth without needing geometric normals.
|
|
12
|
+
*
|
|
13
|
+
* Costs ~9 texture taps per pixel (1 centre + 8 neighbours) at the high
|
|
14
|
+
* quality setting, ~5 at low. Cheap on any modern GPU.
|
|
15
|
+
*
|
|
16
|
+
* Render order: this should run AFTER the existing PostProcessor (which
|
|
17
|
+
* does contact / separation shading) so EDL also darkens those overlays.
|
|
18
|
+
*
|
|
19
|
+
* Reverse-Z note: the main pipeline uses depthCompare 'greater' with
|
|
20
|
+
* clearValue 0.0. So depth=1 → near plane, depth=0 → far plane. A bigger
|
|
21
|
+
* neighbour depth means the neighbour is closer; a smaller neighbour depth
|
|
22
|
+
* means it's further. We darken pixels whose neighbours are further away —
|
|
23
|
+
* i.e. silhouette edges — by clamping `max(0, log(centre) - log(neighbour))`.
|
|
24
|
+
*/
|
|
25
|
+
import { renderPassTimestampWrites } from './renderer-frame-timing.js';
|
|
4
26
|
export class EdlPass {
|
|
5
27
|
device;
|
|
6
28
|
colorFormat;
|
|
@@ -181,6 +203,7 @@ fn fs_main(@builtin(position) fragPos: vec4<f32>) -> @location(0) vec4<f32> {
|
|
|
181
203
|
this.uniformStaging[3] = 0;
|
|
182
204
|
this.device.queue.writeBuffer(this.uniformBuffer, 0, this.uniformStaging);
|
|
183
205
|
const pass = encoder.beginRenderPass({
|
|
206
|
+
timestampWrites: renderPassTimestampWrites(encoder, 'eye-dome-lighting'),
|
|
184
207
|
colorAttachments: [{
|
|
185
208
|
view: opts.targetView,
|
|
186
209
|
loadOp: 'load',
|
package/dist/edl-pass.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edl-pass.js","sourceRoot":"","sources":["../src/edl-pass.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"edl-pass.js","sourceRoot":"","sources":["../src/edl-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,11 @@
|
|
|
5
5
|
* fully covered by synthetic-value tests. This file is deliberately as small
|
|
6
6
|
* as it can be: it only creates the `GPUQuerySet`, writes `timestampWrites`
|
|
7
7
|
* into pass descriptors, resolves the query set into a readback buffer, and
|
|
8
|
-
* hands
|
|
9
|
-
*
|
|
10
|
-
* for this module — a mock `GPUDevice` would only prove the mock is
|
|
11
|
-
* internally consistent, not that the real WebGPU calls are correct) and
|
|
12
|
-
* none of it should be trusted without exercising it on a real
|
|
13
|
-
* `'timestamp-query'`-capable adapter.
|
|
8
|
+
* hands raw nanosecond pairs to the aggregator. GPU calls require an actual
|
|
9
|
+
* timestamp-query-capable adapter for qualification (#6975).
|
|
14
10
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
11
|
+
* Opt-in: the renderer attaches one bounded recorder while its timing flag
|
|
12
|
+
* is enabled. Direct consumers can also record explicitly:
|
|
17
13
|
*
|
|
18
14
|
* ```ts
|
|
19
15
|
* const recorder = GpuFrameTimingRecorder.create(device); // null if unsupported
|
|
@@ -96,11 +92,9 @@ export declare function pairTimestampsWithLabels(labels: readonly string[], time
|
|
|
96
92
|
/**
|
|
97
93
|
* Records GPU timestamp queries for the passes of one frame and resolves
|
|
98
94
|
* them into `PassTimingSample[]` (nanosecond pairs; see `frame-timing.ts`
|
|
99
|
-
* for
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* lifetime unambiguous rather than trying to make it silently reusable
|
|
103
|
-
* across frames while a previous frame's readback might still be pending.
|
|
95
|
+
* for aggregation). One fixed query set and two buffers are reused only after
|
|
96
|
+
* the previous map settles. `beginFrame()` returns false while they are leased.
|
|
97
|
+
* Destroying cancels pending mapping; callers must handle readback rejection.
|
|
104
98
|
*/
|
|
105
99
|
export declare class GpuFrameTimingRecorder {
|
|
106
100
|
private readonly maxPasses;
|
|
@@ -110,6 +104,8 @@ export declare class GpuFrameTimingRecorder {
|
|
|
110
104
|
private labels;
|
|
111
105
|
private nextQueryIndex;
|
|
112
106
|
private resolved;
|
|
107
|
+
private reading;
|
|
108
|
+
private destroyed;
|
|
113
109
|
private constructor();
|
|
114
110
|
/**
|
|
115
111
|
* Returns a recorder, or `null` if the device's adapter did not advertise
|
|
@@ -136,8 +132,8 @@ export declare class GpuFrameTimingRecorder {
|
|
|
136
132
|
* touches the buffer.
|
|
137
133
|
*/
|
|
138
134
|
readback(): Promise<PassTimingSample[] | null>;
|
|
139
|
-
/**
|
|
140
|
-
beginFrame():
|
|
135
|
+
/** False while a prior frame owns the buffers; callers skip sampling that frame. */
|
|
136
|
+
beginFrame(): boolean;
|
|
141
137
|
/** Releases the GPU query set and buffers. Call when timing is turned off. */
|
|
142
138
|
destroy(): void;
|
|
143
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-timing-gpu.d.ts","sourceRoot":"","sources":["../src/frame-timing-gpu.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"frame-timing-gpu.d.ts","sourceRoot":"","sources":["../src/frame-timing-gpu.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,iNAAiN;AACjN,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE7G;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB;IAAE,yBAAyB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOnG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,GAAG,gBAAgB,EAAE,CAOjH;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO;IAOP;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,SAAI,GAAG,sBAAsB,GAAG,IAAI;IA6B9E;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,4BAA4B,GAAG,IAAI;IAa7D,iJAAiJ;IACjJ,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAO1C;;;;;;;OAOG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAiBpD,oFAAoF;IACpF,UAAU,IAAI,OAAO;IAOrB,8EAA8E;IAC9E,OAAO,IAAI,IAAI;CAQhB"}
|
package/dist/frame-timing-gpu.js
CHANGED
|
@@ -75,11 +75,9 @@ export function pairTimestampsWithLabels(labels, timestamps) {
|
|
|
75
75
|
/**
|
|
76
76
|
* Records GPU timestamp queries for the passes of one frame and resolves
|
|
77
77
|
* them into `PassTimingSample[]` (nanosecond pairs; see `frame-timing.ts`
|
|
78
|
-
* for
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* lifetime unambiguous rather than trying to make it silently reusable
|
|
82
|
-
* across frames while a previous frame's readback might still be pending.
|
|
78
|
+
* for aggregation). One fixed query set and two buffers are reused only after
|
|
79
|
+
* the previous map settles. `beginFrame()` returns false while they are leased.
|
|
80
|
+
* Destroying cancels pending mapping; callers must handle readback rejection.
|
|
83
81
|
*/
|
|
84
82
|
export class GpuFrameTimingRecorder {
|
|
85
83
|
maxPasses;
|
|
@@ -89,6 +87,8 @@ export class GpuFrameTimingRecorder {
|
|
|
89
87
|
labels = [];
|
|
90
88
|
nextQueryIndex = 0;
|
|
91
89
|
resolved = false;
|
|
90
|
+
reading = false;
|
|
91
|
+
destroyed = false;
|
|
92
92
|
constructor(maxPasses, querySet, resolveBuffer, readbackBuffer) {
|
|
93
93
|
this.maxPasses = maxPasses;
|
|
94
94
|
this.querySet = querySet;
|
|
@@ -102,20 +102,33 @@ export class GpuFrameTimingRecorder {
|
|
|
102
102
|
* `frame-timing.ts`) or skip measurement, never throw.
|
|
103
103
|
*/
|
|
104
104
|
static create(device, maxPasses = 8) {
|
|
105
|
+
if (!Number.isInteger(maxPasses) || maxPasses < 1 || maxPasses > 2048) {
|
|
106
|
+
throw new RangeError('maxPasses must be an integer from 1 to 2048');
|
|
107
|
+
}
|
|
105
108
|
if (!hasTimestampQueryFeature(device.features))
|
|
106
109
|
return null;
|
|
107
110
|
const querySet = device.createQuerySet({ type: 'timestamp', count: maxPasses * 2, label: 'frame-timing-queries' });
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
111
|
+
let resolveBuffer = null;
|
|
112
|
+
let readbackBuffer = null;
|
|
113
|
+
try {
|
|
114
|
+
resolveBuffer = device.createBuffer({
|
|
115
|
+
size: queryBufferSizeBytes(maxPasses),
|
|
116
|
+
usage: GPUBufferUsage.QUERY_RESOLVE | GPUBufferUsage.COPY_SRC,
|
|
117
|
+
label: 'frame-timing-resolve',
|
|
118
|
+
});
|
|
119
|
+
readbackBuffer = device.createBuffer({
|
|
120
|
+
size: queryBufferSizeBytes(maxPasses),
|
|
121
|
+
usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
|
|
122
|
+
label: 'frame-timing-readback',
|
|
123
|
+
});
|
|
124
|
+
return new GpuFrameTimingRecorder(maxPasses, querySet, resolveBuffer, readbackBuffer);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
readbackBuffer?.destroy();
|
|
128
|
+
resolveBuffer?.destroy();
|
|
129
|
+
querySet.destroy();
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
119
132
|
}
|
|
120
133
|
/**
|
|
121
134
|
* Returns the `timestampWrites` object for the next pass, labelled
|
|
@@ -124,6 +137,8 @@ export class GpuFrameTimingRecorder {
|
|
|
124
137
|
* that hits this should raise `maxPasses` at construction, not retry.
|
|
125
138
|
*/
|
|
126
139
|
beginPass(label) {
|
|
140
|
+
if (this.destroyed || this.reading || this.resolved)
|
|
141
|
+
return null;
|
|
127
142
|
const allocation = allocatePassQueryIndices(this.nextQueryIndex, this.maxPasses);
|
|
128
143
|
if (allocation === null)
|
|
129
144
|
return null;
|
|
@@ -137,8 +152,8 @@ export class GpuFrameTimingRecorder {
|
|
|
137
152
|
}
|
|
138
153
|
/** Resolves every query written this frame into the readback buffer. Call once, after every pass has been `.end()`-ed, before `queue.submit`. */
|
|
139
154
|
endFrame(encoder) {
|
|
140
|
-
if (this.nextQueryIndex === 0)
|
|
141
|
-
return;
|
|
155
|
+
if (this.destroyed || this.reading || this.resolved || this.nextQueryIndex === 0)
|
|
156
|
+
return;
|
|
142
157
|
encoder.resolveQuerySet(this.querySet, 0, this.nextQueryIndex, this.resolveBuffer, 0);
|
|
143
158
|
encoder.copyBufferToBuffer(this.resolveBuffer, 0, this.readbackBuffer, 0, this.nextQueryIndex * BYTES_PER_TIMESTAMP);
|
|
144
159
|
this.resolved = true;
|
|
@@ -152,22 +167,38 @@ export class GpuFrameTimingRecorder {
|
|
|
152
167
|
* touches the buffer.
|
|
153
168
|
*/
|
|
154
169
|
async readback() {
|
|
155
|
-
if (!this.resolved)
|
|
170
|
+
if (this.destroyed || this.reading || !this.resolved)
|
|
156
171
|
return null;
|
|
157
|
-
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
172
|
+
this.reading = true;
|
|
173
|
+
const labels = [...this.labels];
|
|
174
|
+
const bytes = this.nextQueryIndex * BYTES_PER_TIMESTAMP;
|
|
175
|
+
try {
|
|
176
|
+
await this.readbackBuffer.mapAsync(GPUMapMode.READ, 0, bytes);
|
|
177
|
+
if (this.destroyed)
|
|
178
|
+
return null;
|
|
179
|
+
const raw = this.readbackBuffer.getMappedRange(0, bytes);
|
|
180
|
+
return pairTimestampsWithLabels(labels, new BigInt64Array(raw.slice(0)));
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
this.readbackBuffer.unmap();
|
|
184
|
+
this.reading = false;
|
|
185
|
+
this.resolved = false;
|
|
186
|
+
}
|
|
162
187
|
}
|
|
163
|
-
/**
|
|
188
|
+
/** False while a prior frame owns the buffers; callers skip sampling that frame. */
|
|
164
189
|
beginFrame() {
|
|
190
|
+
if (this.destroyed || this.reading || this.resolved)
|
|
191
|
+
return false;
|
|
165
192
|
this.labels = [];
|
|
166
193
|
this.nextQueryIndex = 0;
|
|
167
|
-
|
|
194
|
+
return true;
|
|
168
195
|
}
|
|
169
196
|
/** Releases the GPU query set and buffers. Call when timing is turned off. */
|
|
170
197
|
destroy() {
|
|
198
|
+
if (this.destroyed)
|
|
199
|
+
return;
|
|
200
|
+
this.destroyed = true;
|
|
201
|
+
this.readbackBuffer.unmap();
|
|
171
202
|
this.querySet.destroy();
|
|
172
203
|
this.resolveBuffer.destroy();
|
|
173
204
|
this.readbackBuffer.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-timing-gpu.js","sourceRoot":"","sources":["../src/frame-timing-gpu.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"frame-timing-gpu.js","sourceRoot":"","sources":["../src/frame-timing-gpu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GPU upload counters (#6957), installed once on the device so every
|
|
3
|
+
* `createBuffer` / `queue.writeBuffer` in the renderer is counted without
|
|
4
|
+
* touching its call sites:
|
|
5
|
+
*
|
|
6
|
+
* gpu.buffers buffers created
|
|
7
|
+
* gpu.bufferBytes their total size
|
|
8
|
+
* gpu.mappedUploadBytes bytes of buffers created `mappedAtCreation` (filled on the CPU)
|
|
9
|
+
* gpu.writeBytes `writeBuffer` bytes into non-uniform buffers (geometry, ids, ...)
|
|
10
|
+
* gpu.uniformWriteBytes `writeBuffer` bytes into uniform buffers; per frame, so
|
|
11
|
+
* timing-dependent, kept apart from the structural counts
|
|
12
|
+
*
|
|
13
|
+
* and the device's health (#6993), so a benchmark sample can tell a load that
|
|
14
|
+
* lost its device (and re-uploaded everything onto a replacement) from a
|
|
15
|
+
* clean one instead of averaging the two:
|
|
16
|
+
*
|
|
17
|
+
* gpu.devices devices metered, across every live renderer
|
|
18
|
+
* gpu.deviceReplacements counted by `device-recovery.ts`: a renderer rebuilding
|
|
19
|
+
* itself on a replacement device after a loss, which
|
|
20
|
+
* re-uploads its scene (two live renderers are not one)
|
|
21
|
+
* gpu.deviceLost `device.lost` settled for any reason but `destroyed`
|
|
22
|
+
* gpu.uncapturedErrors `uncapturederror` events (validation / out-of-memory)
|
|
23
|
+
*
|
|
24
|
+
* `owner` is whoever replaces the device on recovery (the `WebGPUDevice`
|
|
25
|
+
* wrapper): a late loss of a device its owner has since replaced is ignored.
|
|
26
|
+
*
|
|
27
|
+
* Counters off: returns the device untouched.
|
|
28
|
+
*/
|
|
29
|
+
export declare function meterGpuDevice(device: GPUDevice, owner?: object): GPUDevice;
|
|
30
|
+
//# sourceMappingURL=gpu-counters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu-counters.d.ts","sourceRoot":"","sources":["../src/gpu-counters.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,GAAE,MAAe,GAAG,SAAS,CAoBnF"}
|