diff options
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/reftests/gpu_ref_test.ts')
-rw-r--r-- | dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/reftests/gpu_ref_test.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/reftests/gpu_ref_test.ts b/dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/reftests/gpu_ref_test.ts new file mode 100644 index 0000000000..3b1350b5d9 --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/src/webgpu/web_platform/reftests/gpu_ref_test.ts @@ -0,0 +1,26 @@ +import { assert } from '../../../common/util/util.js'; +import { takeScreenshotDelayed } from '../../../common/util/wpt_reftest_wait.js'; + +interface GPURefTest { + readonly device: GPUDevice; + readonly queue: GPUQueue; +} + +export function runRefTest(fn: (t: GPURefTest) => Promise<void>): void { + void (async () => { + assert( + typeof navigator !== 'undefined' && navigator.gpu !== undefined, + 'No WebGPU implementation found' + ); + + const adapter = await navigator.gpu.requestAdapter(); + assert(adapter !== null); + const device = await adapter.requestDevice(); + assert(device !== null); + const queue = device.queue; + + await fn({ device, queue }); + + takeScreenshotDelayed(50); + })(); +} |