WebGPU not supported by this browser. All test skipped
  • passes: 0
  • failures: 1
  • duration: 0.01s
  • device tests

    • resets maxTotal ‣

      TypeError: Cannot read properties of undefined (reading 'skip')
          at Context.<anonymous> (https://greggman.github.io/webgpu-memory/test/tests/device-tests.js:208:12)
      async () => {
          const adapter1 = await navigator.gpu?.requestAdapter();
          if (!adapter1) {
            this.skip();
            return;
          }
          const device1 = await adapter1?.requestDevice();
          if (!device1) {
            this.skip();
            return;
          }
          const adapter2 = await navigator.gpu?.requestAdapter();
          const device2 = await adapter2?.requestDevice();
          if (!device2) {
            device1.destroy();
            this.skip();
            return;
          }
          const buffer1 = device1.createBuffer({
            size: 128,
            usage: GPUBufferUsage.COPY_DST,
          });
          const buffer2 = device2.createBuffer({
            size: 256,
            usage: GPUBufferUsage.COPY_DST,
          });
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 128 + 256);
            assertEqual(info.memory.maxTotal, 128 + 256);
          }
          resetMaxTotal(device1);
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 128 + 256);
            assertEqual(info.memory.maxTotal, 128 + 256);
          }
          buffer1.destroy();
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 256);
            assertEqual(info.memory.maxTotal, 128 + 256);
          }
          resetMaxTotal(device1);
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 256);
            assertEqual(info.memory.maxTotal, 128 + 256);
          }
          {
            const info = getWebGPUMemoryUsage(device1);
            assertEqual(info.memory.buffer, 0);
            assertEqual(info.memory.maxTotal, 0);
          }
          {
            const info = getWebGPUMemoryUsage(device2);
            assertEqual(info.memory.buffer, 256);
            assertEqual(info.memory.maxTotal, 256);
          }
          buffer2.destroy();
          resetMaxTotal(device2);
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 0);
            assertEqual(info.memory.maxTotal, 128 + 256);
          }
          {
            const info = getWebGPUMemoryUsage(device2);
            assertEqual(info.memory.buffer, 0);
            assertEqual(info.memory.maxTotal, 0);
          }
          const buffer3 = device1.createBuffer({
            size: 128,
            usage: GPUBufferUsage.COPY_DST,
          });
          const buffer4 = device1.createBuffer({
            size: 256,
            usage: GPUBufferUsage.COPY_DST,
          });
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 128 + 256);
            assertEqual(info.memory.maxTotal, 128 + 256);
          }
          buffer3.destroy();
          buffer4.destroy();
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 0);
            assertEqual(info.memory.maxTotal, 128 + 256);
          }
          resetMaxTotal();
          {
            const info = getWebGPUMemoryUsage();
            assertEqual(info.memory.buffer, 0);
            assertEqual(info.memory.maxTotal, 0);
          }
          {
            const info = getWebGPUMemoryUsage(device1);
            assertEqual(info.memory.buffer, 0);
            assertEqual(info.memory.maxTotal, 0);
          }
          {
            const info = getWebGPUMemoryUsage(device2);
            assertEqual(info.memory.buffer, 0);
            assertEqual(info.memory.maxTotal, 0);
          }
        }