mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 12:54:29 +00:00
When `browserGpuMode === "software"`, set `forceScreenshot = true` in `resolveConfig`. Explicit opt-outs (`PRODUCER_FORCE_SCREENSHOT=false` or `overrides.forceScreenshot === false`) are honored. This is defense-in-depth on top of the existing platform gates: 1. Linux + software (SwiftShader host) skips BeginFrame, avoiding the compositor stall on shader-heavy frames under CPU raster (same motivation as the closed PR #822). 2. `renderOrchestrator`'s reported `captureMode` field is derived from `cfg.forceScreenshot ? "screenshot" : "beginframe"` — without this clamp it misreports `"beginframe"` for the actual screenshot capture on darwin + software. 3. Any new BeginFrame or drawElement entry point that forgets to gate on GPU mode still routes to screenshot here. Does NOT fix SwiftShader-on-darwin text-rasterization artifacts (an ANGLE-SwiftShader issue on macOS text — the fix there is to use `--browser-gpu`, which routes to `--use-angle=metal`).