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
+9 -1
View File
@@ -418,12 +418,20 @@ async function validateInBrowser(
const browser = await ensureBrowser();
const puppeteer = await import("puppeteer-core");
const { buildChromeArgs, analyzeClipMediaFit } = await import("@hyperframes/engine");
const requestedGpuMode = resolveCliChromeGpuMode();
const { assertWebGpuRequirement, resolveCaptureBrowserGpuMode } =
await import("../browser/gpuPolicy.js");
const resolvedGpuMode = await resolveCaptureBrowserGpuMode(
requestedGpuMode,
browser.executablePath,
);
assertWebGpuRequirement(html, requestedGpuMode, resolvedGpuMode);
const chromeBrowser = await puppeteer.default.launch({
headless: true,
executablePath: browser.executablePath,
args: buildChromeArgs(
{ ...viewport, captureMode: "screenshot" },
{ browserGpuMode: resolveCliChromeGpuMode() },
{ browserGpuMode: resolvedGpuMode },
),
});