-
Notifications
You must be signed in to change notification settings - Fork 329
Description
Everything in WebGPU essentially starts with a validation check that the device is still alive. But conformance testing this is impossible in the current spec, because popErrorScope() is supposed to reject after device loss.
We can write tests that do stuff after device loss, but we can't check the validation result. So we can detect browser crashes, but we can't reliably check that the browser actually did the validation.
So should we allow popErrorScope to resolve after device loss? It means (1) keeping the error scope stack state alive and (2) exposing the device liveness validation into the scope (currently doesn't have to be exposed at all). We can still disallow or ignore pushErrorScope, so once all scopes are popped we can stop tracking that stuff.
The alternative is to just rely on the browser to crash (and on fuzzing/ASAN/etc.) to catch issues.
cc @lokokung