diff options
Diffstat (limited to 'dom/webgpu/mochitest/test_queue_write.html')
-rw-r--r-- | dom/webgpu/mochitest/test_queue_write.html | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/dom/webgpu/mochitest/test_queue_write.html b/dom/webgpu/mochitest/test_queue_write.html new file mode 100644 index 0000000000..527cdf580f --- /dev/null +++ b/dom/webgpu/mochitest/test_queue_write.html @@ -0,0 +1,31 @@ +<!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.defaultQueue.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.defaultQueue.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().finally(() => SimpleTest.finish()); + +</script> +</body> +</html> |