summaryrefslogtreecommitdiffstats
path: root/dom/webgpu/mochitest/test_basic_canvas.worker.js
blob: cec6d6f21075b9e820f3ff304cf63df7182a5b62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
self.addEventListener("message", async function (event) {
  try {
    const offscreen = event.data.offscreen;
    const context = offscreen.getContext("webgpu");

    const swapChainFormat = navigator.gpu.getPreferredCanvasFormat();
    const adapter = await navigator.gpu.requestAdapter();
    const device = await adapter.requestDevice();

    context.configure({
      device,
      format: swapChainFormat,
      size: { width: 100, height: 100, depth: 1 },
    });

    const texture = context.getCurrentTexture();

    self.postMessage([
      {
        value: texture !== undefined,
        message: "texture !== undefined",
      },
    ]);
  } catch (e) {
    self.postMessage([
      {
        value: false,
        message: "Unhandled exception " + e,
      },
    ]);
  }
});