forked from mirrors/gecko-dev
This makes sure we never create an invalid (zero) ID after incorrect usage of a command encoder. It also simplifies the code. The JS object should not do any validaion (per spec) and simply forward the commands to the parent process where all of the validation is done. Differential Revision: https://phabricator.services.mozilla.com/D192839
36 lines
1 KiB
HTML
36 lines
1 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 encoder = device.createCommandEncoder();
|
|
|
|
const command_buffer = encoder.finish();
|
|
ok(command_buffer !== undefined, "command_buffer !== undefined");
|
|
|
|
const invalid_command_buffer = encoder.finish();
|
|
ok(
|
|
invalid_command_buffer !== undefined,
|
|
"invalid_command_buffer !== undefined"
|
|
);
|
|
};
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
func()
|
|
.catch(e => ok(false, "Unhandled exception " + e))
|
|
.finally(() => SimpleTest.finish());
|
|
</script>
|
|
</body>
|
|
</html>
|