mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 05:11:16 +00:00
2a53076d43
Differential Revision: https://phabricator.services.mozilla.com/D177938
51 lines
1.5 KiB
HTML
51 lines
1.5 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>
|