Source/WebCore:
[WebKit-https.git] / LayoutTests / webgpu / buffers.html
1 <!DOCTYPE html><!-- webkit-test-runner [ experimental:WebGPUEnabled=true ] -->
2 <meta charset=utf-8>
3 <title>Get the WebGPUDevice, create a WebGPUBuffer, and write vertex data to it.</title>
4 <body>
5 <script src="../resources/testharness.js"></script>
6 <script src="../resources/testharnessreport.js"></script>
7 <script src="../resources/js-test-pre.js"></script>
8 <script src="js/basic-webgpu-functions.js"></script>
9 <script>
10 function createBuffer() {
11     const buffer = defaultDevice.createBuffer({ size: 16, usage: WebGPUBufferUsage.MAP_WRITE });
12     assert_true(buffer instanceof WebGPUBuffer, "createBuffer returned a WebGPUBuffer");
13     
14     let arrayBuffer = buffer.mapping;
15     let floatArray = new Float32Array(arrayBuffer);
16     assert_equals(floatArray.length, 4);
17
18     floatArray[0] = -1;
19     floatArray[1] = 1;
20     floatArray[2] = 0;
21     floatArray[3] = 1;
22 }
23
24 promise_test(async t => {
25     const canvas = document.createElement("canvas");
26     await setUpContexts(canvas);
27     createBuffer();
28 }, "createBuffer() on WebGPUDevice.");
29
30 </script>
31 </body>