tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_submit_render_empty.worker.js (1292B)


      1 self.addEventListener("message", async function (event) {
      2  try {
      3    const adapter = await navigator.gpu.requestAdapter();
      4    const device = await adapter.requestDevice();
      5 
      6    const swapChainFormat = "rgba8unorm";
      7    const bundleEncoder = device.createRenderBundleEncoder({
      8      colorFormats: [swapChainFormat],
      9    });
     10    const bundle = bundleEncoder.finish({});
     11 
     12    const texture = device.createTexture({
     13      size: { width: 100, height: 100, depth: 1 },
     14      format: swapChainFormat,
     15      usage: GPUTextureUsage.RENDER_ATTACHMENT,
     16    });
     17    const view = texture.createView();
     18 
     19    const encoder = device.createCommandEncoder();
     20    const pass = encoder.beginRenderPass({
     21      colorAttachments: [
     22        {
     23          view,
     24          clearValue: { r: 0, g: 0, b: 0, a: 0 },
     25          loadOp: "clear",
     26          storeOp: "store",
     27        },
     28      ],
     29    });
     30    pass.executeBundles([bundle]);
     31    pass.end();
     32    const command_buffer = encoder.finish();
     33 
     34    device.queue.submit([command_buffer]);
     35    self.postMessage([
     36      {
     37        value: command_buffer !== undefined,
     38        message: "command_buffer !== undefined",
     39      },
     40    ]);
     41  } catch (e) {
     42    self.postMessage([
     43      {
     44        value: false,
     45        message: "Unhandled exception " + e,
     46      },
     47    ]);
     48  }
     49 });