fix: align local WebGPU capture behavior (#2907)

* fix: align local WebGPU capture behavior

* fix: address WebGPU capture review feedback

* fix: retain overlapping GPU seek work

* fix: satisfy runtime seek completion types

* fix: drain concurrent GPU seek work

* fix: prevent WebGPU capture barrier starvation

* fix: keep WebGPU presentation active during render seeks
This commit is contained in:
James Russo
2026-07-30 21:52:30 -07:00
committed by GitHub
parent 1d636f603c
commit 3a6b7f0612
34 changed files with 1208 additions and 137 deletions
+8 -1
View File
@@ -17,7 +17,7 @@ import {
patchVideoTextureCompat,
patchWebGLVideoTextureCompat,
} from "./adapters/video-texture-compat";
import { forceDispatchSeekEvent } from "./adapters/seek-dispatch";
import { forceDispatchSeekEvent, waitForSeekCompletion } from "./adapters/seek-dispatch";
import { createWaapiAdapter } from "./adapters/waapi";
import {
readElementPlaybackRate,
@@ -2412,6 +2412,7 @@ export function initSandboxRuntimeModular(): void {
activateChildren: true,
suppressEvents: options?.suppressEvents,
});
runAdapters("pause");
syncMediaForCurrentState();
colorGrading.redraw();
postState(true);
@@ -2514,6 +2515,12 @@ export function initSandboxRuntimeModular(): void {
window.__hfTypegpuTime = t;
forceDispatchSeekEvent(t);
};
window.__hfWaitForSeekCompletion = waitForSeekCompletion;
runtimeCleanupCallbacks.push(() => {
if (window.__hfWaitForSeekCompletion === waitForSeekCompletion) {
delete window.__hfWaitForSeekCompletion;
}
});
installRuntimeErrorDiagnostics();
bindMediaMetadataListeners();
runAdapters("discover");