mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 08:42:13 +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
54 lines
1.4 KiB
HTML
54 lines
1.4 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 swapChainFormat = "rgba8unorm";
|
|
const bundleEncoder = device.createRenderBundleEncoder({
|
|
colorFormats: [swapChainFormat],
|
|
});
|
|
const bundle = bundleEncoder.finish({});
|
|
|
|
const texture = device.createTexture({
|
|
size: { width: 100, height: 100, depth: 1 },
|
|
format: swapChainFormat,
|
|
usage: GPUTextureUsage.RENDER_ATTACHMENT,
|
|
});
|
|
const view = texture.createView();
|
|
|
|
const encoder = device.createCommandEncoder();
|
|
const pass = encoder.beginRenderPass({
|
|
colorAttachments: [{
|
|
view,
|
|
loadValue: { r: 0, g: 0, b: 0, a: 0 },
|
|
storeOp: "store",
|
|
}],
|
|
});
|
|
pass.executeBundles([bundle]);
|
|
pass.endPass();
|
|
const command_buffer = encoder.finish();
|
|
|
|
device.queue.submit([command_buffer]);
|
|
ok(command_buffer !== undefined, 'command_buffer !== undefined');
|
|
};
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
func()
|
|
.catch((e) => ok(false, "Unhandled exception " + e))
|
|
.finally(() => SimpleTest.finish());
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|