mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-03 02:25:34 +00:00
0b303e481f
The WebGPU tests are actually failing silently on Ubuntu 18.04 and Windows 7. This is because we catch the exception thrown in the async function wrapping the test and then discard it at the end. Now if we catch any errors, we fail the test, which requires us to mark these tests as failing on some platforms. Differential Revision: https://phabricator.services.mozilla.com/D141793
34 lines
1.2 KiB
HTML
34 lines
1.2 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
|
|
</head>
|
|
<body>
|
|
<script>
|
|
|
|
ok(SpecialPowers.getBoolPref('dom.webgpu.enabled'), 'Pref should be enabled.');
|
|
|
|
const func = async function() {
|
|
const adapter = await navigator.gpu.requestAdapter();
|
|
const device = await adapter.requestDevice();
|
|
const buffer = device.createBuffer({size:16, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC | GPUBufferUsage.VERTEX});
|
|
const arrayBuf = new ArrayBuffer(16);
|
|
(new Int32Array(arrayBuf)).fill(5)
|
|
device.queue.writeBuffer(buffer, 0, arrayBuf, 0);
|
|
const texture = device.createTexture({size: [2,2,1], dimension: "2d", format: "rgba8unorm", usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.COPY_SRC });
|
|
device.queue.writeTexture({ texture }, arrayBuf, { bytesPerRow:8 }, [2,2,1]);
|
|
// this isn't a process check, we need to read back the contents and verify the writes happened
|
|
ok(device !== undefined, '');
|
|
};
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
func()
|
|
.catch((e) => ok(false, "Unhandled exception " + e))
|
|
.finally(() => SimpleTest.finish());
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|