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);
}
}