tor-browser

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

test_submit_render_empty.html (1699B)


      1 <!doctype html>
      2 <html>
      3  <head>
      4    <meta charset="utf-8" />
      5    <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6    <link rel="stylesheet" href="/tests/SimpleTest/test.css" />
      7  </head>
      8  <body>
      9    <script>
     10      ok(
     11        SpecialPowers.getBoolPref("dom.webgpu.enabled"),
     12        "Pref should be enabled."
     13      );
     14 
     15      const func = async function () {
     16        const adapter = await navigator.gpu.requestAdapter();
     17        const device = await adapter.requestDevice();
     18 
     19        const swapChainFormat = "rgba8unorm";
     20        const bundleEncoder = device.createRenderBundleEncoder({
     21          colorFormats: [swapChainFormat],
     22        });
     23        const bundle = bundleEncoder.finish({});
     24 
     25        const texture = device.createTexture({
     26          size: { width: 100, height: 100, depth: 1 },
     27          format: swapChainFormat,
     28          usage: GPUTextureUsage.RENDER_ATTACHMENT,
     29        });
     30        const view = texture.createView();
     31 
     32        const encoder = device.createCommandEncoder();
     33        const pass = encoder.beginRenderPass({
     34          colorAttachments: [
     35            {
     36              view,
     37              clearValue: { r: 0, g: 0, b: 0, a: 0 },
     38              loadOp: "clear",
     39              storeOp: "store",
     40            },
     41          ],
     42        });
     43        pass.executeBundles([bundle]);
     44        pass.end();
     45        const command_buffer = encoder.finish();
     46 
     47        device.queue.submit([command_buffer]);
     48        ok(command_buffer !== undefined, "command_buffer !== undefined");
     49      };
     50 
     51      SimpleTest.waitForExplicitFinish();
     52      func()
     53        .catch(e => ok(false, "Unhandled exception " + e))
     54        .finally(() => SimpleTest.finish());
     55    </script>
     56  </body>
     57 </html>